標(biāo)題: 學(xué)習(xí)51單片機(jī)匯編 [打印本頁]

作者: wangyin    時(shí)間: 2014-8-10 21:38
標(biāo)題: 學(xué)習(xí)51單片機(jī)匯編
假如單片機(jī)體系出現(xiàn)問題,維修流程如下:
一、對(duì)硬件電路的查看
  1、查看電源(40腳)
  2、查看振動(dòng)(18、19腳)
  3、查看地(20腳)
  3、查看復(fù)位電路(9腳)
  4、查看中止答應(yīng)(31腳)
  5、然后再查看是不是有信號(hào)
  6、信號(hào)是不是準(zhǔn)確

二、軟件編寫規(guī)矩
  1、只被調(diào)用一次的不要寫成子程序
  2、不比自個(gè)界說太多的ORG地址進(jìn)口,只需界說兩個(gè),一個(gè)0000H,還有一個(gè)主程序進(jìn)口,
  3、中止程序需界說自個(gè)的程序進(jìn)口地址,
    中止源有INT0,守時(shí)器T0,INT1,守時(shí)器T1,串行口中止,共5種中止,
進(jìn)口地址分別為,INT0 = 0003H, 守時(shí)器T0 = 000BH,
INT1 = 0013H, 守時(shí)器T1 = 001BH
串口 = 0023H
從0003H開端,互相相差8個(gè)存儲(chǔ)單元,在此處中止程序是放不下的,需求跳轉(zhuǎn)到其他地址,
  4、通常的跳轉(zhuǎn)和調(diào)用都運(yùn)用LJMP 和 LCALL

三、串口操控寄存器的設(shè)置
  SCON sm0,sm1,sm2,ren,tb8,rb8,ti,ri

  通常不能對(duì)TB8、RB8 設(shè)置,這樣會(huì)影響串口中止位 RI,即在發(fā)作中止的時(shí)分,數(shù)據(jù)還沒有徹底接收完,可是此刻由于設(shè)置了RB8位,有可能把RI置位使得數(shù)據(jù)丟掉。關(guān)于TI存在同樣狀況。

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

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

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

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

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

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






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