LCD1602籃球比賽計(jì)時(shí)計(jì)分器本科畢業(yè)設(shè)計(jì)_第1頁(yè)
LCD1602籃球比賽計(jì)時(shí)計(jì)分器本科畢業(yè)設(shè)計(jì)_第2頁(yè)
LCD1602籃球比賽計(jì)時(shí)計(jì)分器本科畢業(yè)設(shè)計(jì)_第3頁(yè)
LCD1602籃球比賽計(jì)時(shí)計(jì)分器本科畢業(yè)設(shè)計(jì)_第4頁(yè)
LCD1602籃球比賽計(jì)時(shí)計(jì)分器本科畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、本科畢業(yè)設(shè)計(jì)題 目 lcd1602籃球比賽計(jì)時(shí)計(jì)分器 學(xué) 院 管理科學(xué)與工程學(xué)院 專 業(yè) 電子信息工程 摘要本課題設(shè)計(jì)采用單片機(jī)at89c51為核心,設(shè)計(jì)出籃球計(jì)分計(jì)時(shí)系統(tǒng),可以實(shí)現(xiàn)單節(jié)比賽12分鐘倒計(jì)時(shí)、24秒進(jìn)攻時(shí)間倒計(jì)時(shí)、開始/暫停倒計(jì)時(shí)、改變節(jié)次、單節(jié)結(jié)束報(bào)警、兩隊(duì)比分分別加1分、加2分、加3分等各種顯示效果。本系統(tǒng)利用lcd1602液晶顯示器作為顯示器件,顯示節(jié)次、12分鐘倒計(jì)時(shí)、24秒倒計(jì)時(shí)、主客隊(duì)雙方比分,通過3*3矩陣鍵盤來控制計(jì)時(shí)器和計(jì)數(shù)器工作,單節(jié)比賽結(jié)束時(shí)led發(fā)光二極管閃爍報(bào)警。該設(shè)計(jì)采用lcd1602液晶顯示器,因?yàn)槠湮⒐?、小體積、使用靈活等諸多優(yōu)點(diǎn)在袖珍式儀表和低

2、功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用,通過仿真基本上實(shí)現(xiàn)了上述功能,操作簡(jiǎn)單,性能穩(wěn)定,符合一般籃球計(jì)分器的工作要求。關(guān)鍵詞:at89c51;矩陣鍵盤;lcd1602;計(jì)數(shù)器;計(jì)時(shí)器abstractthis design project using at89c51 microcontroller as the core, design basketball scoring timing system, countdown to a single game of 12 minutes, 24 seconds shot clock countdown, start / pause and chang

3、e the section, a single end alarm, the teams were, respectively, add 1 point, 2 points, plus 3 grading a variety of display.this system uses the lcd1602 lcd monitor as a display, display session, 12 minutes 24 seconds of the countdown, countdown to the main visiting team score by 3 * 3 matrix keyboa

4、rd to control the timer and counter, led blinks when a single end of the game alarm.the design uses lcd1602 lcd display to get more and more widely in the pocket-sized instrument and low-power applications because of its micro-power, small size, the use of flexible and many other advantages through

5、simulation basically realize the above functions, the operation simple, stable performance, in line with the general basketball scoring requirements.key word: at89c51;matrix keyboard;lcd1602;counter;timer目 錄1引言11.1 本課題選取的目的及意義11.2 本系統(tǒng)的主要研究?jī)?nèi)容22系統(tǒng)分析32.1 系統(tǒng)構(gòu)成32.2 系統(tǒng)工作原理33系統(tǒng)硬件設(shè)計(jì)43.1 系統(tǒng)硬件總體設(shè)計(jì)43.2 at89c51

6、單片機(jī)53.2.1 at89c51簡(jiǎn)介53.2.2 主要特性63.2.3 管腳說明73.2.4 芯片擦出93.2.5 空閑節(jié)電模式93.2.6 掉電模式103.2.7 程序儲(chǔ)存器的加密113.2.8 at89c51的極限參數(shù)113.3 lcd1602液晶顯示模塊113.3.1顯示器介紹113.4 3*3矩陣鍵盤模塊153.5 時(shí)鐘電路模塊163.6 復(fù)位電路模塊173.7 元件清單174系統(tǒng)軟件設(shè)計(jì)185 protues isis軟件仿真225.1 proteus運(yùn)行流程225.2 proteus功能仿真225.3 proteus仿真結(jié)果236結(jié)論24參考文獻(xiàn)25致謝26附錄271引言進(jìn)入21

7、世紀(jì),伴隨著電子、信息技術(shù)的應(yīng)用與迅速普及,人們對(duì)電子技術(shù)的要求越來越高。當(dāng)今社會(huì),科學(xué)技術(shù)日新月異,時(shí)代前進(jìn)的步伐越邁越寬,應(yīng)用自動(dòng)化設(shè)備,計(jì)算機(jī)處理,現(xiàn)代化通訊,數(shù)字化信息,現(xiàn)代化顯示設(shè)備等高新技術(shù)而建立的現(xiàn)代化智能。目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能ic卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)

8、的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。通過此次基于單片機(jī)設(shè)計(jì)的籃球計(jì)時(shí)計(jì)分系統(tǒng),我們可以更清楚詳細(xì)的了解單片機(jī)程序設(shè)計(jì)的基本指令功能、編程步驟和技巧來講述單片機(jī)編程,并對(duì)at89s51單片機(jī)的結(jié)構(gòu)和原理進(jìn)行講述,以及基于單片機(jī)開發(fā)應(yīng)用的相關(guān)芯片的工作原理,和相關(guān)外圍電路的設(shè)計(jì)和調(diào)試過程進(jìn)一步了解,有助于今后的工作和學(xué)習(xí)生活。 1.1 本課題選取的目的及意義體育比賽計(jì)時(shí)計(jì)分系統(tǒng)是對(duì)體育比賽過程中所產(chǎn)生的時(shí)間,比分等數(shù)據(jù)信息進(jìn)行快速采集記錄、加工處理、傳遞和利用的系統(tǒng)。根據(jù)運(yùn)動(dòng)項(xiàng)目的不同,比賽規(guī)則要求也不同,體育比賽的計(jì)時(shí)計(jì)分系統(tǒng)包括測(cè)量類,評(píng)分類,命中類,制勝類和得

9、分類等多種類型?;@球比賽是根據(jù)運(yùn)動(dòng)隊(duì)員在規(guī)定的比賽時(shí)間里得分多少來決定勝負(fù)的,因此,籃球比賽的計(jì)時(shí)計(jì)分系統(tǒng)是一種得分類型的系統(tǒng)?;@球比賽的計(jì)時(shí)計(jì)分系統(tǒng)由計(jì)時(shí)器、計(jì)分器等多種電子設(shè)備組成的,同時(shí),根據(jù)目前高水平籃球比賽要求,完善的籃球比賽計(jì)時(shí)計(jì)分系統(tǒng)設(shè)備應(yīng)能夠與現(xiàn)場(chǎng)成績(jī)處理,現(xiàn)場(chǎng)大屏幕,電視轉(zhuǎn)播車等多種設(shè)備相聯(lián),以便實(shí)現(xiàn)激烈的比賽現(xiàn)場(chǎng)感和表演娛樂等功能目標(biāo)。由于單片機(jī)的集成度高,功能強(qiáng),通用性好,特別是它具有體積小,重量輕,能耗低,價(jià)格便宜,可靠性高,抗干擾能力強(qiáng)和使用方便等獨(dú)特的優(yōu)點(diǎn),使單片機(jī)迅速得到了推廣應(yīng)用,目前已經(jīng)成為測(cè)量控制應(yīng)用系統(tǒng)中的優(yōu)選機(jī)種和新電子產(chǎn)品的關(guān)鍵部位。世界各大電氣廠家,

10、測(cè)控技術(shù)企業(yè),機(jī)電行業(yè),競(jìng)相把單片機(jī)應(yīng)用于產(chǎn)品更新,作為實(shí)現(xiàn)數(shù)字化,智能化的核心部件?;@球計(jì)時(shí)計(jì)分器就是以單片機(jī)為核心的計(jì)時(shí)計(jì)分系統(tǒng),由計(jì)時(shí)器,計(jì)分器,綜合控制器和24秒控制器等組成。1.2 本系統(tǒng)的主要研究?jī)?nèi)容隨著單片機(jī)在各個(gè)領(lǐng)域的廣泛應(yīng)用,許多用單片機(jī)做控制的球賽計(jì)時(shí)計(jì)分系統(tǒng)也應(yīng)運(yùn)而產(chǎn)生,如用單片機(jī)控制lcd液晶顯示器計(jì)時(shí)計(jì)分器,用單片機(jī)控制led七段顯示器計(jì)時(shí)計(jì)分器等?;@球比賽計(jì)時(shí)計(jì)分器是為了解決籃球比賽時(shí)計(jì)分與計(jì)時(shí)準(zhǔn)確的問題。此裝置利用單片機(jī)at89c51完成了計(jì)時(shí)和計(jì)分的功能。本文詳細(xì)地介紹了系統(tǒng)硬件與軟件的設(shè)計(jì)過程,采用該裝置可根據(jù)實(shí)際情況進(jìn)行比分修改和時(shí)間的準(zhǔn)確顯示,具有低功耗,

11、可靠性,安全性以及低成本等特點(diǎn)。本次設(shè)計(jì)用由at89c51編程控制lcd作顯示的球賽計(jì)時(shí)計(jì)分系統(tǒng)。該系統(tǒng)具有賽程時(shí)間倒計(jì)時(shí)、暫停,及時(shí)刷新甲、乙雙方的成績(jī)等功能。它具有價(jià)格低廉,性能穩(wěn)定,操作方便并且易于攜帶等特點(diǎn)。廣泛適合各類學(xué)?;蛘咝⌒蛨F(tuán)體作為賽程計(jì)時(shí)計(jì)分。通過本次基于c51系列籃球計(jì)時(shí)計(jì)分器的設(shè)計(jì),可以了解、熟悉有關(guān)單片機(jī)開發(fā)設(shè)計(jì)的過程,并加深對(duì)單片機(jī)的理解和應(yīng)用以及掌握單片機(jī)與外圍接口的一些方法和技巧,這主要表現(xiàn)在以下一些方面:(1) 籃球賽計(jì)時(shí)計(jì)分系統(tǒng)包含了8051系列單片機(jī)的最小應(yīng)用系統(tǒng)的構(gòu)成,同時(shí)在此基礎(chǔ)上擴(kuò)展了一些使用性強(qiáng)的外圍接口。(2) 可以了解到lcd顯示器的結(jié)構(gòu)、工作原

12、理以及這種顯示器的接口實(shí)例與具體連接與編程方法。(3) 怎樣利用串行口來擴(kuò)展顯示接口等。2系統(tǒng)分析 2.1系統(tǒng)構(gòu)成主機(jī)顯示電路復(fù)位電路鍵盤電路時(shí)鐘電路報(bào)警電路圖2.1 系統(tǒng)構(gòu)成框圖本系統(tǒng)的基本電路模塊有:51單片機(jī)控制模塊,時(shí)鐘電路模塊,復(fù)位電路模塊,3*3矩陣鍵盤電路模塊,lcd顯示電路模塊。2.2系統(tǒng)工作原理打開proteus仿真電路圖,按下軟件下方的“開始”圖標(biāo),啟動(dòng)系統(tǒng),再按下矩陣鍵盤上第一行第一列的“開始”按鍵,系統(tǒng)開始工作,這時(shí),lcd1602液晶顯示器依次從上到下分別顯示“1”、“12:00”、“24”、“a:000b:000”,分別表示“第1節(jié)”、“每一節(jié)的比賽時(shí)間12分鐘倒計(jì)

13、時(shí)”、“每一隊(duì)的進(jìn)攻時(shí)間倒計(jì)時(shí)24秒”、“a和b兩隊(duì)的比分”。當(dāng)按下第一行第二列的“暫?!辨I時(shí),兩個(gè)倒計(jì)時(shí)都暫停,再按下“開始”按鍵,倒計(jì)時(shí)繼續(xù)進(jìn)行,當(dāng)?shù)谝还?jié)比賽結(jié)束時(shí),12分鐘倒計(jì)時(shí)和24秒倒計(jì)時(shí)到0,這是led發(fā)光二極管快速地閃爍幾次,這時(shí)按下第一行第三列的“改變節(jié)次”按鍵,節(jié)次加1,到第二節(jié),依次可以顯示第1節(jié)到第4節(jié)。lcd1602液晶顯示器中下一行的a隊(duì)與b隊(duì)的比分可以通過矩陣鍵盤第二行第三行的6個(gè)按鍵分別控制,依次為a隊(duì)加1分、a隊(duì)加2分、a隊(duì)加3分、b隊(duì)加1分、b隊(duì)加2分、b隊(duì)加3分。通過以上操作,從而實(shí)現(xiàn)籃球計(jì)時(shí)計(jì)分器的基本操作。3系統(tǒng)硬件設(shè)計(jì)3.1 系統(tǒng)硬件總體設(shè)計(jì)at89c

14、51控制器時(shí)鐘電路復(fù)位電路3*3矩陣鍵盤電路lcd液晶顯示電路led二極管報(bào)警圖3.1 系統(tǒng)整體電路圖將設(shè)計(jì)的通信系統(tǒng)硬件進(jìn)行模塊化設(shè)計(jì),主要由以下模塊構(gòu)成:a : at89c51 單片機(jī)最小系統(tǒng),控制的核心部件;b : 3*3矩陣鍵盤電路;c : lcd1602液晶顯示電路;d : led發(fā)光二極管報(bào)警電路;e : 復(fù)位電路;f : 時(shí)鐘電路。3.2 at89c51單片機(jī)3.2.1 at89c51簡(jiǎn)介mcs51是指由美國(guó)intel公司生產(chǎn)的一系列單片機(jī)的總稱,這一系列單片機(jī)包括了很多品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其

15、它單片機(jī)都是在8051的基礎(chǔ)上進(jìn)行功能的增、減、改變而來的,所以人們習(xí)慣于用8051來稱呼mcs51系列單片機(jī),而8031是前些年在我國(guó)最流行的單片機(jī),所以很多場(chǎng)合會(huì)看到8031的名稱。intel公司將mcs51的核心技術(shù)授權(quán)給了很多其它公司,所以有很多公司在做以8051為核心的單片機(jī),當(dāng)然,功能或多或少有些改變,以滿足不同的需求,其中89c51就是這幾年在我國(guó)非常流行的單片機(jī),它是由美國(guó)atmel公司開發(fā)生產(chǎn)的。本課題中用到的芯片就是at系列中的at89c51單片機(jī)芯片。at89c51是一個(gè)低電壓,高性能cmos 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的flash只讀程序存儲(chǔ)器和12

16、8 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),器件采用atmel公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的at89c51提供了高性價(jià)比的解決方案。at89c51具有pdip、pqfp/tqfp及plcc等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。它是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(i/o)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,at89c51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的flash存儲(chǔ)器可有效地降低開發(fā)成本

17、。如圖所示,圖3.2為at89c51單片機(jī)基本構(gòu)造,其基本性能介紹如下:圖3.2 at89c51引腳圖at89c51本身內(nèi)含40個(gè)引腳,32個(gè)外部雙向輸入/輸出(i/o)端口,同時(shí)內(nèi)含2個(gè)外中端口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,at89c51可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的flash存儲(chǔ)器可有效地降低開發(fā)成本。3.2.2 主要特性at89c51的主要特性如下表所示:兼容mcs51指令系統(tǒng)4k可反復(fù)擦寫(1000次)flash rom32個(gè)雙向i/o口可編程uarl通道兩個(gè)16位可編程定時(shí)/計(jì)數(shù)器全靜

18、態(tài)操作0-24mhz1個(gè)串行中斷128x8bit內(nèi)部ram兩個(gè)外部中斷源共6個(gè)中斷源可直接驅(qū)動(dòng)led3級(jí)加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能表3.1 at89c51主要功能描述3.2.3 管腳說明vcc:供電電壓。gnd:接地。p0口:p0口為一個(gè)8位漏級(jí)開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能

19、接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出其特

20、殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,如下表所示:表3-2 at89c51特殊功能表:端口引腳第二功能p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2/int0(外部中斷0)p3.3/int1(外部中斷1)p3.4t0(記時(shí)器0外部輸入)p3.5t1(記時(shí)器1外部輸入)p3.6

21、/wr(外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7/rd(外部數(shù)據(jù)存儲(chǔ)器讀選通)p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。ale/prog:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指

22、令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。/psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。/ea/vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2:來自反

23、向振蕩器的輸出。3.2.4 芯片擦出整個(gè)perom陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ale管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,at89c51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。3.2.5 空閑節(jié)電模式at89c51有兩種可用軟件編程的省電模式,它們是空閑模式和掉電工作模式。

24、這兩種方式是控制專用寄存器pcon(電源控制寄存器)中的pd(pcon.1)和idl(pcon.0)位來實(shí)現(xiàn)的。pd是掉電模式,當(dāng)pd=1時(shí),激活掉電工作模式,單片機(jī)進(jìn)入掉電工作狀態(tài),idl是空閑等待狀態(tài),當(dāng)idl=1時(shí),激活空閑工作模式,單片機(jī)進(jìn)入睡眠狀態(tài),如需同時(shí)進(jìn)入兩種工作模式,即pd和idl同時(shí)為1,則先激活掉電工作模式。在空閑工作模式狀態(tài),cpu保持睡眠狀態(tài)而所有片內(nèi)的外設(shè)仍保持激活狀態(tài),這種方式由軟件產(chǎn)生。此時(shí),片內(nèi)ram和所有特殊功能寄存器的內(nèi)容保持不變??臻e模式可由任何允許的中斷請(qǐng)求或者硬件復(fù)位終止。終止空閑工作模式的方法有兩種其一是任何一條被允許中斷的事件被激活,idl(pc

25、on.0)被硬件清除,即刻終止空閑工作模式。程序會(huì)首先響應(yīng)中斷,進(jìn)入中斷服務(wù)程序,執(zhí)行完中斷服務(wù)程序并緊隨reti(中斷返回)指令后,下一條要執(zhí)行的指令就是使單片機(jī)進(jìn)入空閑模式那條指令后面的一條指令。其二是通過硬件復(fù)位也可以將空閑工作模式終止。需要注意的是,當(dāng)由硬件復(fù)位來終止空閑工作模式時(shí),cpu通常是從激活模式那條指令的下一條指令開始繼續(xù)執(zhí)行程序的,要完成內(nèi)部復(fù)位操作,硬件復(fù)位脈沖要保持兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘周期)有效,在這種情況下,內(nèi)部禁止cpu訪問片內(nèi)ram,而允許訪問其他端口。為了避免對(duì)端口產(chǎn)生意外寫入,激活空閑模式的那條指令的后一條指令不應(yīng)是一條對(duì)端口或者外部存儲(chǔ)器的寫入指令。3.

26、2.6 掉電模式在掉電模式下,振蕩器停止工作,進(jìn)入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)ram和特殊功能寄存器的內(nèi)容在終止掉電模式前被凍結(jié)。推出掉電模式的唯一方法是硬件復(fù)位。復(fù)位后將重新定義全部特殊功能寄存器但不改變r(jià)am中的內(nèi)容,在vcc恢復(fù)到正常工作電平前,復(fù)位應(yīng)無效,且必須保持一定時(shí)間以使振蕩器重新啟動(dòng)并且穩(wěn)定的工作。空閑和掉電模式外部引腳狀態(tài)如表2-3所示:表3-3 外部引腳狀態(tài)表模式空閑模式空閑模式掉電模式掉電模式程序存儲(chǔ)器內(nèi)部外部?jī)?nèi)部外部ale1100/prog1100p0數(shù)據(jù)浮空數(shù)據(jù)浮空p1數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)p2數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)p3浮空浮空數(shù)據(jù)數(shù)據(jù)3.2.7 程序儲(chǔ)存器的加密a

27、t89c51可使用對(duì)芯片上的三個(gè)加密位lb1、lb2、lb32進(jìn)行編程(p)或者不進(jìn)行編程(u)。當(dāng)加密位lb1被編程時(shí),在復(fù)位期間,ea斷的邏輯電平被采樣并鎖存,如果單片機(jī)上電后一直沒有服位,則鎖存起的初始值是一個(gè)隨機(jī)數(shù),這個(gè)隨機(jī)數(shù)會(huì)保存到真正復(fù)位為止。3.2.8 at89c51的極限參數(shù)表3-4 極限參數(shù)表工作溫度-55c to +125c儲(chǔ)藏溫度-65c to +150c任一引腳對(duì)地電壓-1.0v to +7.0 v最高工作電壓6.0v直流輸出電流15.0ma3.3 lcd1602液晶顯示模塊3.3.1 顯示器介紹顯示器是最常用的輸出設(shè)備,其種類繁多,但在單片機(jī)系統(tǒng)設(shè)計(jì)中最常用的是發(fā)光二

28、極管顯示器(led)和液晶顯示器(lcd)兩種。由于這兩種顯示器結(jié)構(gòu)簡(jiǎn)單,價(jià)格便宜,接口容易實(shí)現(xiàn),因而得到廣泛的應(yīng)用。發(fā)光二極管led,組成的顯示屏,每個(gè)點(diǎn)都是一個(gè)或多個(gè)發(fā)光二極管,通過控制電路控制二極管的亮與滅來控制點(diǎn)的發(fā)光,從而使整個(gè)大屏幕顯示圖案。 液晶顯示器lcd最常見的就是tft類型的,它是由光源,液晶光柵,和控制芯片組成,他的光源是常亮的白色強(qiáng)光,當(dāng)光線通過液晶光柵(液晶屏)的時(shí)候,通過電壓改變液晶顆粒濾光方向,從而改變每個(gè)點(diǎn)的顏色和強(qiáng)度來顯示圖案。液晶顯示器分很多種類,按顯示方式可分為段式,行點(diǎn)陣式和全點(diǎn)陣式。段式與數(shù)碼管類似,行點(diǎn)陣式一般是英文字符,全點(diǎn)陣式可顯示任何信息, 如

29、漢字、圖形、圖表等。兩者之間的區(qū)別:(1)二極本身發(fā)光, 液晶本身不發(fā)光,只是透射光。 (2)二極管體積大,圖像質(zhì)量一般,適合作室外大屏幕,價(jià)格較低。液晶成本較高,面積無法做得很大,但圖像質(zhì)量很好,適合做顯示器。 (3)二極管耗電大,液晶耗電小。(4)二極管圖像刷新率低,液晶的高。二者的檔次相差比較大,一般來講在一些圖像簡(jiǎn)單,對(duì)成本控制較嚴(yán)格的場(chǎng)合,用二極管,比如商場(chǎng)、銀行等服務(wù)部門的電子提示窗,街道、百貨公司外面的廣告宣傳窗;而液晶一般都是作計(jì)算機(jī)顯示器、電視、手持設(shè)備等對(duì)圖像質(zhì)量要求高的場(chǎng)合。下面介紹lcd1602液晶顯示的結(jié)構(gòu)、工作原理及其接口電路。市面上字符液晶絕大多數(shù)是基于hd447

30、80液晶芯片的,控制原理是完全相同的,因此hd44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。字符型lcd通常有14條引腳線或16條引腳線的lcd,多出來的2條線是背光電源線vcc(15腳)和地線gnd(16腳),其控制原理與14腳的lcd完全一樣,本設(shè)計(jì)采用lm016l同時(shí)顯示16x02即32個(gè)字符(16列2行),各引腳功能定義如下表所示:管腳號(hào)名稱電平功能描述1vss0v電源地2vdd5.0v電源正極3vee液晶顯示偏壓信號(hào)4rsh/lh:數(shù)據(jù)線上為數(shù)據(jù)信號(hào),l:數(shù)據(jù)線上為指令信號(hào)5rwh/lh:讀數(shù)據(jù)模式,l:寫數(shù)據(jù)信號(hào)6eh/l使能信號(hào)端714db0db7h/l數(shù)據(jù)線

31、表3-5 lm016l引腳說明表hd44780內(nèi)置了ddram、cgrom和cgram。ddram就是顯示數(shù)據(jù)ram,用來寄存待顯示的字符代碼。共80個(gè)字節(jié),其地址和屏幕的對(duì)應(yīng)關(guān)系如下表:顯示位置123456740ddram地址第一行00h01h02h03h04h05h06h27h第二行40h41h42h43h44h45h46h67h表3-6 ddram地址與屏幕對(duì)應(yīng)關(guān)系要在lcd1602屏幕的第一行第一列顯示一個(gè)a字,就要向ddram的00h地址寫入“a”字的代碼就行了。但具體的寫入是要按lcd模塊的指令格式來進(jìn)行的。在1602中我們就用前16個(gè)就行了。第二行也一樣用前16個(gè)地址。對(duì)應(yīng)如下:

32、00h01h02h03h04h05h06h07h08h09h0ah0bh0ch0dh0eh0fh40h41h42h43h44h45h46h47h48h49h4ah4bh4ch4dh4eh4fh表3-7 ddram地址與顯示位置的對(duì)應(yīng)關(guān)系文本文件中每一個(gè)字符都是用一個(gè)字節(jié)的代碼記錄的。一個(gè)漢字是用兩個(gè)字節(jié)的代碼記錄。在pc上我們只要打開文本文件就能在屏幕上看到對(duì)應(yīng)的字符是因?yàn)樵诓僮飨到y(tǒng)里和bios里都固化有字符字模。字模就代表了是在點(diǎn)陣屏幕上點(diǎn)亮和熄滅的信息數(shù)據(jù)。例如“a”01110 10001 10001 10001 11111 10001 10001圖3-3 a的字模上圖左邊的數(shù)據(jù)就是字模數(shù)

33、據(jù),右邊就是將左邊數(shù)據(jù)用“”代表0,用“”代表1。在lcd模塊上也固化了字模存儲(chǔ)器,這就是cgrom和cgram。hd44780內(nèi)置了192個(gè)常用字符的字模,存于字符產(chǎn)生器cgrom(character generator rom)中,另外還有8個(gè)允許用戶自定義的字符產(chǎn)生ram,稱為cgram(character generator ram)。下圖說明了cgrom和cgram與字符的對(duì)應(yīng)關(guān)系。表38 cgrom中字符碼與字模關(guān)系對(duì)照表從上圖可以看出,“a”字的對(duì)應(yīng)上面高位代碼為0100,對(duì)應(yīng)左邊低位代碼為0001,合起來就是01000001,也就是41h??梢娝拇a與我們pc中的字符代碼是基

34、本一致的。因此我們?cè)谙騞dram寫c51字符代碼程序時(shí)甚至可以直接用p1a這樣的方法。pc在編譯時(shí)就把“a”先轉(zhuǎn)為41h代碼了。在lcd顯示電路中at89c51的 p0 口作為8 位數(shù)據(jù)的輸出端,p1.5、p1.6、p1.7 作為控制信號(hào)的輸出端,連接完成的電路如圖3.16所示。該顯示器的rs,rw,e端與p2相連,引腳的作用分別是:rs=0輸入指令,rs=1輸入數(shù)據(jù),rw=0向lcd寫入指令或數(shù)據(jù),rw=1從lcd讀取信息,e是使能信號(hào)。d0d7與p0相連是數(shù)據(jù)總線。respack-8排阻,阻值為10k,作為上拉電阻。圖3.4 lcd1602液晶顯示led發(fā)光二極管顯示電路如下,正極接p24

35、,負(fù)極接地,當(dāng)p24為低電平時(shí),發(fā)光二極管不亮,當(dāng)p24為高電平時(shí),發(fā)光二極管亮。圖3.5 發(fā)光二極管電路3.4 3*3矩陣鍵盤模塊本設(shè)計(jì)共有9個(gè)設(shè)置按鍵,分別為開始,暫停,改變節(jié)次,a加1分,a加2分,a加3分,b加1分,b加2分,b加3分。分別表示啟動(dòng)系統(tǒng)倒計(jì)時(shí),暫停倒計(jì)時(shí),改變節(jié)次顯示,a隊(duì)比分加1分,a隊(duì)比分加2分,a隊(duì)比分加3分,b隊(duì)比分加1分,b隊(duì)比分加2分,b隊(duì)比分加3分,按鍵與p1口相接。其電路圖如圖3.6。圖3.6 3*3矩陣鍵盤3輸入與門and_3用來控制p10,p11,p12三列中斷,當(dāng)這三列中任何一列有鍵按下時(shí),產(chǎn)生低電平,與門輸出為0,表示有鍵按下;反之,當(dāng)這三列中沒

36、有任一按鍵被按下時(shí),與門輸入全1,輸出為1,表示沒有鍵被按下。其電路圖如圖3.7。圖3.7 3輸入與門and_33.5 時(shí)鐘電路模塊時(shí)鐘電路在單片機(jī)系統(tǒng)中起著非常重要的作用,是為保證系統(tǒng)正常工作的基礎(chǔ),在一個(gè)單片機(jī)系統(tǒng)中,時(shí)鐘是保障系統(tǒng)正常工作的基準(zhǔn)震蕩定時(shí)信號(hào)。圖3.8是晶振電路,主要有晶振和外圍電路組成,晶振頻率大小決定單片機(jī)的快慢,我們這里采用的是12mhz,另外有2個(gè)33p的電容。其中接地用來削減諧波對(duì)電路的穩(wěn)定性的影響。圖3.8 時(shí)鐘電路3.6 復(fù)位電路模塊單片機(jī)系統(tǒng)的復(fù)位電路我們采用的是上電加按鈕的復(fù)位電路形式,電阻采用220歐的阻值,采用22的電容。其電路連接方式如圖3.9。當(dāng)單

37、片機(jī)的復(fù)位引腳reset出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。圖3.9 復(fù)位電路3.7 元件清單單片機(jī)at89c511液晶顯示器lm016l1排阻respack-81按鍵9 與門and_31發(fā)光二極管led-yellow1電阻10k1晶振11.0592m1電容33pf2電容10uf14系統(tǒng)軟件設(shè)計(jì)籃球比賽計(jì)分計(jì)時(shí)器其實(shí)就是一個(gè)計(jì)數(shù)器,本課程設(shè)計(jì)就是利用單片機(jī)中的定時(shí)/計(jì)數(shù)器來實(shí)現(xiàn)其計(jì)時(shí)的功能,利用按鍵實(shí)現(xiàn)其計(jì)分的功能。在51單片機(jī)中有兩個(gè)16位的定時(shí)/計(jì)數(shù)器to、t1,分別由th0、tl0和th1、tl1組成,它們均是8位寄存器,在特殊功能寄存器中占地址8ah-8dh。它們用于

38、存放定時(shí)或計(jì)數(shù)的初始值。此外,內(nèi)部還有一個(gè)8位的方式寄存器tmod和一個(gè)8位的控制寄存器tcon,用于選擇和控制定時(shí)/計(jì)數(shù)器的工作,其格式見下面兩表:表4.1 方式寄存器tmodgatec/tm1m0gatec/tm1m0門控開關(guān)計(jì)數(shù)/定時(shí)方式選擇門控開關(guān)計(jì)數(shù)/定時(shí)方式選擇 表4.2 控制寄存器tcontf1tr1tf0tr0ie1it1ie0it0t1請(qǐng)求有無t1工作啟/停t0請(qǐng)求有無t0工作啟/停int1請(qǐng)求有無int1方式下沿int0請(qǐng)求有無int0方式下沿籃球比賽計(jì)分器利用單片機(jī)的計(jì)數(shù)器進(jìn)行工作,計(jì)數(shù)器隊(duì)脈沖電平進(jìn)行加一計(jì)數(shù),直至計(jì)滿回零。作為可編程器件,單片機(jī)中的定時(shí)/計(jì)數(shù)器初始化編

39、程步驟如下:根據(jù)定時(shí)時(shí)間要求或計(jì)數(shù)要求計(jì)算計(jì)數(shù)器初值:將工作方式控制字寫入tmod寄存器;將計(jì)數(shù)初值寫入thx和tlx寄存器;啟動(dòng)定時(shí)器/計(jì)數(shù)器,即將trx置位。如果工作于中斷方式,需置位ea(中斷總開關(guān))及etx(允許定時(shí)/計(jì)數(shù)器中斷),并編寫中斷服務(wù)程序。本次課程設(shè)計(jì)程序是用c語(yǔ)言編寫的,因?yàn)樵O(shè)計(jì)的功能較為簡(jiǎn)單,所以程序中只用到一個(gè)主程序就實(shí)現(xiàn)了其功能。本單片機(jī)的按鍵采用矩陣形式,3*3的行列矩陣,共9個(gè)按鍵,可以完成多種控制功能。鍵盤控制流程如下:開始有按鍵?獲取鍵值顯示鍵值按鍵處理返回yn系統(tǒng)初始化程序包括定時(shí)器to、t1初始化、lcd初始化、全局變量初始化,初始化步驟如下:開始定時(shí)器

40、t0、t1初始化lcd初始化全局變量初始化返回系統(tǒng)啟動(dòng)時(shí),先要進(jìn)行定時(shí)器t0,t1及l(fā)cd的初始化,t0控制每一小節(jié)12分鐘和24秒的倒計(jì)時(shí)時(shí)間,t1控制按鍵延時(shí)掃描。按鍵與p1口相接,讀取p1口的數(shù)據(jù)判斷是否有按鍵按下,若沒有按鍵按下則繼續(xù)返回讀取p1口的數(shù)據(jù)。若有按鍵按下就判斷是哪個(gè)鍵按下,各個(gè)鍵的作用是:開始,暫停,節(jié)次加一;a隊(duì)加一分,a隊(duì)加二分,a隊(duì)加三分;b隊(duì)加一分,b隊(duì)加二分,b隊(duì)加三分。等待按鍵釋放并將時(shí)間,分?jǐn)?shù),節(jié)次經(jīng)p0,p2口輸出在lcd上顯示。每一節(jié)12分鐘和24秒倒計(jì)時(shí)結(jié)束時(shí),led發(fā)光二極管閃爍報(bào)警,其總的流程圖如下圖4.1。定時(shí)器t0,t1,lcd初始化顯示當(dāng)前時(shí)

41、間讀取p1口的值是否有鍵按下?哪個(gè)鍵按下?y開始暫停節(jié)次a加一a加二a加三b加一b加二b加三等按鍵釋放將時(shí)間、分?jǐn)?shù)、節(jié)次經(jīng)p0、p2口輸出顯示n開始圖4.1 總的程序流程圖5 protues isis軟件仿真5.1 proteus運(yùn)行流程proteus isis的工作界面是一種標(biāo)準(zhǔn)的windows界面,如圖所示。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對(duì)象選擇按鈕、預(yù)覽對(duì)象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對(duì)象選擇器窗口、圖形編輯窗口。運(yùn)行proteus程序后,進(jìn)入軟件的主界面。通過左側(cè)工具欄中的p(從庫(kù)中選擇元件命令)命令,在pick devices 左側(cè)窗口中選擇所需

42、元件的關(guān)鍵字,然后放置元件并調(diào)整方向和位置以及參數(shù)設(shè)置,最后進(jìn)行連線。圖5.1 proteus isis的工作界面5.2 proteus功能仿真proteus仿真時(shí),單片機(jī)需要加載程序,加載程序?yàn)?hex文件。本設(shè)計(jì)利用keil vision2,在新建keil項(xiàng)目時(shí)選擇at89c52單片機(jī)作為cpu,將c語(yǔ)言源程序?qū)?,在“options for target”對(duì)話窗口中,選中“output”選項(xiàng)中的“create hex file”,編譯鏈接后就可以生成 .hex文件。在proteus isis中,選中at89c51并單擊鼠標(biāo)左鍵,對(duì)at89c51進(jìn)行設(shè)置,設(shè)置單片機(jī)時(shí)鐘頻率為12mhz,按

43、照正確的文件路徑加載.hex文件。對(duì)單片機(jī)設(shè)置完畢后就可以開始仿真了。仿真過程中如有硬件問題可在proteus isis中直接修改,如有軟件問題可在keil vision2中直接修改,通過keil與proteus的聯(lián)合調(diào)試就可以得到滿意的結(jié)果。最后載入hex文件后可以進(jìn)行模擬仿真,可以全速運(yùn)行也可以單步調(diào)試運(yùn)行。單擊play按鈕,進(jìn)入仿真狀態(tài)仿真按鈕如圖5-2所示,其中按鈕1為開始運(yùn)行,按鈕2為step,按鈕3為暫停,按鈕4為停止。圖5.2 仿真按鈕單擊運(yùn)行按鈕,啟動(dòng) proteus isis 仿真。5.3 proteus仿真結(jié)果圖5.3 仿真結(jié)果6 結(jié)論在本次畢業(yè)設(shè)計(jì),我通過基于典型單片機(jī)a

44、t89c51的設(shè)計(jì)和應(yīng)用,對(duì)于單片機(jī)工作原理,功能有了宏觀的了解,并對(duì)單片機(jī)匯編程序的應(yīng)用有了新的、進(jìn)一步的認(rèn)識(shí)。在本次設(shè)計(jì)的過程中,我發(fā)現(xiàn)很多的問題,給我的感覺就是下手很難,很不順手,看似很簡(jiǎn)單的電路,要?jiǎng)邮职阉o設(shè)計(jì)出來,是很難的一件事,主要原因是我們沒有經(jīng)常動(dòng)手設(shè)計(jì)過電路。另外單片機(jī)系統(tǒng)的知識(shí)似懂非懂,而且很多知識(shí)當(dāng)時(shí)弄明白了,現(xiàn)在要用的時(shí)候又不記得,造成我用了大量的時(shí)間去查閱各種資料和程序命令,因此整個(gè)過程時(shí)間安排不合理。由于設(shè)計(jì)的計(jì)劃沒有安排好,設(shè)計(jì)的時(shí)間極為倉(cāng)促,尤其是在硬件調(diào)試的過程中出現(xiàn)了很大的問題。另外資料的查找也是一大難題,這就要求我們?cè)谝院蟮膶W(xué)習(xí)中,應(yīng)該注意到這一點(diǎn),更重

45、要的是我們要學(xué)會(huì)把從書本中學(xué)到的知識(shí)和實(shí)際的電路聯(lián)系起來,這不論是對(duì)我們以后的就業(yè)還是學(xué)習(xí),都會(huì)起到很大的促進(jìn)和幫助。在利用單片機(jī)設(shè)計(jì)lcd液晶顯示屏的整個(gè)設(shè)計(jì)過程中,從電路的設(shè)計(jì),元器件的采購(gòu),電路的調(diào)試,程序的編寫以及最后的電路板的制作,我都親自參與了設(shè)計(jì)與制作,這對(duì)我對(duì)于理論和實(shí)際相結(jié)合有了新的認(rèn)識(shí)。參考文獻(xiàn)1 郭天祥新概念51單片機(jī)c語(yǔ)言教程:入門、提高、開發(fā)、拓展全攻略北京:電子工業(yè)出版社,20092高衛(wèi)東51單片機(jī)原理與實(shí)踐.北京航空航天大學(xué)出版社,20113彭偉單片機(jī)c語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例電子工業(yè)出版社,20114潘永雄新編單片機(jī)原理及應(yīng)用西安電子科技大學(xué)出版社,20085張

46、毅剛,彭喜元新編mcs-51單片機(jī)應(yīng)用設(shè)計(jì),20096杜洋愛上單片機(jī)人民郵電出版社,20127于永51單片機(jī)c語(yǔ)言常用模塊與綜合系統(tǒng)設(shè)計(jì)電子工業(yè)出版社,20128張俊匠人手記:一個(gè)單片機(jī)工作者的實(shí)踐與思考北京航空航天大學(xué)出版社,20089周航慈單片機(jī)應(yīng)用程序設(shè)計(jì)北京航空航天大學(xué)出版社,200310牛昱光.單片機(jī)原理與接口技術(shù).電子工業(yè)出版社,200811蔣力培.單片機(jī)微機(jī)系統(tǒng)實(shí)用教程.機(jī)械工業(yè)出版社,200712王為青,程國(guó)鋼.單片機(jī)keilcx5應(yīng)用開發(fā)技術(shù).人民郵電出版社,200713賈巍.單片機(jī)仿真開發(fā)軟件的應(yīng)用.中國(guó)水運(yùn)出版社,200714唐德禮,王襄. 單片機(jī)學(xué)習(xí)機(jī)及編程器的設(shè)計(jì)與制

47、作.電子工業(yè)出版社,200515俞時(shí).單片機(jī)集成仿真系統(tǒng)的開發(fā).中國(guó)紡織大學(xué)學(xué)報(bào),201116趙克剛,易帝文,張治強(qiáng),萬為.單片機(jī)仿真實(shí)驗(yàn)平臺(tái)設(shè)計(jì)實(shí)踐.科技咨詢導(dǎo)報(bào).2007致謝值此論文完成之際,謹(jǐn)向給予我指導(dǎo)、關(guān)心和幫助的老師、同學(xué)、朋友、親人表示最衷心的感謝。本研究及學(xué)位論文是在我的導(dǎo)師謝道平老師的親切關(guān)懷和悉心指導(dǎo)下完成的。他嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),以及對(duì)細(xì)節(jié)問題的深思及解決辦法,深深地感染和激勵(lì)著我,使我對(duì)待問題、解決問題的態(tài)度更加嚴(yán)謹(jǐn)。從課題的選擇到項(xiàng)目的最終完成,謝老師都始終給予我細(xì)心的指導(dǎo)和不懈的支持。在此謹(jǐn)向謝老師致以誠(chéng)摯的謝意和崇高的敬意!在此,我

48、還要感謝在一起愉快的度過本科生活的信工2班各位同學(xué),正是由于你們的幫助和支持,我才能克服一個(gè)一個(gè)的困難和疑惑,直至本文的順利完成。在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無言的幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意!最后我還要感謝培養(yǎng)我長(zhǎng)大含辛茹苦的父母,謝謝你們!附錄主程序:#include#include#define uchar unsigned char#define uint unsigned intsbit led=p24;/每節(jié)結(jié)束時(shí)警報(bào)extern void initialize_lcd(); /lcd初始化extern

49、void set_lcd_pos(uchar pos);/向lcd寫地址extern void write_lcd_data(uchar dat);/向lcd寫數(shù)據(jù)extern void print_1602();/顯示固定字符uchar tcount_t0=0; /定時(shí)器0的變量uchar tcount_t1=0; /定時(shí)器1的變量uchar keyboardcode=0xef,0xdf,0xbf;/按鍵掃描列char t_24=24;char t_12_fen=12;char t_12_miao=0;uchar jie=1;uchar a_bifen=0,b_bifen=0;uchar k

50、ey_result=0;/讀到的按鍵值 08uchar keypressdown=0;/按鍵按下標(biāo)志uchar flag_led=0;/燈亮標(biāo)志uchar flag_finish=0;/一節(jié)次結(jié)束標(biāo)志 void delay_s(uint ms)/1ms延時(shí)uchar i;while(ms-)for(i=0;i120;i+);uchar key_scan() /鍵盤掃描uchar result_temp=0;uchar lie,hang;ex0=0;for(lie=0;lie3;lie+)p1=keyboardcodelie;result_temp=p1&0x0f;if(result_temp!=0x0f)switch(result_temp)case 0x0e:hang=0;break;case 0x0d:hang=1;break;case 0x0b:hang=2;break;break;p1=0x0f;ex0=1;return hang*3+lie;void process(uchar po)/對(duì)讀到的按鍵值進(jìn)行處理if(flag_finish=1)flag_finish=0;tr0=1;t_24=23;t_12_fen=11;t_12_miao=58;switch(po)case 0:tr0=1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論