欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 單片機(jī) >> 正文

單片機(jī)延時(shí)程序的設(shè)計(jì)思想

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2008/11/29

  單片機(jī)編程中,延時(shí)程序使用比較多,根據(jù)其延時(shí)方式不同可分為兩類:
      一》阻塞式延時(shí);
      二》非阻塞式延時(shí);
     阻塞式延時(shí),最常用,通常是在原地循環(huán)若干次,通過消耗機(jī)器周期來實(shí)現(xiàn)。此時(shí),CPU再不能干別的事(CT0/CT1/CT2/串口仍可工作,延時(shí)可被中斷暫時(shí)打斷,會(huì)使延時(shí)加長(zhǎng)),實(shí)時(shí)性比較差。
     非阻塞式延時(shí)是在延時(shí)期間CPU仍可干別的事,不會(huì)在哪兒等,實(shí)時(shí)性比較好。
     打個(gè)比方,你在環(huán)形操場(chǎng)跑步,相當(dāng)于CPU的PC指針在主程序中循環(huán)(多數(shù)程序都是這樣)。有個(gè)延時(shí)程序要求你等100毫秒把手舉起來一下(用此表示CPU處理一個(gè)事件):當(dāng)是阻塞式延時(shí)方式時(shí),你就在原地踏步跑,等100毫秒后,你把手舉起來一下再接著跑;當(dāng)是非阻塞式延時(shí)方式時(shí),你只是在一個(gè)地方放個(gè)秒表,并啟動(dòng)它,但你并不停下而是繼續(xù)跑。每次跑到這個(gè)地方,你只要看一下秒表,看是否到100毫秒,若到了,你就把手舉起來一下,若沒到,你就繼續(xù)沿跑道跑。
     從上邊的例子可清楚看出,阻塞式延時(shí),影響主程序循環(huán)一次的執(zhí)行時(shí)間(影響實(shí)時(shí)性!);非阻塞式延時(shí),基本不影響主程序循環(huán)周期(CPU只是多執(zhí)行一兩條指令判斷一下時(shí)間是否到),但需要有個(gè)“秒表”。這個(gè)“秒表”可用一個(gè)定時(shí)器完成,并作為整個(gè)系統(tǒng)的時(shí)基,供需要時(shí)基的部分使用;如單片機(jī)控制系統(tǒng)的人機(jī)界面,顯示閃爍時(shí)就需要。比如,將定時(shí)器0設(shè)定為5毫秒,由此可產(chǎn)生10毫秒,25毫秒,50毫秒,100毫秒,250毫秒和500毫秒等等時(shí)鐘信號(hào)。
     現(xiàn)在分析影響延時(shí)精度的因素:
      影響阻塞式延時(shí)的因素有:
        1)設(shè)計(jì)程序時(shí)計(jì)算執(zhí)行機(jī)器周期數(shù)的偏差;
        2)中斷處理程序的額外時(shí)延;
      影響非阻塞式延時(shí)的因素有:
        1)所用定時(shí)器基本時(shí)基的精度(如上例:5毫秒);
        2)主程序的循環(huán)周期;這是隨機(jī)的,比如,當(dāng)看秒表時(shí),時(shí)間還沒到,
           在下次看表之前時(shí)間卻到了,最壞情況是差一個(gè)主程序循環(huán)周期;
        3)其他中斷處理程序的額外時(shí)延;這是隨機(jī)的,比如,在看表之前時(shí)間已到,
          這時(shí)有個(gè)中斷也被響應(yīng),就要加上中斷處理程序的時(shí)間延遲;
      在實(shí)際使用中,我們根據(jù)具體情況選擇不同的延時(shí)方式。
     這種非阻塞式延時(shí)的思想,我們成功用在許多單片機(jī)控制系統(tǒng)中,效果很好。

Tags:單片機(jī),延時(shí),程序,設(shè)計(jì)思想  
責(zé)任編輯:admin
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
主站蜘蛛池模板: 宁南县| 灵丘县| 九台市| 获嘉县| 尚义县| 大理市| 潍坊市| 朝阳区| 胶南市| 西贡区| 城市| 湘西| 沾化县| 宜宾县| 疏附县| 公安县| 扎鲁特旗| 揭阳市| 张家川| 山阴县| 大庆市| 河东区| 揭西县| 什邡市| 平远县| 额敏县| 江永县| 临邑县| 建昌县| 武夷山市| 万州区| 蓬溪县| 阳泉市| 青铜峡市| 望奎县| 贵定县| 博客| 奉贤区| 濮阳县| 连云港市| 阳东县|