成人sese/国产免费人成视频在线观看/九色 在线/免费观看又色又爽又黄的/啪在线视频/日日做日日摸夜夜爽

首頁 新聞 > 科技 > 正文

單片機與程序設計(上)

在單片機中,不僅頻繁地使用“○月○日○點○分”這種時刻顯示,顯示過去的時間和一定的周期這種形式也被頻繁地使用。例如,“該程序從運行開始過去了多少時間?”、“每秒輸送128次信號”等等。另外,還經常被用于“等待指定的時間”、“經過指定的時間后將轉移到下一個處理”這樣的情況。對這些與時間和時刻有關進行處理的外設功能就是定時器(圖1)。

我們也可以不使用外設功能(硬件)的定時器,而是通過軟件來計算時間。下面通過圖2來說明使用軟件來定時的示例,圖中假設循環(重復)部分的處理需要費時1μs(微秒:100萬分之1秒)。由此可以計算出該循環部分重復1000次需要花費1ms(毫秒:千分之1秒),重復100萬次則需費時1秒。即:通過“等待經過循環處理所指定的時間”來計算時間。但是,CPU將會集中進行時間計算的處理而無法進行其他處理。而且,只能計算一個周期的時間。而現實當中,單片機需要對應0.1秒和1/1024秒等各種周期的時間。

另外,CPU的計時器頻率(驅動速度)也將對軟件產生影響。如果將100MHz驅動的CPU改為50MHz,那么循環1次所需的時間將變為原來的兩倍。因此,需要對計算時間的軟件進行修正。如上所述,由于在管理上既花時間又容易出錯,所以要極力避免通過軟件來計算時間。

稍微介紹一下中斷的內容……

下面,我們簡單介紹一下和定時器不可分割的技術——“中斷功能”。單片機中的“中斷功能”是指某個程序在執行過程中,因某種原因而發出“開始進行其他處理”的請求。由于可以使用中斷功能,所以可使CPU不集中進行一個處理。

讓我們想象一下日常生活中用到“中斷功能”的情景,當我們把熱水倒入方便面盒中后,如果我們在3分鐘內一直盯著時鐘看,那么這段時間內我們就不能做其它事情。但如果用廚房定時器設定3分鐘的時間,在廚房定時器的警報響起之前我們便可以去做其它事情。在這個例子中,“一直盯著時鐘看”就相當于前一節中所介紹的“等待經過循環處理所指定的時間”,所以在處理結束之前不能去做其它事情。同時,廚房定時器的警報就相當于中斷功能。在中斷發生前還可以去做其它事情。

單片機的外設功能中有各種各樣的定時器,這些定時器在經過指定的時間或處理結束時向CPU發送中斷信號。不僅是定時器,很多外設功能都會在“產生變化”、“處理開始/結束”時將中斷信息傳送給CPU。所以,CPU在中斷功能發生前還可以繼續做其它工作,因此可提高作業效率。關于中斷功能的詳細內容,將在本系列第4期的《外部中斷功能IRQ》中做詳細介紹。本期中,我們先事先了解一下“從外設功能以中斷的形式向CPU傳送信息”的內容。

各式各樣的定時器中,還有“看門狗定時器”!

在單片機的外設功能中,最貼心的定時器是計算到指定時間的定時器和每隔一段時間便發生中斷的定時器。另外,在瑞薩電子的RX63N單片機中,搭載了為控制伺服電動機而產生脈寬調制解調(PWM)信號的定時器、計算輸入信號間隔的定時器、顯示現在時刻的RTC(實時時鐘)等各種各樣的定時器。

在定時器中,最具特色的是WDT(看門狗定時器)。其名字Watch Dog Time中的Watch dog意思為“看門狗”,它的工作就是監視程序是否出現失控。由WDT監視的程序通過事先將設定的值寫入WDT后啟動。WDT每隔一定時間便減掉寫入的值,當程序正常運行時,處理結束前會對WDT清零再結束。但是,如果程序失控(進入意料之外的重復狀態且無法停止)時,寫入WDT的值將小于0(稱為下溢),因此向CPU通知程序出現了失控。在不允許睡眠的重要系統中,單片機中搭載的“看門狗定時器”DWDT發揮了極其重要的作用。

輕松嘗試使用定時器

雖然說:“我們就通過程序來實際使用定時器……”,但是實際上,要想熟練運用定時器,必須先理解單片機的操作步驟。而且,不僅需要了解通過軟件進行操作的步驟,還需理解單片機的硬件(結構)以及所使用的零部件的規格等。

因此,需要幫助時請使用“數據庫”。對于搭載了RX63N單片機的GR-SAKURA電路板,我們準備了幾個與時間和時刻有關的數據庫。

SAKURA 的sketch參數:櫻花程序庫時間(僅英文版)

在這個程序中,要讓GR-SAKURA上的LED在一定周期內發光。雖然僅是很簡單的操作,但是要想讓LED在正確的周期內發光就需要使用定時器。在上述櫻花程序庫的“時間”選項內,有計算經過時間的數據庫,所以我們就使用它。

程序如圖3所示。第14行的millis函數以從程序開始時經過的時間ms(毫秒:千分之一秒)為單位送回,沒有參數。使用該函數,通過獲取和最初的測定(第14行)之間的差距來取得1秒后、2秒后的結果。用while語言生成循環,從a的值等待1秒或2秒(第15行、第19行)。于是,1秒后LED0(GR-Sakura電路板的D1)亮燈,2秒后滅燈。滅燈后結束loop函數,但是該操作會再次反復繼續執行。另外,millis函數沒有符號,將返回long型的整數。

圖3:使用定時器功能使LED亮燈的程序。此例中,以1秒鐘為周期閃爍。

※//~是用于進行評價,對程序的執行不產生影響

將程序輸入Web編譯器,再將編譯完成后的二進制文件傳送給GR-SAKURA。傳送結束后,4個LED燈將暫時熄滅后再開始執行,LED0(GR-Sakura電路板的D1)開始閃爍。

接我們講解了必要的外設功能之一“定時器”。有關時間和時刻的處理,在各種場合都需要。請大家借此機會實際操作各種數據庫。

但是,文中的“懊128次”和“1/1024秒”這些數字突然冒出來,是否讓你吃了一驚呢?128是2的7次方,1024是2的10次方。RTC中具有每1/128秒產生一次中斷的功能……這是在單片機的世界中經常看到的數字。

接下來講中斷功能

提高作業效率的“中斷功能”指的是什么?

我們回顧一下“定時器”中簡單介紹過的“中斷功能”概念。任何人都有過這樣的經驗,就是“將雞蛋放進沸騰的熱水中,直到雞蛋煮熟的10分鐘內要確認好幾次時鐘”的經歷。在單片機的世界中也同樣,在等待某種狀態達成時,具有對對象進行定期檢查的方法。例如,在等待向GPIO(通用I/O端口)的輸入從0變為1時,程序可以一定的間隔來檢查GPIO的狀態。這種處理被稱為“輪詢”。

輪詢雖然是一種了解狀態變化的簡單方法,但是如果檢查的頻度低(間隔長)就會錯過變化,如果頻度過高(間隔短),即使查也查不到變化“空耗”。由于輪詢通過簡單的程序便能完成處理,所以在掌握對象的變化頻度時是有效的。但是,進行多次檢查也會給單片機帶來負荷,對功耗不利。

因此就要用到本期介紹的“中斷功能”。產生中斷時,CPU會暫時停止正在執行的任務,轉而進行別的任務。也就是有別的任務“穿插”進來的意思(圖1)。當中途穿插進來的任務結束后,CPU再返回處理原來的任務。

設想一下你在工作的同時煮雞蛋的情況。由于你不想停下手中的工作,所以把雞蛋放入熱水中后就設置定時器并繼續工作,10分鐘后定時器一響就把雞蛋從熱水中撈起。這時,定時器的鳴叫就是中斷,而“把雞蛋從熱水中撈起”就是穿插進來的工作。大家可以通過這種方式來了解中斷功能。

單片機中的中斷處理

中斷產生于單片機內部和外部的各種設備。于開關和感應器等單片機外部的中斷稱為外部引腳中斷,來自這些機器的中斷信號由名為“IRQ”的引腳接收,再向中斷控制器(在RX63N中稱被稱為“ICUb”)發出通知。IRQ為“Interrupt ReQuest”的略稱,意思為“中斷請求”。另外,來自單片機內部的定時器和GPIO、串行通信設備UART等外設機器的中斷被稱為外部設備中斷,中斷信號直接從各外部設備通知中斷控制器。

在中斷控制器中,各種設備的中斷信號按照先來后到的順序,以適當的順序被傳送到CPU。而且,中斷被設為無效的設備的中斷信號將不會被傳送到CPU,也就意味著可以忽視(屏蔽)這些信號。CPU按照從中斷控制器接收到的指示來執行對應的程序(中斷處理)。

CPU一旦接收到中斷控制器的中斷信號,首先將終止執行中的程序。然而,會自動保存“從何處重啟”的出棧(POP)信息,這被稱為“進棧(PUSH)”。進棧結束后,將開始由中斷執行的程序。該程序結束時,進棧信息將回送到CPU,這種現象被稱為“出棧”(圖2)。由于進棧和出棧都由CPU自動執行,因此程序設計者不必因順序問題而費心。

例如,通過UART執行串行通信時,經常監視字節是否被接收了而導致效率不佳。所以,多數情況下都對程序進行如下編程,即在信息送達時就會產生中斷并進行適當的處理,另外,使定時器產生中斷的情況也不在少數。進行“經過了一定時間后該做什么”這類處理時,應進行如下編程,即通過來自定時器的信號開始進行處理。如上所述,在有效利用單片機方面,中斷功能發揮了很大的作用。

還可使用數據庫嘗試編寫復雜的中斷程序!

為了編寫與中斷相關的程序,就需要了解單片機的運行。由于需要深入了解,所以不能僅是進行簡單的嘗試。幸好還有本系列中介紹過的GR-SAKURA數據庫,可在GR-SAKURA數據庫中進行與外部引腳中斷相關的處理,所以請嘗試使用GR-SAKURA數據庫來進行編程。

SAKURA sketch參數:櫻花程序庫--中斷(僅限英文版)

為了向GR-SAKURA提供外部引腳中斷,還需要做些工作。在GR-SAKURA中,從IO30引腳到IO35引腳接收來自外部的中斷信號。這次是將定時器輸出引導到IO0引腳,再將它傳送到IO31引腳作為中斷信號。因此,要從IO30引腳到GND的部分設置引腳接口,由底板用的電線將IO0和IO31連接起來(圖3)。

在示例程序(圖4)中預先準備了如下功能,即當GR-SAKURA的外部中斷信號引腳(從IO30到IO35中的一個)的輸入從L電平變為H電平時,LED燈將啟動。而且是在檢測到相當于上述所說明的“外部引腳中斷”的中斷信號后才會變化。從IO0引腳進行定時器輸出,并將之與中斷輸入引腳即IO31引腳連接,通過這樣的方式便可以與一定的時間間隔發生中斷。

※即使已對該程序進行了匯編,在沒有將上述的IO0和IO31引腳進行連接的GR-SAKURA中也無法運行。

以下為圖4的程序

※圖4程序結束

※圖4:用于外部引腳中斷的示例程序

在此數據庫中,可對分別與前述中斷信號輸入引腳對應的處理。本次所示的是根據向IO31引腳輸入的變化(從L電平變為H電平)來產生中斷的情況。第48行的attachInterrupt()定義了在某個輸入引腳出現某種變化時該調用什么函數。因此,設定為根據輸入IO31引腳的中斷信號來啟動irq3()。這樣的設定只需在setup()中定義一次便能在整個程序中有效。除此以外,在setup()中還記述了定時器的定義、定時器輸出引腳的設定、LED輸出的設定等初始條件。

沒有通過loop()函數進行的處理。取而代之的是由irq3()這個函數進行處理。從這個函數來看是看不出它是從程序中調用的。但是,正是由于這個函數,才能使中斷信號進入IO31引腳時使LED的光發生變化。在函數irq3()中,四盞LED中只有一盞亮燈,這個函數一旦被調用,亮燈的LED就發生一次變化。為了讓人看得到這個“變化”,在case標簽的部分,通過來自GPIO的輸出來滅燈且使旁邊的LED亮燈(邊緣的LED燈亮燈時,相反側的邊緣的LED亮燈或滅燈)。

為了應對不知何時會發生的意外,中斷就是非常有效的應對方法。而且,中斷還可以減少程序的不必要運行,從而可降低功耗。也可以說,為了真正有效地利用單片機,這是一項不可缺少的技術。

關鍵詞:

最近更新

關于本站 管理團隊 版權申明 網站地圖 聯系合作 招聘信息

Copyright © 2005-2018 創投網 - m.zhigu.net.cn All rights reserved
聯系我們:33 92 950@qq.com
豫ICP備2020035879號-12

 

主站蜘蛛池模板: 日本卡2卡3卡4卡5卡精品视频 | 日韩av福利 | 久久综合久久久久88 | 四虎影视久久久免费观看 | 美女裸免费观看网站 | 伊人狼人大焦香久久网 | 人与鲁性猛交xxxx | 欧美日韩精品成人网站二区 | 肥嫩水蜜桃av亚洲一区 | 九九热最新视频 | www.2021av| 青草国产视频 | 亚洲视频网站在线观看 | 在线观看网站黄 | 中国娇小与黑人巨大交 | 午夜福利理论片在线观看播放 | 午夜欧美理论2019理论 | 嫩草影院污 | 中文字日产幕乱五区 | 欧美乱妇无乱码大黄a片 | 女同互添互慰av毛片观看 | 久久久久久久久久久中文字幕 | 亚洲国产成人精品久久 | 国产白嫩白嫩白嫩大学生 | 热の国产 | 日本成人免费在线 | 一级黄色片在线 | 久久视频免费 | 91视频久久久| 久草在线观看福利 | 久久精品国产99精品国产亚洲性色 | www四虎影视 | 久久爱www人成狠狠爱综合网 | 日韩欧美中文字幕在线观看 | а√天堂资源官网在线资源 | 人人入人人爱 | 国产乱淫a∨片免费视频牛牛 | 91亚洲精品乱码久久久久久蜜桃 | 日本老熟妇乱子伦视频 | 欧美国产成人精品二区芒果视频 | 国产偷窥熟女精品视频大全 | 人人澡超碰碰97碰碰碰 | 亚洲国产一卡2卡3卡4卡5公司 | 精品成人免费一区二区不卡 | 超碰超碰超碰超碰 | 国产精品99久久久久久似苏梦涵 | 国产精品亚洲lv粉色 | 国产湖南美女精品毛片 | 欧美国产在线看 | 无码人妻aⅴ一区二区三区日本 | 欧美亚州国产 | 一级片www| 无码中文字幕热热久久 | 日本欧美一级 | 日本乱码一区二区三区芒果 | 欧美亚洲国产视频 | 午夜无码区在线观看亚洲 | 亚洲宗人网| 人成午夜大片免费视频 | 主站蜘蛛池模板: 蛛词}| 国产日本欧美在线观看 | 国产香蕉97碰碰碰视频在线观看 | 国产精品全新69影院在线看 | 亚洲成av人片在线观看香蕉 | 一级特黄aaa大片在线观看 | 国产欧美日韩精品在线 | 少妇一夜三次一区二区 | 国产亚洲精品久久久久动 | 日韩精品无码免费一区二区三区 | 亚洲精品久久久久中文第一幕 | 99亚洲视频 | 两个男人吮她的花蒂和奶水视频 | 国产精品伦理久久久久 | 国产精品亚洲综合一区在线观看 | 国产精品碰碰现在自在拍 | 色天使在线观看 | 国产精品a免费一区久久电影 | 久久国产精品久久久 | 青青草国产在线视频 | 九九视频精品在线观看 | 中文日韩v日本国产 | 色爱av综合 | 亚洲系列中文字幕 | 久久99精品久久水蜜桃 | 久久国产综合 | av一区二区三区人妻少妇 | 日韩av福利| 九九热免费精品 | 91精品国产调教打屁股 | 亚洲日韩精品a∨片无码加勒比 | av免费播放一区二区三区 | 亚洲综合网在线观看 | 久久99精品久久久久久齐齐 | 亚洲小视频在线播放 | 欧美一级在线播放 | 伊人干网综合亚洲 | 国产精品嫩草影院精东 | 爽天天天天天天天 | 成人精品一区二区三区在线观看 | 亚洲天堂色 | 国产精品久久久久久影院8一贰佰 | 一区二区久久久久草草 | 午夜性色 | 成年女人免费碰碰视频 | 国产高潮国产高潮久久久91 | 日韩免费 | 日本丰满少妇裸体自慰 | 国产亚洲精品久久久久久老妇小说 | 免费午夜无码18禁无码影院 | 特级无码毛片免费视频播放▽ | 麻批好紧日起要舒服死了 | 黄网站在线免费 | 91精品国产高潮对白 | 97人人艹 | 欧美一区二区影院 | 亚洲欧美日韩系列 | 国产日产韩国精品视频 | 99精品久久久久 | 国产精品欧美精品 | 主站蜘蛛池模板: 蛛词}| 8090理论片午夜理伦片 | 国产激情无码视频在线播放性色 | 亚洲欧美黄色片 | 亚洲精品一区二区三区新线路 | 一区二区在线国产 | 美国一级黄色毛片 | 日本疯狂爆乳xxxx | 中年国产丰满熟女乱子正在播放 | 国产精品无码无卡无需播放器 | 人人爱人人艹 | 亚洲精品久久久久中文字幕m男 | 国内精自视频品一2区 | 丝袜人妻一区二区三区 | 日本日本乱码伦专区 | 中文字幕人成乱码熟女 | 自拍 另类 综合 欧美小说 | 国产自产高清不卡 | 少妇人妻好深太紧了a | 日日干干干| 日韩激情毛片 | 久久国产精品成人无码网站 | 麻豆精品一区二正一三区 | 天堂精品| 国产又黄又硬又湿又黄的视 | 乱子伦一区| 色噜噜亚洲男人的天堂 | 国产99青青成人a在线 | 亚洲精品无码久久久久y | 99久久无码一区人妻a片潘金莲 | 我要看一级黄色毛片 | 国产人妻人伦精品1国产 | 国产在线孕妇孕交 | 日韩aaa视频 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 成人免费网站视频www | 日本美女一区二区三区 | 久在线视视频在线观看 | 欧美日韩在线免费播放 | 在线观看国产精品一区 | 欧美日日操 | 国产剧情无码播放在线观看 | 内射爽无广熟女亚洲 | 色老汉免费网站免费视频 | 亚洲精品一卡2卡三卡4卡乱码天 | 91c网站色版视频 | 欧美大片免费观看网址 | 91精品国产乱码久久久久久久久 | 92精品成人国产在线观看 | 国产高清在线不卡 | 亚洲精品久久一区二区三区 | 亚洲处破女av一区二区中文 | 中国少妇内射xxxhd免费 | 久久99精品国产麻豆 | 成人必看www. | 成人片国产精品亚洲 | 国产清纯美女白浆在线播放 | 玩弄放荡人妇系列av在线网站 | 91久久爱 | 亚洲精品性 | 主站蜘蛛池模板: 蛛词}| 午夜精品久久久久久久99热 | 成人乱人伦视频在线观看 | 黄色va视频 | 午夜精品福利在线 | 国产边摸边吃奶边叫做激情视频 | 久久久欧美精品激情 | 国产成人一区二区三区别 | 激情欧美在线观看 | 国产免费无遮挡吸乳视频app | 国产日韩一区二区三免费高清 | 污污污污污www网站免费 | 国产成人精选在线观看不卡 | 国产女人水真多18毛片18精品 | 一区二区高清国产在线视频 | 国产乱女淫av麻豆国产 | 大香大香伊人在钱线久久 | 午夜伦情电午夜伦情电影 | 伊人久久大香线蕉av色 | 免费婷婷 | 91在线精品视频 | 国产浮力第一页草草影院 | 欧美日韩国产色综合视频 | 中文字幕乱码久久午夜不卡 | 久久久国产精品黄毛片 | 无码人妻aⅴ一区二区三区蜜桃 | 国产成人无码18禁午夜福利免费 | 色哟哟亚洲精品一区二区 | 国产一级淫片a免费播放 | 免费欧美黄色 | 在线a免费| 青青草原综合久久大伊人精品 | 精品多毛少妇人妻av免费久久 | 嫩草网在线观看 | 日韩特黄一级欧美毛片特黄 | 毛片久久久久久久 | 激情小说在线视频 | 18禁美女裸体网站无遮挡 | 免费裸体黄网站18禁止观看 | 91嫩草亚洲精品 | 97香蕉碰碰人人澡人人爱 | 精品日韩在线观看 | 亚洲成人日韩 | 天堂а√中文在线官网 | 国内精品在线免费 | 免费少妇荡乳情欲视频 | 国产又粗又猛又爽的免费网站 | 国产色网址 | 宅男噜噜噜66网站高清 | 国产精品久久久久久欧美 | 上司侵犯下属人妻中文字幕 | 少妇资源站 | 无码免费伦费影视在线观看 | 亚洲在线国产 | 岛国在线观看无码不卡 | 最新中文字幕在线 | 国产午夜禁区精品视频 | 99热国| 六月丁香婷婷激情 | 丁香婷婷社区 | 主站蜘蛛池模板: 蛛词}| 国产免费又黄又爽又刺激蜜月al | 国产日韩精品欧美一区喷水 | 一级特黄aa毛片 | 四川少妇大战4黑人 | av超碰| 久热精品在线播放 | 国产精品区一区二区三在线播放 | 欧美激情一区二区三区 | 曰欧一片内射vα在线影院 午夜影院激情av | 中文在线字幕免费观 | 手机在线观看中文字幕 | 人妻熟妇乱系列 | 国产成人亚洲综合无码 | 亚洲欧洲一区二区三区 | 午夜免费无码福利视频 | 帮老师解开蕾丝奶罩吸乳视频 | 亚洲综合三区 | 最新国自产拍av | 亚洲欧美另类在线图片区 | 国偷自产一区二区免费视频 | 国产suv精品一区二区三区 | 吃奶摸下高潮60分钟免费视频 | 国产一精品av一免费爽爽 | 国产第一页在线 | 欧美黑人巨大xxx极品 | 66国产精品 | 国产日韩av免费无码一区二区 | 久草在线这里只有精品 | 免费黄色毛片 | 国产精品一区二区三区四区 | 色妞www精品免费视频 | 国产精品爱久久久久久久 | 国产精品美脚玉足脚交欧美 | 亚洲成av人影院 | 久草免费av| 水蜜桃在线 | 久久天天躁狠狠躁夜夜avapp | 久久久人成影片一区二区三区 | 黄色免费在线网址 | 动漫精品专区一区二区三区不卡 | 日本亚洲最大的色成网站www | 午夜福利理论片在线观看播放 | 亚洲免费福利在线视频 | 欧美交受高潮1 | 日本老妇70sex另类 | 国产精品久久久久久久久绿色 | 99xxxx开心 | 蜜桃成人在线视频 | 高清国产精品人妻一区二区 | www欧美视频 | 中文日韩视频 | 男女真人后进式猛烈动态图视频 | 国产乱子伦农村xxxx | 久久精品99国产精品酒店日本 | 手机成人av在线 | 亚洲激情福利 | 人人干人人干人人干 | 国产又粗又猛又爽又黄 | 亚洲伊人久久久 |