微信用户求助:单片机编程其实就是控制的寄存器,这么理解对不对?
这样理解不全对。单片机编程控制应分两类,一类是寄存器控制,如通讯口UART,SPI等,另一类也经常用,也就是扩展XRAM的地址控制。 寄存器控制,最基本的、首先要用到的控制。对于简单的控制,这些寄存器足矣。单片机寄存器功能很多,按用途,大致可分为配置寄存器,如设置通讯口的速率,设置P口的输入、输出方式,设置各定时器时间,设置各种中断的响应优先级等。另一类寄存器是控制、状态参存器,如P0,P1,P2等IO口,TH0、TL0等经常要操作改变的定时器时间等等。 简单的控制,IO点就几十个,用单片机自身的寄存器足够了。 对于上百个IO控制,AD转换控制,需要进行XRAM扩展进行IO控制。一般单片机最多提供P0~P7最多8*8=64位的IO控制,超过部分要进行外部XRAM扩展控制的方式进行。 如,硬件上可以通过地址0E800H进行输出控制: MOV DPTR,#0E800H MOV A,#0FH MOVX @DPTR,A 至于外部XRAM扩展,可做很多事情,IO控制,AD转换等等。 总结:单片机主要通过寄存器、XRAM扩展等来进行最终控制,但实现这些控制,需要复杂的计算过程、逻辑推理过程。对做控制的软件开发者来说,这些复杂的计算过程、逻辑推理过程更重要,关系到控制系统的可靠性、操作便利性。
|