




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 西安工程大學單片機 課 程設計學院: 計算機學院 專 業(yè) 班 級: 信科四班 課 題 名 稱:基于51單片機的1602lcd多態(tài)顯示器設計 指 導 教 師: 組長:組員:、目錄一. 摘要6二總體設計方案72.1設計要求7三at89c51機介紹73.1單片機結構介紹73.2單片機組成原理9四復位電路工作原理94.1上電自動復位原理10五數(shù)碼管顯示電路125.1 led數(shù)碼顯示器的結構135.2 led數(shù)碼顯示器的分類155.3 led數(shù)碼顯示方式16六時鐘電路模塊17七程序設計及原理圖187.1程序設計187.2原理圖237.3 pcb圖237.4元件清單24八結束語25九參考文獻26摘要近年
2、來隨著計算機在社會領域的滲透,單片機的應用正在不斷地走向深入,同時帶動著傳統(tǒng)控制檢測日新月異的更新。由于單片機具有體積小、易于產品化、面向控制、集成度高、功能強、可靠性高、價格低等特點,其在工業(yè)控制、機電一體化、智能儀表、通信等諸多領域中得到了廣泛的應用。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用。但是僅單片機方面知識是不夠的,還應根據(jù)具體硬件結構,以及針對具體應用對象特點的軟件結合,以作完善。本報告針對1602 lcd顯示器的設計的需求,介紹了mcs-51單片機的部分基本原理,如51單片機的復位功能,延時功能等等。lcd動態(tài)顯示系統(tǒng)需要用到鎖存器、lcd顯示器
3、,hd44780等主要模塊,通過不同的模塊之間相互作用,完成lcd動態(tài)顯示的初步硬件結構。對于lcd顯示器來說,采用以軟件為主的接口方法,即采用keil uvision3軟件程序進行譯碼?!娟P鍵詞】 單片機 keil3 1602lcd顯示器 二總體設計方案 lcd顯示器器以at89c51單片機為核心,起著控制作用。系統(tǒng)包括鎖存器、lcd顯示器,hd44780。lcd顯示的總體設計思路分為五個模塊:復位電路,晶振電路模塊,at89c51,lcd顯示電路模塊,上拉電阻模塊。2.1設計要求:1)、應用mcs-51單片機設計lcd電路。2)、選用液晶顯示器,從左到右顯示“welcome to www.
4、xpu.edu.cn”。3)、硬件設計根據(jù)設計的任務選定合適的單片機,根據(jù)控制對象設計接口電路。設計的單元電路必須有工作原理,器件的作用,分析和計算過程4)、軟件設計根據(jù)電路工作過程,畫出軟件流程圖,根據(jù)流程圖編寫相應的程序,進行調試并打印程序清單;5)、原理圖設計根據(jù)所確定的設計電路,利用proteus等有關工具軟件繪制電路原理圖,生成pcb板圖、提供元器件清單。三、硬件設計3.1 80c51單片機80c51 芯片內部集成了 cpu、ram、rom、定時/計數(shù)器和i/o口等各功能部件,并由內部總線把這些部件連接在一起。80c51單片機內部包含以下一些功能部件:一個8位cpu;一個片內振蕩器和
5、時鐘電路;4kb rom(80c51有4kb掩膜rom,87c51有4kb eprom,80c31片內有無rom); 128b內ram; 可尋址64kb的外rom和外ram控制電路; 兩個16位定時/計數(shù)器; 21個特許功能寄存器; 4個8位并行i/o口,共32條可編程i/o端線; 一個可編程全雙工串行口;5個中斷源,可設置成2個優(yōu)先級。振蕩器及時序 osc8051cpu程序存儲器4kb rom數(shù)據(jù)存儲器256b2個16位定時器/計數(shù)器64k總線擴展控制器可編程i/o可編程全雙工串行口不同型號mcs-51單片機cpu處理能力和指令系統(tǒng)完全兼容,只是存儲器和i/o接口的配置有所不同。其中8051
6、主要包括算術/邏輯部件alu、累加器a、只讀存儲器rom、隨機存儲器ram、程序計數(shù)器pc、定時器/計數(shù)器、i/o接口電路等,還有堆棧寄存器sp等部件。這些部件集成在一塊芯片上,通過內部總線連接,構成完整的微型計算機。3.2復位電路復位是單片機的初始化操作,只需給at89c51的復位引腳rst加上大于2個機器周期(即24個時鐘振蕩周期)的高電平就可得單片機復位.復位時,pc初始化為0000h,使單片機從out單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,由于程序運行出錯或操作錯誤而使系統(tǒng)處于死鎖狀態(tài)。為擺脫死鎖狀態(tài),也需按復位鍵使得rst腳為高電平,使單片機重新啟動。在系統(tǒng)中,有時會出現(xiàn)顯示
7、不正常。為了調試方便,需要設計一個復位電路。at89c51單片機復位電路共有上電復位、按鍵電平復位和按鍵脈沖復位。本系統(tǒng)的復位電路主要完成系統(tǒng)的上電復位。復位電路可由簡單的rc電路構成,也可使用其它的相對復雜,但功能更完善的電路。本系統(tǒng)采用的電路工作原理是:上電瞬間,rc電路充電,reset引腳端出現(xiàn)正脈沖,只要reset保持10ms以上高電平,就能使單片機有效的復位。當時鐘頻率選用12mhz時,c取10uf,r取10k,上電自動復位電路由上電瞬間c與r構成充電電路,reset端的電位與電源vcc相同,隨著充電電流的減少,reset的電位逐漸下降。rc時間常數(shù)越大,上電時reset端保持高電平
8、的時間越長,這組參數(shù)足以保證復位操作。若復位電路失效,加電后cpu從一個隨機的狀態(tài)開始工作,系統(tǒng)就不能正常運行。復位電路:3.3.晶振電路晶振是為電路提供頻率基準的元器件,晶振可以說是單片機的時鐘,有著固定穩(wěn)固的頻率,是一個標準,沒有它的話,估計單片機的程序會亂跑,也有可能運行不了,反正是不正常。通常分成有源晶振和無源晶振兩個大類,無源晶振需要芯片內部有振蕩器,并且晶振的信號電壓根據(jù)起振電路而定,允許不同的電壓,但無源晶振通常信號質量和精度較差,需要精確匹配外圍電路(電感、電容、電阻等),如需更換晶振時要同時更換外圍的電路。有源晶振不需要芯片的內部振蕩器,可以提供高精度的頻率基準,信號質量也較
9、無源晶振要好。因價格等因素,實際應用中多采用無源晶振設計的電路居多,除非電路設計時序極其敏感或芯片內部無振蕩器的情況(如一些型號的dsp或精密儀器中)。晶振電路:3.4顯示電路顯示功能與硬件關系極大,當硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。通常在顯示上采用的方法一般包括兩種:一種是靜態(tài)顯示,另一種是動態(tài)顯示。其中靜態(tài)顯示的特點是顯示穩(wěn)定不閃爍,程序編寫簡單,但占用端口資源多,所耗得電能較大;動態(tài)顯示的特點是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復雜,但是相對靜態(tài)顯示而言占用端口資源少。為了減少端口資源,降低電能消耗,我們采用的是動態(tài)顯示方法。顯示電路: 四160
10、2結構及工作原理4.1 1602顯示器的結構 所謂1602是指顯示的內容為16*2,即可以顯示兩行,每行16個字符。目前市面上字符液晶絕大多數(shù)是基于hd44780液晶芯片的,控制原理是完全相同的,因此基于hd44780寫的控制程序可以很方便地應用于市面上大部分的字符型液晶。 如圖3.7所示。字符型lcd1602通常有14條引腳線或16條引腳線的lcd,多出來的2條線是背光電源線vcc(15腳)和地線gnd(16腳),其控制原理與14腳的lcd完全一樣.4.2 l1602引腳定義 4.3 控制器hd44780hd44780內置了ddram、cgrom和cgram。
11、0; ddram就是顯示數(shù)據(jù)ram,用來寄存待顯示的字符代碼。共80個字節(jié),其地址和屏幕的對應關系如下表: 也就是說想要在lcd1602屏幕的第一行第一列顯示一個"a"字,就要向ddram的00h地址寫入“a”字的代碼就行了。但具體的寫入是要按lcd模塊的指令格式來進行的,后面我會說到的。那么一行可有40個地址呀?是的,在1602中我們就用前16個就行了。第二行也一樣用前16個地址。對應如下:
12、160; ddram地址與顯示位置的對應關系 (事實上我們往ddram里的00h地址處送一個數(shù)據(jù),譬如0x31(數(shù)字1的代碼)并不能顯示1出來。這是一個令初學者很容易出錯的地方,原因就是如果你要想在ddram的00h地址處顯示數(shù)據(jù),則必須將00h加上80h,即80h,若要在ddram的01h處顯示數(shù)據(jù),則必須將01h加上80h即81h(從80h開始到9fh開始才是空余的自己編寫空間其余的空間都有液
13、晶自己的庫文件。在cgram中)。 1602液晶模塊內部的字符發(fā)生存儲器(cgrom)已經存儲了160個不同的點陣字符圖形,如下表所示,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“a”的代碼是01000001b(41h),顯示時模塊把地址41h中的點陣字符圖形顯示出來,我們就能看到字母“a” 上表中的字符代碼與我們pc中的字符代碼是基本一致的。因此我
14、們在向ddram寫c51字符代碼程序時甚至可以直接用p1'a'這樣的方法。pc在編譯時就把“a”先轉為41h代碼了。 字符代碼0x000x0f為用戶自定義的字符圖形ram(對于5x8點陣的字符,可以存放8組,5x10點陣的字符,存放4組),就是cgram了。 五軟件設計 5.1程序設計 * 描述: lcd1602 滾動顯示 * 顯示方式: * 1、從左到右逐字顯示,閃動二次,清屏。 * 2、再從右到左逐字顯示,閃動二次,清屏。 * 3、周期性地重復上述顯示方式
15、。 * */#include <reg51.h>/51寄存器文件#include <intrins.h>typedef unsigned char byte;/用byte代替unsigned char (無符號字符)typedef bit bool; / 用bool代替bit sbit lcd_rs = p26; /復位端 sbit lcd_rw = p25; /寫數(shù)據(jù)端sbit lcd_ep = p27; /使能端byte code dis1 = " welcome to "byte code dis2 = "
16、01 "byte code dis3 = " ot emoclew "byte code dis4 = " moc.nihcerp.www "/*延時函數(shù)*/delay(int ms) /延時子程序int i;while(ms-) for(i = 0; i< 250; i+) _nop_(); /空執(zhí)行 _nop_(); _nop_(); _nop_(); /*側忙函數(shù)*/bool lcd_bz() bool result;lcd_rs = 0;lcd_rw = 1;lcd_ep = 1;_nop_();_nop_();_nop_();_
17、nop_();result = (bool)(p0 & 0x80); /檢測p0最高位是否為1lcd_ep = 0;return result;/返回側忙結果/*寫命令函數(shù)*/lcd_wcmd(byte cmd) / 寫入指令數(shù)據(jù)到lcdwhile(lcd_bz();lcd_rs = 0;lcd_rw = 0;lcd_ep = 0;_nop_();_nop_(); p0 = cmd; /將8位指令通過p0口傳給1602_nop_();_nop_(); /用于產生一個脈沖寬度_nop_();_nop_();lcd_ep = 1;_nop_();_nop_();_nop_();_nop_(
18、);lcd_ep = 0; lcd_pos(byte pos) /設定顯示位置lcd_wcmd(pos | 0x80);/*寫數(shù)據(jù)函數(shù)*/lcd_wdat(byte dat) /寫入字符顯示數(shù)據(jù)到lcdwhile(lcd_bz();lcd_rs = 1;lcd_rw = 0;lcd_ep = 0;p0 = dat; /將8位數(shù)據(jù)通過p0口傳給1602_nop_();_nop_(); /用于產生一個脈沖寬度_nop_();_nop_();lcd_ep = 1;_nop_();_nop_();_nop_();_nop_();lcd_ep = 0; lcd_init() /lcd初始化設定lcd_w
19、cmd(0x38); /16*2顯示,5*7點陣,8位數(shù)據(jù)delay(1);lcd_wcmd(0x0c); /顯示開,關光標delay(1);lcd_wcmd(0x06); /移動光標delay(1);lcd_wcmd(0x01); /清除lcd的顯示內容delay(1);/*主函數(shù)*/main() byte i; lcd_init();/ 初始化lcd delay(10); while(1) lcd_wcmd(0x06);/向右移動光標 lcd_pos(0);/設置顯示位置為第一行的第1個字符 i = 0; while(dis1 i != '0') /顯示字符"wl
20、come to" lcd_wdat(dis1 i ); i+; delay(30);/控制兩字之間顯示速度 lcd_pos(0x40);/設置顯示位置為第二行第1個字符 i = 0; while(dis2 i != '0') lcd_wdat(dis2 i );/顯示字符" www.prechin.com " i+; delay(30);/控制兩字之間顯示速度 delay(800);/控制停留時間 lcd_wcmd(0x01);/清除lcd的顯示內容 delay(1); lcd_wcmd(0x04);/向左移動光標 lcd_pos(15);/設置顯示位置為第一行的第16個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級上冊數(shù)學教案-分數(shù)的再認識 北師大版
- 六年級下冊數(shù)學教案 用不同的知識解答應用題 西師大版
- 二年級下冊數(shù)學教案-5.2 被減數(shù)中間有0的連續(xù)退位減法| 青島版(五四學制)
- 口腔門診勞動合同(2025年版)
- 一年級下冊數(shù)學教案-動手做(一)2 北師大版
- 六年級下冊數(shù)學教案-總復習-四則運算的意義和法則|北師大版
- 三年級上冊數(shù)學教案-用兩步連乘解決實際問題∣蘇教版
- 2024年張緊裝置項目資金申請報告代可行性研究報告
- 2025年華北理工大學輕工學院單招職業(yè)傾向性測試題庫帶答案
- 數(shù)學-廣州市白云區(qū)2025年高三下學期期初綜合訓練試題+答案
- 2024年人教版九年級英語單詞默寫單(微調版)
- 2024至2030年中國海洋化工產業(yè)發(fā)展動態(tài)及投資前景分析報告
- 22G101三維彩色立體圖集
- 【絕味鴨脖公司的存貨管理問題及完善對策8500字】
- 山東省技能大賽青島選拔賽-世賽選拔項目52樣題(平面設計技術)
- 防排煙規(guī)范培訓
- 2024年江蘇農牧科技職業(yè)學院單招職業(yè)適應性測試題庫及答案1套
- 2024年江蘇農林職業(yè)技術學院單招職業(yè)適應性測試題庫新版
- DL-T 1476-2023 電力安全工器具預防性試驗規(guī)程
- 飛灰處置及資源化綜合利用項目可行性研究報告模板-備案拿地
- 2024年咨詢工程師考試大綱
評論
0/150
提交評論