标题: 学习51单片机汇编 [打印本页]

作者: wangyin    时间: 2014-8-10 21:38
标题: 学习51单片机汇编
假如单片机体系出现问题,维修流程如下:
一、对硬件电路的查看
  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 ))






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1