第一篇:知網(wǎng)論文 基于單片機(jī)的汽車?yán)锍瘫碓O(shè)計(jì)
#277#第3期 劉清波等
:基于單片機(jī)的汽車?yán)锍瘫碓O(shè)計(jì)
基于單片機(jī)的汽車?yán)锍瘫碓O(shè)計(jì)
劉清波1,蔡淑珍2,孫業(yè)歧2,史 楠3(1.保定師范??茖W(xué)校計(jì)算機(jī)中心,河北保定 071051;2.河北大學(xué)物理科學(xué)與技術(shù)學(xué)院,河北保定 071002;3.河北大學(xué)電子信息工程學(xué)院,河北保定 071002)
摘 要:介紹了電子汽車?yán)锍瘫?此里程表以8031單片機(jī)為核心,用LED數(shù)碼管顯示汽車總行駛里程、本次里程,具有結(jié)構(gòu)簡(jiǎn)單、成本低廉、顯示清晰、穩(wěn)定可靠等優(yōu)點(diǎn).并且可進(jìn)行擴(kuò)充,加入時(shí)速表的功能,進(jìn)一步節(jié)省汽車儀表成本.關(guān)鍵詞:單片機(jī);汽車?yán)锍瘫?存儲(chǔ)器
中圖分類號(hào):TP 202
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1000-1565(2002)03-0276-03 單片機(jī)自從推出以來(lái),以其超小型化、結(jié)構(gòu)緊湊、可靠性高、成本低等優(yōu)點(diǎn)被人們廣泛接受,從而應(yīng)用于工業(yè)、電訊、數(shù)據(jù)處理、儀器儀表等多方面.汽車?yán)锍瘫硎瞧嚨闹匾浼?在汽車儀表中占重要位置,但幾十年來(lái)其發(fā)展變化并不大,現(xiàn)在國(guó)外很多車中使用了數(shù)字里程表,但在國(guó)內(nèi)還并不多見.這里講述的是一種以8031單片機(jī)為核心,6位LED數(shù)碼管作為顯示器,再加上程序存儲(chǔ)器2764,并以E2PROM 2817A為數(shù)據(jù)存儲(chǔ)器,8279為顯示芯片的數(shù)字汽車?yán)锍瘫?其通過(guò)按鍵開關(guān)可切換顯示本次里程和總里程.2816,2817系列為E2PROM,其掉電信息并不丟失,并且數(shù)據(jù)可方便改寫,利用此特性在其中存放汽車總里程數(shù)據(jù).硬件設(shè)計(jì)
此汽車?yán)锍瘫硪?764為程序存儲(chǔ)器,8031單片機(jī)為CPU,此種單片機(jī)應(yīng)用廣泛且價(jià)格便宜.以74LS373為鎖存器構(gòu)成最小系統(tǒng),數(shù)據(jù)存儲(chǔ)器用的是一片E2PROM 2817A.顯示電路由1片74LS138為譯碼器,兩片7406,3片75451為驅(qū)動(dòng)器,加上一片8279顯示芯片組成.采用6位共陰極數(shù)碼管.總里程最大值為999 999 km,本次里程最大顯示為999.9 km,總里程與本次里程用8031 P3.0腳外接按鍵開關(guān)來(lái)切換.8031 P1.0腳外接點(diǎn)觸式開關(guān)用以清零本次里程.顯示器顯示方式采用八字符右入動(dòng)態(tài)顯示.(結(jié)構(gòu)示意圖如圖1所示)圖1 汽車?yán)锍瘫斫Y(jié)構(gòu)
8031單片機(jī)外接8 MHz晶振作為外部時(shí)鐘頻率振 蕩電路,由汽車磁電式傳感器將汽車行駛時(shí)變速箱轉(zhuǎn)數(shù) 轉(zhuǎn)換成脈沖信號(hào),接8031單片機(jī)INT1腳作為計(jì)數(shù)脈沖 輸入.2 軟件設(shè)計(jì)
軟件設(shè)計(jì)在系統(tǒng)設(shè)計(jì)中占很大比重,好的軟件環(huán)境 能使單片機(jī)硬件資源得以充分發(fā)揮,在軟件編程時(shí)應(yīng)注 重程序的結(jié)構(gòu)化,以簡(jiǎn)化編碼,方便調(diào)試.本汽車?yán)锍瘫?/p>
2817A為2K字節(jié)因此可使用幾十年,遠(yuǎn)超汽車的使用年限,因此不必為其使用壽命而擔(dān)心.本程序工作安全穩(wěn)定,顯示清晰,計(jì)數(shù)準(zhǔn)確,精度較機(jī)械式汽車?yán)锍瘫硖岣咭粋€(gè)數(shù)量級(jí).而且本里程表還可在功能上進(jìn)一步擴(kuò)充,可將汽車時(shí)速表功能加入到系統(tǒng)中,進(jìn)一步降低汽車儀表的成本.4)時(shí)速表的編程思想如下:里程表程序中,每計(jì)數(shù)1次,汽車行駛0.001 602 564 1 km,T0每10 ms中斷1次,送顯示,其中斷100次時(shí)間為1 s,計(jì)算這1 s計(jì)數(shù)次數(shù),乘3 600再乘0.001 602 564 1即可求出時(shí)速.公式為:時(shí)速=次數(shù)@5.769 2.此算法可精確到0.001位.然后將求得的時(shí)速送顯示.時(shí)速表顯示以P1.1及外接按鍵來(lái)控制,P1.1腳為高電平,P3.0為低電平時(shí)顯示汽車時(shí)速.此時(shí)速表可顯示到小數(shù)點(diǎn)后2位,精度較傳統(tǒng)汽車時(shí)速表提高2個(gè)數(shù)量級(jí).結(jié)構(gòu)簡(jiǎn)單,匯編完后為713字節(jié),占用程序空間少,用2716亦能勝任(采用2764主要為了方 便功能擴(kuò)充).1)里程計(jì)數(shù)原理:汽車磁電式傳感器輸出的脈沖信號(hào)是傳感器轉(zhuǎn)輪旋轉(zhuǎn)時(shí)磁場(chǎng)使舌簧管分開閉合而產(chǎn)生的脈沖.每一個(gè)脈沖代表行駛了一定的距離.設(shè)汽車行駛1 km時(shí)驅(qū)動(dòng)輪轉(zhuǎn)數(shù)為N,磁電式傳感器轉(zhuǎn)數(shù)為NF則NF= N@I,其中I為傳動(dòng)比.設(shè)輪胎外徑為D,則汽車行駛1 km驅(qū)動(dòng)輪轉(zhuǎn)數(shù)為N=1 000/PD,實(shí)際中由于輪胎承載變形使得輪胎外徑D變化,此時(shí)NXI=1 000/PLD,其中L為變形系數(shù),一般為0.93~0.96.則磁電式傳感器在汽車行駛1 km時(shí)轉(zhuǎn)數(shù)NF=(1 000/PLD)I.設(shè)傳感器轉(zhuǎn)輪上均勻安排m個(gè)磁片時(shí),汽車行駛1 km,傳感器輸出脈沖為mNF個(gè).2)程序中以INT1的輸入為里程計(jì)數(shù)脈沖,8031中斷1置為高中斷優(yōu)先級(jí)以保證計(jì)數(shù)準(zhǔn)確.定時(shí)器T0置為低中斷優(yōu)先級(jí),設(shè)T0每10 ms中斷1次,中斷1次送1位顯示.每行駛1 km向2817中寫1次數(shù)據(jù).3)以60H~62H單元為計(jì)數(shù)脈沖暫存單元.68H,69H單元為判斷數(shù)據(jù)暫存單元,6CH中為本次里程小數(shù)點(diǎn)位數(shù)值.當(dāng)6CH單元內(nèi)容達(dá)到0AH時(shí)清零.70~72H單元為讀出的總里程數(shù).本程序包括主程序和2個(gè)中斷服務(wù)程序,程序功能如下: 主程序:初始化,清零存儲(chǔ)單元,讀出總里程存入暫存單元,開CPU中斷、置中斷優(yōu)先級(jí),啟動(dòng)定時(shí)器,等 待中斷.INT1中斷服務(wù)程序:脈沖個(gè)數(shù)加1,判斷是否小數(shù)點(diǎn)數(shù)值為0.1 km,判斷是否行駛1 km.不是則返回.T0中斷服務(wù)程序:判斷是否顯示總里程,顯示方式初始化,顯示里程數(shù),返回.圖2 系統(tǒng)流程
每經(jīng)過(guò)1 km寫1次2817,這樣設(shè)計(jì)比隔一定時(shí)間寫一次新數(shù)據(jù)要實(shí)用得多,這樣在停車等待時(shí)8031停止寫入總里程,從而大大延長(zhǎng)了2817的使用壽命.并且由于2817A寫入時(shí)間為幾毫秒,遠(yuǎn)小于汽車行駛1 km所用時(shí)間,因此可對(duì)2817A的RAY/BUSY腳的狀態(tài)不予理會(huì),從而也簡(jiǎn)化了程序設(shè)計(jì),且可使用2816達(dá)到同樣功能而不必更改程序.汽車行駛過(guò)程中會(huì)向里和存儲(chǔ)器頻繁寫入數(shù)據(jù),假設(shè)汽車每天平均行駛1 000 km,即每天擦寫1 000次.總里程共6位分配3個(gè)字節(jié),則個(gè)位十位單元每天擦寫1 000次,百、千位單元每天擦寫10次,萬(wàn)、十萬(wàn)位單元10天擦寫1次.根據(jù)E2PROM寫入次數(shù)約為1萬(wàn)次的規(guī)定.如果給個(gè)、十位分配1 000個(gè)單元,可擦寫30年,而百千位只需分配10個(gè)單元,萬(wàn)、十萬(wàn)位分配1個(gè)單元就夠了.參 考 文 獻(xiàn): [1]馬家臣,孫玉德,張 穎.MCS-51單片機(jī)原理及接口技術(shù)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1996.[2]王義方,周偉航.微型計(jì)算機(jī)原理及應(yīng)用(MCS-15系列單片機(jī))[M].北京:機(jī)械工業(yè)出版社出版,1997.An Automobile Odometer Design Based on Single Chip Microcomputer LIU Qing_bo1,CAI Shu_zhen2,SUN Ye_qi2,SHI Nan3(1.Center of Computer,Baoding Teaching College , Baoding 071051,China;2.College of Physics and Technology,Hebei University,Baoding 071002,China;3.College of Electronic
and
Informational
Engineering,Hebei University,Baoding 071002,China)
Abstract:The article makes an introduction of an electron autormobile odometer whose core is/80310.The odometer can display the whole and any specific mileage by using a LED.It has the advantages of simple struc-ture,low cost ,clear display and reliable steadiness,etc.It can also be augmented to have the functions of a speed meter and so save the cost for other meters.Key words:single chip microcomputer;automobile odometer;memory(責(zé)任編輯:孟素蘭)#278#河北大學(xué)學(xué)報(bào)(自然科學(xué)版)2002年
第二篇:里程表(一)教學(xué)設(shè)計(jì)范文
北師大版一年級(jí)下冊(cè)
《觀察物體》
看一看
(一)梁塘小學(xué) 陳梅
2017年5月
《觀察物體》
看一看
(一)教學(xué)內(nèi)容:
北師大版一年級(jí)下冊(cè)第18-19頁(yè)“看一看
(一)” 教學(xué)目標(biāo):
一、讓學(xué)生經(jīng)歷觀察的過(guò)程,體驗(yàn)到從不同的位置觀察物體,所看到的形狀是不一樣的。
二、學(xué)會(huì)正確辨認(rèn)從正面、側(cè)面觀察到的簡(jiǎn)單物體的形狀,發(fā)展學(xué)生的空間觀念和想象力。
三、在實(shí)踐活動(dòng)的過(guò)程中,讓學(xué)生學(xué)會(huì)用眼睛去觀察,用語(yǔ)言表述自己觀察到的物體的形狀。
四、發(fā)展學(xué)生的空間觀念和合作意識(shí),培養(yǎng)學(xué)生初步的辯證唯物主義思想。重點(diǎn)難點(diǎn):
重點(diǎn):能結(jié)合具體事物辨認(rèn)從不同位置看到的物體形象。
難點(diǎn):體驗(yàn)從不同角度看物體,看到的形狀是不一樣的。教具準(zhǔn)備:
多媒體課件、芭比娃娃、玩具小兔、玩具相機(jī)、各種小物品。教學(xué)過(guò)程:
一、創(chuàng)設(shè)情景,故事導(dǎo)入
師:小朋友們,你們喜歡聽故事嗎?
師:老師今天給大家講的故事叫做《盲人摸象》(幻燈片展示故事圖片)(邊展示邊講故事)
師:故事中的四個(gè)盲人對(duì)大象的描述正確嗎?為什么?
學(xué)生反饋
師小結(jié):四個(gè)盲人摸到的只是大象身體的一部分,所以他們說(shuō)不出大象的全貌,這里就牽扯到觀察物體的問(wèn)題。今天我們一起來(lái)學(xué)習(xí)《觀察物體》。
板書課題
二、在活動(dòng)中探究新知
1、活動(dòng)一:你來(lái)拍一拍
師:小朋友們,你們喜歡拍照片嗎?老師這里有一個(gè)芭比娃娃,誰(shuí)愿意當(dāng)小攝影師,給芭比娃娃拍一張漂亮的照片?
請(qǐng)三名學(xué)生上前,分別站在芭比娃娃的前面、后面、右面準(zhǔn)別拍照。
依次讓每個(gè)學(xué)生自己描述一下自己站在當(dāng)前位置所看到的圖像是什么?然后拍照。師:你想知道他們拍的照片是什么樣子的嗎?
(課件出示三張圖片)
師:請(qǐng)同學(xué)們仔細(xì)觀察,讓后說(shuō)說(shuō)你發(fā)現(xiàn)了什么?
(三張照片不一樣)
師提問(wèn):“同一個(gè)芭比娃娃,為什么這三個(gè)同學(xué)拍出的照片不一樣呢?”
(再次出示三張照片)
揭示拍照時(shí)三位同學(xué)所站的位置。
引導(dǎo)學(xué)生得出結(jié)論:從不同的方向觀察同一個(gè)物體,看到的形狀可能是不同的。
2、活動(dòng)二:你來(lái)猜一猜(出示玩具小兔)
師:請(qǐng)一個(gè)同學(xué)上來(lái)站在小兔的后面進(jìn)行觀察。大屏幕出示三張不同角度小兔的照片,讓下面的學(xué)生猜一猜他看到的是哪幅圖。
換位置觀察,再讓下面的學(xué)生猜一猜。
三、聯(lián)系實(shí)際 鞏固新知
1、大家一起來(lái)觀察
出示布娃娃、鬧鐘、小火車等生活中常見的小物品。請(qǐng)學(xué)生分組觀察。
說(shuō)一說(shuō):“你處在小物品的什么位置?你看到了什么?你和你對(duì)面的同學(xué)看到的圖形是一樣的嗎?”
2、書包練習(xí)題 找學(xué)生來(lái)說(shuō)一說(shuō)
3、智慧老人練習(xí)題 找學(xué)生連一連
四、全課小結(jié)
師:在今天的活動(dòng)中,我們從哪幾個(gè)方向來(lái)觀察物體的?
師:你還知道了什么?
五、課外延伸
師:請(qǐng)你回家后,找一個(gè)物體,從不同角度去觀察,并把觀察到的形狀畫下來(lái),然后讓爸爸媽媽猜一猜你觀察的是什么物體。
板書設(shè)計(jì)
看一看
(一)正面 側(cè)面 后面
觀察的方向不同 看到的結(jié)果可能就不一樣
第三篇:基于單片機(jī)的時(shí)鐘控制器設(shè)計(jì)論文
單片機(jī)原理與應(yīng)用技術(shù)課程設(shè)計(jì)報(bào)告
基于單片機(jī)控制的時(shí)鐘控制器
專業(yè)班級(jí): _電氣XX班_ __ 姓
名:__ ___XXX__ ___ 時(shí) 間:2013/11/25~12/15 指導(dǎo)教師: XXXX XXX
2013年12月11日
基于單片機(jī)控制的時(shí)鐘控制器課程設(shè)計(jì)任務(wù)書
1。設(shè)計(jì)目的與要求
設(shè)計(jì)出一個(gè)基于單片機(jī)控制的時(shí)鐘控制器。通過(guò)向單片機(jī)輸入不同的指令可以實(shí)現(xiàn)24小時(shí)制時(shí)鐘的基本顯示和連續(xù)的調(diào)時(shí),調(diào)分和調(diào)秒的功能,同時(shí)又?jǐn)U展了整點(diǎn)報(bào)時(shí)功能。該電路硬件較為簡(jiǎn)單、計(jì)時(shí)精度高、可控性好,可以隨時(shí)調(diào)整和設(shè)定時(shí)間,并且調(diào)時(shí)間的誤差小,操作簡(jiǎn)單、通用性強(qiáng)。
(1)基本功能
<1>、顯示:可以顯示時(shí)、分和秒
<2>、調(diào)時(shí)功能:時(shí)(0-24)、分和秒(0-60)可以連續(xù)可調(diào)(2)性能:時(shí)間日誤差< 2秒(3)擴(kuò)展功能 <1>.增加整點(diǎn)報(bào)時(shí)功能 <2>.增加鬧鐘任意設(shè)定功能 2.設(shè)計(jì)內(nèi)容
(1)畫出電路原理圖,正確使用邏輯關(guān)系;(2)確定元器件及元件參數(shù);(3)進(jìn)行電路模擬仿真;(4)SCH文件生成與打印輸出; 3.編寫設(shè)計(jì)報(bào)告
寫出設(shè)計(jì)的全過(guò)程,附上有關(guān)資料和圖紙,有心得體會(huì)。4.答辯
在規(guī)定時(shí)間內(nèi),完成敘述并回答問(wèn)題。
目錄
摘要...................................................................1 1.引言................................................................1 2.設(shè)計(jì)目的和要求......................................................1 3.總體設(shè)計(jì)方案........................................................1 3.1 方案設(shè)計(jì)要求.......................................................1 3.2 方案設(shè)計(jì)與論證.....................................................1 3.3 整體設(shè)計(jì)框圖.......................................................2 3.4 系統(tǒng)設(shè)計(jì)流程圖.....................................................2 4.設(shè)計(jì)原理分析........................................................3 4.1 外接晶振電路..................................................3 4.2 復(fù)位電路...........................................................3 4.3 數(shù)碼管顯示電路.....................................................3 4.4 鍵盤控制電路.......................................................4 4.5 Proteus仿真電路....................................................4 4.6 單片機(jī)程序的編寫...................................................5 4.7 電路的檢測(cè).........................................................5 4.8 CAD電路的連接及PCB電路布線并做出電路板............................5 4.9 軟件與硬件的調(diào)試...................................................5 5.總結(jié)與體會(huì)..........................................................5 6.附錄................................................................5 6.1 CAD電路連接圖......................................................5 6.2 PCB電路布線圖......................................................6 6.3 時(shí)鐘控制器參考源程序...............................................6 7.參考文獻(xiàn)...........................................................13
基于單片機(jī)控制的時(shí)鐘控制器 班級(jí):電氣115班 姓名:趙傳陽(yáng)
摘要:近年來(lái)隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機(jī)的應(yīng)用不斷地走向深入,由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等特點(diǎn)。本次設(shè)計(jì)的時(shí)鐘控制器是以單片機(jī)(AT89C51)為核心,結(jié)合相關(guān)的元器件(3個(gè)2位共陽(yáng)數(shù)碼管,一個(gè)發(fā)光二極管和一個(gè)蜂鳴器)和應(yīng)用程序(在Proteus軟件和KEIL編譯軟件),構(gòu)成相應(yīng)的應(yīng)用系統(tǒng)。
關(guān)鍵詞:?jiǎn)纹瑱C(jī) AT89C51 共陽(yáng)數(shù)碼管 發(fā)光二極管 蜂鳴器 Proteus軟件 KEIL編譯軟件 中斷
1.引言
隨著科技的發(fā)展,電子技術(shù)得到了飛速的發(fā)展,尤其是單片機(jī)的應(yīng)用更為普遍。單片機(jī)的應(yīng)用已深入眾多技術(shù)領(lǐng)域,從軍事、工業(yè)到家庭日常生活,單片機(jī)因體積小、功能強(qiáng)、價(jià)格低廉而得到廣泛應(yīng)用。在此基礎(chǔ)上,越來(lái)越多各式各樣的時(shí)鐘也逐漸走進(jìn)我們的生活,它們?cè)O(shè)計(jì)精巧、方便、耐用、美觀,深得各領(lǐng)域的厚愛。隨著科技的進(jìn)步,基于單片機(jī)控制的時(shí)鐘控制器的出現(xiàn)則打破了人們對(duì)時(shí)鐘的傳統(tǒng)概念,因?yàn)閿?shù)字時(shí)鐘不僅可以通過(guò)數(shù)字直觀地顯示出時(shí)間,還可以定時(shí)發(fā)出各種聲、光、電信號(hào),以啟動(dòng)各種設(shè)備實(shí)現(xiàn)實(shí)時(shí)控制、時(shí)間順序控制。該課程設(shè)計(jì)既有一般時(shí)鐘的基本顯示和調(diào)整功能,同時(shí)又增加了整點(diǎn)報(bào)時(shí)功能,復(fù)位功能及實(shí)時(shí)時(shí)鐘控制功能。
2.設(shè)計(jì)目的與要求
設(shè)計(jì)出一個(gè)基于單片機(jī)控制的時(shí)鐘控制器。通過(guò)向單片機(jī)輸入不同的指令可以實(shí)現(xiàn)24小時(shí)制時(shí)鐘的基本顯示和連續(xù)的調(diào)時(shí),調(diào)分和調(diào)秒的功能,同時(shí)又?jǐn)U展了整點(diǎn)報(bào)時(shí)功能。該電路硬件較為簡(jiǎn)單、計(jì)時(shí)精度高、可控性好,可以隨時(shí)調(diào)整和設(shè)定時(shí)間,并且調(diào)時(shí)間的誤差小,操作簡(jiǎn)單、通用性強(qiáng)。
在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,時(shí)鐘有兩方面的含義:一是指為保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時(shí)信號(hào),主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢;二是指系統(tǒng)的標(biāo)準(zhǔn)定時(shí)時(shí)鐘,即定時(shí)時(shí)間。
本文主要介紹用單片機(jī)為核心部件的時(shí)鐘控制器,本設(shè)計(jì)由單片機(jī)AT89C51芯片和3個(gè)兩位一體的共陽(yáng)極的數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個(gè)單片機(jī)時(shí)鐘控制器?;疽螅?.顯示: 可以顯示時(shí)、分和秒
2.調(diào)時(shí)功能:時(shí)(0-24)、分和秒(0-60)可以連續(xù)可調(diào)并進(jìn)行校準(zhǔn) 3.能夠完成時(shí)間的顯示、定時(shí)鬧鐘、整點(diǎn)報(bào)時(shí)及復(fù)位功能
3.總體設(shè)計(jì)方案
3.1.方案設(shè)計(jì)要求
設(shè)計(jì)制作一個(gè)時(shí)鐘控制器,要求能實(shí)現(xiàn)基本走時(shí),并以數(shù)字形式顯示時(shí)、分、秒,采用24小時(shí)制,能實(shí)現(xiàn)校時(shí)、校分連續(xù)可調(diào)、整點(diǎn)報(bào)時(shí)功能、復(fù)位功能以及鬧鐘任意設(shè)定功能。3.2方案設(shè)計(jì)與論證
方案一:采用各種純數(shù)字芯片實(shí)現(xiàn)數(shù)字時(shí)鐘的設(shè)計(jì)。優(yōu)點(diǎn):各個(gè)模塊功能清晰,電路易于理解實(shí)現(xiàn)。缺點(diǎn):各個(gè)模塊功能已定不能進(jìn)行智能化調(diào)整,整體電路太龐大。
方案二:采用 FPGA模塊用硬件語(yǔ)言實(shí)現(xiàn)功能。優(yōu)點(diǎn):運(yùn)算速度快,走時(shí)精度高,算法簡(jiǎn)單。缺點(diǎn):成本高,大材小用。
方案三:采用單片機(jī)最小系統(tǒng)實(shí)現(xiàn)功能。優(yōu)點(diǎn):電路簡(jiǎn)單,能通過(guò)程序進(jìn)行隨機(jī)調(diào)整并擴(kuò)展功能,成本低,易于實(shí)現(xiàn)。缺點(diǎn):走時(shí)有一定的誤差。
經(jīng)過(guò)綜合考慮成本問(wèn)題以及電路實(shí)現(xiàn)問(wèn)題,選擇第三種方案實(shí)現(xiàn)設(shè)計(jì)要求。3.3整體設(shè)計(jì)框圖
整體設(shè)計(jì)框圖如圖1所示:
4.設(shè)計(jì)原理分析
4.1外接晶振電路
晶振連接電路圖如圖3,以12MHZ晶振為基準(zhǔn)。
圖3 外接晶振電路連接圖
XTAL1、XTAL2:XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時(shí),外部振蕩信號(hào)應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻,如晶振為12MHz,時(shí)鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內(nèi)選擇,一般選用12MHZ晶振,電容取30PF左右。4.2復(fù)位電路
常用復(fù)位電路圖如圖4:
圖4 復(fù)位電路連接圖
在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此引:腳時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0-P3口均置1引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器SFR全部清零。4.3 數(shù)碼管顯示電路
二位一體共陽(yáng)極數(shù)碼管電路連接圖如圖5,以PNP三極管為驅(qū)動(dòng)。
圖5 數(shù)碼管顯示電路連接圖
4.4 鍵盤控制電路
鍵盤控制電路如圖6。
圖6 時(shí)鐘按鍵控制電路圖
通過(guò)S1、S2、S3和S4四個(gè)按鍵,對(duì)時(shí)間進(jìn)行修改和鬧鐘的設(shè)置,S0控制鬧鐘的啟動(dòng)和停止。按下S4鍵顯示鬧鐘,松開后顯示時(shí)間;按下S1鍵進(jìn)入時(shí)間修改模式,再按S1鍵時(shí)間的時(shí)加1,按S3分加1,調(diào)整結(jié)束后按下S4恢復(fù)正常顯示;按下S2鍵進(jìn)入鬧鐘修改模式,再按S3鍵鬧鐘的時(shí)加1,按S3分加1,調(diào)整結(jié)束后按下S4恢復(fù)正常顯示。在按鍵按下和放開時(shí)會(huì)出現(xiàn)抖動(dòng)現(xiàn)象。通過(guò)延時(shí)程序,可以進(jìn)行去抖動(dòng)設(shè)計(jì)。4.5 Proteus仿真電路
整體電路連接圖如圖7:
圖7 整體電路連接圖
4.6 單片機(jī)程序的編寫
用KEIL編譯軟件進(jìn)行程序的設(shè)計(jì)、編譯并生成可執(zhí)行文件。4.7 電路的檢測(cè)
電路連接完畢后,應(yīng)用單片機(jī)程序燒錄工具進(jìn)行程序燒錄,然后單擊運(yùn)行按鈕進(jìn)行仿真,檢測(cè)電路是否有誤。
4.8 CAD電路的連接及PCB電路布線并做出電路板
待仿真電路檢測(cè)無(wú)誤后,則通過(guò)CAD軟件進(jìn)行電路圖的連接并對(duì)元件進(jìn)行封裝,確定無(wú)誤后生成PCB圖進(jìn)行電路的布線,之后做出電路板進(jìn)行元件的焊接。4.9 軟件與硬件的調(diào)試
單片機(jī)應(yīng)用系統(tǒng)的調(diào)試包括硬件和軟件兩部分,但是它們并不能完全分開。一般的方法是排除明顯的硬件故障,再進(jìn)行綜合調(diào)試,排除可能的軟件或硬件故障。
軟件調(diào)試是指用仿真軟件進(jìn)行仿真調(diào)試,驗(yàn)證系統(tǒng)的各項(xiàng)功能;硬件調(diào)試即軟件調(diào)試成功后,將程序下載至AT89C51芯片中,用焊接好的電路來(lái)進(jìn)行各項(xiàng)功能的驗(yàn)證與檢測(cè)。
需要特別注意的是軟件調(diào)試與硬件調(diào)試的差異,軟件調(diào)試只是初步的估測(cè),硬件的調(diào)試才是最真實(shí)的。
5總結(jié)與體會(huì)
經(jīng)過(guò)三周的實(shí)習(xí)設(shè)計(jì),我設(shè)計(jì)的時(shí)鐘控制器實(shí)現(xiàn)了它最基本功能,三個(gè)星期的緊張實(shí)習(xí),讓我獲益非淺,更加熟練的掌握了Proteus軟件、KEIL軟件及CAD軟件的應(yīng)用,使我看到了自己專業(yè)知識(shí)的淺薄與不足。通過(guò)本次的課程設(shè)計(jì),我對(duì)單片機(jī)這門課程有了更深的了解,單片機(jī)課程設(shè)計(jì)則是人生課程,我學(xué)到了很多課堂上無(wú)法學(xué)到的東西,懂得了學(xué)習(xí)的不容易,在以后的學(xué)習(xí)中我會(huì)更加努力的去學(xué)習(xí)和研究,以取得更好的成績(jī)。
6.附錄
6.1 CAD電路連線圖如圖8。
圖8 CAD電路連接圖
6.2 PCB電路布線圖如圖9。
圖9 PCB布線電路圖(注:未連線的端口用外接線連接)
6.3 時(shí)鐘控制器參考源程序
使用keil軟件編寫源程序 ORG 0000H LJMP START ORG 000BH LJMP TIME;********初始化********* START: MOV SP, #50H MOV 20H,#00H;定義秒
MOV 21H,#00H;定義分 MOV 22H,#00H;定義時(shí)
MSTOP1: MOV C,P1.3;P1.3為0時(shí)轉(zhuǎn)移 JNC MSTOP1 LCALL DELAY1;延時(shí)
MOV A,50H
INC 50H
CJNE A,#00H,HJ1
LJMP L0 HJ1: MOV C,P1.3 JNC MSTOP1 INC 22H;小時(shí)自加一 MOV A,22H CJNE A,#18H,GO12;MOV 22H,#00H;MOV 34H,#00H MOV 35H,#00H LJMP L0 L1: JB P1.1,L2;P1.1=1 MOV C,P1.1 JC L1 LCALL DELAY1;JC L1 MSTOP2: MOV C,P1.1 JNC MSTOP2 LCALL DELAY1;MOV C,P1.1 JNC MSTOP2 INC 21H;MOV A,21H CJNE A,#3CH,GO11;MOV 21H,#00H;MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11: MOV B,#0AH DIV AB MOV 32H,B;MOV 33H,A;LJMP L0 GO12: MOV B,#0AH DIV AB MOV 34H,B;MOV 35H,A;LJMP L0 L2: JB P1.0,L0;P1.0 MOV C,P1.0 JC L2 LCALL DELAY1;MOV C,P1.0 JC L2 STOP1: MOV C,P1.0 JNC STOP1
小時(shí)計(jì)數(shù)循環(huán)
復(fù)位 時(shí)轉(zhuǎn)移 延時(shí);P1.1=0時(shí)轉(zhuǎn)移 延時(shí) 分鐘加一 分鐘計(jì)數(shù)循環(huán) 復(fù)位 將A的低4位存入32單元 將A的高4位存入33單元 將A的低4位存入34單元 將A的高4位存入35單元=1時(shí)轉(zhuǎn)移 延時(shí);P1.0=0時(shí)轉(zhuǎn)移
LCALL DELAY1;延時(shí) MOV C,P1.0 JNC STOP1
MOV 50H,#00H LJMP MAIN;*******設(shè)置鬧鐘******* SETATIME:LCALL DISPLAY2;調(diào)用DISPLAY2顯示鬧鐘 N0: LCALL DISPLAY2 MM2: JB P1.2,N1;P1.2=1時(shí)轉(zhuǎn)移 MOV C,P1.2 JC MM2 LCALL DELAY1;JC MM2 MSTOP3: MOV C,P1.2 JNC MSTOP3 LCALL DELAY1;
LJMP N0 HJ2: MOV C,P1.2 JNC MSTOP3 INC 24H;MOV A,24H CJNE A,#24,GO22;MOV 24H,#00H;MOV 38H,#00H MOV 39H,#00H LJMP N0 N1: JB P1.1,N2;P1.1 MOV C,P1.1 JC N1 LCALL DELAY1;JC N1 MSTOP4: MOV C,P1.1 JNC MSTOP4 LCALL DELAY1;MOV C,P1.1 JNC MSTOP4 INC 23H;MOV A,23H CJNE A,#60,GO21;MOV 23H,#00H;MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21: MOV B,#0AH DIV AB MOV 36H,B;MOV 37H,A;LJMP N0
延時(shí) =0時(shí)轉(zhuǎn)移 延時(shí) 小時(shí)加一 小時(shí)計(jì)數(shù)循環(huán) 復(fù)位 =1時(shí)轉(zhuǎn)移 延時(shí) =0時(shí)轉(zhuǎn)移 延時(shí) 分鐘加一 分鐘計(jì)數(shù)循環(huán) 復(fù)位 將A的低4位存入36單元 將A的高4位存入37單元
;P1.2 MOV A,50H INC 50H CJNE A,#00H,HJ2;P1.1
GO22: MOV B,#0AH DIV AB MOV 38H,B;將A的低4位存入38單元 MOV 39H,A;將A的高4位存入39單元 LJMP N0 N2: JB P1.0 ,N0;P1.0=1時(shí)轉(zhuǎn)移 MOV C,P1.0 JC N2 LCALL DELAY1;延時(shí) MOV C,P1.0 JC N2 STOP2: MOV C,P1.0 JNC STOP2 LCALL DELAY1 MOV C,P1.0 JNC STOP2
MOV 50H,#00H LJMP MAIN;*******鬧鐘判斷***************** TIMEPRO: MOV A,21H MOV B,23H CJNE A,B,BK;判斷定時(shí)鬧鐘的分鐘 MOV A,22H MOV B,24H CJNE A,B,BK;判斷定時(shí)鬧鐘的小時(shí) SETB 25H.0 MOV C,25H.0 LCALL TIMEOUT;調(diào)用TIMEOUT BK:RET;**************喇叭報(bào)警***************** TIMEOUT: X1: LCALL BZ;調(diào)用喇叭響應(yīng)程序 CLR 25H.0;調(diào)用喇叭響應(yīng)程序結(jié)束 LCALL DELAY;延時(shí) CLR 25H.0 LJMP DISPLAY1 BZ:MOV C,25H.1 MOV P1.6,C CLR P1.7 MOV R7,#0FFH;喇叭響應(yīng)時(shí)間 T2: MOV R6,#0FFH T3: DJNZ R6,T3 DJNZ R7,T2 SETB P1.7 RET;*************顯示鬧鐘時(shí)間************ LOOKATIME:LCALL DISPLAY2 MM: JNB P1.0,LOOKATIME LCALL DELAY1 LJMP MAIN DELAY1: MOV R4,#14H;時(shí)間延時(shí)
0
POP ACC RETI;********顯示子程序********** DISPLAY1: MOV R0,#30H MOV R3,#0FEH MOV A,R3 PLAY1: MOV P2,A MOV A,@R0;取要顯示的數(shù)據(jù) MOV DPTR,#DSEG1;指向字形段碼首地址 MOVC A,@A+DPTR CJNE R0,#34H,PA ORL A,#80H PA:CJNE R0,#32H,PB ORL A,#80H PB:CPL A;MOV P0,A;LCALL DL1 MOV P2,#0FFH MOV A,R3;RL A;JNB ACC.6,LD1 INC R0;MOV R3,A LJMP PLAY1 LD1: RET DISPLAY2: PUSH ACC;PUSH PSW MOV R0,#36H MOV R3,#0FBH MOV A,R3
PLAY2: MOV P2,A MOV A,@R0;MOV DPTR,#DSEG1;MOVC A,@A+DPTR CJNE R0,#38H,PP ORL A,#80H PP:CPL A;MOV P0,A;LCALL DL1;MOV P2,#0FFH MOV A,R3;RL A;JNB ACC.6,LD2 INC R0;MOV R3,A LJMP PLAY2;LD2: POP PSW POP ACC;RET;******DELAY*******
查表取字形段碼 指向P0口 判斷是否顯示到最低位 左移一位 緩沖器地址加一 保護(hù)現(xiàn)場(chǎng) 取要顯示的數(shù)據(jù) 指向字形段碼首地址 查表取字形段碼 指向P0口 調(diào)用DL1 判斷是否顯示到最低位左移一位 緩沖器地址加一 調(diào)用PLAY2 恢復(fù)現(xiàn)場(chǎng)
DL1: MOV R7,#20H DL: MOV R6,#20H DL6: DJNZ R6,$ DJNZ R7,DL RET DSEG1: DB 3FH,06H,5BH,4FH,66H;七段碼表 DB 6DH,7DH,07H,7FH,6FH END 7.參考文獻(xiàn)
[1].王建校,楊建國(guó).51系列單片機(jī)及C51程序設(shè)計(jì).北京:科學(xué)出版社, 2002.[2].吳金戊, 沈慶陽(yáng)等.8051單片機(jī)實(shí)踐與應(yīng)用.北京:清華大學(xué)出版社, 2002.[3].李建忠.單片機(jī)原理及應(yīng)用(第二版).西安:西安電子科技大學(xué)出版社, 2008.2.[4].張毅剛.新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì)(第3版).哈爾濱: 哈爾濱工業(yè)大學(xué)出版社, 2006.10.[5].李學(xué)禮.基于Proteus的8051單片機(jī)實(shí)例教程.電子工業(yè)出版社出版時(shí)間, 2008.6.[6].百度文庫(kù):http://wenku.baidu.com/view/a9243c18fad6195f312ba6d3.html
第四篇:?jiǎn)纹瑱C(jī)課程論文設(shè)計(jì)-電子鐘課程設(shè)計(jì)
單片機(jī)課程論文設(shè)計(jì) ——電子鐘
一 課程設(shè)計(jì)的主要內(nèi)容 1 設(shè)計(jì)思想 1.1硬件設(shè)計(jì)思想 1.1.1電路設(shè)計(jì)思想
電路原理圖見圖1,由動(dòng)態(tài)數(shù)碼顯示組成時(shí)、分、秒的顯示。把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0-P1.7端口用8芯排線連接到“動(dòng)態(tài)數(shù)碼顯示”區(qū)域中的A-H端口上;把“單片機(jī)系統(tǒng):區(qū)域中的P3.0-P3.7端口用8芯排線連接到“動(dòng)態(tài)數(shù)碼顯示”區(qū)域中S-S8端口上;“單片機(jī)系統(tǒng)”區(qū)域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分別用導(dǎo)線連接到“獨(dú)立式鍵盤”區(qū)域中的SP3、SP2、SP1端口上。
1.1.2鍵盤設(shè)計(jì)思想
鍵盤是微機(jī)的主要設(shè)備,按鍵的讀取容易引起錯(cuò)誤動(dòng)作。可采用軟件去抖動(dòng)的方法處理,軟件的觸點(diǎn)在閉合和斷開的時(shí)候會(huì)產(chǎn)生抖動(dòng),這時(shí)觸點(diǎn)的邏輯電平是不穩(wěn)定的,如不采取妥善處理的話,將引起按鍵命令錯(cuò)誤或重復(fù)執(zhí)行,在這里采用軟件延時(shí)的方法來(lái)避開抖動(dòng),延時(shí)時(shí)間20ms.1.2軟件設(shè)計(jì)思想
本系統(tǒng)的主程序主要完成時(shí)間顯示和修改時(shí)間的功能。而時(shí)間單元進(jìn)位,時(shí)間設(shè)定時(shí),調(diào)定時(shí)間設(shè)定時(shí)等功能全部在中斷服務(wù)程序中完成。
1.2.1數(shù)據(jù)與代碼轉(zhuǎn)換
由前述可知,從P2口輸出位選碼,從P0口輸出段選碼,LED就會(huì)顯示出數(shù)字來(lái)。但P0口的輸出的數(shù)據(jù)是要BCD碼,各存儲(chǔ)單元存儲(chǔ)的是二進(jìn)制數(shù),也就是和要顯示出的字符表達(dá)的含義是不一致的??梢?,將要顯示的存儲(chǔ)單元的數(shù)據(jù)直接送到P0口去驅(qū)動(dòng)LED數(shù)碼管顯示是不能正確表達(dá)的,必須在系統(tǒng)內(nèi)部將要顯示的數(shù)據(jù)經(jīng)過(guò)BCD碼行轉(zhuǎn)換后,將各個(gè)單元數(shù)據(jù)的段選代碼送入P0口,給CD4511譯碼后去驅(qū)動(dòng)數(shù)碼管顯示。具體轉(zhuǎn)換過(guò)程如下:
我們先將要顯示的數(shù)據(jù)裝入累加器A中,再將A中的數(shù)據(jù)轉(zhuǎn)換成高低兩位 的BCD碼,再放回A中,然后將A中的值輸出。如:有一個(gè)單元存儲(chǔ)了45這樣一位數(shù),則需轉(zhuǎn)換成四位的BCD碼:(0100)(0101)然后放入A中。A中BCD碼,高位四位代表?4?低四位代表?5?同時(shí)送給兩個(gè)譯碼器中,譯碼后? 45? 字就在兩個(gè)LED中顯示出來(lái)。
1.2.2計(jì)時(shí)功能的實(shí)現(xiàn)與中斷服務(wù)程序
時(shí)間的運(yùn)行依靠定時(shí)中斷子程序?qū)r(shí)鐘單元數(shù)值進(jìn)位調(diào)整來(lái)實(shí)現(xiàn)的。計(jì)數(shù)器T0打開后,進(jìn)入計(jì)時(shí),滿100毫秒后,重裝定時(shí)。中斷一次,滿一秒后秒進(jìn)位,滿60秒后即為1分鐘,分鐘單元進(jìn)位,60分到了后,時(shí)單元進(jìn)位。得到時(shí)、分、秒存儲(chǔ)單元的值,并經(jīng)譯碼后,通過(guò)掃描程序送LED中顯示出來(lái),實(shí)現(xiàn)時(shí)鐘計(jì)時(shí)功能。累加是用指令I(lǐng)NC來(lái)實(shí)現(xiàn)的。進(jìn)入中斷服務(wù)程序以后,執(zhí)行PUSH PSW和PUSH A將程序狀態(tài)寄存器PSW的內(nèi)容和累加器A中的數(shù)據(jù)保存起來(lái),這便是所謂的? 保護(hù)現(xiàn)場(chǎng)?.以保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)時(shí)存取關(guān)鍵數(shù)據(jù)的存儲(chǔ)區(qū)叫做堆棧。在軟件的控制之下,堆??稍谄瑑?nèi)RAM中的任一區(qū)間設(shè)定,而堆棧的數(shù)據(jù)存取與一般的RAM存取又有區(qū)別,對(duì)它的操作,要遵循? 后進(jìn)先出? 的原則。
1.2.3時(shí)間控制功能與比較指令
系統(tǒng)的另一功能就是實(shí)現(xiàn)對(duì)執(zhí)行設(shè)備的定時(shí)開關(guān)控制,其主要控制思想是這樣的:先將執(zhí)行設(shè)備開啟的時(shí)間和關(guān)閉時(shí)間置入RAM某一單元,在計(jì)時(shí)主程序當(dāng)中執(zhí)行幾條比較指令,如果當(dāng)前計(jì)時(shí)時(shí)間與執(zhí)行設(shè)備的設(shè)定開啟時(shí)間相等,就執(zhí)行一條CLR指令,將對(duì)應(yīng)的那路P3置為高電位,開啟;如果當(dāng)前計(jì)時(shí)時(shí)間與執(zhí)行設(shè)備設(shè)定的關(guān)閉時(shí)間相等,就執(zhí)行SETB對(duì)應(yīng)的P3置低電位,二極管截止。實(shí)現(xiàn)此控制功能用到的比較指令為CJNE A,#direct,rel,其轉(zhuǎn)移條件是累加器A中的值與立即數(shù)不等則轉(zhuǎn)移。
二 課程設(shè)計(jì)的目的
實(shí)現(xiàn)的功能:
①開機(jī)時(shí),電子鐘從12:00:00開始自動(dòng)計(jì)時(shí)。②設(shè)置按鍵,能對(duì)時(shí)、分、秒進(jìn)行調(diào)整。
三設(shè)計(jì)方案的論證
3.1電路原理與電路圖 3.1.1電路原理
電路原理圖見圖1,由動(dòng)態(tài)數(shù)碼顯示管組成時(shí)、分、秒的顯示。P0口的8條數(shù)據(jù)線P0.0至P0.7分別與兩個(gè)CD4511譯碼的ABCD口相接,P2口的P2.0至P2.2分別通過(guò)電阻R10至R13與VT1至VT3的基極相連接。這樣通過(guò)P0口送出一個(gè)存儲(chǔ)單元的高位、低位BCD顯示代碼,通過(guò)P2口送出掃描選通代碼輪流點(diǎn)亮LED1至LED6,就會(huì)將要顯示的數(shù)據(jù)在數(shù)碼管中顯示出來(lái)。從P0口輸出的代碼是BCD碼,從P2口輸出的就是位選碼。這是掃描顯示原理。
電路原理圖
C130pFU1X119CRYSTAL18XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD*********617S-0S-1S-2S-3S-4S-5S-6S-7C230pFXTAL2R210kR310kR410kR110k9RSTC310uF293031PSENALEEARP1987654321RESPACK-***78P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51時(shí)分秒S-7S-6S-5S-4S-3S-2S-1S-001234567
圖 1 電路原理圖
3.2 流程圖與算法描述 3.2.1流程圖
3.3軟件設(shè)計(jì)
SECOND
EQU 30H;MINITE EQU 31H;HOUR
EQU 32H;HOURK
BIT P0.2 MINITEK BIT P0.1 SECONDK BIT P0.0 DISPBUF EQU 40H DISPBIT EQU 48H 流程圖
秒寄存器
分寄存器
時(shí)寄存器 圖
T2SCNTA
EQU 49H
T2SCNTB EQU 4AH TEMP
ORG 00H;
程序執(zhí)行開始EQU 4BH 地址
LJMP
START;
執(zhí)行
ORG
0BH;T0
LJMP
INT_T0;
;主程序
START: MOV
SECOND,#00H;
得單元
MOV
MINITE,#00H
MOV
HOUR,#12
MOV
DISPBIT,#00H
MOV
T2SCNTA,#00H
MOV
T2SCNTB,#00H
MOV
TEMP,#0FEH
LCALL
DISP;
子程序
MOV
TMOD,#01H
MOV
TH0,#(65536-2000)/ 256;
MOV
TL0,#(65536-2000)/ 256
SETB
TR0;
SETB
ET0;
SETB
EA;
WT:
跳轉(zhuǎn)到標(biāo)號(hào)START
中斷程序入口
跳至IN-T0執(zhí)行
清0存放秒分時(shí)值
在2KB范圍內(nèi)長(zhǎng)調(diào)用 顯示2毫秒
允許TO中斷
開啟T0定時(shí)器
總中斷開放
按鍵掃描子程序及校時(shí)調(diào)整
JB
SECONDK, NK1;SECONDK為1(sp1建按下)時(shí)跳到
LCALL
DELY10MS
JB
SECONDK,NK1
INC
SECOND;
對(duì)計(jì)數(shù)器加1
MOV
A,SECOND
CJNE
A,#60, NS60;沒到60秒返回,到60秒清0;判斷計(jì)數(shù)器是否滿59
MOV
SECOND,#00H NS60:
LCALL
DISP
JNB
SECONDK,$;
NK1: JB
MINITEK,NK2;
LCALL
DELY10MS
JB
MINITEK,NK2;
INC
MINITE
MOV
A,MINITE
CJNE
A,#60, NM60
MOV
MINITE,#00H NM60:
LCALL DISP
JNB
MINITEK, $;
NK2:
JB
HOURK,NK3
LCALL
DELY10MS
JB
HOURK,NK3
INC
HOUR
MOV
A, HOUR
CJNE
A, #24,NH24
MOV
HOUR,#00H
不滿60秒就循環(huán)執(zhí)行 分控制鍵按下時(shí)跳轉(zhuǎn)
分控制鍵按下時(shí)跳轉(zhuǎn)
不滿60分就循環(huán)執(zhí)行
NH24:
LCALL
DIS
JNB
HOURK,$;
不滿24小時(shí)就循環(huán)執(zhí)行
NK3 LJMP
WT DELY10MS:;
延時(shí)1毫秒的子程序
MOV D1:
MOV
;顯示子程序
DISP:
;
地址
MOV
ADD
DEC
MOV
MOV
MOV
DIV
MOV
DEC
MOV
MOV
DEC
MOV
MOV
DEC
MOV R6, #10 R7, #248 DJNZ
R7, $ DJNZ
R6, D1 RET
A, #DISPBUF;
A, #8 A R1, A A, HOUR;
B, #10;
AB @R1, A;
R1 A, B @R1, A R1;A, #10 @R1, A R1 A, MINITE;
將得出的時(shí)間存入40H(DISPBUF)之后的將temp中的十六進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制 時(shí)送A
10進(jìn)制/10=10進(jìn)制 累加器送內(nèi)部RAM單元
分送A
MOV B, #10
DIV
AB;
十進(jìn)制調(diào)整
MOV @R1, A
DEC
R1
MOV
A, B
MOV
@R1, A
DEC
R1
MOV
A, #10
MOV
@R1,A
DEC
R1
MOV
A, SECOND;
MOV
B, #10
DIV
AB;
MOV @R1, A
DEC
R1
MOV A, B
MOV @R1, A
DEC
R1
RET INT_T0:;T0
MOV TH0,#(65536-2000)/ 256;
MOV TL0,#(65536-2000)/ 256
MOV A, #0FFH
MOV P3, A
MOV A, #DISPBUF
ADD
A, DISPBIT;
MOV R0, A
MOV A, @R0;
MOV DPTR, #TABLE;
MOVC A,@A+DPTR;
秒送A
十進(jìn)制調(diào)整 TIME子程序 2毫秒 地址加,并將時(shí)間的各位送到p1 取顯示數(shù)據(jù)到A 取段碼表地址
查顯示數(shù)據(jù)對(duì)應(yīng)段碼
中斷服務(wù)子程序,即計(jì)時(shí)
MOV
P1, A;
分十位送P1口顯示
MOV
A, DISPBIT
MOV
DPTR, #TAB;
表地址送數(shù)據(jù)指針
MOVC A,@A+DPTR
MOV
P3, A
INC
DISPBIT
MOV A, DISPBIT
CJNE A, #08H, KNA
MOV
DISPBIT, #00H KNA:
INC
T2SCNTA;
MOV A, T2SCNTA
CJNE
A, #100, DONE
MOV T2SCNTA, #00H
INC T2SCNTB
MOV A, T2SCNTB
CJNE A, #05H, DONE
MOV T2SCNTB,#00H
INC
SECOND;秒加一
MOV A, SECOND;
CJNE A, #60, NEXT;
MOV SECOND, #00H;
INC
MINITE;分加1
MOV A, MINITE;
CJNE A, #60, NEXT;
MOV
MINITE, #00H;
INC
HOUR;
時(shí)加1
MOV A, HOUR
CJNE A, #24, NEXT;
MOV
HOUR, #00H
時(shí)間的增加與進(jìn)位 到60秒了嗎? 到60秒清0 到60分了嗎? 到60分清0 到24小時(shí)了嗎?
NEXT:
LCALL
DISP DONE:
RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H TAB:
DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07F
四 系統(tǒng)調(diào)試
系統(tǒng)由AT89C51、SEG數(shù)碼管、按鍵、電容、晶振、電阻等部分構(gòu)成,能實(shí)現(xiàn)時(shí)間的調(diào)整、時(shí)間校對(duì)、定時(shí)時(shí)間的設(shè)定,輸出等功能。系統(tǒng)的功能選擇由按鍵‘時(shí)’、‘分’、‘秒’、完成。開機(jī)時(shí),顯示12:00:00的時(shí)間開始計(jì)時(shí);按鍵P0.0/AD0控制“秒”的調(diào)整,每按一次加1秒;P0.1/AD1控制“分”的調(diào)整,每按一次加1分;P0.2/AD2控制“時(shí)”的調(diào)整,每按一次加1個(gè)小時(shí);系統(tǒng)的主程序主要完成時(shí)間顯示和定時(shí)輸出判斷功能。而時(shí)間單元進(jìn)位,時(shí)間設(shè)定時(shí),調(diào)定時(shí)間設(shè)定時(shí)等功能全部在中斷服務(wù)程序中完成。該電子鐘的精確度在仿真軟件中效果良好。
五 心得體會(huì)
計(jì)算機(jī)控制技術(shù)是一門很綜合的課程。任何一個(gè)計(jì)算機(jī)系統(tǒng)都是一個(gè)復(fù)雜的整體,學(xué)習(xí)計(jì)算機(jī)控制技術(shù)是要涉及到整體的每一部分。討論某一部分原理時(shí)又要涉及到其它部分的工作原理。這樣一來(lái),不僅不能在短時(shí)間內(nèi)較深入理解計(jì)算機(jī)的工作原理,而且也很難孤立地理解某一部分的工作原理。所以,在循序漸進(jìn)的課堂教學(xué)過(guò)程中,我總是處于“學(xué)會(huì)了一些新知識(shí),弄清了一些原來(lái)保留的問(wèn)題,又出現(xiàn)了一些新問(wèn)題”的循環(huán)中,直到課程結(jié)束時(shí),才把保留的問(wèn)題基本搞清楚。
學(xué)習(xí)該門課程知識(shí)時(shí),其思維方法也和其它課程不同,該課程偏重于工程思維,靈活知識(shí)運(yùn)用,具體地說(shuō),在了解了計(jì)算機(jī)編程后,剩下的是如何將它們用于實(shí)際系統(tǒng)中,其創(chuàng)造性勞動(dòng)在于如何用計(jì)算機(jī)的有關(guān)技術(shù)和廠家提供的各種芯片,設(shè)計(jì)實(shí)用的電路和系統(tǒng),再配上相應(yīng)的應(yīng)用程序,完成各種實(shí)際應(yīng)用項(xiàng)目。
這次課程設(shè)計(jì)較為綜合,主要的困難來(lái)自對(duì)程序的編寫和校對(duì),功夫不負(fù)有心人,經(jīng)過(guò)我的虛心求學(xué)和查找資料,最終對(duì)實(shí)驗(yàn)的原理有了較清晰的認(rèn)識(shí)。但是仍然存在很多的不足,今后需要加強(qiáng)的地方還是很多,所以在今后的求學(xué)路上我會(huì)更加努力。望老師批評(píng)改正。
六 參考文獻(xiàn):
[1].潘新民,王燕芳編著.微型計(jì)算機(jī)控制技術(shù)[M].北京:電子工業(yè)出版社,2003 [2].何立民.單片機(jī)應(yīng)用技術(shù)選編(1)[M].北京:北京航空航天大學(xué)出版社,1995,6 [3].劉國(guó)榮,梁景凱.計(jì)算機(jī)控制技術(shù)與應(yīng)用[M] .北京:機(jī)械工業(yè)出版社,1999,5 [4].齊維毅,丁言鎂,齊振國(guó).單片機(jī)原理及應(yīng)用設(shè)計(jì)實(shí)驗(yàn)[M] .沈陽(yáng):遼寧大學(xué)出版社,2006,5 [5].李華.MCS-51系列單片機(jī)實(shí)用接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1993,8 [6].潘新民,王燕芳編著.單片微型計(jì)算機(jī)實(shí)用系統(tǒng)設(shè)計(jì)[M].北京:人民郵電出版社,1992
第五篇:51單片機(jī)論文
課程設(shè)計(jì)報(bào)告
課程設(shè)計(jì)名稱:智能控制避障小車 學(xué)生姓名: 班
級(jí): 學(xué)
號(hào): 成 績(jī): 指導(dǎo)教師:
開課時(shí)間:2016-2017學(xué)年第 一學(xué)期
I
獨(dú) 創(chuàng) 聲 明
本人聲明所呈交的課程設(shè)計(jì)是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。據(jù)我所知,除了文中特別加以標(biāo)注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過(guò)的研究成果,也不包含未獲得(注:如沒有其他需要特別聲明的,本欄可空)或其他教育機(jī)構(gòu)的學(xué)位或證書使用過(guò)的材料。與我一同工作的同志對(duì)本研究所做的任何貢獻(xiàn)均已在設(shè)計(jì)報(bào)告中作了明確的說(shuō)明并表示謝意。
作者簽名: 日期:年月日
II
摘 要
介紹一種基于stc89c51單片機(jī)實(shí)現(xiàn)的智能避障小車設(shè)計(jì)。該系統(tǒng)前方采用兩個(gè)紅外反射式光傳感器fc-51檢測(cè)障礙物,控制系統(tǒng)通過(guò)檢測(cè)信號(hào)識(shí)別障礙物并發(fā)出指令使小車?yán)@行。
關(guān)鍵詞:智能 控制 避障 單片機(jī)III
傳感器
目錄
(以下內(nèi)容僅供參考).系統(tǒng)功能………………………………… 系統(tǒng)工作原理
2.設(shè)計(jì)方案……………………………………………………………… 2.1車體設(shè)計(jì)………………………………………………………………… 2.2電源模塊………………………………………………………………… 2.3 避障模塊………………………………………………………………… 2.4電機(jī)模塊………………………………………………………………… 2.5電機(jī)驅(qū)動(dòng)模塊…………………………………………………………… 2.6 最終方案………………………………………………………………… 3 系統(tǒng)程序……………………………………………………………………….總結(jié)………………….參考文獻(xiàn)…………………
IV.系統(tǒng)功能
系統(tǒng)工作原理:
系統(tǒng)主要由控制單元、電機(jī)驅(qū)動(dòng)、外部輸出、紅外發(fā)射、紅外接收等單元組成。
圖1 系統(tǒng)機(jī)構(gòu)圖
智能控制避障小車的設(shè)計(jì)采用現(xiàn)在較為流行的8位單片機(jī)作為系統(tǒng)大腦。以8051系列家族中AT89C51為主芯片。4個(gè)端口引腳控制信號(hào)輸入電路,控制電路,執(zhí)行電路共同完成避障行駛控制。
2.設(shè)計(jì)方案 1車體設(shè)計(jì):
智能控制小車采用中間輪驅(qū)動(dòng),中間輪左右兩邊各一個(gè)電機(jī)驅(qū)動(dòng),控制中間面兩個(gè)大輪子的停走從而控制小車的方向;前后輪是換向輪起支撐作用。將兩個(gè)避障模塊放在車子的左前方和右前方。如下圖所示:
小車底盤,可以清楚的看到小車電機(jī)控制車輪,以及換向輪所在位置。
上圖可以看出小車電源最小系統(tǒng)板還有排針以及開關(guān)的位置。
從小車正面看出內(nèi)部驅(qū)動(dòng),前方的避障模塊。(超聲波檢測(cè),尋跡模塊)
2電源模塊:
電源模塊即電池與電池盒,通過(guò)電池盒接通電路,輸送電源來(lái)驅(qū)動(dòng)小車跑。避障模塊:
傳感器模塊對(duì)環(huán)境光線適應(yīng)能力強(qiáng),其具有一對(duì)紅外線發(fā)射與接收管,發(fā)射管發(fā)射出一定頻率的紅外線,當(dāng)檢測(cè)方向遇到障礙物(反射面)時(shí),紅外線反射回來(lái)被接收管接收,經(jīng)過(guò)比較器電路處理之后,綠色指示燈會(huì)亮起,同時(shí)信號(hào)輸出接口輸出數(shù)字信號(hào)(一個(gè)低電平信號(hào)),可通過(guò)電位器旋鈕調(diào)節(jié)檢測(cè)距離,有效距離范圍2~30cm,工作電壓為3.3V-5V。
4電機(jī)模塊:
電機(jī)模塊主要控制小車的中間兩輪,從而控制小車的前進(jìn)與后退。
控制電機(jī)的轉(zhuǎn)速也能控制小車的前進(jìn)速度。電機(jī)驅(qū)動(dòng)模塊:
電機(jī)驅(qū)動(dòng)模塊使用ST公司的L298N作為主驅(qū)動(dòng)芯片,具有驅(qū)動(dòng)能力強(qiáng),發(fā)熱量低,抗干擾能力強(qiáng)的特點(diǎn)。
電機(jī)驅(qū)動(dòng)模塊可以使用內(nèi)置的78M05通過(guò)驅(qū)動(dòng)電源部分取電工作,但是為了避免穩(wěn)壓芯片損壞,當(dāng)使用
大于12V驅(qū)動(dòng)電壓的時(shí)候,我們使用外置的5V邏輯供電。
電機(jī)驅(qū)動(dòng)模塊使用大容量濾波電容,續(xù)流保護(hù)二極管,可以提高可靠性
原理圖 最終方案:
利用驅(qū)動(dòng)模塊降壓,接通51單片機(jī),通過(guò)程序控制小車運(yùn)動(dòng),通過(guò)避障改變運(yùn)動(dòng)軌跡,從而實(shí)現(xiàn)避障。.系統(tǒng)程序
程序: #include
#define uint unsigned int //定義全局變量
sbit IN1=P1^0;sbit IN2=P1^1;sbit IN3=P1^2;sbit IN4=P1^3;//定義驅(qū)動(dòng)引腳
sbit out1=P2^5;sbit out2=P2^6;//定義避障引腳
void run()
//小車跑
{
if(out1==0&&out2==1)//小車右轉(zhuǎn)
{
IN1=1;
IN2=0;
IN3=0;
IN4=0;
}
else if(out1==1&&out2==1)//小車前進(jìn)
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
}
else if(out1==1&&out2==0)//小車左轉(zhuǎn)
{
IN1=0;
IN2=0;
IN3=1;
IN4=0;
} else if(out1==0&&out2==0)//小車左后轉(zhuǎn)
{
IN1=0;
IN2=1;
IN3=0;
IN4=0;
} } void main()
//主函數(shù)
{ while(1)
{
run();
} } 改程序是利用避障模塊檢測(cè),若左邊避障檢測(cè)到,小車右轉(zhuǎn),右邊檢測(cè)到,小車左轉(zhuǎn),都沒檢測(cè)到,前進(jìn),都檢測(cè)到,小車左后退。.總結(jié)
智能避障小車軟硬件配合要緊密,在硬件中,要把各個(gè)零件配合時(shí)要連接正確,否則有燒壞的可能,寫程序時(shí)要注意步驟,要有思路,程序代碼要記清,寫程序時(shí)要認(rèn)真,避免出現(xiàn)小失誤。從做這輛小車以來(lái),我學(xué)到了很多知識(shí),也碰到了很多困難,但最終都克服了,只要有一顆不服輸?shù)男模蚁胄?,困難只是暫時(shí)的,最后都會(huì)解決。.參考文獻(xiàn)
[1]郭惠,吳迅 單片機(jī) c語(yǔ)言程序射進(jìn)完全自學(xué)手冊(cè)[M] 電子工業(yè)出版社,2008.10.1-200 [2]王東鋒,王會(huì)良,董冠強(qiáng) 單片機(jī)c語(yǔ)言應(yīng)用100例[M] 電子工業(yè)出版社,2009.3.145-300 [3]韓毅,楊天,基于HCS12單片機(jī)的智能尋跡模型車的設(shè)計(jì)與實(shí)現(xiàn)[j] 學(xué)術(shù)期刊,2008,29(18):1535-1955