畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的微波爐控制器1_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的微波爐控制器1_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的微波爐控制器1_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的微波爐控制器1_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的微波爐控制器1_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于單片機(jī)的微波爐控制器摘 要隨著社會(huì)的快速發(fā)展,人們的生活節(jié)奏逐漸加快,微波爐方便快捷的烹飪特點(diǎn)為現(xiàn)代人的生活提供了便利,在現(xiàn)代家庭中,微波爐已成為必備的烹飪工具之一。通過制作微波爐控制器,更充分了解微波爐的結(jié)構(gòu)特點(diǎn)和工作原理。本文介紹了微波爐控制器的設(shè)計(jì)、調(diào)試與實(shí)現(xiàn)。本設(shè)計(jì)中的微波爐控制器以at89c52單片機(jī)為核心,由矩陣鍵盤、時(shí)間顯示、控制輸出等模塊組成。并且能夠?qū)崿F(xiàn)大、中、小火力選擇以及啟動(dòng)、停止和時(shí)間重設(shè)功能。其中初始時(shí)間由矩陣鍵盤輸入設(shè)置,火力大小通過發(fā)光二極管來(lái)表示、電機(jī)的轉(zhuǎn)速表示在加熱中。微波爐控制器工作時(shí),將按照設(shè)定的時(shí)間進(jìn)行加熱并倒計(jì)時(shí),等時(shí)間到后報(bào)警提示、火力指示燈熄滅

2、、轉(zhuǎn)盤停止運(yùn)轉(zhuǎn)。關(guān)鍵詞: 微波爐;單片機(jī)at89c52;控制器the microwaveovencontroller based on mcuabstractwith the rapid development of our society and the gradually speeding steps of our life, the convenient and efficient cooking features of microwave oven have provided us great help and make it an indispensable cooking tool

3、 in our modern life.through the making of the microwave oven controller, i have a better understanding of its structural features and working principles. this article introduces the design, debugging and implementation of microwave oven controller. with the scm at89c52 at the core, it is made up of

4、modules of matrix keyboard, time display and control outputs and etc. whats more, you can choose a max, mid or min power and make it work or stop or even time resetting at your will. and the initial time is set by matrix keyboard; the power size is shown by light-emitting diodes; the spinning of the

5、 motor shows its working. when it works, it heats according to the setting time and countdowns until the alarming system ringing, the power indicator light packing up and the turntable stopping.keyword: microwave oven;scm at89c52;controller目 錄1.緒 論11.1微波爐的背景資料11.2微波爐的工作原理11.3使用微波爐時(shí)的注意事項(xiàng)21.4微波爐控制器總體設(shè)

6、計(jì)思路22.系統(tǒng)總體方案.32.1系統(tǒng)總體設(shè)計(jì)32.2單片機(jī)的結(jié)構(gòu)和接口的基本介紹42.2.1單片機(jī)的基本組成42.2.2單片機(jī)的內(nèi)部結(jié)構(gòu)52.2.3部分關(guān)鍵的程序存儲(chǔ)單元62.2.4中斷62.3顯示驅(qū)動(dòng)芯片7447/7448的簡(jiǎn)介72.3.1認(rèn)識(shí)7447/744882.3.2引腳說(shuō)明82.4高耐壓、大電流達(dá)林頓陳列uln200392.4.1概述與特點(diǎn)92.4.2方框圖92.4.3 極限值92.4.4 電特性 102.5 lm7805穩(wěn)壓芯片介紹.102.5.1 概述 102.5.2 主要特點(diǎn) 102.5.3 外形圖及引腳排列 112.5.4 功能框圖 112.6三極管9013 123.硬件電

7、路與實(shí)現(xiàn)133.1微波爐控制器的總體硬件設(shè)計(jì)133.2矩陣鍵盤及器應(yīng)用133.2.1矩陣鍵盤的結(jié)構(gòu)與工作原理133.2.2矩陣式鍵盤的按鍵識(shí)別方法143.2.3矩陣式鍵盤的按鍵的例子153.2.4去抖處理153.3四位數(shù)碼管原理及應(yīng)用163.4步進(jìn)電機(jī)控制電路173.4.1 步進(jìn)電機(jī)工作原理173.4.2步進(jìn)電機(jī)控制系統(tǒng)原理183.5 蜂鳴器控制電路194.控制程序設(shè)計(jì)與仿真204.1鍵盤掃描及顯示程序設(shè)計(jì)204.1.1鍵盤掃描流程圖204.1.2鍵盤掃描仿真電路214.1.3鍵盤掃描和顯示輸出的程序214.2倒計(jì)時(shí)程序設(shè)計(jì).234.2.1倒計(jì)時(shí)流程圖234.2.2倒計(jì)時(shí)仿真電路244.2.3

8、倒計(jì)時(shí)程序244.3步進(jìn)電機(jī)控制程序設(shè)計(jì)264.3.1步進(jìn)電機(jī)流程圖264.3.2步進(jìn)電機(jī)仿真電路274.3.3步進(jìn)電機(jī)轉(zhuǎn)動(dòng)程序274.4 總體程序設(shè)計(jì)294.4.1總體設(shè)計(jì)流程圖294.4.2總體設(shè)計(jì)仿真電路304.3.3總體設(shè)計(jì)程序305.電路制作與系統(tǒng)調(diào)試 356.總結(jié)與展望36致 謝37參考文獻(xiàn)38附 錄39附錄一:微波爐控制器實(shí)體圖片39附錄二:微波爐控制器硬件連接電路40附錄三:微波爐控制器pcb板 411 緒 論1.1微波爐的背景資料微波爐已經(jīng)有50多年的發(fā)展歷史,時(shí)至今日,微波爐已實(shí)現(xiàn)了高度工業(yè)化規(guī)模的生產(chǎn)。主要生產(chǎn)為日本、韓國(guó)以及歐洲的一些發(fā)達(dá)國(guó)家。我國(guó)自80年代開始小規(guī)模生

9、產(chǎn)微波爐,發(fā)展至今,已具有相當(dāng)?shù)纳a(chǎn)能力,成為該行業(yè)不可小視的生力軍。微波爐在世界上發(fā)達(dá)國(guó)家的家庭普及率很高。美國(guó)是微波爐最大的消費(fèi)市場(chǎng)。中國(guó)老百姓也已經(jīng)開始認(rèn)識(shí)和接受微波爐??梢灶A(yù)見,中國(guó)也將成為一個(gè)巨大的微波爐市場(chǎng)。 隨著科技的發(fā)展,生活水平的提高,人們對(duì)微波爐的要求也越來(lái)越高。未來(lái)的發(fā)展趨勢(shì)將以智能、信息為主流,使微波爐的發(fā)展更人性化。因此基于單片機(jī)的微波爐控制系統(tǒng)的開發(fā)有利于推動(dòng)微波爐市場(chǎng)的發(fā)展,使老百姓能用上更優(yōu)秀的微波爐。1.2微波爐的工作原理微波爐,顧名思義,就是用微波來(lái)煮飯燒菜的。微波爐是一種用微波加熱食品的現(xiàn)代化烹調(diào)工具。微波是一種電磁波。這種電磁波的能量不僅比通常的無(wú)線電波

10、大得多,而且還很有個(gè)性,微波一碰到金屬就發(fā)生反射,金屬根本沒有辦法吸收或傳導(dǎo)它;微波可以穿過玻璃、陶瓷、塑料等絕緣材料,但不會(huì)消耗能量;而含有水分的食物,微波不但不能透過,其能量反而會(huì)被吸收。微波是指波長(zhǎng)為0011米的無(wú)線電波,其對(duì)應(yīng)的頻率為30000兆赫到300兆赫。為了不干擾雷達(dá)和其他通信系統(tǒng),微波爐的工作頻率多選用915兆赫或2450兆赫。微波爐由電源,磁控管,控制電路和烹調(diào)腔等部分組成。電源向磁控管提供大約4000伏高壓,磁控管在電源激勵(lì)下,連續(xù)產(chǎn)生微波,再經(jīng)過波導(dǎo)系統(tǒng),耦合到烹調(diào)腔內(nèi)。在烹調(diào)腔的進(jìn)口處附近,有一個(gè)可旋轉(zhuǎn)的攪拌器,因?yàn)閿嚢杵魇秋L(fēng)扇狀的金屬,旋轉(zhuǎn)起來(lái)以后對(duì)微波具有各個(gè)方向

11、的反射,所以能夠把微波能量均勻地分布在烹調(diào)腔內(nèi)。微波爐的功率范圍一般為5001000瓦。微波加熱的原理簡(jiǎn)單說(shuō)來(lái)是:當(dāng)微波輻射到食品上時(shí),食品中總是含有一定量的水分,而水是由極性分子(分子的正負(fù)電荷中心,即使在外電場(chǎng)不存在時(shí)也是不重合的)組成的,這種極性分子的取向?qū)㈦S微波場(chǎng)而變動(dòng)。由于食品中水的極性分子的這種運(yùn)動(dòng)。以及相鄰分子間的相互作用,產(chǎn)生了類似摩擦的現(xiàn)象,使水溫升高,因此,食品的溫度也就上升了。用微波加熱的食品,因其內(nèi)部也同時(shí)被加熱,使整個(gè)物體受熱均勻,升溫速度也快。1.3使用微波爐時(shí)的注意事項(xiàng)微波遇到金屬物體,如銀、銅、鋁等會(huì)像鏡子反射可見光一樣被反射。常用金屬隔離微波,不能使用金屬器皿

12、加熱食物。金屬在微波加熱的情況下還會(huì)產(chǎn)生火花,特別是較尖銳的金屬制品如:叉。因此在使用微波烹調(diào)中,不得使用密閉的金屬容器或金屬網(wǎng)狀容器來(lái)裝載事物,以免發(fā)生意外事故。不要用一般普通塑料容器放入微波爐加熱。雖然塑料自身不被加熱,但熱的食物會(huì)使容器變得很燙。這些塑料容器在高溫下可能放出毒素,染污食物。使用微波爐時(shí),應(yīng)注意至少離爐0.5米以上,眼睛不要看著爐門,不可在爐前久站。食物從爐中取出后,最好先放幾分鐘再吃。1.4微波爐控制器總體設(shè)計(jì)思路通過對(duì)微波爐的了解,本設(shè)計(jì)采用89c52單片機(jī)作為設(shè)計(jì)的核心,由矩陣鍵盤、時(shí)間顯示、控制輸出等模塊組成。由矩陣鍵盤模塊來(lái)實(shí)現(xiàn)時(shí)間的設(shè)置,火力大、中、小的選擇以及

13、啟動(dòng)、停止和時(shí)間重設(shè)功能;時(shí)間顯示模塊由七段數(shù)碼管來(lái)實(shí)現(xiàn),其中初始時(shí)間由矩陣鍵盤輸入;火力大小通過發(fā)光二極管來(lái)表示,紅、綠、黃三種燈分別表示大力大、中、小,默認(rèn)為中火力;啟動(dòng)加熱后,步進(jìn)電機(jī)開始轉(zhuǎn)動(dòng),七段數(shù)碼管按照設(shè)定的時(shí)間進(jìn)行倒計(jì)時(shí),等時(shí)間快到零時(shí)報(bào)警提示、等于零時(shí)火力指示燈熄滅、轉(zhuǎn)盤停止運(yùn)轉(zhuǎn),工作結(jié)束。2系統(tǒng)總體方案2.1系統(tǒng)總體設(shè)計(jì)本設(shè)計(jì)采用at89c52單片機(jī)作為設(shè)計(jì)的核心,由矩陣鍵盤、時(shí)間顯示、控制輸出等模塊組成。由矩陣鍵盤模塊來(lái)實(shí)現(xiàn)時(shí)間的設(shè)置,火力大、中、小的選擇以及啟動(dòng)、停止和時(shí)間重設(shè)功能;時(shí)間顯示模塊由七段數(shù)碼管來(lái)實(shí)現(xiàn),其中初始時(shí)間由矩陣鍵盤輸入;火力大小通過發(fā)光二極管來(lái)表示,

14、紅、綠、黃三種燈分別表示大力大、中、小,默認(rèn)為中火力;啟動(dòng)加熱后,步進(jìn)電機(jī)開始轉(zhuǎn)動(dòng),七段數(shù)碼管按照設(shè)定的時(shí)間進(jìn)行倒計(jì)時(shí),等時(shí)間快到零時(shí)報(bào)警提示、等于零時(shí)火力指示燈熄滅、轉(zhuǎn)盤停止運(yùn)轉(zhuǎn),工作結(jié)束。表 2-1 元件清單元件清單:元件清單數(shù)量at89c521uln2003174ls481lm78051led4三極管90135四位數(shù)碼管1步進(jìn)電機(jī)1蜂鳴器1自鎖開關(guān)1輕觸開關(guān)16220歐電阻1610千歐電阻110k*8排阻130p電容210u電容1100u電容212mhz晶振1usb接口116p插槽240p插槽1排針102.2單片機(jī)的結(jié)構(gòu)和接口的基本介紹2.2.1單片機(jī)的基本組成 1cpu系統(tǒng)l 1個(gè)8位

15、微處理器cpu l 內(nèi)部時(shí)鐘電路l 總線控制邏輯 2內(nèi)部存儲(chǔ)器l 4kb的片內(nèi)程序存儲(chǔ)器(rom/eprom/flash)l 128b數(shù)據(jù)存儲(chǔ)器(ram)和128b特殊功能寄存器sfr(80c51只用到其中21b) 3i/o接口及中斷定時(shí)功能l 4個(gè)8位可編程的i/o(輸入/輸出)并行接口l 5個(gè)中斷源的中斷控制系統(tǒng),可編程為2個(gè)優(yōu)先級(jí)l 2個(gè)16位定時(shí)/計(jì)數(shù)器,既可以定時(shí),又可以對(duì)外部事件進(jìn)行計(jì)數(shù)l 1個(gè)全雙工的串行i/o接口,用于數(shù)據(jù)的串行通信所有這些都通過單片機(jī)內(nèi)部的總線相連接。 下圖所示為80c51單片機(jī)的基本組成,可以看出在該芯片上集成了一個(gè)微型計(jì)算機(jī)圖2-1 80c51單片機(jī)的基本

16、組成2.2.2單片機(jī)的內(nèi)部結(jié)構(gòu)1.中央處理器cpu cpu是80c51內(nèi)部的1個(gè)字長(zhǎng)為8位的中央處理單元,它由運(yùn)算器、控制器兩部分組成。實(shí)際上構(gòu)成了單片機(jī)的核心。 (1)運(yùn)算器l 以算術(shù)邏輯單元alu(arithmetic logic unit)為核心,還包括累加器a、程序狀態(tài)字寄存器psw(program status word)、b寄存器、兩個(gè)8位暫存器 tmp1和tmp2等部件。l 可以進(jìn)行加、減、乘、除、加1、減1、bcd數(shù)十進(jìn)制調(diào)整、比較等算術(shù)運(yùn)算;l 也可以進(jìn)行與、或、非、異或等邏輯運(yùn)算;2.存儲(chǔ)器 (1)片內(nèi)rom是程序存儲(chǔ)器; (2)片內(nèi)ram,可用于存放輸入、輸出數(shù)據(jù)和中間計(jì)

17、算結(jié)果,或作為數(shù)據(jù)堆棧區(qū)。3i/o口 (1) 并行口 有4個(gè)8位并行i/o口p0p3,均可并行輸入輸出8位數(shù)據(jù)。 (2)串行口 有1個(gè)串行i/o口,用于數(shù)據(jù)的串行輸入輸出4定時(shí)器/計(jì)數(shù)器 (1)產(chǎn)生定時(shí)脈沖,實(shí)現(xiàn)單片機(jī)的定時(shí)控制; (2)用于計(jì)數(shù)方式,記錄外部事件的脈沖個(gè)數(shù)。 圖2-2單片機(jī)的內(nèi)部結(jié)構(gòu)2.2.3部分關(guān)鍵的程序存儲(chǔ)單元在程序存儲(chǔ)器中,某些單元保留給系統(tǒng)使用,見下表: 表2-2中斷入口存儲(chǔ)器單元保留單元的作用0000h0002h復(fù)位后初始化引導(dǎo)程序入口0003h000ah外部中斷0入口000bh0012h定時(shí)器0溢出中斷入口0013h001ah外部中斷1入口001bh0022h定時(shí)

18、器1溢出中斷入口0023h002ah串行口中斷入口002bh定時(shí)器2溢出中斷入口注:標(biāo)注灰色背景的存儲(chǔ)空間為增強(qiáng)型芯片所獨(dú)有 2.2.4中斷1、中斷源 51單片機(jī)有5個(gè)中斷源:兩個(gè)外部中斷、兩個(gè)計(jì)數(shù)/定時(shí)器中斷和一個(gè)串行口中斷。2、中斷響應(yīng)步驟:(1)保護(hù)斷點(diǎn),即保存下一將要執(zhí)行的指令的地址,就是把這個(gè)地址送入堆棧。(2)尋找中斷入口,根據(jù)5個(gè)不同的中斷源所產(chǎn)生的中斷,查找5個(gè)不同的入口地址。(3)執(zhí)行中斷服務(wù)程序,用中斷服務(wù)程序處理需要改變的變量或者事件。(4)中斷返回,執(zhí)行完中斷服務(wù)程序后,從中斷斷點(diǎn)處返回主程序,繼續(xù)執(zhí)行主程序。3、中斷的實(shí)現(xiàn)寄存器ie、ip、tcon和scon來(lái)控制中斷

19、申請(qǐng)、中斷的開關(guān)和各種中斷源的優(yōu)先級(jí)確定。(1)中斷方式和標(biāo)志位單片機(jī)的中斷標(biāo)志位和方式的選擇是通過tcon達(dá)到低4位控制字實(shí)現(xiàn)的。tcon中的低4位用于外部中斷的控制,高4位是t0、t1控制字??刂谱秩缦拢罕?-3 tcon中的控制字tcon.7tcon.6tcon.5tcon.4tcon.3tcon.2tcon.1tcon.0tf1tr1tf0tr0ie1it1ie0it0外部中斷請(qǐng)求源it0-int0觸發(fā)方式控制位,可由軟件進(jìn)行置位和復(fù)位.it0=0,int0為低電平觸發(fā)方式;it0=1,int0為負(fù)跳變觸發(fā)方式.ie0-int0中斷請(qǐng)求標(biāo)志位.當(dāng)有外部的中斷請(qǐng)求時(shí),這位就會(huì)置1(這由軟

20、件來(lái)完成),在cpu響應(yīng)中斷后,由硬件將ie0清0.內(nèi)部中斷請(qǐng)求源tf0-定時(shí)器t0的溢出中斷標(biāo)記,當(dāng)t0計(jì)數(shù)產(chǎn)生溢出時(shí),由硬件置位tf0.當(dāng)cpu響應(yīng)中斷后,再由硬件tf0清0.tr0-定時(shí)器t0的中斷允許.(2)中斷允許寄存器ie表2-4中斷允許寄存器ieie.7ie.6ie.5ie.4ie.3ie.2ie.1ie.0eaxxeset1ex1et0ex0其中: ea:總開關(guān),如果它等于0,則所有中斷都不允許。 es:串行口中斷允許。 et1:定時(shí)器1中斷允許。 ex1:外中斷1中斷允許。 et0:定時(shí)器0中斷允許。 ex0:外中斷0中斷允許。(3)5個(gè)中斷源的優(yōu)先級(jí)單片機(jī)的中斷服務(wù)入口地址

21、如下,它們的自然優(yōu)先級(jí)由高到低排列。外中斷0:0003h定時(shí)器0:000bh外中斷1:0013h定時(shí)器1:001bh串口:0023h開機(jī)時(shí),每個(gè)中斷都處于低優(yōu)先級(jí),我們可以用指令對(duì)優(yōu)先級(jí)進(jìn)行設(shè)置,中斷優(yōu)先級(jí)由中斷優(yōu)先級(jí)寄存器ip來(lái)設(shè)置,ip中某位設(shè)為1,相應(yīng)的中斷就是高優(yōu)先級(jí),否則就是低優(yōu)先級(jí)。表2-5中斷優(yōu)先級(jí)寄存器ip-ip.4ip.3ip.2ip.1ip.0eaxxpspt1px1pt0px02.3顯示驅(qū)動(dòng)芯片7447/7448的簡(jiǎn)介2.3.1認(rèn)識(shí)7447/7448bcd碼轉(zhuǎn)換成7段led數(shù)碼管的譯碼驅(qū)動(dòng)ic,首推7447系列,包括7446、7447、7448、74ls49,其中7446

22、及7447輸出低電平驅(qū)動(dòng)的顯示碼,用以推動(dòng)共陽(yáng)極的7段led數(shù)碼管;而7448及74ls49輸出高電平驅(qū)動(dòng)的顯示碼,用以推動(dòng)共陰極7段led數(shù)碼管。7446、7447與7448的引角相同(雙并排16pins),74ls49為雙并排14pins,如圖所示。 圖2-3 7446、7447、7448/74ls49引腳圖2.3.2引腳說(shuō)明d、c、b、a:bcd碼輸入引腳。a、b、c.g:7段led數(shù)碼管輸出引腳。lamp test:本引腳為測(cè)試引腳,簡(jiǎn)稱為lt引腳。當(dāng)本引腳輸入低電平時(shí),所連接的7段led數(shù)碼管全亮。正常顯示下,本引腳應(yīng)輸入高電平。rbi:本引腳為漣波淹沒輸入引腳(ripple-bla

23、nking input),正常顯示下,本引腳應(yīng)輸入高電平。若本引腳輸入低電平(即0),且d、c、b、a引腳輸入為0,則該位數(shù)不顯示,這項(xiàng)功能稱為消除前置0(leading zero suppression)或消除尾端0(trailing zero suppression)bi/rbo:本引腳為淹沒輸入或漣波淹沒輸出引腳(blanking in and/or ripple-blanking output)。正常顯示下,本引腳輸入高電平或空接。若本引腳連接低電平(0),則該位數(shù)將不顯示。當(dāng)該位數(shù)不顯示時(shí),本引腳將輸出低電平,以串接到前一個(gè)位數(shù)的rbi引腳,作為消除前置0(leading zero

24、suppression)或消除尾端0(trailing zero suppression)之用。這4個(gè)ic都是開集極式輸出,對(duì)于開集極式輸出所連接的負(fù)載,其所連接的電源電壓也有些差異,如下表所示。表2-6最大負(fù)載電壓、最大吸入電流對(duì)照表最大負(fù)載電壓最大吸入電流744630v40ma744715v40ma74485.5v6.4ma74ls495.5v8ma 2.4高耐壓、大電流達(dá)林頓陳列uln20032.4.1 概述與特點(diǎn)uln2003 是高耐壓、大電流達(dá)林頓陳列,由七個(gè)硅npn 達(dá)林頓管組成。該電路的特點(diǎn)如下:uln2003 的每一對(duì)達(dá)林頓都串聯(lián)一個(gè)2.7k 的基極電阻,在5v 的工作電壓下它

25、能與ttl 和cmos 電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來(lái)處理的數(shù)據(jù)。uln2003 工作電壓高,工作電流大,灌電流可達(dá)500ma,并且能夠在關(guān)態(tài)時(shí)承受50v 的電壓,輸出還可以在高負(fù)載電流并行運(yùn)行。uln2003 采用dip16 或sop16 塑料封裝。2.4.2 uln2003方框圖圖2-4 uln2003內(nèi)部框圖表2-7 ulm2003極限值2.4.3 極限值(若無(wú)其他規(guī)定,tamb=25)表2-8 ulm2003電特性2.4.4 電特性(若無(wú)其它規(guī)定, tamb=25)2.5 lm7805穩(wěn)壓芯片介紹2.5.1 概述7805系列為3端正穩(wěn)壓電路,to-220封裝,能提供

26、多種固定的輸出電壓,應(yīng)用范圍廣。內(nèi)含過流,過熱和過載保護(hù)電路。帶散熱片時(shí),輸出電流可達(dá)1a,雖然時(shí)固定穩(wěn)壓電路,但使用外接元件,可獲得不同的電壓和電流。2.5.2 主要特點(diǎn)輸出電流可達(dá)1a輸出電壓有:5v過熱保護(hù)短路保護(hù)輸出晶體管soa保護(hù)2.5.3 外形圖及引腳排列圖2-5 lm7805外形圖2.5.4 功能框圖圖2-6 lm7805功能框圖2.6三極管9013 三極管9013 9013是一種npn型硅小功率的三極管它是非常常見的晶體三極管,在收音機(jī)以及各種放大電路中經(jīng)常看到它,應(yīng)用范圍很廣,它是npn型小功率三極管。 集電極電流ic:max 500ma 工作溫度:-55 to +150 集

27、電極-基極電壓vcbo:40v 主要用途: 放大電路圖2-7 9013管腳圖3硬件電路與實(shí)現(xiàn)3.1微波爐控制器的總體硬件設(shè)計(jì)圖3-1 微波爐控制器硬件連接電路3.2矩陣鍵盤及其應(yīng)用3.2.1矩陣鍵盤的結(jié)構(gòu)與工作原理在鍵盤中按鍵數(shù)量較多時(shí),為了減少i/o口的占用,通常將按鍵排列成矩陣形式,如下圖所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個(gè)按鍵加以連接。這樣,一個(gè)端口(如p1口)就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比

28、較多時(shí),采用矩陣法來(lái)做鍵盤是合理的。圖3-2矩陣鍵盤矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜一些,識(shí)別也要復(fù)雜一些,上圖中,列線通過電阻接正電源,并將行線所接的單片機(jī)的i/o口作為輸出端,而列線所接的i/o口則作為輸入。這樣,當(dāng)按鍵沒有按下時(shí),所有的輸出端都是高電平,代表無(wú)鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。3.2.2矩陣式鍵盤的按鍵識(shí)別方法確定矩陣式鍵盤上何鍵被按下,介紹一種“行掃描法”。行掃描法 行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識(shí)別方法,如上圖所示鍵盤,介紹過程如下:判斷鍵盤中有無(wú)鍵按下 將全部行線

29、y0-y3置低電平,然后檢測(cè)列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個(gè)按鍵之中。若所有列線均為高電平,則鍵盤中無(wú)鍵按下。判斷閉合鍵所在的位置 在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。3.2.3矩陣式鍵盤的按鍵的例子圖仍如上所示。at89s52單片機(jī)的p1口用作鍵盤i/o口,鍵盤的列線接到p1口的低4位,鍵盤的行線接到p1口的高4位

30、。列線p1.0-p1.3分別接有4個(gè)上拉電阻到正電源+5v,并把列線p1.0-p1.3設(shè)置為輸入線,行線p1.4-p.17設(shè)置為輸出線。4根行線和4根列線形成16個(gè)相交點(diǎn)。檢測(cè)當(dāng)前是否有鍵被按下。檢測(cè)的方法是p1.4-p1.7輸出全“0”,讀取p1.0-p1.3的狀態(tài),若p1.0-p1.3為全“1”,則無(wú)鍵閉合,否則有鍵閉合。去除鍵抖動(dòng)。當(dāng)檢測(cè)到有鍵按下后,延時(shí)一段時(shí)間再做下一步的檢測(cè)判斷。若有鍵被按下,應(yīng)識(shí)別出是哪一個(gè)鍵閉合。方法是對(duì)鍵盤的行線進(jìn)行掃描。p1.4-p1.7按下述4種組合依次輸出: 一 二 三 四p1.7 1 1 1 0p1.6 1 1 0 1p1.5 1 0 1 1p1.4

31、0 1 1 1在每組行輸出時(shí)讀取p1.0-p1.3,若全為“1”,則表示為“0”這一行沒有鍵閉合,否則有鍵閉合。由此得到閉合鍵的行值和列值,然后可采用計(jì)算法或查表法將閉合鍵的行值和列值轉(zhuǎn)換成所定義的鍵值。為了保證鍵每閉合一次cpu僅作一次處理,必須卻除鍵釋放時(shí)的抖動(dòng)。3.2.4去抖處理 按鍵的抖動(dòng)時(shí)間一般為5-10ms,抖動(dòng)可能造成一次按鍵的多次處理問題。當(dāng)采取措施消除抖動(dòng)的影響。消除的辦法有多種,常采用軟件延時(shí)10ms的方法。 在按鍵較少時(shí),常采用硬件去抖電路。 當(dāng)按鍵較多時(shí),常采用軟件延時(shí)的辦法。當(dāng)單片機(jī)檢測(cè)到有鍵按下時(shí),先延時(shí)10ms,然后再檢測(cè)按鍵的狀態(tài),若仍是閉合狀態(tài),則認(rèn)為真正有鍵

32、按下。當(dāng)檢測(cè)到按鍵釋放時(shí),亦需要做同樣的處理。3.3四位數(shù)碼管原理及應(yīng)用單片機(jī)i/o的應(yīng)用最典型的是通過i/o口與7段led數(shù)碼管構(gòu)成顯示電路。led的發(fā)光原理,我們?cè)谶@里不做介紹。七段led的數(shù)碼管,則在一定形狀的絕緣材料上,利用單只led組合排列成“8”字型的數(shù)碼管,分別引出他們的電極,點(diǎn)亮相應(yīng)的點(diǎn)劃來(lái)顯示0-9的數(shù)字。將多只led的陰極連在一起即為共陰式,而將多只led的陽(yáng)極連在一起即為共陽(yáng)式。以共陽(yáng)式為例,如把陰極接地,在相應(yīng)段的陽(yáng)極接上正電源,該段即會(huì)發(fā)光。當(dāng)然。led的電流通常較少,一般均需在回路中接上限流電阻。假如我們將“b”和“c”段接上正電源,其它端接地或懸空,那么“b”和“

33、c”段發(fā)光,此時(shí),數(shù)碼管顯示將顯示數(shù)字“1”。而將“a ”、“b、“d”、“e”和“g”段都接上正電源,其他引腳懸空,此時(shí)數(shù)碼管將顯示“2”,其他字符的顯示原理類同。圖3-3四位數(shù)碼管實(shí)物圖圖3-5 四位數(shù)碼管實(shí)物引腳圖 圖3-4四位數(shù)碼管內(nèi)部邏輯圖管腳順序:從數(shù)碼管的正面看,以第一腳位起點(diǎn),管腳的順序是逆時(shí)針方向排列:12-9-8-6 公共端d5-3 d6-3a-11 b-7 c-4 d-2 e-1 f-10 g-5 dp-3 dp5-3 dp6-3 四位數(shù)碼管連接圖圖3-6 四位數(shù)碼管連接圖3.4步進(jìn)電機(jī)控制電路3.4.1 步進(jìn)電機(jī)工作原理圖3-7 步進(jìn)電機(jī)原理圖1.步進(jìn)電機(jī)(1)是一個(gè)數(shù)

34、字角度轉(zhuǎn)換器,也是一個(gè)串行的數(shù)模轉(zhuǎn)換器。 (2)是過程控制及儀表中的主要控制元件。(3)廣泛用于定位系統(tǒng)2. 概念:(1)步進(jìn)電機(jī)旋轉(zhuǎn)的根本原因:錯(cuò)齒;(2)術(shù)語(yǔ):齒距角、步距角;(3)通電一周,轉(zhuǎn)子轉(zhuǎn)過一個(gè)齒距角,n 為幾,一個(gè)齒距角分幾步走完。 3.4.2 步進(jìn)電機(jī)控制系統(tǒng)原理圖3-8步進(jìn)電機(jī)控制系統(tǒng)的組成 用微型機(jī)控制步進(jìn)電機(jī)原理系統(tǒng)圖 圖3-9 用微型機(jī)控制步進(jìn)電機(jī)原理系統(tǒng)圖 步進(jìn)電機(jī)連接圖圖3-10 步進(jìn)電機(jī)連接圖3.5蜂鳴器控制電路蜂鳴器分有源蜂鳴器和無(wú)源蜂鳴器,這里的“源”不是指電源,而是指震蕩源。 也就是說(shuō),有源蜂鳴器內(nèi)部帶震蕩源,所以只要一通電就會(huì)叫。而無(wú)源內(nèi)部不帶震蕩源,所

35、以如果用直流信號(hào)無(wú)法令其鳴叫。必須用2k5k的方波去驅(qū)動(dòng)它。 圖3-12 蜂鳴器驅(qū)動(dòng)電路圖3-11 蜂鳴器實(shí)物圖 4控制程序設(shè)計(jì)與仿真4.1鍵盤掃描及顯示程序設(shè)計(jì)4.1.1鍵盤掃描流程圖鍵盤掃描有鍵閉合延時(shí)去抖動(dòng)掃描鍵盤找到閉合鍵計(jì)算鍵值建立有效標(biāo)志返回建立無(wú)效標(biāo)志閉合鍵釋放圖4-1微波爐控制器的鍵盤掃描方式流程圖4.1.2矩陣鍵盤仿真電路圖4-2 矩陣掃描顯示電路4.1.3鍵盤掃描和顯示輸出的程序:#include#includechar tab10=0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9;char disp4=0x8f,0x4f,

36、0x2f,0x1f; /數(shù)碼管控制顯示unsigned int digit=1234; /按鍵輸入的數(shù)值char dig4; /聲明led數(shù)碼管顯示的數(shù)字void debouncer(void); /聲明防抖動(dòng)函數(shù)void scanner(void); /聲明掃描函數(shù)#define th_m1 (65536-500)/256#define tl_m1 (65536-500)%256#define rowkey() (p1)&0x0f /讀入p1低四位(列按鍵值)宏main()ea=1;et1=1;tmod=0x10; /定時(shí)器1,模式1th1=th_m1;tl1=tl_m1; tr1=1;wh

37、ile(1) scanner();void debouncer(void) /延時(shí)程序 int i; for(i=0;i3600;i+); /約30ms延時(shí) void scanner(void) /掃描函數(shù) char col,row; /聲明行和列 char scan,keyin,kcode; /聲明掃描信號(hào),列按鍵值,掃描碼 scan=0xef; for(col=0;col4;col+) p1=scan; /p1按鍵掃描 keyin=rowkey(); /讀入第col行的列按鍵值_nop_(); /三個(gè)_nop_();作用為讓 p1 口的狀態(tài)穩(wěn)定_nop_();_nop_(); if(key

38、in!=0) /若有按鍵按下 for(row=0;row3;row+) if(keyin=(0x01row) kcode=row+3*col; /計(jì)算出按鍵碼 digit=digit*10+kcode; /掃描碼寫入七段數(shù)碼管數(shù)組 digit=digit%1000; /取輸入的后四位,輸入不夠四位高位為零 break; /離開第row列掃描 while(rowkey()!=0)/等按鍵放開debouncer(); /防抖動(dòng)函數(shù)scan=(scan1)|0x01; /產(chǎn)生左一位掃描信號(hào) char m=0;void t1_100us(void)interrupt 3 /t1中斷子程序開始,顯示四位

39、數(shù)碼管 th1=th_m1;tl1=tl_m1;dig0=digit%10;dig1=(digit%100)/10;dig2=(digit%1000)/100;dig3=digit/1000;p2=tabdigm & dispm;m=(m3)? m+1:0; 4.2倒計(jì)時(shí)程序設(shè)計(jì)4.2.1倒計(jì)時(shí)流程圖圖4-3倒計(jì)時(shí)程序流程圖 開始計(jì)數(shù)值初值計(jì)數(shù)值輸出延時(shí)1s上次計(jì)數(shù)值取出計(jì)數(shù)值減1判斷是否為0倒數(shù)結(jié)束 4.2.2倒計(jì)時(shí)仿真電路圖4-4 倒計(jì)時(shí)顯示電路4.2.3倒計(jì)時(shí)程序:#includechar tab10=0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf

40、8,0xf9;char disp4=0x8f,0x4f,0x2f,0x1f; /數(shù)碼管控制顯示unsigned int digit=4321;/數(shù)值顯示char dig4;#define th0_m0 (65536-20000)/256#define tl0_m0 (65536-20000)%256#define th1_m1 (65536-1000)/256#define tl1_m1 (65536-1000)%256main()tmod=0x01; /定時(shí)器0,模式1th0=th0_m0;tl0=th0_m0;ie= 0x82; /打開中斷tr0=1; /啟動(dòng)計(jì)數(shù)器tr0ea=1;et1=

41、1;tmod=0x10; /定時(shí)器1,模式1th1=th1_m1;tl1=tl1_m1;tr1=1;while(1);/*/* 定時(shí)中斷 */*/int m0=50;void t0_1s(void)interrupt 1 /定時(shí)中斷tr0th0=th0_m0;tl0=th0_m0;m0-;if(m0=0)digit=(digit0)? digit-1:4321;m0=50;char m1=0;void t1_100us(void)interrupt 3/t1中斷子程序開始,顯示四位數(shù)碼管 th1=th1_m1;tl1=tl1_m1; dig0=digit%10;dig1=(digit%100)

42、/10;dig2=(digit%1000)/100;dig3=digit/1000;p2=tabdigm1 & dispm1;m1=(m13)? m1+1:0; 4.3步進(jìn)電機(jī)控制程序設(shè)計(jì)4.3.1步進(jìn)電機(jī)流程圖開始取第一個(gè)值延時(shí)取第二個(gè)值延時(shí)取第三個(gè)值延時(shí)取第四個(gè)值圖4-5步進(jìn)電機(jī)程序流程圖4.3.2步進(jìn)電機(jī)仿真電路 圖4-6 步進(jìn)電機(jī)轉(zhuǎn)動(dòng)電路4.3.3步進(jìn)電機(jī)轉(zhuǎn)動(dòng)程序:#include#define output p0char excite=0x08,0x01,0x02,0x04; /1相驅(qū)動(dòng)激勵(lì)數(shù)組/char excite=0x03,0x06,0x0c,0x09; /2相驅(qū)動(dòng)激勵(lì)數(shù)組un

43、signed char times=10;unsigned char count=10;#define th_m1 (65536-500)/256#define tl_m1 (65536-500)%256unsigned char i=0;main() output=0; tmod=0x10; ie=0x88; th1=th_m1; tr1=1; tl1=tl_m1; while(1);void time1(void) interrupt 3 th1=th_m1; tl1=tl_m1; if(-count=0) output=excitei; i=(i4)? i+1:0; count=time

44、s; 4.4總體程序設(shè)計(jì)開始4.4.1總體設(shè)計(jì)流程圖計(jì)算按鍵值火力選擇電機(jī)運(yùn)轉(zhuǎn)結(jié)束鍵盤掃描按鍵值減一圖4-7 總體設(shè)計(jì)流程圖按鍵值等于0啟動(dòng)刪除按鍵值4.4.2總體設(shè)計(jì)仿真電路圖4-8 總體設(shè)計(jì)仿真電路4.4.3總體設(shè)計(jì)程序:#include#includechar tab10=0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9;char disp4=0x8f,0x4f,0x2f,0x1f; /數(shù)碼管控制顯示char excite=0x08,0x01,0x02,0x04; /步進(jìn)電機(jī)1相驅(qū)動(dòng)激勵(lì)數(shù)組/char excite=0x03,0x06,0

45、x0c,0x09; /2相驅(qū)動(dòng)激勵(lì)數(shù)組unsigned char times=10; /聲明電機(jī)重復(fù)數(shù)(即電機(jī)的快慢)unsigned char count=10; /聲明電機(jī)重復(fù)變量char dig4;char c1=5; /蜂鳴器第5秒、3秒、1秒的時(shí)候發(fā)聲char c2=4;char qid=0; /啟動(dòng)的判斷char a1=0,a2=1,a3=0; /火力大中小的判斷 int digit=0; /按鍵輸入的初始數(shù)值sbit da=p30; /聲明火力大小的按鍵sbit zhong=p31;sbit xiao=p32;sbit qidong=p33; /聲明啟動(dòng)按鍵sbit chs=p3

46、4; /聲明重新輸入數(shù)值sbit hli1=p05; /聲明火力的輸出端sbit hli2=p06;sbit hli3=p07;sbit buzzer=p04; /蜂鳴器接口void debouncer(void); /聲明防抖動(dòng)函數(shù)void scanner(void); /聲明掃描函數(shù)void huoli(void); /火力大小函數(shù)#define rowkey() (p1)&0x0f /讀入p1低四位(列按鍵值)宏#define output p0 /步進(jìn)電機(jī)輸出端低四位#define th0_m0 (65536-20000)/256#define tl0_m0 (65536-20000)%256#define th1_m1 (65536-500)/256#define tl1_m1 (65536-500)%256main()ie=0x8a;et0=1;et1=1;tmod=0x11; /定時(shí)器0和1,模式1th1=th1_m1;tl1=tl1_m1;th0=th0_

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論