色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內(nèi)不再提示

關(guān)于AT89C51系統(tǒng)時鐘中斷的應(yīng)用

電子工程師 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師姚遠(yuǎn)香 ? 2018-07-21 11:08 ? 次閱讀

功能強(qiáng)大的時鐘中斷

單片機(jī)程序設(shè)計中,設(shè)置一個好的時鐘中斷,將能使一個CPU發(fā)揮兩個CPU的功效,大大方便和簡化程序的編制,提高系統(tǒng)的效率與可操作性。我們可以把一些例行的及需要定時執(zhí)行的程序放在時鐘中斷中,還可以利用時鐘中斷協(xié)助主程序完成定時、延時等操作。

下面以6MHz時鐘的AT89C51系統(tǒng)為例,說明時鐘中斷的應(yīng)用。

定時器初值與中斷周期時鐘中斷無需過于頻繁,一般取20mS(50Hz)即可。如需要百分之一秒的時基信號,可取10mS(100Hz)。這里取20mS,用定時器T0工作于16位定時器方式(方式1)。T0的工作方式為:每過一個機(jī)器周期自動加1,當(dāng)計滿0FFFFh,要溢出時,便會產(chǎn)生中斷,并由硬件設(shè)置相應(yīng)的標(biāo)志位供軟件查詢。即中斷時比啟動時經(jīng)過了N+1個機(jī)器周期。所以,我們只要在T0中預(yù)先存入一個比滿值0FFFFh小N的數(shù),然后啟動定時器,便會在N個機(jī)器周期后產(chǎn)生中斷。這個值便是所謂的“初值”。下面計算我們需要的初值:時鐘為6MHz,12個時鐘周期為一個機(jī)器周期,20mS中有10000個機(jī)器周期。(10000)10=(2710)16,則0FFFFh-2710h+1=0D8F0h。由于響應(yīng)中斷、保護(hù)現(xiàn)場及重裝初值還需要7~8個機(jī)器周期,把這個值再加上7,即T0應(yīng)裝入的初值是0D8F7h。每次中斷進(jìn)入后,先把A及PSW的值壓入堆棧,然后即把0D8F7h裝入T0。

設(shè)置一個單元,每次中斷加1我們可以取內(nèi)部RAM中一個單元,取名為INCPI(Increase Per Interrupt),在中斷中,裝完T0初值后,用INCINCPI指令將其加一。從這個單元中,無論中斷程序還是主程序,都可以從中獲得20mS的1~256之間任意整數(shù)倍的信號。例如:有一段向數(shù)碼管送顯的程序,需要每0.5秒執(zhí)行一次以便刷新顯示器,便可以設(shè)一單元(稱為等待單元)W_DISP,用/MOV A,INCPI/ADD A,#25/MOV W_DISP,A/語句讓其比當(dāng)前的INCPI值大25,然后在每次中斷中檢查是否于INCPI值相等。若相等,說明已過了25個中斷周期,便執(zhí)行送顯程序,并且讓W(xué)_DISP再加上25,等待下個0.5秒。我們可以設(shè)置多個等待單元,以便取出多個不同的時基信號。讓中斷程序在每次中斷時依次查詢各個等待單元是否與INCPI相等,若相等,則執(zhí)行相應(yīng)的處理,并重新設(shè)置該等待單元的值,否則跳過。例如:用0.5秒信號刷新或閃爍顯示器,用1秒信號產(chǎn)生實時時鐘,或輸出一定頻率的方波,以一定間隔查詢輸入設(shè)備等。

在中斷中讀鍵通常,我們在主程序中讀鍵盤,步驟為:掃描鍵盤,若有鍵按下,則延時幾十毫秒去抖動,再次確認(rèn)此鍵確實按下,然后處理該鍵對應(yīng)的工作,完成后再次重上述步驟。但這有兩點不足:1.處理相應(yīng)工作時無法鎖存按鍵的輸入,即可能漏鍵。2.延時去抖時CPU無法做其它事情,效率不高。如果把讀鍵放入時鐘中斷中,則可避免上述不足。方法為:如果兩次相鄰的中斷中都讀到同一個鍵按下,則這個鍵是有效的(達(dá)到了去抖目的),并將其鎖存到先入先出(隊列)的鍵盤緩沖區(qū),等主程序來處理。這樣,主程序處理按鍵的同時,仍可響應(yīng)鍵盤的輸入。緩沖區(qū)深度通常可設(shè)為8級,若鎖存的鍵數(shù)多于8個,則忽略新的按鍵,并報警提示用戶新的按鍵將無效。若鍵盤緩沖隊列停滯的時間大大長于主程序處理按鍵所需要的最大時間,說明主程序已出錯或跑飛,可以在中斷用指令將系統(tǒng)復(fù)位,起到了看門狗的目的。

主程序中的延時由于有常開的時鐘中斷,所以當(dāng)主程序中有需要時間較短、精度較高的延時時,應(yīng)暫時把時鐘中斷關(guān)閉。而程序中需要時間較長、精度不高的延時時,便可仿照下需的寫法,避免多層嵌套的循環(huán)延時。

例:在P1.1輸出1秒的高電平脈沖

MOV A,INCPI

INC A

CJNE A,INCPI$ ;等待一次中斷處理完成

SETB P1.1 ;設(shè)P1.1為H,脈沖開始

ADD A,#50 ;50個20mS為1秒

CJNE A,INCPI,$ ;等中斷將INCPI加一50次

CLR P1.1 ;設(shè)P1.1為L,脈沖結(jié)束

結(jié)束語:從上看出,要靈活地應(yīng)用時鐘中斷,將任務(wù)合理分配給中斷和主程序,并且二者要分工明確,接口簡單。這其中的技巧還需要大家在實踐中多多摸索與體會。另外要注意:應(yīng)盡量縮短中斷處理程序的執(zhí)行時間,更不要長于20mS。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 時鐘
    +關(guān)注

    關(guān)注

    10

    文章

    1733

    瀏覽量

    131447
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    898

    瀏覽量

    41470
  • AT89C51
    +關(guān)注

    關(guān)注

    27

    文章

    543

    瀏覽量

    81184
收藏 人收藏

    評論

    相關(guān)推薦

    基于51單片機(jī)的7人多數(shù)投票表決器設(shè)計

    設(shè)計編號:P13 1.主要功能: ? ? ? ? ? 基于51單片機(jī)AT89C51/52(與AT89S51/52、AT89C51/52、STC89
    的頭像 發(fā)表于 11-09 09:48 ?721次閱讀
    基于<b class='flag-5'>51</b>單片機(jī)的7人多數(shù)投票表決器設(shè)計

    TMS320C6000系統(tǒng)時鐘電路示例

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000系統(tǒng)時鐘電路示例.pdf》資料免費下載
    發(fā)表于 10-28 10:33 ?0次下載
    TMS320<b class='flag-5'>C</b>6000<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>時鐘</b>電路示例

    Protues中自己封裝的芯片元件無Program File、Clock Frequency選項怎么解決,跪求大神解決解決了

    第一個圖是AT89C51第二個圖是自己畫的元件
    發(fā)表于 07-16 14:54

    基于AT89C52的多功能數(shù)字時鐘系統(tǒng)

    本設(shè)計基于單片機(jī)技術(shù)原理,以單片機(jī)芯片AT89C52作為核心控制器、通過硬件電路的制作以及軟件程序的編制,設(shè)計了多功能數(shù)字時鐘系統(tǒng)[1]。該時鐘系統(tǒng)
    發(fā)表于 06-15 11:26 ?1次下載

    基于單片機(jī)AT89C51的數(shù)字電壓表仿真實現(xiàn),原理圖,論文,源碼

    概述 本設(shè)計是基于Atmel 51單片機(jī)開發(fā)平臺和自動控制原理的基礎(chǔ)上實現(xiàn)的一種數(shù)字電壓表系統(tǒng)。 該系統(tǒng)采用AT89C51單片機(jī)作為控制核心,以ADC0809為模數(shù)轉(zhuǎn)換芯片,實現(xiàn)量程0
    發(fā)表于 04-03 20:16

    畢設(shè),51單片機(jī)的自動售貨計設(shè)計與實現(xiàn)(C程序+硬件+論文)

    概述 本文設(shè)計了一款以AT89C51單片機(jī)為核心的自動售貨機(jī)系統(tǒng),并且著重詳細(xì)地介紹了自動售貨機(jī)的整體系統(tǒng)設(shè)計方案、硬件選擇基礎(chǔ)、軟件使用方法及技巧。 以AT89C51作為CPU處理單
    發(fā)表于 03-29 18:35

    基于51單片機(jī)的車輛倒車?yán)走_(dá)報警系統(tǒng),HC-SR04超聲波測距,全套資料

    ; 系統(tǒng)概述 本課題以AT89C51單片機(jī)為核心設(shè)計一種超聲波倒車?yán)走_(dá)系統(tǒng),同時兼顧車內(nèi)溫度測量。 系統(tǒng)AT89C51控制器、HC-SR0
    發(fā)表于 03-19 14:17

    基于單片機(jī)多功能洗衣機(jī)控制

    需注意仿真中51單片機(jī)芯片是兼容的,AT89C51,AT89C52是51單片機(jī)的具體型號,內(nèi)核是一樣的。相同的原理圖里,無論stc還是at都一樣,引腳功能都是一樣的,程序是兼容的,芯片
    發(fā)表于 03-18 10:13 ?677次閱讀
    基于單片機(jī)多功能洗衣機(jī)控制

    AT89S51中文資料介紹

    電子發(fā)燒友網(wǎng)站提供《AT89S51中文資料介紹.pdf》資料免費下載
    發(fā)表于 02-20 09:24 ?13次下載

    如何配置TC38x I2C中斷?

    我們的項目有 MCAL,但是 Loader 只是一個 while 循環(huán),不要使用操作系統(tǒng)模塊。 我們已經(jīng)通過輪詢模式實現(xiàn)了 I2C 通信,然后我們想切換到中斷模式。 我們?nèi)绾?CAN 通過寄存器
    發(fā)表于 01-29 07:42

    如何生成關(guān)于時鐘同步功能的DTC?

    如何生成關(guān)于時鐘同步功能的DTC? 時鐘同步功能是指在一個系統(tǒng)內(nèi)的多個時鐘源進(jìn)行同步,確保它們的時間保持一致。這在許多實時
    的頭像 發(fā)表于 01-16 15:10 ?604次閱讀

    基于51單片機(jī)的實時時鐘設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的實時時鐘設(shè)計.rar》資料免費下載
    發(fā)表于 01-12 10:43 ?13次下載

    s3c2410中斷控制模塊的中斷源狀態(tài)寄存器是?

    S3C2410是一款由三星電子公司設(shè)計的具有多種功能的嵌入式處理器。其中的中斷控制模塊用于管理系統(tǒng)中斷請求和中斷服務(wù)程序。在S3
    的頭像 發(fā)表于 01-05 17:28 ?716次閱讀

    基于51單片機(jī)的實時時鐘設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的實時時鐘設(shè)計.rar》資料免費下載
    發(fā)表于 01-02 10:15 ?43次下載

    基于51單片機(jī)的實時時鐘+溫度應(yīng)用設(shè)計

    基于51單片機(jī)的實時時鐘+溫度應(yīng)用設(shè)計(仿真)
    發(fā)表于 01-02 09:55 ?6次下載
    主站蜘蛛池模板: 国产精品美女久久久网站动漫 | 国内一级一级毛片a免费| 飘雪韩国在线观看免费高清完整版| 伊人久99久女女视频精品免| 国产精品久久人妻无码网站一区无| 秋霞网在线伦理影片| 99国产在线视频| 免费看 a一级毛片| 正能量不良WWW免费窗口| 精品蜜臀AV在线天堂| 亚洲精品久久久992KVTV| 国产强奷伦奷片| 无限资源在线观看高清| 动漫美女搞鸡| 日日夜夜狠狠干| 大伊人青草狠狠久久| 秋霞午夜一级理论片久久| AV一区AV久久AV无码| 欧美国产日韩久久久| 91精品欧美一区二区三区| 美女叉腿掰阴大胆艺术照| 中文字幕一区久久久久| 久久综合中文字幕佐佐木希| 在线视频 日韩视频二区| 久久有码中文字幕| 中文字幕在线观看网址| 两个奶被男人揉了一个晚上| 2021自产拍在线观看视频| 免费视频网站嗯啊轻点| 99久久国产露脸国语对白| 欧美97色伦影院在线观看| xxnx18日本| 日韩精品无码久久一区二区三| 高清无码中文字幕在线观看视频| 视频成人永久免费视频| 国产精品你懂得| 亚洲精品久久久午夜福利电影网| 精品亚洲国产成AV人片传媒| 中文字幕日本久久2019| 男gv纯肉免费视频| 超碰最新地址|