做k12网站,效果图设计费收费标准,低代码开发平台优缺点,asi外贸平台在单片机中#xff0c;如何快速通过名字记忆IQ寄存器中每一个控制位的作用呢#xff1f;
IE#xff08;interrupt enable#xff09;寄存器中#xff0c;都是中断的使能位置。 其中的EA#xff08;enable all#xff09;是总使能位#xff0c;ES(enable serial)是串口…在单片机中如何快速通过名字记忆IQ寄存器中每一个控制位的作用呢
IEinterrupt enable寄存器中都是中断的使能位置。 其中的EAenable all是总使能位ES(enable serial)是串口中断使能位其余是两个外部中断EX(enable external)的使能位其余的两个外部中断在其他的寄存器中和三个定时器ET(enable timer)的中断使能位。 TCON(timer control)寄存器中是一个关于定时器/计时器的控制寄存器,但是也集成了外部中断的一些控制位如下图 其中I打头的都是关于外部中断的控制位TCON中关于外部中断的中的位数的名字非常奇怪其中一个为IE和IE寄存器的名字一样不知道的还以为是总中断的控制位也有人认为其的缩写是interrupt enbale但是其确实一个关于外部中断的标志位所以名字很奇怪。在所有的寄存器中标志位都是由芯片自己控制的也就是标志位自己会变成1或者0这个标志位是用来给操作者读取的是芯片对于中断的一种外界的反应相当于串口中断中的TI和RI是自己变化的。IE和TI和RI一样是中断的一个标志不过是外部中断的标志只需要记住TCON中集成的外部中断的中断标志部分只有两个而其中的ITinterrupt type也是外部中断的控制位表示的中断类型IT 1的时候是下降沿IT 0的时候是低电平。总之外部中断没有自己独立的一个为外部中断控制寄存器其控制位都是分布在别的寄存器中的。其控制位除了控制中断的使能位之外其余的都是I开头的。
其中T打头都是定时器的控制位虽然表示的计时器少了一个一共有三个计时器。TRtime run表示的是可以允许让计时器开始计时为1的时候是可以开始允许计时的。而TFtime overflow是计时器溢出的时候表示的是计时器中断标志位和上述的IE是一样的溢出的时候就是为1都是由硬件完成的平时没有什么用我猜正是因为这些硬件标志位才让程序执行中断函数的。
SCONserial control串口控制器串口控制器和计时器一样都是有自己独立的控制器。 其中的SM0 和 SM1表示的是四种串口的工作方式以及对应的波特率在练习中选择的是方式一。RENreceive enable表示的是让串口能够收到消息。TI和RI都是串口中断的标志位这个一般是进入串口中断的时候用来判断究竟是收到满了中断还是发送满了中断了。其余的控制位就不用管了。
PCONpower control电源控制器。 这个寄存器的使用有限通常是和SCON配合使用其中的SMOD和SMOD0两个的用法是不一样的。
当SMOD0B6位 0的时候SCON中的SM0才是选择工作模式使用的为1的时候是其他用处。
同时SMOD也是SCON中公式的指数我们一般选择为0所以在串口中断的时候PCON 0的。 总结一下需要的调整的寄存器外部中断需要调整两个寄存器就好了定时器的话需要调整三个寄存器以及初值IE,TCON两个变量,TMOD三个寄存器以及TL和TH的初值前两个是控制寄存器TMOD是选择定时器的模式使用的GATE控制位看样子是和外部中断配合做延时使用的C/非T是用来切换定时器和计数器的定时器是使用内部的时钟计时计数器顾名思义就是用来计数的这个是需要连接外部的引脚来将是否计数传进来的。串口中断的话需要IE需要SCON,PCONTCON一个变量还需要TMOD也需要调整TH和TL的值不过这个过程可能在PCON设置波特率的时候就已经确定了TH的值了。IE是用来打开全部中断和串口中断的不打开定时器中断SCON是用来调整串口中断控制位的PCON是用来调整波特率的TMOD用来调整计时器模式的其中需要TCON是用来激活TR1的没有这个控制位的话定时器是不能跑的值得一提的是这个是不需要开启定时器中断的而且串口中断的话占用的一定是定时器1。所以后续更改的是定时器1里面的数值。