99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>單片機(jī)>利用定時(shí)器和中斷控制各種功能的程序代碼分享

利用定時(shí)器和中斷控制各種功能的程序代碼分享

2017-09-06 | rar | 未知 | 次下載 | 免費(fèi)

資料介紹

利用定時(shí)器和中斷控制各種功能的程序代碼分享

1、兩個(gè)定時(shí)計(jì)數(shù)器合用的延時(shí)實(shí)驗(yàn)

ORG 000H
AJMP MAIN
ORG 000BH
AJMP T_0
ORG 001BH
AJMP T_1
ORG 0030H
MAIN:
MOV P0,#0FFH
MOV TMOD,#51H
MOV TH0,#15H
MOV TL0,#0A0H
MOV TH1,#0FCH
MOV TL1,#18H
MOV IE,#8AH
SETB TR0
SETB TR1
LL: SJMP LL
T_0:MOV TH0,#15H
MOV TL0,#0A0H
CPL P0.2
RETI
T_1:MOV TH1,#0FCH
MOV TL1,#18H
CPL P0.1
RETI
END
?

2、利用定時(shí)器演奏音樂(lè)

ORG? 001BH?? ;定時(shí)器T1的中斷入口?
MOV? TH1,R1? ;重裝定時(shí)初值?
MOV? TL1,R0? ;?
CPL? P3.7????? ;P1.0輸出方波?
RETI?????????? ;中斷返回?
ORG? 100H???? ;主程序?
START:MOV? TMOD,#01H ;定時(shí)器T1工作方式1?
MOV? IE,#88H?????????? ;允許T1中斷?
MOV? DPTR,#TAB??????? ;表格首地址?
LOOP:CLR? A?????????? ;?
MOVC? A,@A+DPTR???? ;查表?
MOV? R1,A????????????? ;定時(shí)器高8為存R1?
INC? DPTR????????????? ;?
CLR? A???????????????? ;?
MOVC? A,@A+DPTR???? ;查表?
MOV? R0,A????????????? ;定時(shí)器低8為存R0?
ORL? A,R1?????????????? ;?
JZ? NEXT0?????????????? ;全0為休止符?
MOV? A,R0????????????? ;?
ANL? A,R1?????????????? ;?
CJNE? A,#0FFH,NEXT???? ;全1表示樂(lè)曲結(jié)束?
SJMP? START????????????? ;從頭開(kāi)始循環(huán)演奏?
NEXT:MOV? TH1,R1?????? ;裝入定時(shí)值?
MOV? TL1,R0???????????? ;?
SETB? TR1??????????????? ;啟動(dòng)定時(shí)器?
SJMP? NEXT1???????????? ;?
NEXT0:CLR? TR1????????? ;關(guān)閉定時(shí)器停止發(fā)音?
NEXT1:CLR? A??????????? ;?
INC? DPTR??????????????? ;?
MOVC? A,@A+DPTR?????? ;查延遲常數(shù)?
MOV? R2,A??????????????? ;?
LOOP1:LCALL? D200?????? ;調(diào)用延時(shí)200mS子程序?
DJNZ? R2,LOOP1?????????? ;控制延遲次數(shù)?
INC? DPTR???????????????? ;?
AJMP? LOOP?????????????? ;處理下一個(gè)音符?
D200:MOV? R4,#81H??????? ;延時(shí)20mS子程序?
D200B:MOV? A,#0FFH????? ;?
D200A:DEC? A???????????? ;?
JNZ? D200A??????????????? ;?
DEC? R4?????????????????? ;?
CJNE? R4,#00H,D200B?????? ;?
RET??????????????????????? ;?
TAB:????? DB? 0FEH,25H,02H,0FEH,25H,02H;???
????????? DB? 0FEH,84H,02H,0FEH,84H,02H;?
????????? DB? 0FEH,84H,04H,0FEH,25H,04H;????
?? DB? 0FEH,25H,02H,0FEH,84H,02H;?
????????? DB? 0FEH,0C0H,04H,0FEH,0C0H,04H;?
?? DB? 0FEH,98H,02H,0FEH,84H,02H;?
????????? DB? 0FEH,57H,08H,00H,00H,04H;?????
?? DB? 0FFH,0FFH;?
????????? END

3、利用定時(shí)器通過(guò)延長(zhǎng)定時(shí)方法實(shí)現(xiàn)燈的閃爍

ORG 0000H
AJMP START
ORG 000BH??????????????? ;定時(shí)器0的中斷向量地址
AJMP TIME0?????????????? ;跳轉(zhuǎn)到真正的定時(shí)器程序處
ORG 30H
START: MOV P0,#0FFH????? ;關(guān)所有燈
MOV 30H,#00H??????????????? ;
MOV TMOD,#00000001B????? ;定時(shí)/計(jì)數(shù)器0工作于方式1
MOV TH0,#3CH?
MOV TL0,#0A0H??????????? ;以上兩行預(yù)置立即數(shù)5536
SETB EA????????????????? ;開(kāi)總中斷允許
SETB ET0???????????????? ;開(kāi)定時(shí)/計(jì)數(shù)器0允許
SETB TR0???????????????? ;定時(shí)/計(jì)數(shù)器0開(kāi)始運(yùn)行
LOOP: AJMP LOOP????????? ;真正工作時(shí),這里可寫任意程序
TIME0:?????????????????? ;定時(shí)器0的中斷處理程序
PUSH ACC???????????????? ;將ACC推入堆棧保護(hù)
PUSH PSW???????????????? ;將PSW推入堆棧保護(hù)
INC 30H
MOV A,30H
CJNE A,#20,TIME1?????????
CPL P0.0???????????????? ;取反P0.0
MOV 30H,#0
TIME1: MOV TH0,#15H??????? ;重置定時(shí)常數(shù)
MOV TL0,#9FH????????????
POP PSW
POP ACC
RETI
END

4、利用中斷方式實(shí)現(xiàn)燈的閃爍

ORG 0000H
AJMP START
ORG 000BH??????????????? ;定時(shí)器0的中斷向量地址
AJMP TIME0?????????????? ;跳轉(zhuǎn)到真正的定時(shí)器程序處
ORG 30H
START: MOV P0,#0FFH????? ;關(guān)所有燈
MOV TMOD,#00000001B????? ;定時(shí)/計(jì)數(shù)器0工作于方式1
MOV TH0,#15H?
MOV TL0,#0A0H??????????? ;以上兩行預(yù)置立即數(shù)5536
SETB EA????????????????? ;開(kāi)總中斷允許
SETB ET0???????????????? ;開(kāi)定時(shí)/計(jì)數(shù)器0允許
SETB TR0???????????????? ;定時(shí)/計(jì)數(shù)器0開(kāi)始運(yùn)行
LOOP: AJMP LOOP????????? ;真正工作時(shí),這里可寫任意程序
mov r7, #09H
djnz r7,start
TIME0:?????????????????? ;定時(shí)器0的中斷處理程序
PUSH ACC???????????????? ;將ACC推入堆棧保護(hù)
PUSH PSW???????????????? ;將PSW推入堆棧保護(hù)
CPL P0.0???????????????? ;取反P0.0
MOV TH0,#15H
MOV TL0,#0A0H??????????? ;重置定時(shí)常數(shù)
POP PSW
POP ACC
RETI
END

5、外部中斷實(shí)驗(yàn)

ORG 0000H?
AJMP START?
ORG 0003H????????????? ;外部中斷地直入口?
AJMP INTO?
ORG 30H?
START: MOV SP,#5FH?
MOV P0,#0FFH?????????? ;燈全滅?
MOV P3,#0FFH?????????? ;P3口置高電平?
SETB EA?
SETB EX0?
AJMP $?
INTO:?
PUSH ACC?
PUSH PSW?
CPL P0.0?
POP PSW?
POP ACC?
RETI?
END

6、利用軟件定時(shí)器實(shí)現(xiàn)燈的閃爍

;用軟件定時(shí)器實(shí)現(xiàn)P0.0口所接燈按1S/次而P0.1口所接燈按2S/次閃爍
ORG 0000H
AJMP START
ORG 000BH??????????????? ;定時(shí)器0的中斷向量地址
AJMP TIME0?????????????? ;跳轉(zhuǎn)到真正的定時(shí)器程序處
ORG 0030H
START: MOV P0,#0FFH????? ;關(guān)所有燈
MOV 30H,#00H???????????? ;軟件計(jì)數(shù)器清零
MOV TMOD,#00000001B????? ;定時(shí)/計(jì)數(shù)器0工作于方式1
MOV TH0,#3CH?
MOV TL0,#0A0H??????????? ;以上兩行預(yù)置立即數(shù)15536
SETB EA????????????????? ;開(kāi)總中斷允許
SETB ET0???????????????? ;開(kāi)定時(shí)/計(jì)數(shù)器0允許
SETB TR0???????????????? ;定時(shí)/計(jì)數(shù)器0開(kāi)始運(yùn)行
LOOP: AJMP LOOP????????? ;真正工作時(shí),這里可寫任意程序
TIME0:?????????????????? ;定時(shí)器0的中斷處理程序
PUSH ACC???????????????? ;將ACC推入堆棧保護(hù)
PUSH PSW???????????????? ;將PSW推入堆棧保護(hù)
INC 30H
INC 31H????????????????? ;兩個(gè)計(jì)數(shù)器都加1
MOV A,30H
CJNE A,#255,TNEXT???????? ;30H單元中的值到了20了嗎?????????
CPL P0.0???????????????? ;到了,取反P0.0
MOV 30H,#0?????????????? ;清軟件計(jì)數(shù)器
TNEXT:MOV A,31H
CJNE A,#40,TRET?????????? ;31H單元中的值到了40了嗎
CPL P0.1
MOV 31H,#0??????????????? ;到了,取反P1.1并清零計(jì)數(shù)器,返回
TRET: MOV TH0,#15H??????? ;重置定時(shí)常數(shù)
MOV TL0,#9FH????????????
POP PSW
POP ACC
RETI
END

7、利用定時(shí)器實(shí)現(xiàn)燈的閃爍

ORG 0000H
AJMP START
ORG 30H
START: MOV P0,#0FFH? ;關(guān)閉所有的燈
MOV TMOD,#00000001B? ;定時(shí)/計(jì)數(shù)器0工作于方式1
MOV TH0,#15H
MOV TL0,#0A0H??????? ;以上兩行預(yù)置計(jì)數(shù)5336(15A0H)
SETB TR0???????????? ;定時(shí)/計(jì)數(shù)器0開(kāi)始運(yùn)行
LOOP: JBC TF0,NEXT?? ;如果TF0等于1,則將TF0清0并轉(zhuǎn)next處
AJMP LOOP??????????? ;否則跳轉(zhuǎn)到LOOP處運(yùn)行
NEXT: CPL P0.0?????? ;點(diǎn)亮P0.0燈
MOV TH0,#15H???????? ;
MOV TL0,#0A0H??????? ;重置定時(shí)/計(jì)數(shù)器的初值
AJMP LOOP
END
?
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 651單片機(jī)窗簾控制器仿真程序
  12. 1.93 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)大棚環(huán)境控制器仿真程序
  14. 1.10 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)