基于單片機(jī)的按鍵模擬要點(diǎn)_第1頁
基于單片機(jī)的按鍵模擬要點(diǎn)_第2頁
基于單片機(jī)的按鍵模擬要點(diǎn)_第3頁
基于單片機(jī)的按鍵模擬要點(diǎn)_第4頁
基于單片機(jī)的按鍵模擬要點(diǎn)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄1 .引言.1.1 作品簡(jiǎn)介1.1.2 作品設(shè)計(jì)思路及方案 1.1.2.1 總述1.1.2.2 主程序流程圖 2.1.2.3 中斷子程序流程圖 3.1.3 知識(shí)點(diǎn)應(yīng)用3.2 .硬件應(yīng)用42.1 at89c51 單片機(jī)4.2.2 獨(dú)立式鍵盤 5.2.3 數(shù)碼管6.2.4 串口通信6.2.5 外部中斷7.3 .軟件應(yīng)用3.1 程序初始化73.2 主程序及其說明 .883.3 中斷程序及子程序1.04 .調(diào)試114.1 問題 11.1.4.2 問題 21.1.5 .結(jié)語116 .參考文獻(xiàn) 127.附錄程序131.引言1.1 作品簡(jiǎn)介電視、空調(diào)等現(xiàn)代的電器產(chǎn)品都需要一個(gè)小小的遙控器來控制,而許多如

2、手機(jī)的電子 產(chǎn)品都能進(jìn)行改裝而達(dá)到控制其他電器的目的,可見,遙控器已經(jīng)在我們的生活中占了很 重要的地位。由此我產(chǎn)生了基于 51單片機(jī)的基礎(chǔ)上設(shè)計(jì)一個(gè)按鍵顯示輸出裝置的想法。 該作品具有按下一個(gè)鍵后,在數(shù)碼管上顯示相應(yīng)數(shù)字并發(fā)送數(shù)字到pc機(jī)上的功能。如果能夠繼續(xù)加深單片機(jī)的其他應(yīng)用,該作品會(huì)更完美,有效。1.2 作品設(shè)計(jì)思路及方案1.2.1 總述本作品的大致思路是:按下按鍵,數(shù)碼管顯示數(shù)字,同時(shí) pc機(jī)輸出相應(yīng)數(shù)字,并還 有一個(gè)中斷功能,如圖1.2.1所示。數(shù)碼圖&pc機(jī)”管,11.2.2主程序流程圖本作品主程序:判斷按鍵是否按下,如果按下,執(zhí)行相應(yīng)的程序,之后返回。如果沒按下,則判斷下一個(gè)按鍵

3、是否按下,如此反復(fù)。如圖1.2.2251是百蜻下s2是否按下延時(shí)40m、延時(shí)北皿樣31h蛾的jl發(fā)送敷據(jù)n圖 1.2.21.2.3中斷子程序流程圖本作品使用了外部中斷 0,當(dāng)中斷按下時(shí),當(dāng)前數(shù)碼管上顯示入棧保護(hù),數(shù)碼管上全 部顯示“a”,按鍵彈起后,數(shù)碼管恢復(fù)原來狀態(tài)。如圖 1.2.31.3知識(shí)點(diǎn)應(yīng)用本作品運(yùn)用了 51單片機(jī)的獨(dú)立式鍵盤(i/o 口)、數(shù)碼管顯示、串口同信、外部中斷 四個(gè)知識(shí)點(diǎn)。2 .硬件應(yīng)用本作品使用了單片機(jī)上的一些硬件: 獨(dú)立式鍵盤、數(shù)碼管、中斷0開關(guān)、串口助手等。2.1at89c51 單片機(jī)本作品是基于51單片機(jī)基礎(chǔ)上擴(kuò)展的應(yīng)用,選用 at89c51芯片,如圖2.1.1所

4、示:u11bxtal1puiwl 口口皿勒口1xta12rstfset ale 函膽m0 2 叩md3 bijuwi 咱就05 pnm&s pd.7adtp2.1jm9 p2210njurn 陛;mm3 p2wh 理才赧悔f1dfsufflxdfl1p3.1/tcdf12p12/1ntdf1j pl* fl, p1p1.7pijflmti f3.ytd p?5flt1p3 了而331n-11ffu15帕什4圖 2.1.12.2獨(dú)立式鍵盤6在p1 口上接按鈕,作為獨(dú)立式鍵盤,如圖 2.2.1所示:19u1pd.mdi p02wd2ktaczpdjrd3rumi 戶口副地5rstpd.tad?fp

5、2jow3 p2.1jw3 p22dpseln-屋 2mlialef 2.12ea陛郵”理i總悔pinf3&rx0f1 1p3.1jtkdf12“訓(xùn)而fijifx圳 rtfpl4p3 i/tup15f3st1p1sp3j5wr-pitpsjflw3i1sf369353rf4*2921 za24r2531262t1恭1d211312i131”6t1esit圖 2.2.1由于只用到了四個(gè)鍵,所以只安裝了四個(gè)開關(guān),從上往下依次為s1、s2、s3、s42.3數(shù)碼管74hc573e片彳為p3.6與p3.7開關(guān)來控制段碼與位數(shù)碼管作為顯示輸出,裝有兩片 碼的輸入,如圖2.3.1wmgagkllm帕m&pi

6、m72.4 串口通信串口通信應(yīng)用用口中斷,在pc機(jī)上輸出信號(hào),這里只放出仿真用的端口,如圖 2.4.1pdrwepblm fw pd w4 ibimmv21au州 tnmirikg nsnrrde pjiti 海nr hlrff咤心口i b j (j圖 2.4.12.5 外部中斷外部中斷使用的是外部中斷0,按鈕為p2.7,如圖2.5.1所示:r柳 jn”胃it n aigttr f!h?feeh-ih圖 2.5.1另外,本作品使用的是實(shí)驗(yàn)室中的試驗(yàn)箱,在此不再給出實(shí)物圖3 .軟件應(yīng)用本作品功能簡(jiǎn)單,按鍵按下,數(shù)碼管上顯示相應(yīng)數(shù)字并輸出到pc機(jī)上,可同時(shí)按下多個(gè)按鍵并同時(shí)顯示,但只輸出到 pc上

7、一次,外部中斷時(shí)有保留當(dāng)前數(shù)字的功能并使得 數(shù)碼管全部顯示“ a”,當(dāng)外部中斷結(jié)束,數(shù)字會(huì)恢復(fù)原來的樣子。3.4 程序初始化設(shè)置外部中斷,串口通信等初始參數(shù)。org 0000h120003heint00030hscon,#50hpcon,#80htmod,#20hth1,#0fah;外部中斷0入口;設(shè)置用口工作方式ljmp mainorgljmporgmain: movmovmovmovmov tl1,#0fahsetb ex0setb easetb tr1clrticlr it0;波特率加倍;設(shè)置計(jì)數(shù)器工作方式;設(shè)置波特率;打開中斷0;中斷總開關(guān)打開;計(jì)數(shù)器工作;ti清零;中斷0為跳沿觸發(fā)方

8、式lp:jb p1.0,l2lcall dmmov p0,#06hlcall wmmov p0,#0fehlcall delaymov a,#31hmov sbuf,ajnb ti,$3.5 主程序及其說明主程序運(yùn)行時(shí)查驗(yàn)是否有按鍵按下,如果按下,則接通相應(yīng)子程序向數(shù)碼管發(fā)送數(shù)據(jù)并向pc機(jī)發(fā)送數(shù)值。;如果按鍵1沒有按下,則跳轉(zhuǎn)到l2;載入子程序dm;送段碼;載入子程序wm;送位碼;延時(shí);送31h至u a;發(fā)送數(shù)據(jù)clr til2:jb p1.1,l3lcall dmmov p0,#5bhlcall wmmov p0,#0fdhlcall delaymov a,#32hmov sbuf,ajnb

9、 ti,$clr til3:jb p1.2,l4lcall dmmov p0,#4fhlcall wmmov p0,#0fbhlcall delaymov a,#33hmov sbuf,ajnb ti,$clr til4:jb p1.3,lplcall dmmov p0,#66hlcall wmmov p0,#0f7hlcall delaymov a,#34hmov sbuf,ajnb ti,$clr tiljmp lpret3.6 中斷程序及子程序a”,之后外外部中斷0開啟時(shí),保護(hù)當(dāng)前數(shù)碼管數(shù)值入棧,并使數(shù)碼管全部顯示 部中斷0斷開,數(shù)值出棧,數(shù)碼管恢復(fù)原先數(shù)值。eint0: push80h

10、;入棧保護(hù)lcalldm;調(diào)用 dmmovp0,#77h ;送段碼lcallwm;調(diào)用 wmmov p0,#00h;送位碼lcall delay ;延時(shí)pop 80h;出棧retidm:setbp3.6;p3.6 開clrp3.7;p3.7 關(guān)retwm:setbp3.7;p3.7 開clr p3.6; p3.6 關(guān)retdelay: mov r7,#10;延時(shí) 40msde1: mov r6,#100de2: mov r5,#20djnz r5,$djnz r6,de2djnz r7,de1ret4 .調(diào)試本作品經(jīng)過仿真和實(shí)物調(diào)試,發(fā)現(xiàn)一些問題。4.4 問題1仿真與實(shí)物有一些差距,延時(shí)過大的

11、話,當(dāng)按鍵超過兩個(gè)一直按下時(shí),實(shí)物與仿真上 的數(shù)碼管顯示數(shù)值時(shí)都是輪流閃動(dòng),無法達(dá)到同時(shí)亮起的效果,而當(dāng)延時(shí)過小時(shí),實(shí)物顯 示無問題,但仿真顯示都是亂碼或者無法顯示。4.5 問題2實(shí)物運(yùn)用時(shí),按下一個(gè)鍵經(jīng)常顯示幾個(gè)相同數(shù)字,并且顯示的數(shù)字個(gè)數(shù)并不相同,毫 無規(guī)律。5 .結(jié)語經(jīng)過了一番努力,在老師和同學(xué)的幫助下,我順利結(jié)束了此次的作品設(shè)計(jì),在這個(gè)過 程中,我了解了許多,感悟了許多。實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),經(jīng)過這次作品設(shè)計(jì),我深深理解了這句話,在經(jīng)過了仿 真與實(shí)物的運(yùn)用后,單片機(jī)各個(gè)部分的功能顯得明確而具體。這在作品設(shè)計(jì)之前只知道概 念的我看來簡(jiǎn)直不可思議,所以說,只有將理論與實(shí)際結(jié)合起來,才能

12、讓人映像深刻并真 正理解。通過這次設(shè)計(jì),我深刻理解到要做好一件事情,必須有系統(tǒng)的思維方式和方法,要有 耐心和恒心去鉆研努力,要善于運(yùn)用資源豐富充實(shí)自己,要有整體的目光來看待事物,再 從局部到整體慢慢實(shí)現(xiàn),這樣才會(huì)有效率。ii6.參考文獻(xiàn)【1】張毅剛、彭喜元、彭宇2010.5,119-133單片機(jī)原理及應(yīng)用【ml .第二版.北京:高等教育出版社,2 bzxy_lyz.基于at89c51的串口通信程序設(shè)計(jì)ol ., 010.5.23【3】g.edwardsuh, charles wo donnell , srinivas devadas, aegis : a single-chip secure

13、processor, ieee design and test of computers . 2008, 24 (6) 570580.4彭為.單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講,北京:電子工業(yè)出版社,20065潘永雄.新編單片機(jī)原理與應(yīng)用,西安:西安電子科技大學(xué)出版社,2003157.附錄程序orgljmporgljmporgmain: movmovmovmovmovsetbsetbsetbsetbclrclrclrsetb0000hmain0003heint00030hscon,#50hpcon,#80htmod,#20hth1,#0fahtl1,#0fahex0eseatr1tiit0pspx0l

14、p: jb p1.0,l2lcall dmmov p0,#06hlcall wmmov p0,#0fehlcall delaymov a,#31hmov sbuf,ajnb ti,$clr til2: jb p1.1,l3 lcall dm mov p0,#5bhlcall wmmov p0,#0fdh lcall delay mov a,#32h mov sbuf,a jnb ti,$ clr ti l3: jb p1.2,l4lcall dmmov p0,#4fh lcall wmmov p0,#0fbh lcall delay mov a,#33h mov sbuf,a jnb ti,$ clr ti l4: jb p1.3,lplcall dmmov p0,#66h lcall wmmov p0,#0f7h lcall delay mov a,#34h mov sbuf,ajnb

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論