91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

電子發(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í)器演奏音樂

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表示樂曲結(jié)束?
SJMP? START????????????? ;從頭開始循環(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í)器通過延長(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????????????????? ;開總中斷允許
SETB ET0???????????????? ;開定時(shí)/計(jì)數(shù)器0允許
SETB TR0???????????????? ;定時(shí)/計(jì)數(shù)器0開始運(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????????????????? ;開總中斷允許
SETB ET0???????????????? ;開定時(shí)/計(jì)數(shù)器0允許
SETB TR0???????????????? ;定時(shí)/計(jì)數(shù)器0開始運(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????????????????? ;開總中斷允許
SETB ET0???????????????? ;開定時(shí)/計(jì)數(shù)器0允許
SETB TR0???????????????? ;定時(shí)/計(jì)數(shù)器0開始運(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開始運(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
?
單片機(jī) 中斷 定時(shí)器
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1美的電磁爐電路原理圖資料
  2. 4.39 MB   |  16次下載  |  10 積分
  3. 2反激式開關(guān)電源設(shè)計(jì)解析
  4. 0.89 MB   |  2次下載  |  5 積分
  5. 3簡(jiǎn)易光伏控制器原理圖資料
  6. 0.07 MB   |  1次下載  |  5 積分
  7. 4TPS23755數(shù)據(jù)手冊(cè)
  8. 0.07 MB   |  次下載  |  免費(fèi)
  9. 536伏,10兆赫茲低噪聲雙運(yùn)算放大器COS5532 技術(shù)手冊(cè)
  10. 0.41 MB   |  次下載  |  免費(fèi)
  11. 6LM5176 55V 寬輸入電壓同步4開關(guān)降壓/升壓控制器技術(shù)手冊(cè)
  12. 2.40 MB   |  次下載  |  免費(fèi)
  13. 7MCU模塊原理圖資料
  14. 0.37 MB   |  次下載  |  1 積分
  15. 8LoRa1121 FCC&CE認(rèn)證 多頻段LoRa無線通訊模塊規(guī)格書
  16. 997.05 KB  |  次下載  |  免費(fèi)

本月

  1. 1美的電磁爐電路原理圖資料
  2. 4.39 MB   |  16次下載  |  10 積分
  3. 2冷柜-電氣控制系統(tǒng)講解
  4. 13.68 MB  |  7次下載  |  10 積分
  5. 3SDFM 激光測(cè)距模塊模組手冊(cè)
  6. 0.54 MB   |  7次下載  |  免費(fèi)
  7. 4直流電路的組成和基本定律
  8. 1.67 MB   |  4次下載  |  免費(fèi)
  9. 5SW6238V ACCC 三 PD 四口多協(xié)議移動(dòng)電源 SOC規(guī)格書
  10. 0.59 MB   |  4次下載  |  1 積分
  11. 6安川A1000變頻器中文版說明書
  12. 20.16 MB  |  3次下載  |  3 積分
  13. 7IP6742_datasheet_100V8A 同步 BUCK 控制器
  14. 2.16 MB  |  3次下載  |  免費(fèi)
  15. 8PAW3395DM-T6QU:光學(xué)游戲?qū)Ш叫酒謨?cè)
  16. 1.26 MB   |  2次下載  |  10 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233094次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191448次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81605次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73829次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分