匯編語言編程對理解CPU的如何工作運行非常有必要。這里用匯編來實現(xiàn)一個定時器中斷來閃燈的程序:
我們先算得50ms一次中斷的計數(shù)器的初值
1、記數(shù)值=50 000*12/32=18750
2、初始值=65535-18750=46785 (=B6C1)
3、TH0=B6 TL0=C1
ORG 0000H
ORL 0B1H, #0FFH ;P3CON 0x1e
MOV TMOD,#01H ;定時器方式1
MOV TH0, #0B6H
MOV TL0, #0C1H ;32.0592HZ晶振,50ms定時
MOV TCON,#10H ;將TR0至1
MOV 0B0H, #0FFH;將P1口LED全部熄滅
MOV R6, #20 ;計數(shù)20次
LOOP: JNB TF0, LOOP;檢測計數(shù)是否溢出
MOV TH0, #0B6H
MOV TL0, #0C1H;溢出后,重新送初值
CPL TF0 ;CPU響應T0中斷時,TF0由硬件清0;否則由軟件清0(CPL TF0清0操作)
DJNZ R6,LOOP ;循環(huán)20次,50ms,定時1s
MOV R6,#20 ;重新裝載20次初值
CPL 0xB0.1 ;LED閃爍
LJMP LOOP
END
下載到開發(fā)板后,LEDP3.1就可以實現(xiàn)1秒鐘閃爍一次。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
led
+關注
關注
240文章
22907瀏覽量
650163 -
中斷
+關注
關注
5文章
889瀏覽量
41220 -
定時器
+關注
關注
23文章
3218瀏覽量
113697 -
匯編語言
+關注
關注
14文章
406瀏覽量
35574
發(fā)布評論請先 登錄
相關推薦
如何用AT89C51匯編語言實現(xiàn)LED間隔1s閃爍
AT89C51 匯編語言實現(xiàn)LED間隔1s閃爍(已驗證);************;;中斷入口程序;;************;;ORG0000H ;
發(fā)表于 12-01 06:28
匯編語言程序設計下載
professional assembly language 匯編語言程序設計本書分為三部分。第一部分講解匯編語言程序設計環(huán)境基礎,第二部分研究匯編
發(fā)表于 10-21 17:42
?0次下載
Timer0和Timer1及Timer2定時器的C語言和匯編語言測試程序免費下載
本文檔的主要內容詳細介紹的是Timer0和Timer1及Timer2定時器的C語言和匯編語言測試程序免費下載。
發(fā)表于 06-10 08:00
?0次下載
AT89C51 匯編語言實現(xiàn)LED間隔1s閃爍(已驗證)
AT89C51 匯編語言實現(xiàn)LED間隔1s閃爍(已驗證);************;;中斷入口程序;;************;;ORG 0000H ;
發(fā)表于 11-22 20:51
?47次下載
利用定時器中斷方式控制led燈的閃爍速度_項目四 定時器和中斷概念的基本認識...
掃描控制LEDn 子任務2.1 C語言---swtich語句認識n 子任務2.2 中斷系統(tǒng)的認識n 子任務2.3 采用定時和中斷方式驅動按鍵
發(fā)表于 11-26 12:06
?15次下載
評論