




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本科畢業(yè)設計題 目 lcd1602籃球比賽計時計分器 學 院 管理科學與工程學院 專 業(yè) 電子信息工程 摘要本課題設計采用單片機at89c51為核心,設計出籃球計分計時系統(tǒng),可以實現單節(jié)比賽12分鐘倒計時、24秒進攻時間倒計時、開始/暫停倒計時、改變節(jié)次、單節(jié)結束報警、兩隊比分分別加1分、加2分、加3分等各種顯示效果。本系統(tǒng)利用lcd1602液晶顯示器作為顯示器件,顯示節(jié)次、12分鐘倒計時、24秒倒計時、主客隊雙方比分,通過3*3矩陣鍵盤來控制計時器和計數器工作,單節(jié)比賽結束時led發(fā)光二極管閃爍報警。該設計采用lcd1602液晶顯示器,因為其微功耗、小體積、使用靈活等諸多優(yōu)點在袖珍式儀表和低
2、功耗應用系統(tǒng)中得到越來越廣泛的應用,通過仿真基本上實現了上述功能,操作簡單,性能穩(wěn)定,符合一般籃球計分器的工作要求。關鍵詞:at89c51;矩陣鍵盤;lcd1602;計數器;計時器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)的主要研究內容22系統(tǒng)分析32.1 系統(tǒng)構成32.2 系統(tǒng)工作原理33系統(tǒng)硬件設計43.1 系統(tǒng)硬件總體設計43.2 at89c51
6、單片機53.2.1 at89c51簡介53.2.2 主要特性63.2.3 管腳說明73.2.4 芯片擦出93.2.5 空閑節(jié)電模式93.2.6 掉電模式103.2.7 程序儲存器的加密113.2.8 at89c51的極限參數113.3 lcd1602液晶顯示模塊113.3.1顯示器介紹113.4 3*3矩陣鍵盤模塊153.5 時鐘電路模塊163.6 復位電路模塊173.7 元件清單174系統(tǒng)軟件設計185 protues isis軟件仿真225.1 proteus運行流程225.2 proteus功能仿真225.3 proteus仿真結果236結論24參考文獻25致謝26附錄271引言進入21
7、世紀,伴隨著電子、信息技術的應用與迅速普及,人們對電子技術的要求越來越高。當今社會,科學技術日新月異,時代前進的步伐越邁越寬,應用自動化設備,計算機處理,現代化通訊,數字化信息,現代化顯示設備等高新技術而建立的現代化智能。目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業(yè)自動化過程的實時控制和數據處理,廣泛使用的各種智能ic卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械了。因此,單片機
8、的學習、開發(fā)與應用將造就一批計算機應用與智能化控制的科學家、工程師。通過此次基于單片機設計的籃球計時計分系統(tǒng),我們可以更清楚詳細的了解單片機程序設計的基本指令功能、編程步驟和技巧來講述單片機編程,并對at89s51單片機的結構和原理進行講述,以及基于單片機開發(fā)應用的相關芯片的工作原理,和相關外圍電路的設計和調試過程進一步了解,有助于今后的工作和學習生活。 1.1 本課題選取的目的及意義體育比賽計時計分系統(tǒng)是對體育比賽過程中所產生的時間,比分等數據信息進行快速采集記錄、加工處理、傳遞和利用的系統(tǒng)。根據運動項目的不同,比賽規(guī)則要求也不同,體育比賽的計時計分系統(tǒng)包括測量類,評分類,命中類,制勝類和得
9、分類等多種類型。籃球比賽是根據運動隊員在規(guī)定的比賽時間里得分多少來決定勝負的,因此,籃球比賽的計時計分系統(tǒng)是一種得分類型的系統(tǒng)。籃球比賽的計時計分系統(tǒng)由計時器、計分器等多種電子設備組成的,同時,根據目前高水平籃球比賽要求,完善的籃球比賽計時計分系統(tǒng)設備應能夠與現場成績處理,現場大屏幕,電視轉播車等多種設備相聯,以便實現激烈的比賽現場感和表演娛樂等功能目標。由于單片機的集成度高,功能強,通用性好,特別是它具有體積小,重量輕,能耗低,價格便宜,可靠性高,抗干擾能力強和使用方便等獨特的優(yōu)點,使單片機迅速得到了推廣應用,目前已經成為測量控制應用系統(tǒng)中的優(yōu)選機種和新電子產品的關鍵部位。世界各大電氣廠家,
10、測控技術企業(yè),機電行業(yè),競相把單片機應用于產品更新,作為實現數字化,智能化的核心部件?;@球計時計分器就是以單片機為核心的計時計分系統(tǒng),由計時器,計分器,綜合控制器和24秒控制器等組成。1.2 本系統(tǒng)的主要研究內容隨著單片機在各個領域的廣泛應用,許多用單片機做控制的球賽計時計分系統(tǒng)也應運而產生,如用單片機控制lcd液晶顯示器計時計分器,用單片機控制led七段顯示器計時計分器等?;@球比賽計時計分器是為了解決籃球比賽時計分與計時準確的問題。此裝置利用單片機at89c51完成了計時和計分的功能。本文詳細地介紹了系統(tǒng)硬件與軟件的設計過程,采用該裝置可根據實際情況進行比分修改和時間的準確顯示,具有低功耗,
11、可靠性,安全性以及低成本等特點。本次設計用由at89c51編程控制lcd作顯示的球賽計時計分系統(tǒng)。該系統(tǒng)具有賽程時間倒計時、暫停,及時刷新甲、乙雙方的成績等功能。它具有價格低廉,性能穩(wěn)定,操作方便并且易于攜帶等特點。廣泛適合各類學?;蛘咝⌒蛨F體作為賽程計時計分。通過本次基于c51系列籃球計時計分器的設計,可以了解、熟悉有關單片機開發(fā)設計的過程,并加深對單片機的理解和應用以及掌握單片機與外圍接口的一些方法和技巧,這主要表現在以下一些方面:(1) 籃球賽計時計分系統(tǒng)包含了8051系列單片機的最小應用系統(tǒng)的構成,同時在此基礎上擴展了一些使用性強的外圍接口。(2) 可以了解到lcd顯示器的結構、工作原
12、理以及這種顯示器的接口實例與具體連接與編程方法。(3) 怎樣利用串行口來擴展顯示接口等。2系統(tǒng)分析 2.1系統(tǒng)構成主機顯示電路復位電路鍵盤電路時鐘電路報警電路圖2.1 系統(tǒng)構成框圖本系統(tǒng)的基本電路模塊有:51單片機控制模塊,時鐘電路模塊,復位電路模塊,3*3矩陣鍵盤電路模塊,lcd顯示電路模塊。2.2系統(tǒng)工作原理打開proteus仿真電路圖,按下軟件下方的“開始”圖標,啟動系統(tǒng),再按下矩陣鍵盤上第一行第一列的“開始”按鍵,系統(tǒng)開始工作,這時,lcd1602液晶顯示器依次從上到下分別顯示“1”、“12:00”、“24”、“a:000b:000”,分別表示“第1節(jié)”、“每一節(jié)的比賽時間12分鐘倒計
13、時”、“每一隊的進攻時間倒計時24秒”、“a和b兩隊的比分”。當按下第一行第二列的“暫停”鍵時,兩個倒計時都暫停,再按下“開始”按鍵,倒計時繼續(xù)進行,當第一節(jié)比賽結束時,12分鐘倒計時和24秒倒計時到0,這是led發(fā)光二極管快速地閃爍幾次,這時按下第一行第三列的“改變節(jié)次”按鍵,節(jié)次加1,到第二節(jié),依次可以顯示第1節(jié)到第4節(jié)。lcd1602液晶顯示器中下一行的a隊與b隊的比分可以通過矩陣鍵盤第二行第三行的6個按鍵分別控制,依次為a隊加1分、a隊加2分、a隊加3分、b隊加1分、b隊加2分、b隊加3分。通過以上操作,從而實現籃球計時計分器的基本操作。3系統(tǒng)硬件設計3.1 系統(tǒng)硬件總體設計at89c
14、51控制器時鐘電路復位電路3*3矩陣鍵盤電路lcd液晶顯示電路led二極管報警圖3.1 系統(tǒng)整體電路圖將設計的通信系統(tǒng)硬件進行模塊化設計,主要由以下模塊構成:a : at89c51 單片機最小系統(tǒng),控制的核心部件;b : 3*3矩陣鍵盤電路;c : lcd1602液晶顯示電路;d : led發(fā)光二極管報警電路;e : 復位電路;f : 時鐘電路。3.2 at89c51單片機3.2.1 at89c51簡介mcs51是指由美國intel公司生產的一系列單片機的總稱,這一系列單片機包括了很多品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產品,該系列其
15、它單片機都是在8051的基礎上進行功能的增、減、改變而來的,所以人們習慣于用8051來稱呼mcs51系列單片機,而8031是前些年在我國最流行的單片機,所以很多場合會看到8031的名稱。intel公司將mcs51的核心技術授權給了很多其它公司,所以有很多公司在做以8051為核心的單片機,當然,功能或多或少有些改變,以滿足不同的需求,其中89c51就是這幾年在我國非常流行的單片機,它是由美國atmel公司開發(fā)生產的。本課題中用到的芯片就是at系列中的at89c51單片機芯片。at89c51是一個低電壓,高性能cmos 8位單片機,片內含4k bytes的可反復擦寫的flash只讀程序存儲器和12
16、8 bytes的隨機存取數據存儲器(ram),器件采用atmel公司的高密度、非易失性存儲技術生產,兼容標準mcs-51指令系統(tǒng),內置功能強大的微型計算機的at89c51提供了高性價比的解決方案。at89c51具有pdip、pqfp/tqfp及plcc等三種封裝形式,以適應不同產品的需求。它是一個低功耗高性能單片機,40個引腳,32個外部雙向輸入/輸出(i/o)端口,同時內含2個外中斷口,2個16位可編程定時計數器,2個全雙工串行通信口,at89c51可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和flash存儲器結合在一起,特別是可反復擦寫的flash存儲器可有效地降低開發(fā)成本
17、。如圖所示,圖3.2為at89c51單片機基本構造,其基本性能介紹如下:圖3.2 at89c51引腳圖at89c51本身內含40個引腳,32個外部雙向輸入/輸出(i/o)端口,同時內含2個外中端口,2個16位可編程定時計數器,2個全雙工串行通信口,at89c51可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和flash存儲器結合在一起,特別是可反復擦寫的flash存儲器可有效地降低開發(fā)成本。3.2.2 主要特性at89c51的主要特性如下表所示:兼容mcs51指令系統(tǒng)4k可反復擦寫(1000次)flash rom32個雙向i/o口可編程uarl通道兩個16位可編程定時/計數器全靜
18、態(tài)操作0-24mhz1個串行中斷128x8bit內部ram兩個外部中斷源共6個中斷源可直接驅動led3級加密位低功耗空閑和掉電模式軟件設置睡眠和喚醒功能表3.1 at89c51主要功能描述3.2.3 管腳說明vcc:供電電壓。gnd:接地。p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。p1口:p1口是一個內部提供上拉電阻的8位雙向i/o口,p1口緩沖器能
19、接收輸出4ttl門電流。p1口管腳寫入1后,被內部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。p2口:p2口為一個內部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當p2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數據存儲器進行讀寫時,p2口輸出其特
20、殊功能寄存器的內容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。p3口:p3口管腳是8個帶內部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,如下表所示:表3-2 at89c51特殊功能表:端口引腳第二功能p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2/int0(外部中斷0)p3.3/int1(外部中斷1)p3.4t0(記時器0外部輸入)p3.5t1(記時器1外部輸入)p3.6
21、/wr(外部數據存儲器寫選通)p3.7/rd(外部數據存儲器讀選通)p3口同時為閃爍編程和編程校驗接收一些控制信號。rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。ale/prog:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, ale只有在執(zhí)行movx,movc指
22、令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。/psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/psen有效。但在訪問外部數據存儲器時,這兩次有效的/psen信號將不出現。/ea/vpp:當/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內部程序存儲器。注意加密方式1時,/ea將內部鎖定為reset;當/ea端保持高電平時,此間內部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。xtal2:來自反
23、向振蕩器的輸出。3.2.4 芯片擦出整個perom陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ale管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,at89c51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時器,計數器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。3.2.5 空閑節(jié)電模式at89c51有兩種可用軟件編程的省電模式,它們是空閑模式和掉電工作模式。
24、這兩種方式是控制專用寄存器pcon(電源控制寄存器)中的pd(pcon.1)和idl(pcon.0)位來實現的。pd是掉電模式,當pd=1時,激活掉電工作模式,單片機進入掉電工作狀態(tài),idl是空閑等待狀態(tài),當idl=1時,激活空閑工作模式,單片機進入睡眠狀態(tài),如需同時進入兩種工作模式,即pd和idl同時為1,則先激活掉電工作模式。在空閑工作模式狀態(tài),cpu保持睡眠狀態(tài)而所有片內的外設仍保持激活狀態(tài),這種方式由軟件產生。此時,片內ram和所有特殊功能寄存器的內容保持不變。空閑模式可由任何允許的中斷請求或者硬件復位終止。終止空閑工作模式的方法有兩種其一是任何一條被允許中斷的事件被激活,idl(pc
25、on.0)被硬件清除,即刻終止空閑工作模式。程序會首先響應中斷,進入中斷服務程序,執(zhí)行完中斷服務程序并緊隨reti(中斷返回)指令后,下一條要執(zhí)行的指令就是使單片機進入空閑模式那條指令后面的一條指令。其二是通過硬件復位也可以將空閑工作模式終止。需要注意的是,當由硬件復位來終止空閑工作模式時,cpu通常是從激活模式那條指令的下一條指令開始繼續(xù)執(zhí)行程序的,要完成內部復位操作,硬件復位脈沖要保持兩個機器周期(24個時鐘周期)有效,在這種情況下,內部禁止cpu訪問片內ram,而允許訪問其他端口。為了避免對端口產生意外寫入,激活空閑模式的那條指令的后一條指令不應是一條對端口或者外部存儲器的寫入指令。3.
26、2.6 掉電模式在掉電模式下,振蕩器停止工作,進入掉電模式的指令是最后一條被執(zhí)行的指令,片內ram和特殊功能寄存器的內容在終止掉電模式前被凍結。推出掉電模式的唯一方法是硬件復位。復位后將重新定義全部特殊功能寄存器但不改變ram中的內容,在vcc恢復到正常工作電平前,復位應無效,且必須保持一定時間以使振蕩器重新啟動并且穩(wěn)定的工作??臻e和掉電模式外部引腳狀態(tài)如表2-3所示:表3-3 外部引腳狀態(tài)表模式空閑模式空閑模式掉電模式掉電模式程序存儲器內部外部內部外部ale1100/prog1100p0數據浮空數據浮空p1數據數據數據數據p2數據數據數據數據p3浮空浮空數據數據3.2.7 程序儲存器的加密a
27、t89c51可使用對芯片上的三個加密位lb1、lb2、lb32進行編程(p)或者不進行編程(u)。當加密位lb1被編程時,在復位期間,ea斷的邏輯電平被采樣并鎖存,如果單片機上電后一直沒有服位,則鎖存起的初始值是一個隨機數,這個隨機數會保存到真正復位為止。3.2.8 at89c51的極限參數表3-4 極限參數表工作溫度-55c to +125c儲藏溫度-65c to +150c任一引腳對地電壓-1.0v to +7.0 v最高工作電壓6.0v直流輸出電流15.0ma3.3 lcd1602液晶顯示模塊3.3.1 顯示器介紹顯示器是最常用的輸出設備,其種類繁多,但在單片機系統(tǒng)設計中最常用的是發(fā)光二
28、極管顯示器(led)和液晶顯示器(lcd)兩種。由于這兩種顯示器結構簡單,價格便宜,接口容易實現,因而得到廣泛的應用。發(fā)光二極管led,組成的顯示屏,每個點都是一個或多個發(fā)光二極管,通過控制電路控制二極管的亮與滅來控制點的發(fā)光,從而使整個大屏幕顯示圖案。 液晶顯示器lcd最常見的就是tft類型的,它是由光源,液晶光柵,和控制芯片組成,他的光源是常亮的白色強光,當光線通過液晶光柵(液晶屏)的時候,通過電壓改變液晶顆粒濾光方向,從而改變每個點的顏色和強度來顯示圖案。液晶顯示器分很多種類,按顯示方式可分為段式,行點陣式和全點陣式。段式與數碼管類似,行點陣式一般是英文字符,全點陣式可顯示任何信息, 如
29、漢字、圖形、圖表等。兩者之間的區(qū)別:(1)二極本身發(fā)光, 液晶本身不發(fā)光,只是透射光。 (2)二極管體積大,圖像質量一般,適合作室外大屏幕,價格較低。液晶成本較高,面積無法做得很大,但圖像質量很好,適合做顯示器。 (3)二極管耗電大,液晶耗電小。(4)二極管圖像刷新率低,液晶的高。二者的檔次相差比較大,一般來講在一些圖像簡單,對成本控制較嚴格的場合,用二極管,比如商場、銀行等服務部門的電子提示窗,街道、百貨公司外面的廣告宣傳窗;而液晶一般都是作計算機顯示器、電視、手持設備等對圖像質量要求高的場合。下面介紹lcd1602液晶顯示的結構、工作原理及其接口電路。市面上字符液晶絕大多數是基于hd447
30、80液晶芯片的,控制原理是完全相同的,因此hd44780寫的控制程序可以很方便地應用于市面上大部分的字符型液晶。字符型lcd通常有14條引腳線或16條引腳線的lcd,多出來的2條線是背光電源線vcc(15腳)和地線gnd(16腳),其控制原理與14腳的lcd完全一樣,本設計采用lm016l同時顯示16x02即32個字符(16列2行),各引腳功能定義如下表所示:管腳號名稱電平功能描述1vss0v電源地2vdd5.0v電源正極3vee液晶顯示偏壓信號4rsh/lh:數據線上為數據信號,l:數據線上為指令信號5rwh/lh:讀數據模式,l:寫數據信號6eh/l使能信號端714db0db7h/l數據線
31、表3-5 lm016l引腳說明表hd44780內置了ddram、cgrom和cgram。ddram就是顯示數據ram,用來寄存待顯示的字符代碼。共80個字節(jié),其地址和屏幕的對應關系如下表:顯示位置123456740ddram地址第一行00h01h02h03h04h05h06h27h第二行40h41h42h43h44h45h46h67h表3-6 ddram地址與屏幕對應關系要在lcd1602屏幕的第一行第一列顯示一個a字,就要向ddram的00h地址寫入“a”字的代碼就行了。但具體的寫入是要按lcd模塊的指令格式來進行的。在1602中我們就用前16個就行了。第二行也一樣用前16個地址。對應如下:
32、00h01h02h03h04h05h06h07h08h09h0ah0bh0ch0dh0eh0fh40h41h42h43h44h45h46h47h48h49h4ah4bh4ch4dh4eh4fh表3-7 ddram地址與顯示位置的對應關系文本文件中每一個字符都是用一個字節(jié)的代碼記錄的。一個漢字是用兩個字節(jié)的代碼記錄。在pc上我們只要打開文本文件就能在屏幕上看到對應的字符是因為在操作系統(tǒng)里和bios里都固化有字符字模。字模就代表了是在點陣屏幕上點亮和熄滅的信息數據。例如“a”01110 10001 10001 10001 11111 10001 10001圖3-3 a的字模上圖左邊的數據就是字模數
33、據,右邊就是將左邊數據用“”代表0,用“”代表1。在lcd模塊上也固化了字模存儲器,這就是cgrom和cgram。hd44780內置了192個常用字符的字模,存于字符產生器cgrom(character generator rom)中,另外還有8個允許用戶自定義的字符產生ram,稱為cgram(character generator ram)。下圖說明了cgrom和cgram與字符的對應關系。表38 cgrom中字符碼與字模關系對照表從上圖可以看出,“a”字的對應上面高位代碼為0100,對應左邊低位代碼為0001,合起來就是01000001,也就是41h。可見它的代碼與我們pc中的字符代碼是基
34、本一致的。因此我們在向ddram寫c51字符代碼程序時甚至可以直接用p1a這樣的方法。pc在編譯時就把“a”先轉為41h代碼了。在lcd顯示電路中at89c51的 p0 口作為8 位數據的輸出端,p1.5、p1.6、p1.7 作為控制信號的輸出端,連接完成的電路如圖3.16所示。該顯示器的rs,rw,e端與p2相連,引腳的作用分別是:rs=0輸入指令,rs=1輸入數據,rw=0向lcd寫入指令或數據,rw=1從lcd讀取信息,e是使能信號。d0d7與p0相連是數據總線。respack-8排阻,阻值為10k,作為上拉電阻。圖3.4 lcd1602液晶顯示led發(fā)光二極管顯示電路如下,正極接p24
35、,負極接地,當p24為低電平時,發(fā)光二極管不亮,當p24為高電平時,發(fā)光二極管亮。圖3.5 發(fā)光二極管電路3.4 3*3矩陣鍵盤模塊本設計共有9個設置按鍵,分別為開始,暫停,改變節(jié)次,a加1分,a加2分,a加3分,b加1分,b加2分,b加3分。分別表示啟動系統(tǒng)倒計時,暫停倒計時,改變節(jié)次顯示,a隊比分加1分,a隊比分加2分,a隊比分加3分,b隊比分加1分,b隊比分加2分,b隊比分加3分,按鍵與p1口相接。其電路圖如圖3.6。圖3.6 3*3矩陣鍵盤3輸入與門and_3用來控制p10,p11,p12三列中斷,當這三列中任何一列有鍵按下時,產生低電平,與門輸出為0,表示有鍵按下;反之,當這三列中沒
36、有任一按鍵被按下時,與門輸入全1,輸出為1,表示沒有鍵被按下。其電路圖如圖3.7。圖3.7 3輸入與門and_33.5 時鐘電路模塊時鐘電路在單片機系統(tǒng)中起著非常重要的作用,是為保證系統(tǒng)正常工作的基礎,在一個單片機系統(tǒng)中,時鐘是保障系統(tǒng)正常工作的基準震蕩定時信號。圖3.8是晶振電路,主要有晶振和外圍電路組成,晶振頻率大小決定單片機的快慢,我們這里采用的是12mhz,另外有2個33p的電容。其中接地用來削減諧波對電路的穩(wěn)定性的影響。圖3.8 時鐘電路3.6 復位電路模塊單片機系統(tǒng)的復位電路我們采用的是上電加按鈕的復位電路形式,電阻采用220歐的阻值,采用22的電容。其電路連接方式如圖3.9。當單
37、片機的復位引腳reset出現2個機器周期以上的高電平時,單片機就執(zhí)行復位操作。圖3.9 復位電路3.7 元件清單單片機at89c511液晶顯示器lm016l1排阻respack-81按鍵9 與門and_31發(fā)光二極管led-yellow1電阻10k1晶振11.0592m1電容33pf2電容10uf14系統(tǒng)軟件設計籃球比賽計分計時器其實就是一個計數器,本課程設計就是利用單片機中的定時/計數器來實現其計時的功能,利用按鍵實現其計分的功能。在51單片機中有兩個16位的定時/計數器to、t1,分別由th0、tl0和th1、tl1組成,它們均是8位寄存器,在特殊功能寄存器中占地址8ah-8dh。它們用于
38、存放定時或計數的初始值。此外,內部還有一個8位的方式寄存器tmod和一個8位的控制寄存器tcon,用于選擇和控制定時/計數器的工作,其格式見下面兩表:表4.1 方式寄存器tmodgatec/tm1m0gatec/tm1m0門控開關計數/定時方式選擇門控開關計數/定時方式選擇 表4.2 控制寄存器tcontf1tr1tf0tr0ie1it1ie0it0t1請求有無t1工作啟/停t0請求有無t0工作啟/停int1請求有無int1方式下沿int0請求有無int0方式下沿籃球比賽計分器利用單片機的計數器進行工作,計數器隊脈沖電平進行加一計數,直至計滿回零。作為可編程器件,單片機中的定時/計數器初始化編
39、程步驟如下:根據定時時間要求或計數要求計算計數器初值:將工作方式控制字寫入tmod寄存器;將計數初值寫入thx和tlx寄存器;啟動定時器/計數器,即將trx置位。如果工作于中斷方式,需置位ea(中斷總開關)及etx(允許定時/計數器中斷),并編寫中斷服務程序。本次課程設計程序是用c語言編寫的,因為設計的功能較為簡單,所以程序中只用到一個主程序就實現了其功能。本單片機的按鍵采用矩陣形式,3*3的行列矩陣,共9個按鍵,可以完成多種控制功能。鍵盤控制流程如下:開始有按鍵?獲取鍵值顯示鍵值按鍵處理返回yn系統(tǒng)初始化程序包括定時器to、t1初始化、lcd初始化、全局變量初始化,初始化步驟如下:開始定時器
40、t0、t1初始化lcd初始化全局變量初始化返回系統(tǒng)啟動時,先要進行定時器t0,t1及l(fā)cd的初始化,t0控制每一小節(jié)12分鐘和24秒的倒計時時間,t1控制按鍵延時掃描。按鍵與p1口相接,讀取p1口的數據判斷是否有按鍵按下,若沒有按鍵按下則繼續(xù)返回讀取p1口的數據。若有按鍵按下就判斷是哪個鍵按下,各個鍵的作用是:開始,暫停,節(jié)次加一;a隊加一分,a隊加二分,a隊加三分;b隊加一分,b隊加二分,b隊加三分。等待按鍵釋放并將時間,分數,節(jié)次經p0,p2口輸出在lcd上顯示。每一節(jié)12分鐘和24秒倒計時結束時,led發(fā)光二極管閃爍報警,其總的流程圖如下圖4.1。定時器t0,t1,lcd初始化顯示當前時
41、間讀取p1口的值是否有鍵按下?哪個鍵按下?y開始暫停節(jié)次a加一a加二a加三b加一b加二b加三等按鍵釋放將時間、分數、節(jié)次經p0、p2口輸出顯示n開始圖4.1 總的程序流程圖5 protues isis軟件仿真5.1 proteus運行流程proteus isis的工作界面是一種標準的windows界面,如圖所示。包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口。運行proteus程序后,進入軟件的主界面。通過左側工具欄中的p(從庫中選擇元件命令)命令,在pick devices 左側窗口中選擇所需
42、元件的關鍵字,然后放置元件并調整方向和位置以及參數設置,最后進行連線。圖5.1 proteus isis的工作界面5.2 proteus功能仿真proteus仿真時,單片機需要加載程序,加載程序為.hex文件。本設計利用keil vision2,在新建keil項目時選擇at89c52單片機作為cpu,將c語言源程序導入,在“options for target”對話窗口中,選中“output”選項中的“create hex file”,編譯鏈接后就可以生成 .hex文件。在proteus isis中,選中at89c51并單擊鼠標左鍵,對at89c51進行設置,設置單片機時鐘頻率為12mhz,按
43、照正確的文件路徑加載.hex文件。對單片機設置完畢后就可以開始仿真了。仿真過程中如有硬件問題可在proteus isis中直接修改,如有軟件問題可在keil vision2中直接修改,通過keil與proteus的聯合調試就可以得到滿意的結果。最后載入hex文件后可以進行模擬仿真,可以全速運行也可以單步調試運行。單擊play按鈕,進入仿真狀態(tài)仿真按鈕如圖5-2所示,其中按鈕1為開始運行,按鈕2為step,按鈕3為暫停,按鈕4為停止。圖5.2 仿真按鈕單擊運行按鈕,啟動 proteus isis 仿真。5.3 proteus仿真結果圖5.3 仿真結果6 結論在本次畢業(yè)設計,我通過基于典型單片機a
44、t89c51的設計和應用,對于單片機工作原理,功能有了宏觀的了解,并對單片機匯編程序的應用有了新的、進一步的認識。在本次設計的過程中,我發(fā)現很多的問題,給我的感覺就是下手很難,很不順手,看似很簡單的電路,要動手把它給設計出來,是很難的一件事,主要原因是我們沒有經常動手設計過電路。另外單片機系統(tǒng)的知識似懂非懂,而且很多知識當時弄明白了,現在要用的時候又不記得,造成我用了大量的時間去查閱各種資料和程序命令,因此整個過程時間安排不合理。由于設計的計劃沒有安排好,設計的時間極為倉促,尤其是在硬件調試的過程中出現了很大的問題。另外資料的查找也是一大難題,這就要求我們在以后的學習中,應該注意到這一點,更重
45、要的是我們要學會把從書本中學到的知識和實際的電路聯系起來,這不論是對我們以后的就業(yè)還是學習,都會起到很大的促進和幫助。在利用單片機設計lcd液晶顯示屏的整個設計過程中,從電路的設計,元器件的采購,電路的調試,程序的編寫以及最后的電路板的制作,我都親自參與了設計與制作,這對我對于理論和實際相結合有了新的認識。參考文獻1 郭天祥新概念51單片機c語言教程:入門、提高、開發(fā)、拓展全攻略北京:電子工業(yè)出版社,20092高衛(wèi)東51單片機原理與實踐.北京航空航天大學出版社,20113彭偉單片機c語言程序設計實訓100例電子工業(yè)出版社,20114潘永雄新編單片機原理及應用西安電子科技大學出版社,20085張
46、毅剛,彭喜元新編mcs-51單片機應用設計,20096杜洋愛上單片機人民郵電出版社,20127于永51單片機c語言常用模塊與綜合系統(tǒng)設計電子工業(yè)出版社,20128張俊匠人手記:一個單片機工作者的實踐與思考北京航空航天大學出版社,20089周航慈單片機應用程序設計北京航空航天大學出版社,200310牛昱光.單片機原理與接口技術.電子工業(yè)出版社,200811蔣力培.單片機微機系統(tǒng)實用教程.機械工業(yè)出版社,200712王為青,程國鋼.單片機keilcx5應用開發(fā)技術.人民郵電出版社,200713賈巍.單片機仿真開發(fā)軟件的應用.中國水運出版社,200714唐德禮,王襄. 單片機學習機及編程器的設計與制
47、作.電子工業(yè)出版社,200515俞時.單片機集成仿真系統(tǒng)的開發(fā).中國紡織大學學報,201116趙克剛,易帝文,張治強,萬為.單片機仿真實驗平臺設計實踐.科技咨詢導報.2007致謝值此論文完成之際,謹向給予我指導、關心和幫助的老師、同學、朋友、親人表示最衷心的感謝。本研究及學位論文是在我的導師謝道平老師的親切關懷和悉心指導下完成的。他嚴肅的科學態(tài)度,嚴謹的治學精神,精益求精的工作作風,以及對細節(jié)問題的深思及解決辦法,深深地感染和激勵著我,使我對待問題、解決問題的態(tài)度更加嚴謹。從課題的選擇到項目的最終完成,謝老師都始終給予我細心的指導和不懈的支持。在此謹向謝老師致以誠摯的謝意和崇高的敬意!在此,我
48、還要感謝在一起愉快的度過本科生活的信工2班各位同學,正是由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,直至本文的順利完成。在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝你們!附錄主程序:#include#include#define uchar unsigned char#define uint unsigned intsbit led=p24;/每節(jié)結束時警報extern void initialize_lcd(); /lcd初始化extern
49、void set_lcd_pos(uchar pos);/向lcd寫地址extern void write_lcd_data(uchar dat);/向lcd寫數據extern void print_1602();/顯示固定字符uchar tcount_t0=0; /定時器0的變量uchar tcount_t1=0; /定時器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;/按鍵按下標志uchar flag_led=0;/燈亮標志uchar flag_finish=0;/一節(jié)次結束標志 void delay_s(uint ms)/1ms延時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)/對讀到的按鍵值進行處理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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美容師考試時常遇到的誤區(qū)試題及答案
- 2024年食品安全風險評估試題及試題及答案
- 藥理學的臨床應用案例試題及答案
- 2024年寵物營養(yǎng)師招生資格要求試題及答案
- 2024年汽車維修工引擎拆卸流程試題及答案
- 2024年汽車維修工汽車涂裝技術試題及答案
- 逐步攻克計算機基礎考試試題及答案
- 現代操作系統(tǒng)考題及答案
- 評估工具使用技巧試題及答案
- 2024年社區(qū)工作者招聘考試《公共基礎知識》考前點題卷三
- 人工挖孔樁施工危險源辨識與評價及應對措施
- 領慧書院-中國古典禮儀和漢服文化淺析
- 抓住四個環(huán)節(jié)上好科學實驗課
- 小學語文人教課標版(部編)三年級下冊口語交際:趣味故事會
- 交通事故上報、處理流程圖
- 酸堿鹽的通性
- 不銹鋼板厚度偏差
- 防坍塌安全常識上課講義
- 《重力壩課程設計》word版
- 健康證體檢表
- 東南大學電路基礎第一章課件教材
評論
0/150
提交評論