婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

19課:單片機定時器、中斷試驗

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2017-12-4

   我們在學單片機時我們第一個例程就是燈的閃爍,那是用延時程序做的,現在回想起來,這樣做不很恰當,為什么呢?我們的主程序做了燈的閃爍,就不能再干其它的事了,難道單片機只能這樣工作嗎?當然不是,我們能用定時器來實現燈的閃爍的功能。

例1:查詢方式

ORG 0000H

AJMP START

ORG 30H

START:

MOV P1,#0FFH ;關所 燈

MOV TMOD,#00000001B ;定時/計數器0工作于方式1

MOV TH0,#15H

MOV TL0,#0A0H ;即數5536

SETB TR0 ;定時/計數器0開始運行

LOOP:JBC TF0,NEXT ;如果TF0等于1,則清TF0并轉NEXT處

AJMP LOOP ;不然跳轉到LOOP處運行

NEXT:CPL P1.0

MOV TH0,#15H

MOV TL0,#9FH;重置定時/計數器的初值

AJMP LOOP

END AJMP LOOP

END

   鍵入程序,看到了什么?燈在閃爍了,這可是用定時器做的,不再是主程序的循環了。簡單地分析一下程序,為什么用JBC呢?TF0是定時/計數器0的溢出標記位,當定時器產生溢出后,該位由0變1,所以查詢該位就可知宇時時間是否已到。該位為1后,要用軟件將標記位清0,以便下一次定時是間到時該位由0變1,所以用了JBC指令,該指位在判1轉移的同時,還將該位清0。

   以上程序是能實現燈的閃爍了,可是主程序除了讓燈閃爍外,還是不能做其他的事啊!不,不對,我們能在LOOP:……和AJMP LOOP指令之間插入一些指令來做其他的事情,只要保證執行這些指令的時間少于定時時間就行了。那我們在用軟件延時程序的時候不是也能用一些指令來替代DJNZ嗎?是的,但是那就要求你精確計算所用指令的時間,然后再減去對應的DJNZ循環次數,很不方便,而現在只要求所用指令的時間少于定時時間就行,顯然要求低了。當然,這樣的辦法還是不好,所以我們常用以下的辦法來實現。

程序2:用中斷實現

ORG 0000H   ,http://www.51hei.com

AJMP START

ORG 000BH ;定時器0的中斷向量地址

AJMP TIME0 ;跳轉到真正的定時器程序處

ORG 30H

START:

MOV P1,#0FFH ;關所 燈

MOV TMOD,#00000001B ;定時/計數器0工作于方式1

MOV TH0,#15H

MOV TL0,#0A0H ;即數5536

SETB EA ;開總中斷允許

SETB ET0 ;開定時/計數器0允許

SETB TR0 ;定時/計數器0開始運行

LOOP: AJMP LOOP ;真正工作時,這里可寫任意程序

TIME0: ;定時器0的中斷處理程序

PUSH ACC

PUSH PSW ;將PSW和ACC推入堆棧保護

CPL P1.0

MOV TH0,#15H

MOV TL0,#0A0H ;重置定時常數

POP PSW

POP ACC

RETI

END

    上面的例程中,定時時間一到,TF0由0變1,就會引發中斷,CPU將自動轉至000B處尋找程序并執行,由于留給定時器中斷的空間只有8個字節,顯然不足以寫下所有有中斷處理程序,所以在000B處安排一條跳轉指令,轉到實際處理中斷的程序處,這樣,中斷程序能寫在任意地方,也能寫任意長度了。進入定時中斷后,首先要保存當前的一些狀態,程序中只演示了保存存ACC和PSW,實際工作中應該根據需要將可能會改變的單元的值都推入堆棧進行保護(本程序中實際不需保存護任何值,這里只作個演示)。

   上面的兩個單片機程序運行后,我們發現燈的閃爍非常快,根本分辨不出來,只是視覺上感到燈有些晃動而已,為什么呢?我們能計算一下,定時器中預置的數是5536,所以每計60000個脈沖就是定時時間到,這60000個脈沖的時間是多少呢?我們的晶體震蕩器是12M,所以就是60000微秒,即60毫秒,因此速度是非常快的。如果我想實現一個1S的定時,該怎么辦呢?在該晶體震蕩器瀕率下,最長的定時也就是65。536個毫秒啊!上面給出一個例程。

ORG 0000H

AJMP START

ORG 000BH ;定時器0的中斷向量地址

AJMP TIME0 ;跳轉到真正的定時器程序處

ORG 30H

START:

MOV P1,#0FFH ;關所 燈

MOV 30H,#00H ;軟件計數器預清0

MOV TMOD,#00000001B ;定時/計數器0工作于方式1

MOV TH0,#3CH

MOV TL0,#0B0H ;即數15536

SETB EA ;開總中斷允許

SETB ET0 ;開定時/計數器0允許

SETB TR0 ;定時/計數器0開始運行

LOOP: AJMP LOOP ;真正工作時,這里可寫任意程序

TIME0: ;定時器0的中斷處理程序

PUSH ACC

PUSH PSW ;將PSW和ACC推入堆棧保護

INC 30H

MOV A,30H

CJNE A,#20,T_RET ;30H單元中的值到了20了嗎?

T_L1: CPL P1.0 ;到了,取反P10

MOV 30H,#0 ;清軟件計數器

T_RET:

MOV TH0,#15H

MOV TL0,#9FH ;重置定時常數

POP PSW

POP ACC

RETI

END

  先自己分析一下,看看是怎么實現的?這里采用了軟件計數器的概念,思路是這樣的,先用定時/計數器0做一個50毫秒的定時器,定時是間到了以后并不是立即取反P10,而是將軟件計數器中的值加1,如果軟件計數器計到了20,就取反P10,并清掉軟件計數器中的值,不然直接返回,這樣,就變成了20次定時中斷才取反一次P10,因此定時時間就延長了成了20*50即1000毫秒了。

   這個思路在工程中是非常有用的,有的時候我們需要若干個定時器,可51中總共才有2個,怎么辦呢?其實,只要這幾個定時的時間有一定的公約數,我們就能用軟件定時器加以實現,如我要實現P10口所接燈按1S每次,而P11口所接燈按2S每次閃爍,怎么實現呢?對了我們用兩個計數器,一個在它計到20時,取反P10,并清零,就如上面所示,另一個計到40取反P11,然后清0,不就行了嗎?這部份的程序如下

ORG 0000H 

AJMP START

ORG 000BH ;定時器0的中斷向量地址

AJMP TIME0 ;跳轉到真正的定時器程序處

ORG 30H

START:

MOV P1,#0FFH ;關所 燈

MOV 30H,#00H ;軟件計數器預清0

MOV TMOD,#00000001B ;定時/計數器0工作于方式1

MOV TH0,#3CH

MOV TL0,#0B0H ;即數15536

SETB EA ;開總中斷允許

SETB ET0 ;開定時/計數器0允許

SETB TR0 ;定時/計數器0開始運行

LOOP: AJMP LOOP ;真正工作時,這里可寫任意程序

TIME0: ;定時器0的中斷處理程序

PUSH ACC

PUSH PSW ;將PSW和ACC推入堆棧保護

INC 30H

INC 31H ;兩個計數器都加1

MOV A,30H

CJNE A,#20,T_NEXT ;30H單元中的值到了20了嗎?

T_L1: CPL P1.0 ;到了,取反P10

MOV 30H,#0 ;清軟件計數器

T_NEXT:

MOV A,31H

CJNE A,#40,T_RET ;31h單元中的值到40了嗎?

T_L2:

CPL P1.1

MOV 31H,#0 ;到了,取反P11,清計數器,返回

T_RET:

MOV TH0,#15H

MOV TL0,#9FH ;重置定時常數

POP PSW

POP ACC

RETI

END

您能用定時器的辦法實現前面講的流水燈嗎?試試看。

Tags:單片機教程,定時器,中斷試驗  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av
    <button id="4i884"></button>
  • <abbr id="4i884"><source id="4i884"></source></abbr>
  • <code id="4i884"><tr id="4i884"></tr></code>
  • <rt id="4i884"></rt>
    <li id="4i884"></li>
  • <rt id="4i884"><tr id="4i884"></tr></rt>
  • 亚洲成人av免费看| 亚洲五月天综合| 激情内射人妻1区2区3区| 农村妇女精品一二区| xxww在线观看| www.国产在线视频| 在线观看av免费观看| 免费超爽大片黄| 毛毛毛毛毛毛毛片123| 久章草在线视频| www.av毛片| 国产 欧美 日韩 一区| 亚洲成人av免费看| 男人操女人免费| 久久久久久久午夜| 免费超爽大片黄| 91嫩草国产丨精品入口麻豆| 国产精品乱码久久久久| 无码人妻精品一区二区三区在线 | 免费看一级大黄情大片| 国产手机视频在线观看| 五月天中文字幕在线| 欧美国产日韩在线播放| www黄色av| 国产精品久久中文字幕| 在线观看17c| 久久久国产精华液999999 | 欧洲熟妇精品视频| aaa毛片在线观看| 国模吧无码一区二区三区| 你懂的av在线| 国产精品亚洲αv天堂无码| 欧美成人免费在线观看视频| 黄色网在线视频| 黄色片免费在线观看视频| 久久最新免费视频| 真人做人试看60分钟免费| 日本免费在线视频观看| 日本a级片在线观看| 精品少妇人欧美激情在线观看| 色一情一乱一乱一区91| 国产精品无码免费专区午夜| 欧美亚洲黄色片| 青青草视频在线免费播放| 国产一区二区在线观看免费视频| 无码无遮挡又大又爽又黄的视频| 五月丁香综合缴情六月小说| avav在线看| 欧美专区第二页| 欧美又粗又长又爽做受| 久久久精品在线视频| 一级黄色在线播放| 国精产品一区一区三区视频| 国产三级日本三级在线播放| 亚洲第一天堂久久| 久久久久久www| www.com黄色片| 日本国产中文字幕| 欧美三级理论片| 国产女人18毛片| 日本xxxxxxx免费视频| 99中文字幕在线| 国产91在线免费| 天天操夜夜操很很操| 男人操女人逼免费视频| www.污网站| 国产偷人视频免费| 欧美黄色免费网址| youjizzxxxx18| 99热久久这里只有精品| 亚洲欧美日本一区二区三区| 日日橹狠狠爱欧美超碰| 影音先锋成人资源网站| 中文字幕在线观看第三页| 精品人妻人人做人人爽| 中文字幕第22页| 国产精品天天av精麻传媒| 91网站在线观看免费| 超碰成人在线播放| 夫妻免费无码v看片| 男人天堂网站在线| 永久免费黄色片| 色一情一乱一伦一区二区三区日本| 免费网站永久免费观看| 国产成人三级视频| www.色欧美| 免费一区二区三区在线观看| 日韩av播放器| 日本老熟妇毛茸茸| 女性女同性aⅴ免费观女性恋| 男人j进女人j| www成人免费| 喜爱夜蒲2在线| 人人妻人人澡人人爽欧美一区| 性生生活大片免费看视频| 99久久激情视频| 欧美性猛交久久久乱大交小说| 日日摸日日碰夜夜爽av | 老太脱裤子让老头玩xxxxx| 成人高清dvd| 大西瓜av在线| 精品少妇在线视频| 欧洲精品在线播放| 日本xxxxxxxxxx75| 精品欧美一区免费观看α√| 国产美女网站在线观看| 久久久噜噜噜www成人网| 日韩伦理在线免费观看| 亚洲熟妇av日韩熟妇在线| 18岁网站在线观看| 狠狠热免费视频| 精品999在线| 天天干天天曰天天操| av动漫在线免费观看| 欧美精品自拍视频| 日本激情视频在线| 久久久精品视频国产| 欧美日韩中文字幕在线播放| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 欧美 日韩 国产一区| 国产xxxxx在线观看| 精品亚洲一区二区三区四区| 日本黄色播放器| 青春草国产视频| 欧美日韩大尺度| 亚洲最新免费视频| 欧美人成在线观看| mm131亚洲精品| 久无码久无码av无码| 91香蕉视频污版| 妺妺窝人体色www看人体| 少妇性l交大片| 精品人妻大屁股白浆无码| 亚洲综合在线网站| 久久99久久久久久| xxx国产在线观看| 国产精品无码一区二区在线| 亚洲第一色av| 亚洲 中文字幕 日韩 无码| 国产精品99久久久久久大便| 成人在线免费在线观看| www.污网站| 手机在线看福利| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 9999在线观看| 日日噜噜夜夜狠狠| 五十路熟女丰满大屁股| 午夜影院免费观看视频| www.xxx亚洲| 欧美 日本 亚洲| 日韩免费在线观看av| 九一精品久久久| 天天操天天摸天天爽| jizzjizz国产精品喷水| 亚洲一区 在线播放| 成 人 黄 色 小说网站 s色| 亚洲中文字幕无码av永久| 香蕉精品视频在线| 日本三级黄色网址| 高清一区二区视频| 日日摸天天爽天天爽视频| 9久久9毛片又大又硬又粗| 无码人妻精品一区二区蜜桃网站| 国产乱叫456| 三区视频在线观看| 天天看片天天操| 欧美日韩一区二区三区69堂| 国产精品乱码久久久久| 久久久久久香蕉| 无码人妻精品一区二区三区66| 妺妺窝人体色www在线小说| 国产精品999视频| av之家在线观看| 六月丁香婷婷在线| 免费大片在线观看| 亚洲一二三区av| 亚洲免费999| 一级日本黄色片| 大片在线观看网站免费收看| 久久久久久久免费视频| 久久亚洲精品无码va白人极品| www插插插无码视频网站 | www.国产区| 无码日韩人妻精品久久蜜桃| 男女爽爽爽视频| 看看黄色一级片| 欧洲金发美女大战黑人| 人妻少妇精品久久| 人妻无码视频一区二区三区| 欧美第一页浮力影院| 国产成人免费高清视频| 欧美日韩二三区| 成人日韩在线视频| 91精品一区二区三区四区| 日日碰狠狠添天天爽超碰97| 欧美日韩亚洲自拍| 日本人妻伦在线中文字幕| aa视频在线播放| 爱豆国产剧免费观看大全剧苏畅| 久久免费一级片|