×
单片机 > 单片机程序设计 > 详情

51单片机汇编学习和系统除错步骤

发布时间:2020-05-28 发布时间:
|
如果单片机系统出现问题,检修流程如下:
一、对硬件电路的检查
  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 ))


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
mu;C/OS-Ⅱ在ARM系列单片机S3C44B0x上的移植