91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>單片機>利用定時器和中斷控制各種功能的程序代碼分享

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

2017-09-06 | rar | 未知 | 次下載 | 免費

資料介紹

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

1、兩個定時計數器合用的延時實驗

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、利用定時器演奏音樂

ORG? 001BH?? ;定時器T1的中斷入口?
MOV? TH1,R1? ;重裝定時初值?
MOV? TL1,R0? ;?
CPL? P3.7????? ;P1.0輸出方波?
RETI?????????? ;中斷返回?
ORG? 100H???? ;主程序?
START:MOV? TMOD,#01H ;定時器T1工作方式1?
MOV? IE,#88H?????????? ;允許T1中斷?
MOV? DPTR,#TAB??????? ;表格首地址?
LOOP:CLR? A?????????? ;?
MOVC? A,@A+DPTR???? ;查表?
MOV? R1,A????????????? ;定時器高8為存R1?
INC? DPTR????????????? ;?
CLR? A???????????????? ;?
MOVC? A,@A+DPTR???? ;查表?
MOV? R0,A????????????? ;定時器低8為存R0?
ORL? A,R1?????????????? ;?
JZ? NEXT0?????????????? ;全0為休止符?
MOV? A,R0????????????? ;?
ANL? A,R1?????????????? ;?
CJNE? A,#0FFH,NEXT???? ;全1表示樂曲結束?
SJMP? START????????????? ;從頭開始循環演奏?
NEXT:MOV? TH1,R1?????? ;裝入定時值?
MOV? TL1,R0???????????? ;?
SETB? TR1??????????????? ;啟動定時器?
SJMP? NEXT1???????????? ;?
NEXT0:CLR? TR1????????? ;關閉定時器停止發音?
NEXT1:CLR? A??????????? ;?
INC? DPTR??????????????? ;?
MOVC? A,@A+DPTR?????? ;查延遲常數?
MOV? R2,A??????????????? ;?
LOOP1:LCALL? D200?????? ;調用延時200mS子程序?
DJNZ? R2,LOOP1?????????? ;控制延遲次數?
INC? DPTR???????????????? ;?
AJMP? LOOP?????????????? ;處理下一個音符?
D200:MOV? R4,#81H??????? ;延時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、利用定時器通過延長定時方法實現燈的閃爍

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

4、利用中斷方式實現燈的閃爍

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

5、外部中斷實驗

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、利用軟件定時器實現燈的閃爍

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

7、利用定時器實現燈的閃爍

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

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 651單片機窗簾控制器仿真程序
  12. 1.93 MB  |  2次下載  |  免費
  13. 751單片機大棚環境控制器仿真程序
  14. 1.10 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 色综合888 | 欧美特黄一区二区三区 | 色视频色露露永久免费观看 | 国产69精品久久 | 四虎影院免费在线播放 | 小视频国产 | 在线视免费频观看韩国aaa | 91久娇草| 日韩欧美印度一级毛片 | 婷婷色天使在线视频观看 | 免费一级特黄特色大片在线观看 | 久久狠狠色噜噜狠狠狠狠97 | 亚洲欧美日韩色图 | 国产农村三片免费网站 | 操操操天天操 | 亚洲精品久 | 天天摸天天摸天天躁 | 四虎8848精品永久在线观看 | 夜夜骚视频 | 日日操夜夜操天天操 | 狠狠干狠狠操视频 | 欧美网站在线播放 | seetube18日本第一次 | 成人午夜网站 | 特黄特a级特别特级特毛片 特黄特色大片免费播放路01 | 免费三级pq | 天天射综合网站 | 婷婷sese | 看片免费黄 | 精品一区二区三区免费毛片爱 | 在线免费观看一级片 | 欧洲无线区一二区 | 涩涩爱影院 | 爱爱免费 | 精品视频网站 | 夜夜橹橹网站夜夜橹橹 | www.久操| 秋霞特色大片18入口私人高清 | 午夜国产精品福利在线观看 | 97人人揉人人捏人人添 | 黄网站在线观看视频 |