




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、序號(hào)(學(xué)號(hào)):學(xué)生實(shí)習(xí)報(bào)告書實(shí)習(xí)類別單片機(jī)應(yīng)用實(shí)習(xí)實(shí)習(xí)地址武漢理工大學(xué)信息工程學(xué)院學(xué) 院信息工程學(xué)院專 業(yè)通信工程班 級(jí)通信1006姓 名王康指導(dǎo)教師黃錚2012年12月30日實(shí)習(xí)執(zhí)行大綱一、 實(shí)習(xí)目的1、鞏固單片機(jī)原理與應(yīng)用理論課的理論知識(shí);2、熟悉單片機(jī)應(yīng)用系統(tǒng)的硬件設(shè)計(jì)及軟件設(shè)計(jì)的基本方法;3、將單片機(jī)原理與應(yīng)用理論課的理論知識(shí)應(yīng)用于實(shí)際的應(yīng)用系統(tǒng)中;4、訓(xùn)練單片機(jī)應(yīng)用技術(shù),鍛煉實(shí)際動(dòng)手能力。二、實(shí)習(xí)紀(jì)律與要求1、實(shí)習(xí)紀(jì)律1)參加實(shí)習(xí)的學(xué)生必須按照實(shí)習(xí)大綱的要求,在指導(dǎo)教師的指導(dǎo)下,全面完成實(shí)習(xí)任務(wù);2)聽從指導(dǎo)教師安排,嚴(yán)格遵守實(shí)習(xí)紀(jì)律;3)因故在實(shí)習(xí)期間缺勤累計(jì)超過規(guī)定時(shí)間的三分之一
2、,不得參加本次實(shí)習(xí)考核,但可在補(bǔ)足所缺天數(shù)后再給予考核并評(píng)定實(shí)習(xí)成績(jī)。2、基本要求1)利用PROTEL等軟件進(jìn)行硬件設(shè)計(jì);2)利用Keil uV4軟件完成應(yīng)用系統(tǒng)軟件設(shè)計(jì);3)利用PROTEUS軟件進(jìn)行仿真設(shè)計(jì);4)完成單片機(jī)最小系統(tǒng)和應(yīng)用系統(tǒng)電路板的焊接;5)對(duì)電路進(jìn)行調(diào)試;6)利用stc-isp軟件完成在系統(tǒng)編程、下載,并完成系統(tǒng)軟件調(diào)試;7)題目由指導(dǎo)教師提供;8)要求每個(gè)學(xué)生單獨(dú)完成硬件軟件設(shè)計(jì)、仿真、焊接、調(diào)試任務(wù);9)寫出實(shí)習(xí)報(bào)告,實(shí)習(xí)報(bào)告主要包括以下內(nèi)容:目錄、摘要、關(guān)鍵詞、基本原理、方案論證、硬件設(shè)計(jì)、軟件設(shè)計(jì)(帶流程圖、程序清單)、仿真結(jié)果、實(shí)物運(yùn)行結(jié)果照片、結(jié)論、參考文獻(xiàn)等
3、;10)實(shí)習(xí)完成后通過答辯;11)答辯時(shí)交實(shí)習(xí)報(bào)告電子文檔,通過答辯后根據(jù)修改意見修改并打印、裝訂成冊(cè)。三、實(shí)習(xí)地點(diǎn)武漢理工大學(xué)信息工程學(xué)院通信實(shí)驗(yàn)室。四、實(shí)習(xí)時(shí)間2012年12月17日-2012年12月30日。五、實(shí)習(xí)內(nèi)容1、實(shí)習(xí)所需主要材料1)元件、工具、儀器等序號(hào)名稱數(shù)量1單片機(jī)開發(fā)試驗(yàn)儀1塊2USB供電線1根3USB轉(zhuǎn)串口線1根4杜邦線若干5NE5532兩片6LM311一片7排針若干8不同阻值的電阻若干9信號(hào)源1臺(tái)10示波器1臺(tái)11電烙鐵、錫絲、鉗子2)軟件序號(hào)名稱數(shù)量1電路設(shè)計(jì)軟件1套2編程軟件Keil uV41套3仿真軟件PROTEUS1套4下載軟件stc-isp 1套2、任務(wù)(1
4、)利用上述材料完成單片機(jī)最小系統(tǒng)的設(shè)計(jì)、焊接、調(diào)試;(2)完成ISP下載電路的設(shè)計(jì)、焊接;(3)完成應(yīng)用系統(tǒng)擴(kuò)展電路部分的設(shè)計(jì)、焊接、調(diào)試,應(yīng)用系統(tǒng)擴(kuò)展電路的具體要求如下:(1)功能選擇通過功能選擇鍵,使得單片機(jī)處于不同的工作狀態(tài)并通過LED顯示相應(yīng)的內(nèi)容。(2)溫度顯示通過功能選擇鍵選擇溫度檢測(cè)、顯示后,LED顯示溫度值。(3)數(shù)據(jù)輸入通過功能選擇鍵選擇數(shù)據(jù)輸入后,將通過鍵盤鍵入的09按鍵值顯示在LED上,其中,最后輸入的顯示在最左邊,之前鍵入向右移動(dòng)一位。(4)數(shù)據(jù)通信將兩個(gè)單片機(jī)最小系統(tǒng)通過串口連接起來,其中一個(gè)作為主系統(tǒng),另一個(gè)作為輔系統(tǒng)。當(dāng)通過功能選擇鍵選擇數(shù)據(jù)通信后,當(dāng)在主系統(tǒng)上進(jìn)
5、行功能(2)、功能(3)的操作時(shí),輔系統(tǒng)的LED上顯示與主系統(tǒng)同樣的內(nèi)容。(4)利用仿真軟件完成系統(tǒng)仿真工作;(5)完成系統(tǒng)軟件的設(shè)計(jì),包括程序結(jié)構(gòu)設(shè)計(jì)、流程圖繪制、程序設(shè)計(jì)。3、參考資料1 謝自美.電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試(第三版).武漢:華中科技大學(xué)出版社2 李群芳. 單片微型計(jì)算機(jī)與接口技術(shù)(第3版).電子工業(yè)出版社,20083 劉教瑜. 單片機(jī)原理及應(yīng)用.武漢理工大學(xué)出版社,20114 張東亮. 單片機(jī)原理與應(yīng)用.人民郵電出版社,2009六、實(shí)習(xí)具體安排序號(hào)階段內(nèi)容所需時(shí)間1方案設(shè)計(jì)2天2硬件設(shè)計(jì)2天3軟件設(shè)計(jì)3天4系統(tǒng)仿真1天5電路板焊接2天6系統(tǒng)調(diào)試3天7答辯1
6、天合 計(jì)14天七、實(shí)習(xí)考核學(xué)生必須按照實(shí)習(xí)大綱的要求完成實(shí)習(xí)的全部?jī)?nèi)容,并提交實(shí)習(xí)報(bào)告。指導(dǎo)教師應(yīng)對(duì)學(xué)生進(jìn)行實(shí)習(xí)考核并評(píng)定實(shí)習(xí)成績(jī)。實(shí)習(xí)成績(jī)?cè)u(píng)定按優(yōu)、良、中、及格和不及格五級(jí)分制。1、對(duì)報(bào)告的要求實(shí)習(xí)報(bào)告要求邏輯清晰、層次分明、書寫整潔。報(bào)告包括標(biāo)題(中英文)、提要、正文(包括項(xiàng)目要求與說明; 軟件流程分析;調(diào)試分析;實(shí)驗(yàn)數(shù)據(jù)分析;答辯;成績(jī)?cè)u(píng)定)、附錄(圖紙.程序清單或軟盤) 。實(shí)習(xí)要求須每人一份,獨(dú)立完成。2、對(duì)圖紙的要求圖紙要求準(zhǔn)確全面并與任務(wù)要求完成的內(nèi)容一致。3、評(píng)分標(biāo)準(zhǔn)1選題合理、目的明確(10分)2方案正確,具有可行性、創(chuàng)新性(20分)3結(jié)果(如:硬件成果、軟件程序、仿真結(jié)果)(
7、20分)4態(tài)度認(rèn)真、學(xué)習(xí)刻苦、遵守紀(jì)律(15分) 5報(bào)告的規(guī)范化、參考文獻(xiàn)充分(不少于5篇)(10分)6答辯(25分)總分(100分)備注:成績(jī)等級(jí):優(yōu)(90分100分)、良(80分89分)、中(70分79分)、及格(60分69分)、60分以下為不及格。概 況實(shí)習(xí)單位: 武漢理工大學(xué)信息工程學(xué)院 參觀考察單位:(1) (2) (3) (4) (5) (6) 實(shí)習(xí)開始時(shí)間:20 12 年 12 月 17 日,實(shí)習(xí)時(shí)間共 14 天。 完成實(shí)習(xí)報(bào)告時(shí)間: 2012 年 12 月 30 日。實(shí) 習(xí) 日 記 2012 年 12月17日今天是單片機(jī)實(shí)習(xí)的第一天,拿到了實(shí)習(xí)要求,明確了所要完成的任務(wù):即完成
8、單片機(jī)最小系統(tǒng)的設(shè)計(jì)、焊接、調(diào)試,完成ISP下載電路的設(shè)計(jì)、焊接,并完成應(yīng)用系統(tǒng):矩陣鍵盤按鍵顯示功能,數(shù)字溫度計(jì)設(shè)計(jì),雙機(jī)串口通信,整個(gè)系統(tǒng)的焊接、調(diào)試,于是便開始了單片機(jī)實(shí)習(xí)。首先要確定整個(gè)的設(shè)計(jì)方案。經(jīng)過查閱書本以及各種資料,參考實(shí)習(xí)要求,便確定了鍵盤電路采用六個(gè)七段數(shù)碼管,16個(gè)按鍵顯示電路。數(shù)字溫度計(jì)用芯片DS18B20做溫度采集部分,在數(shù)碼管上顯示溫度,由于還要通過串行通信的方式,將采集到的實(shí)時(shí)溫度信息送至第二個(gè)單片機(jī)系統(tǒng),并在二個(gè)單片機(jī)系統(tǒng)顯示實(shí)時(shí)溫度,因此還要考慮串口通信部分電路。在整個(gè)設(shè)計(jì)方案的初步確定中,我又加深了對(duì)專業(yè)知識(shí)的學(xué)習(xí),并將原來所學(xué)的知識(shí)在實(shí)踐中得以應(yīng)用,使知識(shí)
9、連貫起來,讓我覺得收獲很多,相信在接下來的幾天,會(huì)有更大的收獲。實(shí) 習(xí) 日 記 2012 年 12月18日今天是實(shí)習(xí)的第二天,接著昨已經(jīng)確定的設(shè)計(jì)方案,開始了硬件設(shè)計(jì),硬件設(shè)計(jì)運(yùn)用到Altium Designer軟件。Altium Designer是一個(gè)全32位的電路板設(shè)計(jì)軟件,該軟件功能強(qiáng)大,人機(jī)界面友好,易學(xué)易用,使用該軟件的設(shè)計(jì)者可以容易地設(shè)計(jì)出電路原理圖和畫出元件設(shè)計(jì)電路板圖。在實(shí)驗(yàn)室學(xué)習(xí)時(shí),我就常用Altium Designer設(shè)計(jì)電路圖,畫過元件設(shè)計(jì)電路板圖,因此對(duì)此還有一定的熟悉程度。在Altium Designer里找到所需元件后,開始連線,剛開始遇到了很多問題,比如元件封裝的
10、缺失,連線有問題等等,通過自己查找資料,請(qǐng)教別人,都解決了,感覺自己還是有很大的提高。對(duì)Altium Designer的使用熟練程度也得到了提高。其中,硬件電路圖的設(shè)計(jì)也是費(fèi)了一番功夫的,也需要參考查閱書本以及資料才能確定其正確性,還要加上自己的理解。但在這個(gè)過程中,也進(jìn)一步鞏固了專業(yè)知識(shí)技能,將這學(xué)期所學(xué)的單片機(jī)知識(shí)進(jìn)行了歸納總結(jié)、真正的做到將理論與實(shí)踐相結(jié)合。實(shí) 習(xí) 日 記 2012 年 12月19日前兩天的硬件電路已經(jīng)確定了,接下來就是軟件設(shè)計(jì)部分了,即程序的編寫。因?yàn)檫@次實(shí)現(xiàn)的功能模塊也不少,因此程序相對(duì)來說較為復(fù)雜。由于我對(duì)程序運(yùn)用并不熟練,因此需要花費(fèi)更多的精力在程序上。編寫程序之
11、初,我準(zhǔn)備分模塊編寫。將程序分為顯示模塊、鍵盤模塊、溫度采集部分,DS18B20模塊、以及串口部分等。為了能使自己對(duì)編程步驟更加熟悉一下,我先翻閱了這學(xué)期所學(xué)的課本,進(jìn)一步熟悉了程序的編寫步驟,然后開始著手編寫,編寫中也遇到了很多難題,有時(shí)候會(huì)不知道如何下手去寫,后來通過自己慢慢的摸索總結(jié)以及向他人請(qǐng)教,及時(shí)解決了問題,在別人的講解過程中,也逐漸了解到自己的缺點(diǎn),在哪些方面還需要加強(qiáng),獲益頗豐。實(shí) 習(xí) 日 記 2012 年 12月20日今天我主要完成了DS18B20溫度傳感器的底層函數(shù)代碼的編寫工作,從德州儀器的官方網(wǎng)站上我找到了DS18B20溫度傳感器的數(shù)據(jù)手冊(cè),全英文的,我一邊查詞典一邊翻
12、譯,一字一句得弄懂了DS18B20的 操作方法,其中最關(guān)鍵的也是最難懂的是DS18B20操作時(shí)序圖即和單片機(jī)的通信協(xié)議,我通過51單片機(jī)的IO口控制時(shí)序,給高電平和低電平,模擬數(shù)據(jù)手冊(cè)上的操作時(shí)序,底層驅(qū)動(dòng)函數(shù)還有嘴重要的一部分就是對(duì)單片機(jī)讀來的溫度數(shù)據(jù)進(jìn)行處理,將數(shù)據(jù)轉(zhuǎn)換成以攝氏度為單位的數(shù)據(jù),然后將數(shù)據(jù)分割成十位、各位、十分位,供數(shù)碼管顯示的函數(shù)調(diào)用,顯示溫度。在實(shí)際的代碼編寫過程中遇到了很多問題,開始一直是讀不到DS18B20的數(shù)據(jù),通過分析發(fā)現(xiàn)是時(shí)序的問題,我通過網(wǎng)絡(luò)查找了別人寫好的DS18B20的操作函數(shù),改進(jìn)了自己的程序,最終調(diào)試成功。實(shí) 習(xí) 日 記 2012 年 12月21日軟件
13、的設(shè)計(jì)部分已經(jīng)快接近尾聲了,幾個(gè)模塊的程序也差不多都完成了。便開始了各個(gè)模塊的程序的調(diào)試。首先調(diào)試的是鍵盤顯示部分,在鍵盤部分調(diào)試的過程中,也出現(xiàn)了各種問題,剛開始也沒有加上消抖部分,經(jīng)過幾番調(diào)試后,終于調(diào)試成功了。后來進(jìn)行了數(shù)碼管部分的調(diào)試工作,還是比較順利的。調(diào)試完數(shù)碼管、按鍵部分,在接下里的數(shù)字溫度計(jì)的溫度測(cè)量部分DS18B20的調(diào)試,雖然在這中間出現(xiàn)了各種各樣的問題,但是最終還是都一一解決了。我還是感到很興奮的,因?yàn)檫@畢竟是自己第一次寫這么多模塊的程序。不僅鍛煉的了自己的能力,也磨練了自己的態(tài)度。實(shí) 習(xí) 日 記 2012 年 12月22日經(jīng)過幾天的調(diào)試,軟件部分的工作已經(jīng)完成了。接下來
14、就是系統(tǒng)的仿真問題了,仿真要用到的軟件是proteus仿真軟件,在進(jìn)行仿真前,我先去查閱了關(guān)于此仿真軟件的使用說明以及觀看的視頻教程,想先熟悉一下仿真軟件的使用。通過一系列的準(zhǔn)備工作,熟悉了工具欄的使用,怎么樣去查找元件,放置連接點(diǎn)等基本的技能。熟悉了使用方法后,便開始進(jìn)行仿真圖的繪制,在繪圖的過程中,元件的查找基本沒有問題。下一步就是連線了,連線過程中放置節(jié)點(diǎn)、連接總線過程中也遇到了不少問題。不過最終都能得以解決。最終的仿真圖在一天之內(nèi)也完成了。實(shí)習(xí)已經(jīng)過去近一個(gè)星期了,收獲還是很多的,從一開始的方案設(shè)計(jì)、硬件電路的設(shè)計(jì)到后來的軟件設(shè)計(jì),程序的調(diào)試,以及今天的仿真圖的繪制,我也熟悉了整個(gè)系統(tǒng)
15、設(shè)計(jì)的流程、也參與了各方面的工作,收獲還是很大的。既熟悉了各種軟件的使用,也明白了如何去進(jìn)行方案的比較和選擇。使我對(duì)整個(gè)的專業(yè)知識(shí)的應(yīng)用也有了更進(jìn)一步的認(rèn)識(shí),總的來說,真的是受益匪淺。在接下來的后續(xù)工作中,我也會(huì)繼續(xù)認(rèn)認(rèn)真真的完成,不懂的問題也會(huì)及時(shí)請(qǐng)教他人,努力做到最好。實(shí) 習(xí) 日 記 2012 年 12月23日本來打算懷著愉悅的心情踏上今天的仿真之旅的,可是剛開始就遭到了一個(gè)晴天霹靂。我把昨天好不容易編譯好后生成的hex文件放入主機(jī)和從機(jī),發(fā)現(xiàn)不能通過仿真,真是六神無主了。于是經(jīng)過高手指教之后,才發(fā)現(xiàn)一直以來我都忽略了雙機(jī)通信的模塊??磥碜鲆粋€(gè)編程者,必須要看清全局,把各種可能的沖突不兼容
16、都給消滅掉,看來真的最厲害的編程不是越復(fù)雜的編程,而是可以和各種終端兼容的編程。只能繼續(xù)研究程序,更改程序了。不過接口問題讓我發(fā)現(xiàn),這是一個(gè)比我想象中更麻煩的事情,如何利用好三個(gè)P口,而且使他們都不發(fā)生沖突真的棘手。不過開心的事情是時(shí)鐘模塊已經(jīng)部分可以調(diào)節(jié)出來了,這么多按鍵如何分配也是一個(gè)大問題呢,明天繼續(xù)仿真,加油加油!實(shí) 習(xí) 日 記 2012 年 12月24日系統(tǒng)的仿真基本完成后,便開始制作實(shí)物,首先要列元件清單,清楚電路所需的各種元件。拿到元件后,準(zhǔn)備好焊接需要的工具,就開始焊接實(shí)物。先焊接的是單片機(jī)最小系統(tǒng),包括時(shí)鐘電路、復(fù)位電路。由于考慮到串口通信部分,時(shí)鐘電路選用11.0592MH
17、z的晶振。最小系統(tǒng)完成后,開始鍵盤和數(shù)碼管的焊接。焊接中同樣也出現(xiàn)了一些問題,影響電路板的美觀性。對(duì)照電路原理圖將DS18B20溫度測(cè)量部分焊接上去,并將其與單片機(jī)的引腳相連,這個(gè)過程是需要耐心的細(xì)致的,因?yàn)橐_部分如果連錯(cuò)的話,就會(huì)導(dǎo)致工作不正常的情況。陸陸續(xù)續(xù)的將各個(gè)元件焊接上去后,硬件制作部分就完成了,電路總體來說還是比較簡(jiǎn)單的,并不復(fù)雜。由于自己平時(shí)焊接工作做的比較少,因此還缺少一定的熟練程度,以后的學(xué)習(xí)中要加強(qiáng)練習(xí),增強(qiáng)自己的動(dòng)手能力。實(shí) 習(xí) 日 記 2012 年 12月25日今天打算休息一下大腦,跳出調(diào)程序的思路,所以我打算今天去焊接電路。恰好今天天氣也不錯(cuò),真是天公作美呀,早上打
18、點(diǎn)好元件清單,便火速火燎的騎車去了廣埠屯,然后買到了所需要的元件,不貴。下午在實(shí)驗(yàn)室焊電路。其實(shí)從我畫的硬件電路上來看,需要附加焊接的電路并不復(fù)雜,只不過該如何漂亮布局,合理排版,并且正確無誤的將電路焊出來,也不是一件容易的事情。而且焊板子也得有耐心,重復(fù)著重復(fù)著重復(fù)著同一件事,還得無視那煙味和可能會(huì)出現(xiàn)的意外傷害。真心覺得做一個(gè)IT男真不容易啊。實(shí) 習(xí) 日 記 2012 年 12月26日實(shí)物焊接工作、系統(tǒng)軟件調(diào)試工作等各部分的準(zhǔn)備工作已經(jīng)完成了,下面就將進(jìn)行系統(tǒng)的調(diào)試。首先應(yīng)用stc-isp下載軟件將所編寫的單片機(jī)程序下載到單片機(jī)里。在網(wǎng)上查閱了一些資料以后,知道STC-ISP 是一款單片機(jī)
19、下載編程燒錄軟件,是針對(duì)STC系列單片機(jī)而設(shè)計(jì)的,可下載STC89系列、12C2052系列和12C5410等系列的STC單片機(jī)。它的使用方法也比較簡(jiǎn)單,因此,程序下載工作很快就完成了。將下載好程序程序的單片機(jī)安裝好后,給電路板提供電源,電源供電選用的是5V的USB接口供電。上電以后,數(shù)碼管上顯示時(shí)間溫度,說明溫度計(jì)是可以工作的。然后再按下按鍵,按位調(diào)整,這個(gè)功能也是可以實(shí)現(xiàn)的。其他部分的調(diào)試工作將在后幾天進(jìn)行。實(shí) 習(xí) 日 記 2012 年 12月27日繼續(xù)昨天的系統(tǒng)調(diào)試工作。心情還是很激動(dòng)的,看著自己親手制作的電路板,能夠達(dá)到預(yù)期效果,證明自己的努力還沒有白費(fèi)。緊接著調(diào)試數(shù)字溫度計(jì)部分,按下溫
20、度測(cè)試按鍵,數(shù)字鐘上顯示29.38的數(shù)字,然后用手給DS18B20加溫,會(huì)看到示數(shù)在不斷的上升,溫度測(cè)量部分的功能也是可以實(shí)現(xiàn)的。由于數(shù)字溫度計(jì)部分,還要求串口通信,即兩塊單片機(jī)之間實(shí)現(xiàn)溫度數(shù)據(jù)的傳輸,將串口程序下載到第二塊有單片機(jī)最小系統(tǒng)、數(shù)碼管顯示部分的電路板的單片機(jī)里。兩塊單片機(jī)之間通過P3.0與P3.1相連,實(shí)現(xiàn)串行通信。結(jié)果發(fā)現(xiàn)主機(jī)部分溫度顯示正常,但是從機(jī)數(shù)碼管的顯示不正確,檢查連線沒有出錯(cuò),后再改寫程序,試驗(yàn)幾次后,仍有問題。由于時(shí)間關(guān)系,今天的調(diào)試就結(jié)束了,對(duì)于出現(xiàn)的問題,我也開始查閱資料,咨詢他人,希望在最后一天能都得到解決。實(shí) 習(xí) 日 記 2012 年 12月28日 昨天焊
21、接好了電路板,現(xiàn)在心情很輕松,感覺整個(gè)人都被更新系統(tǒng)了一樣,神清氣爽的。懷著好心情,我開始新的一輪仿真,這一次的仿真比以往課設(shè)花的時(shí)間更久,難度更大。不過可能是休息了一天大腦,所以重啟的更機(jī)敏了,故在和同學(xué)請(qǐng)假了一段時(shí)間之后,再幾次失敗之后,終于穩(wěn)定了,不過在這個(gè)時(shí)候真是一劑強(qiáng)心劑呀。最后的火候就是硬件調(diào)試了,將程序下在單片機(jī)里面,不過又出現(xiàn)了意想不到的插曲了,比如按鍵失靈等,可是要找到問題也是件很麻煩的事情,因?yàn)椴恢朗悄膫€(gè)環(huán)節(jié)的問題。到底是芯片問題呢,還是跳線問題呢,還是程序的問題呢。在同學(xué)的幫助下一一排除了問題的所在,終于可以通過按鍵出來了所有模塊的結(jié)果,不過就是數(shù)碼管顯示的方式有點(diǎn)問題
22、,從機(jī)和主機(jī)沒法兼容,這個(gè)問題就留著明天去解決好了。實(shí) 習(xí) 日 記 2012 年 12月29日今天是倒數(shù)第二天,答辯前的最后一天了,對(duì)于終審答辯,我的內(nèi)心卻沒有以往的忐忑,而是非常的平靜。今天應(yīng)該做的事情就是爭(zhēng)取調(diào)好我的單片機(jī),讓所以的努力都在單片機(jī)上展現(xiàn)。我終于領(lǐng)悟到調(diào)試的重要性,紙上得來終覺淺,絕知此事要躬行,只有調(diào)試過程中遇到那些意外的事情才知道程序的不足性和要改進(jìn)的方向。今天只用把雙擊通信的部分弄好就大功告成了,對(duì)于主機(jī)和從機(jī)的相接,還是主要是對(duì)接口的把握,如何使各個(gè)部分不相沖突。在改程序無果后,請(qǐng)教了同學(xué),才得以解決,還是自身學(xué)的東西不夠硬呀,不過將按鍵一到十二按下后,數(shù)碼管顯示都一
23、一實(shí)現(xiàn)了功能。心里挺開心的,不管怎么樣,對(duì)于明天的答辯有了更多的信心。萬事俱備只欠東風(fēng),睡個(gè)好覺,明天加油加油加油!實(shí) 習(xí) 日 記 2012 年 12月30日對(duì)于昨天遺留的問題,今天便著手開始檢查問題所在。首先用示波器檢測(cè)主機(jī)p3.0口是否有數(shù)據(jù)輸出,從示波器觀察結(jié)果來看,確實(shí)有波形,即說明是有數(shù)據(jù)輸出的,接著檢測(cè)從機(jī)部分的p3.0口,結(jié)果沒有觀察到波形,也就說明主機(jī)有數(shù)據(jù)的輸出,但是從機(jī)并無接受。兩片單片機(jī)的晶振都使用的是11.0592的,也沒有問題。后發(fā)現(xiàn)從機(jī)的電平轉(zhuǎn)換MAX232有問題,將其撤除后,再兩機(jī)之間串行通信,結(jié)果從機(jī)也能顯示溫度了,實(shí)現(xiàn)了功能。溫度計(jì)部分的調(diào)試也已完成,都達(dá)到了
24、預(yù)期效果。通過幾天的系統(tǒng)調(diào)試,幾大功能模塊的功能都得到了實(shí)現(xiàn),但是還是存在有一些小的瑕疵,數(shù)碼管的亮度不夠,加了電阻,增大驅(qū)動(dòng)電流以后,數(shù)碼管的亮度有所提高,但是仍舊不是很理想。但是不影響使用。實(shí)習(xí)即將要結(jié)束了,經(jīng)過這段時(shí)間的實(shí)習(xí),自己也學(xué)到了很多知識(shí)、培養(yǎng)了自己的動(dòng)手能力。也將書本知識(shí)運(yùn)用到實(shí)際,將理論與實(shí)踐相結(jié)合??偟膩碚f,此次單片機(jī)實(shí)習(xí)確實(shí)讓我獲益良多,對(duì)我以后的專業(yè)學(xué)習(xí)有很大的幫助。目 錄摘 要22Abstract231、基本原理241.1 單片機(jī)引腳介紹241.2 單片機(jī)時(shí)鐘電路251.3 復(fù)位電路251.4 數(shù)字溫度計(jì)的設(shè)計(jì)262、方案設(shè)計(jì)272.1模塊的設(shè)計(jì)方案272.1.1 顯
25、示電路設(shè)計(jì)方案272.1.2 溫度測(cè)量模塊方案272.2 實(shí)際設(shè)計(jì)中的改進(jìn)方案282.2.1 數(shù)碼管的設(shè)計(jì)方案282.2.2 最小系統(tǒng)的設(shè)計(jì)方案283、硬件電路設(shè)計(jì)303.1 單片機(jī)最小系統(tǒng)設(shè)計(jì)303.2 數(shù)碼管顯示部分設(shè)計(jì)303.3 鍵盤部分設(shè)計(jì)313.4 溫度采集部分設(shè)計(jì)313.5 串口通信部分設(shè)計(jì)323.5 供電電路部分設(shè)計(jì)323.6 電路PCB布置設(shè)計(jì)334、軟件設(shè)計(jì)344.1 系統(tǒng)流程圖344.2 溫度計(jì)流程圖345、仿真電路356、實(shí)物照片366.1 溫度計(jì)366.2 數(shù)據(jù)輸入366.3 數(shù)據(jù)通信376.4 最小系統(tǒng)實(shí)物圖376.5 整體實(shí)物圖376.6 部分電路圖387、總結(jié)39
26、8、參考文獻(xiàn)409、附錄41本科生課程設(shè)計(jì)成績(jī)?cè)u(píng)定表53摘 要 單片機(jī)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng).單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、電流、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長(zhǎng)度、硬度、元素、壓力等物理量的測(cè)量。采用單片機(jī)控制
27、使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。 本文主要是在單片機(jī)最小系統(tǒng)的基礎(chǔ)上設(shè)計(jì)一個(gè)矩陣按鍵,一個(gè)數(shù)字溫度計(jì)和一個(gè)數(shù)據(jù)通信設(shè)計(jì),并能用按鍵進(jìn)行功能切換顯示。關(guān)鍵詞:?jiǎn)纹瑱C(jī)、最小系統(tǒng)、數(shù)字溫度計(jì)、雙機(jī)通信、矩陣鍵盤Abstract SCM is A kind of integrated circuit chips, is to use very large scale integrated circuit technology has the ability to handle data CPU, RAM and ROM, RAM read only memor
28、y of I/O mouth and interrupt system, timer/timer function (may include display driver circuit, pulse width modulation circuit, simulation way more converter, A/D converter circuits, etc) integrated into one of these forms of A small and perfect miniature computer system Single chip microcomputer wit
29、h small size, low power consumption, control function is strong, flexible, miniaturization and expand convenient use and so on, widely used in instrumentation, combined with different kinds of sensors, which can realize such as voltage, current, power, frequency, humidity, temperature and flow rate,
30、 speed, thickness, Angle, length, hardness, elements, such as the physical pressure measurement. By single chip microcomputer control makes instruments digital, intelligent, miniaturization, and function by electronic or than digital circuit more powerful. Of this paper is to design a digital clock
31、on the basis of the smallest single-chip system, a digital thermometer , and use the button to switch the display.Keywords:SCM 、digital clock、digital thermometer 、data communication 1、基本原理1.1 單片機(jī)引腳介紹89C52單片機(jī)是一種高性能、低功效的采用CMOS工藝制造的8位微控制器。它提供以下標(biāo)準(zhǔn)特征:4K字節(jié)的程序存儲(chǔ)器、128字節(jié)的RAM、32條I/O線、2個(gè)16位定時(shí)/計(jì)數(shù)器、一個(gè)5中斷源兩級(jí)中斷優(yōu)先級(jí)
32、、一個(gè)雙工的串行口、片上振蕩器和時(shí)鐘電路。AT89C52引腳圖如圖1所示:圖1各引腳功能分別為:VCC:供電電壓;GND:接地P0P3:為輸入/輸出口線;RST:復(fù)位輸入,當(dāng)振蕩器復(fù)位器件時(shí),保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間ALE/PROG: 地址鎖存允許/片內(nèi)EPROM編程脈沖/PSEN:外部程序存儲(chǔ)器的選通信號(hào);/EA/VPP:外部訪問允許,為了使單片機(jī)能夠有效的傳送外部數(shù)據(jù)存儲(chǔ)器從0000H到0FFFH單元的指令。/EA必須接地;當(dāng)執(zhí)行內(nèi)部指令時(shí),應(yīng)接VCC端。XTAL1:振蕩器反相放大器以及內(nèi)部時(shí)鐘電路的輸入端XTAL2:振蕩器反相放大器的輸出端1.2 單片機(jī)時(shí)鐘電路 89C52時(shí)
33、鐘有兩種方式產(chǎn)生,即內(nèi)部方式和外部方式。89C52內(nèi)部有一個(gè)構(gòu)成內(nèi)部振蕩器的高增益的放大器,引腳XTAL1,XTAL2分別是該放大器的輸入端和輸出端。在引腳XTAL1和XTAL2外接晶體振蕩器(簡(jiǎn)稱晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。內(nèi)部振蕩方式的外部電路如圖2所示。 圖中,電容器C1,C2起穩(wěn)定振蕩頻率、快速起振的作用,其電容值一般在5-30pF。晶振頻率的典型值為12MHz,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時(shí)鐘情號(hào)比較穩(wěn)定,實(shí)用電路中使用較多。圖2 1.3 復(fù)位電路單片機(jī)系統(tǒng)的復(fù)位
34、電路采用的是上電+按鈕復(fù)位電路形式.當(dāng)MCS-5l系列單片機(jī)的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。 根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。上電或開關(guān)復(fù)位要求電源接通后,單片機(jī)自動(dòng)復(fù)位,并且在單片機(jī)運(yùn)行期間,用開關(guān)操作也能使單片機(jī)復(fù)位。常用的上電或開關(guān)復(fù)位電路如圖3所示。上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵后松開,也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上
35、電或開關(guān)復(fù)位的操作。圖3 1.4 數(shù)字溫度計(jì)的設(shè)計(jì)基于AT89C52單片機(jī)和DS18B20的數(shù)字溫度計(jì)。采用數(shù)字溫度芯片DS18B20 測(cè)量溫度,輸出信號(hào)全數(shù)字化。采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和AT89C52單片機(jī)構(gòu)成的溫度測(cè)量裝置,它直接輸出溫度的數(shù)字信號(hào),也可直接與計(jì)算機(jī)連接。 測(cè)溫范圍 55125,固有測(cè)溫分辨率0.5。DS18B20 實(shí)物圖如圖4所示。圖42、方案設(shè)計(jì)2.1模塊的設(shè)計(jì)方案2.1.1 顯示電路設(shè)計(jì)方案數(shù)碼管有共陰、共陽兩種方案一:選用共陽數(shù)碼管,51單片機(jī)I/O口不需要提供電流,只需一片74LS04/74HC04反相器就可以驅(qū)動(dòng)六個(gè)數(shù)碼管顯示。方案二
36、:數(shù)碼管有共陰、共陽數(shù)碼管兩種;若選用共陰數(shù)碼管,51單片機(jī)I/O不能直接驅(qū)動(dòng)數(shù)碼管顯示,因?yàn)殡娏魈。枰?4LS04/74HC04反相器,提供驅(qū)動(dòng)電流,需要2片芯片控制6個(gè)數(shù)碼管。原則上應(yīng)選擇方案一,但市場(chǎng)上購買時(shí),只買到了共陰數(shù)碼管,所以最終選擇方案二。2.1.2 溫度測(cè)量模塊方案方案一:利用DS18B20可編程1-Wire數(shù)字溫度傳感器芯片,集成度高,單總線模式與其他相比系統(tǒng)電路相對(duì)簡(jiǎn)單。內(nèi)含寄生電源。數(shù)字溫度傳感器DS18B20的數(shù)字溫度計(jì)提供9至12位的攝氏溫度測(cè)量,測(cè)溫范圍為-55-+125,測(cè)量分辨率為0.0625,DS18B20可以從數(shù)據(jù)線直接供電(“寄生電源”),從而消除
37、了供應(yīng)需要一個(gè)外部電源。方案二:利用AD590溫度傳感器芯片和A/D轉(zhuǎn)換器芯片采集溫度溫度信號(hào),可以滿足設(shè)計(jì)要求。其中AD590是美國(guó)ANALOG DEVICES公司的單片集成兩端感溫電流源,其輸出電流與絕對(duì)溫度成比例。在4 V至30 V電源電壓范圍內(nèi),該器件可充當(dāng)一個(gè)高阻抗、恒流調(diào)節(jié)器,調(diào)節(jié)系數(shù)為1µA/K。但相較于方案一,系統(tǒng)電路更加復(fù)雜。綜上所述,選擇方案一。2.2 實(shí)際設(shè)計(jì)中的改進(jìn)方案2.2.1 數(shù)碼管的設(shè)計(jì)方案在數(shù)碼管的擺放問題上,由于在電子市場(chǎng)上沒有所需的6位一體的數(shù)碼管,所以采取4位加2位并列擺放實(shí)現(xiàn)6位并列顯示。經(jīng)過實(shí)際測(cè)試,發(fā)現(xiàn)數(shù)碼管引腳分布復(fù)雜,最終選擇排針引出,
38、由杜邦線進(jìn)行錯(cuò)位連接,而不是直接進(jìn)行錯(cuò)綜復(fù)雜的走線。實(shí)際效果如圖5所示。圖52.2.2 最小系統(tǒng)的設(shè)計(jì)方案在最小系統(tǒng)的設(shè)計(jì)中,考慮到芯片放置在底座上,內(nèi)部用足夠的空間放置一些類似電阻電容的小型元器件,而且芯片引腳包含VCC與GND,在實(shí)際PCB設(shè)計(jì)時(shí),將整個(gè)晶振電路與復(fù)位電路的10K電阻和10uF電容放置在內(nèi)部,節(jié)省了部分空間,同時(shí)也可以保護(hù)部分元器件。實(shí)際效果如圖6所示。圖63、硬件電路設(shè)計(jì)3.1 單片機(jī)最小系統(tǒng)設(shè)計(jì)單片機(jī)最小系統(tǒng)包含芯片,晶振電路,復(fù)位電路等,其中P0口需接10K上拉電阻接電源。電路如圖7所示,圖73.2 數(shù)碼管顯示部分設(shè)計(jì)數(shù)碼管顯示在理論上可以直接接在單片機(jī)的I/O口上,
39、但是在實(shí)際應(yīng)用中,數(shù)碼管內(nèi)部存在電阻,直接接在單片機(jī)上的實(shí)際電壓僅為2.8V左右,驅(qū)動(dòng)不了數(shù)碼管。所以在實(shí)際設(shè)計(jì)中采用74HC04非門驅(qū)動(dòng),由于在軟件設(shè)計(jì)部分采用動(dòng)態(tài)顯示,所以不需要鎖存的功能,實(shí)際電路圖如圖8所示。圖83.3 鍵盤部分設(shè)計(jì)矩陣鍵盤采用4X4鍵盤設(shè)計(jì),其中10個(gè)用于09的數(shù)字按鍵輸入,另外3個(gè)用于功能選擇按鍵,剩余3個(gè)按鍵缺省。矩陣按鍵需8個(gè)I/O口控制,設(shè)計(jì)時(shí)選用P2口控制。電路圖如圖9所示。圖93.4 溫度采集部分設(shè)計(jì)溫度采集部分采用DS18B20進(jìn)行設(shè)計(jì),元件引腳分布較為簡(jiǎn)單,只需選用一個(gè)I/O口進(jìn)行數(shù)據(jù)接收即可。電路圖如圖10所示。圖103.5 串口通信部分設(shè)計(jì)串口通信
40、部分采用9孔串口轉(zhuǎn)接電平轉(zhuǎn)換芯片MAX232與單片機(jī)的XTAL1(P3.1)與XTAL2(P3.2)進(jìn)行數(shù)據(jù)通信。電路圖如圖11所示。圖113.5 供電電路部分設(shè)計(jì)單片機(jī)所需電源為+5V供電,可采用多種方式完成供電,本次設(shè)計(jì)采用USB供電。在應(yīng)用中,采用六腳自鎖按鍵開關(guān)進(jìn)行開關(guān)控制,同時(shí)采用LED提示電源接通與否。電路圖如圖12所示。圖123.6 電路PCB布置設(shè)計(jì)最小系統(tǒng)電路與擴(kuò)展電路PCB布局如圖13所示。圖134、軟件設(shè)計(jì)4.1 系統(tǒng)流程圖圖144.2 溫度計(jì)流程圖圖155、仿真電路仿真電路使用Proteus軟件搭建,經(jīng)測(cè)試,能順利完成任務(wù)指標(biāo),在前期調(diào)試時(shí),為了在后期實(shí)際設(shè)計(jì)時(shí)節(jié)省時(shí)間
41、,各個(gè)模塊的調(diào)試基本上在51開發(fā)板上完成了軟件調(diào)試,所以沒有過多的依賴仿真調(diào)試。電路圖如圖16所示。圖166、實(shí)物照片6.1 溫度計(jì)圖176.2 數(shù)據(jù)輸入圖186.3 數(shù)據(jù)通信圖196.4 最小系統(tǒng)實(shí)物圖圖206.5 整體實(shí)物圖圖216.6 部分電路圖圖227、總結(jié)在這次的課程設(shè)計(jì)中不僅檢驗(yàn)了我所學(xué)習(xí)的理論知識(shí),鍛煉了自己的動(dòng)手實(shí)踐能力,也培養(yǎng)了我在短時(shí)間內(nèi)完成任務(wù)的能力。在設(shè)計(jì)過程中,和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督,更加學(xué)會(huì)了合作. 通過這次單片機(jī)電路設(shè)計(jì),我加深了對(duì)單片機(jī)的理解和認(rèn)識(shí),能夠?qū)舅鶎W(xué)知識(shí)運(yùn)用到實(shí)際。最開始接手這個(gè)題目的時(shí)候,有點(diǎn)茫然和不知所措,而這個(gè)設(shè)計(jì)需要的理論知識(shí)
42、我們都已經(jīng)全部學(xué)習(xí)完,這讓我認(rèn)識(shí)到自己的理論和實(shí)際應(yīng)用的統(tǒng)一和對(duì)于器件在實(shí)際中的使用還有很大的不足,在做的過程中也提升了我的動(dòng)手能力,實(shí)踐能力得到了一定的鍛煉,從開始的朦朧到后面得到的結(jié)果,也鍛煉了自己,提高了自己。我制作前在網(wǎng)上找了一些數(shù)字溫度計(jì)等電路圖以后,開始只是盲目的效仿,但是得出的結(jié)果都不理想,有的根本就得不出結(jié)果,后來慢慢的學(xué)會(huì)結(jié)合自己的理論知識(shí),對(duì)電路進(jìn)行了自己的設(shè)計(jì)并不斷嘗試和修改,最終確定電路圖。對(duì)于程序的理解掌握也在這次單片機(jī)實(shí)習(xí)中得到了較大程度的提高。在整個(gè)課設(shè)的進(jìn)行過程中,用到了大量的專業(yè)性軟件,Altium Designer、Proteus、Keil uVision4
43、、STC_ISP等。在設(shè)計(jì)中碰到的大量的問題通過上網(wǎng)查找資料,與同學(xué)探討或是咨詢老師、學(xué)長(zhǎng)等途徑解決了問題。在焊接電路板時(shí),容易出現(xiàn)短路,斷路,元器件極性接反等問題,所以在平時(shí)的學(xué)習(xí)中應(yīng)該多加注意時(shí)刻修正電路,盡量將錯(cuò)誤率降到最低。8、參考文獻(xiàn)1 謝自美. 電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試(第三版).武漢:華中科技大學(xué)出版社2 李哲英,電子技術(shù)及其應(yīng)用基礎(chǔ),高等教育出版社,20032 李群芳. 單片微型計(jì)算機(jī)與接口技術(shù)(第3版).電子工業(yè)出版社,20084 康華光. 電子技術(shù)基礎(chǔ) 數(shù)字部分.高等教育出版社,20055 郭天祥. 新概念51單片機(jī)C語言教程.北京:電子工業(yè)出版社,20
44、09.6 張東亮. 單片機(jī)原理與應(yīng)用.人民郵電出版社,20099、附錄程序如下(C語言):#include <reg52.h>#include <intrins.h>#include <18b20.h>unsigned char code table= /共陰數(shù)碼管常用段碼0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71, /0-f 0-15 code unsigned char key_tab17=0xed,0x7e,0x7d,0x7b, 0xbe
45、,0xbd,0xbb,0xde, 0xdd,0xdb,0x77,0xb7, 0xee,0xd7,0xeb,0xe7,0xff;/=此數(shù)組為鍵盤編碼,unsigned char l_tmpdate6=32,32,32,32,32,32;/定義數(shù)組變量unsigned char l_tmpdateold6=1,2,3,4,32,32;/定義數(shù)組變量unsigned char l_key=0xff;/定義變量,存放鍵值unsigned char l_keyold=0xFF;/做為按鍵松開否的憑int func3_flag = 0;int temp;int uartbit = 0;void delay
46、ms(unsigned char t);void display(unsigned char *lp,unsigned char lc);/顯示void ReadKey(void);void func1(void);void func2();void com_init(void);void main() com_init();/串口初始化while(1) ReadKey();switch(l_key)case 0x0a:func1();break;case 0x0b:func2();break;default :break; void display(unsigned char *lp,uns
47、igned char lc)/數(shù)碼管顯示函數(shù)unsigned char i,j=0X01;/定義變量P0 = 0x00; P1=j;for(i=0;i<lc;i+) /循環(huán)顯示P0=tablelpi;/查表法得到要顯示數(shù)字的數(shù)碼段delayms(2);/延時(shí)5個(gè)空指令P0=0x00;/清0端口,準(zhǔn)備顯示下位P1=_irol_(P1,1); void delayms(unsigned char t) /延時(shí)函數(shù) unsigned char j; unsigned char i; do j=4; do i=1000; do -i; while(i!=0); -j; while(j!=0);
48、-t; while(t!=0); void ReadKey(void) /鍵盤掃描函數(shù)unsigned char i,j,key;/分三個(gè)部份來理解,第一部份,用掃描來讀取鍵盤,j=0xfe;key=0xff;/設(shè)定初值for (i=0;i<4;i+)P2=j;/P2口低4位循環(huán)輸出0,掃描鍵盤/leday();if (P2&0xf0)!=0xf0)/如果有鍵按下,P2口高4位不會(huì)全為1,key=P2;/讀取P2口,退出循環(huán),否則循環(huán)下次break;j=_crol_(j,1);/此函數(shù)功能為左循環(huán)移位/第二部份,檢測(cè)是否干擾或按鍵放開if (key=0xff)/如果讀取不到P2口
49、的值,比如是干擾或是鍵盤又松開,我們做相應(yīng)復(fù)位,返回l_keyold=0xff;return;/第三部份,檢測(cè)是新按鍵按下,獲取新的鍵盤編碼值if(l_keyold!=key)/檢測(cè)按鍵放開否,如果一樣表明沒放開,不做處理,不一樣表時(shí)另一個(gè)鍵按下做編碼轉(zhuǎn)換l_keyold=key;/獲取鍵碼做為放開下次的憑證for(i=0;i<17;i+)/查表獲得相應(yīng)的16進(jìn)制值存放l_key變量中if (key=key_tabi)l_key=i;break;/程序運(yùn)行到這里,就表明有鍵值被讀取存放于l_key變量中,主程序就可以檢測(cè)此變量做相應(yīng)外理 void func1(void) / /功能1函數(shù)
50、,移位顯示鍵盤按鍵值unsigned char i=0,j=0,k,m,equ ;func3_flag = 0;while(1)ReadKey();/調(diào)用鍵盤掃描if(l_key!=0xff)&&(l_key<10)/掃描到的數(shù)值是0-9才做處理 if(j=6)j=5;if(j<6)/我們用J來表示按下的個(gè)數(shù),最多不超過6個(gè)j+;for(i=j-1;i>0;i-) /循環(huán)移數(shù)據(jù)l_tmpdatei=l_tmpdatei-1;l_tmpdate0=l_key;/移完數(shù)據(jù),尾補(bǔ)上輸入的數(shù)據(jù)l_key=0xff; if(func3_flag = 1)for(k=0;k<6;k+)if(l_tmpdatek!=l_tmpdateoldk) equ = 0;break;equ = 1;if(equ =0 )for(k=0;k<6;k+)/將數(shù)據(jù)通過串口發(fā)送給
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 喜迎亞運(yùn)會(huì)趣味活動(dòng)方案
- 團(tuán)委青年座談活動(dòng)方案
- 遺傳性疾病基因治療臨床試驗(yàn)設(shè)計(jì)服務(wù)行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 西餐牛排屋行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書
- 藥物篩選外包行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 光伏一體化建筑案例庫行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 臀部結(jié)核護(hù)理措施
- 商家自建活動(dòng)方案
- 唱歌班級(jí)活動(dòng)方案
- 四歲樂高戶外活動(dòng)方案
- 富士康職工檔案管理制度
- 7數(shù)滬科版期末考試卷-2024-2025學(xué)年七年級(jí)(初一)數(shù)學(xué)下冊(cè)期末考試模擬卷04
- 胃管置入術(shù)考試題及答案
- 中國(guó)共產(chǎn)主義青年團(tuán)紀(jì)律處分條例試行解讀學(xué)習(xí)
- 國(guó)家能源集團(tuán)陸上風(fēng)電項(xiàng)目通 用造價(jià)指標(biāo)(2024年)
- 2024北京海淀區(qū)三年級(jí)(下)期末語文試題及答案
- MOOC 國(guó)際商務(wù)-暨南大學(xué) 中國(guó)大學(xué)慕課答案
- 密封條范文模板(A4打印版)
- 公司金融課件(完整版)
- 三維激光掃描技術(shù)與應(yīng)用實(shí)例-PPT課件
- 鐵路貨物裝載常用計(jì)算公式
評(píng)論
0/150
提交評(píng)論