操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    本期總結(jié)

    1.中斷的介紹;

    2.電子時(shí)鐘程序的編寫;

    學(xué)完中斷,實(shí)驗(yàn)就過半啦,而且今年由于過年早,時(shí)間很緊張,希望大家抓緊時(shí)間做實(shí)驗(yàn),最后不至于太忙亂呀,!???

    往期回顧

    我們要做的中斷實(shí)驗(yàn)有兩種,定時(shí)器中斷和外部中斷。我們的實(shí)驗(yàn)板用的是定時(shí)器0和外中斷1,其實(shí),8051里有5個(gè)中斷,而且它們是有優(yōu)先級(jí)的,如下所示:

    但一般,最好不要同時(shí)用兩個(gè)以上的中斷,不然很容易亂,當(dāng)然,我們的考試單片機(jī)定時(shí)器里寫程序,也最多只會(huì)出一個(gè)中斷。

    其中,定時(shí)器中斷顧名思義,主要用來定時(shí),比如可以用來做電子時(shí)鐘。為什么我們不用延時(shí)來計(jì)時(shí)呢?相信很多同學(xué)都會(huì)說因?yàn)檠訒r(shí)誤差大。那么,延時(shí)誤差到底大在哪里?為什么?你是否思考過呢?

    說到延時(shí)的誤差,就必須了解時(shí)鐘周期,機(jī)器周期和指令周期的概念,這些在書中都有詳細(xì)介紹,希望同學(xué)們能弄清楚,這個(gè)會(huì)在期末的紙質(zhì)考試中有大概一個(gè)填空題吧。由于這里主要先講實(shí)驗(yàn),所以我在這里不再贅述。感興趣的同學(xué)可以自己看看書,若有問題,歡迎后臺(tái)和我討論。

    接下來,我們先來一起了解中斷吧~

    01進(jìn)入中斷的地址

    手機(jī)燒寫單片機(jī)程序_郭天祥單片機(jī)無法燒寫下載程序_單片機(jī)定時(shí)器里寫程序

    相信大家看每個(gè)程序前面預(yù)定義部分就會(huì)發(fā)現(xiàn),有這樣一部分內(nèi)容:

    可以這樣理解定時(shí)器中斷:當(dāng)定時(shí)器“走”完我預(yù)先設(shè)定的時(shí)間后,它會(huì)到相應(yīng)的中斷入口,了解它接下來要做的事。即進(jìn)入中斷后,要干什么。由上面的圖我們能看到,定時(shí)器0的地址ORG 000BH下面,有一句LJMP INTT0,而INTT0就是中斷服務(wù)程序模塊,即進(jìn)入中斷后要做的事情。

    這個(gè)ORG后面的地址,就是相應(yīng)的中斷入口地址。在書本上也有相應(yīng)圖表:

    02預(yù)設(shè)程序

    本期要講的實(shí)驗(yàn)是基于定時(shí)器中斷的電子時(shí)鐘實(shí)驗(yàn)。

    預(yù)設(shè)(在主程序之前)

    1.定時(shí)器方式寄存器TMOD

    2.預(yù)設(shè)初值TH & TL

    3.IE寄存器

    單片機(jī)定時(shí)器里寫程序_郭天祥單片機(jī)無法燒寫下載程序_手機(jī)燒寫單片機(jī)程序

    4.TR0

    03定時(shí)器方式寄存器TMOD

    要完成電子時(shí)鐘,我們需要用到數(shù)碼管顯示,以及定時(shí)器中斷。數(shù)碼管顯示程序的模塊在第二篇中已經(jīng)說過,這里不再贅述,今天我們主要講中斷怎么寫。

    要使用中斷,首先我們得定義模式,即定時(shí)器方式寄存器TMOD,8051內(nèi)部的定時(shí)器/計(jì)數(shù)器的工作方式有以下4種:

    每次我們使用定時(shí)器/計(jì)數(shù)器時(shí),都需要先定義工作方式。由圖上可知,方式1為16位計(jì)數(shù)器,因此它一次最多可以計(jì)數(shù)2exp(16) = ,但方式1沒有自動(dòng)重裝功能,因此,每當(dāng)做完中斷服務(wù)程序里的工作時(shí),在出中斷前,需要進(jìn)行初值自動(dòng)重裝。

    04初值計(jì)算

    這個(gè)定時(shí)器的初值工作原理是:從設(shè)定的初值計(jì)數(shù)到65536,因此,而時(shí)鐘我們一般以秒作為最小單位,因此,我一般就定時(shí)50ms,即,然后進(jìn)20次中斷再處理一次顯示。所以,我們要裝的初值是65536 - 50000 = 。可以直接使用電腦的計(jì)算器的程序員模式快速計(jì)算該數(shù)的十六進(jìn)制,最終得出結(jié)果3CB0H。

    我們一般用的都是定時(shí)器0,裝初值的寄存器是TH(高八位)和TL(低八位),所以我們?cè)谟肨H和TL的時(shí)候,要加上0,即TH0和TL0。并且,若十六進(jìn)制以字母開頭,則要在前面加0。

    單片機(jī)定時(shí)器里寫程序_手機(jī)燒寫單片機(jī)程序_郭天祥單片機(jī)無法燒寫下載程序

    05中斷允許寄存器IE

    MCS-51沒有專門的開中斷和關(guān)中斷指令,中斷的開放和關(guān)閉是通過中斷允許寄存器IE進(jìn)行兩級(jí)控制的。所謂兩級(jí)控制是指有一個(gè)中斷允許總控位EA,配合各中斷源的中斷允許控制位共同實(shí)現(xiàn)對(duì)中斷請(qǐng)求的控制。這些中斷允許控制位集成在中斷允許寄存器IE中,如下圖所示。

    這次我們用的是定時(shí)器0,因此,就要開所有中斷EA和開定時(shí)器T0中斷ET0,因此IE寄存器里裝的值是,即82H,也可以分別置位:

    SETB EA

    SETB ET0

    06開定時(shí)器0

    開始計(jì)數(shù)的指令在定時(shí)器控制寄存器TCON里,但由于我們只需要開TR0,所以直接置位SETB TR0即可。

    07編程

    處理好預(yù)設(shè)部分后,我們就可以開始寫各個(gè)子模塊程序啦。

    手機(jī)燒寫單片機(jī)程序_郭天祥單片機(jī)無法燒寫下載程序_單片機(jī)定時(shí)器里寫程序

    中斷服務(wù)程序

    1.保護(hù)ACC

    2.重裝初值

    3.RETI

    4.每進(jìn)20次中斷調(diào)用一次DIDA子程序

    注意:

    1.在任何地方都可能進(jìn)入中斷,因此,一進(jìn)來應(yīng)該先保護(hù)ACC寄存器,PUSH將ACC入棧,退出時(shí),再POP退棧,不能只寫A,必須寫全ACC;

    2.每次返回時(shí)記得重裝初值;

    3.最后是RETI,退出中斷時(shí)都是RETI。

    顯示處理模塊

    手機(jī)燒寫單片機(jī)程序_單片機(jī)定時(shí)器里寫程序_郭天祥單片機(jī)無法燒寫下載程序

    1.顯示格式為HH-MM-SS

    2.因?yàn)闀?huì)有兩位數(shù),因此需要用DIV把個(gè)位和十位分開存放

    時(shí)鐘處理模塊

    1.我只寫了分和秒的,時(shí)的類似

    2.CJNE指令,比較A和60,若A不等于60,則A跳轉(zhuǎn)到DD1單片機(jī)定時(shí)器里寫程序,否則MIN+1,SEC清零

    最后,主程序直接調(diào)用顯示處理模塊和顯示模塊就可以啦~

    本期推送到這里就結(jié)束啦~這周有很多作業(yè)、報(bào)告要寫,所以應(yīng)該是不會(huì)再更新啦,下周見啦?

    如果有不同的想法,或者發(fā)現(xiàn)我的文章中有不當(dāng)之處,請(qǐng)后臺(tái)留言指出,我會(huì)虛心接受批評(píng)指正。

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有