1、4位共阳数码管的有一个位的其中一段不亮,而其他位的该段能正常显示。这有些不符合常理,因为共阳数码管的4个为的段是连在一起的,如果是程序问题或者硬件连接有问题,应该4位全不亮。原因:经排查,原因是发现电路板的背面该段和其他位的位选线短路了,这样就导致当动态扫描的时候,要显示这一位的时候,其
下面的这个是STM32的定时器逻辑图,看图有助于理解:TIM3的ARR寄存器和PSC寄存器,确定PWM频率。这里配置的这两个定时器确定了PWM的频率,我的理解是:PWM的周期(频率)就是ARR寄存器值与PSC寄存器值相乘得来,但不是简单意义上的相乘,例如要设置PWM的频率参考上次通用定时器中设置溢出时间的算法,例如输出
下面是实现将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去的8051单片机汇编语言代码: STRAT:MOV R0,#30H MOV R7,#0FH
慎用标志位(本人单片机菜鸟,高手请高抬贵手,欢迎指点!~)这里说的是合理谨慎的运用标志位,否则很容易出现错误,也很难debug。今天工作的时候,修改定时器定时功能的时候,得出的经验,这里说的与具体的单片机无关,是个通用的想法。以我今天修改的为例:PIC单片机的两个I/O引脚控制着两个LED灯(分别为蓝灯
答:8051内部128B的数据RAM区,包括有工作寄存器组区、可直接位寻址区和数据缓冲区。各区域的特性如下:(1)00H~1FH为工作寄存器组区,共分4组,每组占用8个RAM字节单元,每个单元作为一个工作寄存器,每组的8个单元分别定义为8个工作寄存器R0~R7。当前工作寄存器组的选择是由程序状态字PSW的RS1、RS0两位来确
下面是自己在学习AVR单片机时的学习经验,分享出来给大家,一起学习。 1、 AVR单片机采用RISC架构,8051单片机采用CISC架构。前者速度为后者的2~4倍,为流水线操作指令2、 AVR单片机有32个通用寄存器(地址在RAM区从$0000开始到$001F),其中有6个(最后6个)合并为3个16位的X,Y,Z寄存器,用来
当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择。如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main函数开始执行。但一个经常会被忽略的问题是:微控制器(单片机)上电后,是如何寻找到并执行main函数的呢?很显然微控制器无法从硬件上定位main函数的入口地址
当我们买回来一个单片机开发板(我的单片机型号是STC89C52)时,我们或许会遇到这样一个问题:当我们用配备的一点五米长的公对公的USB线连接电脑和单片机时电脑会提示驱动安装失败。这是因为电脑的USB串口和单片机开发板的串口时不同的。这是你应该打开卖家配给你的光盘资料A》安装USB驱动程序》USB转串口CH340驱
GPIO:STM32的(64引脚的)IO口一共有3个,分别是PA、PB、PC.STM32的IO端口可以由软件配置成8种模式:1,输入浮空2,输入上拉3,输入下拉4,模拟输入5,开漏输出6,推挽输出7,推挽复用功能8,开漏复用功能STM32的每个IO端口都有7个寄存器来控制。他们分别是:配置模式的2个32位的端口配置寄存器CRL和C
今天教大家编写STM32的bootloader,其实编写bootloader主要事项有以下:1、为你的bootloader程序选择存储器地址,因为STM32的存储器FLASH存储程序代码空间为512K,需要进行划分。2、如果需要使用JTAG在线调试,则需要配置区域:3、为您的用户程序选择合适的存储空间:同时配置在线调试区域:4、bootlo