標題: 學習51單片機匯編 [打印本頁]

作者: wangyin    時間: 2014-8-10 21:38
標題: 學習51單片機匯編
假如單片機體系出現(xiàn)問題,維修流程如下:
一、對硬件電路的查看
  1、查看電源(40腳)
  2、查看振動(18、19腳)
  3、查看地(20腳)
  3、查看復位電路(9腳)
  4、查看中止答應(31腳)
  5、然后再查看是不是有信號
  6、信號是不是準確

二、軟件編寫規(guī)矩
  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,即在發(fā)作中止的時分,數(shù)據(jù)還沒有徹底接收完,可是此刻由于設置了RB8位,有可能把RI置位使得數(shù)據(jù)丟掉。關于TI存在同樣狀況。

發(fā)送與接收數(shù)據(jù)都可以有兩種辦法
   1、查詢 (查詢RI,TI)2。中止設定進口地址 (ORG 0023H)

   2、關于外部中止,有兩種觸發(fā)辦法,一是低電平觸發(fā),一是降低沿觸發(fā),看狀況選則觸發(fā)辦法。在以上的兩種觸發(fā)辦法下,IE0、IE1都能被CPU自動復位成0,可是在電平觸發(fā)辦法下,必須保證INT1、INT0上的電平在中止被CPU響應今后當即變?yōu)楦唠娖,否則會再次觸發(fā)中止。
觸發(fā)辦法操控位   IT1    IT0

SETB IT1
SETB IT0       降低沿觸發(fā)

CLR IT1
CLR IT0  低電平觸發(fā)

四、避免程序紊亂的軟處置辦法
  1.使用軟件狗來處置
  2.軟件陷阱技能
  3.改寫寄存器

守時時刻長度核算(辦法1):
守時器初值 = FFFF - ( 守時時刻長度/( 1/f*12 ))






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1