假如单片机体系出现问题,维修流程如下:
一、对硬件电路的查看
1、查看电源(40脚)
2、查看振动(18、19脚)
3、查看地(20脚)
3、查看复位电路(9脚)
4、查看中止答应(31脚)
5、然后再查看是不是有信号
6、信号是不是准确
二、软件编写规矩
1、只被调用一次的不要写成子程序
2、不比自个界说太多的ORG地址进口,只需界说两个,一个0000H,还有一个主程序进口,
3、中止程序需界说自个的程序进口地址,
中止源有INT0,守时器T0,INT1,守时器T1,串行口中止,共5种中止,
进口地址分别为,INT0 = 0003H, 守时器T0 = 000BH,
INT1 = 0013H, 守时器T1 = 001BH
串口 = 0023H
从0003H开端,互相相差8个存储单元,在此处中止程序是放不下的,需求跳转到其他地址,
4、通常的跳转和调用都运用LJMP 和 LCALL
三、串口操控寄存器的设置
SCON sm0,sm1,sm2,ren,tb8,rb8,ti,ri
通常不能对TB8、RB8 设置,这样会影响串口中止位 RI,即在发作中止的时分,数据还没有彻底接收完,可是此刻由于设置了RB8位,有可能把RI置位使得数据丢掉。关于TI存在同样状况。
发送与接收数据都可以有两种办法
1、查询 (查询RI,TI)2。中止设定进口地址 (ORG 0023H)
2、关于外部中止,有两种触发办法,一是低电平触发,一是降低沿触发,看状况选则触发办法。在以上的两种触发办法下,IE0、IE1都能被CPU自动复位成0,可是在电平触发办法下,必须保证INT1、INT0上的电平在中止被CPU响应今后当即变为高电平,否则会再次触发中止。
触发办法操控位 IT1 IT0
SETB IT1
SETB IT0 降低沿触发
CLR IT1
CLR IT0 低电平触发
四、避免程序紊乱的软处置办法
1.使用软件狗来处置
2.软件陷阱技能
3.改写寄存器
守时时刻长度核算(办法1):
守时器初值 = FFFF - ( 守时时刻长度/( 1/f*12 ))
|