版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計(論文)</b></p><p> 題 目 名 稱 基于單片機的LCD顯示系統(tǒng)設計 </p><p> 課 程 名 稱 單片機原理及在電氣測控學科中的應用 </p><p> 學 生 姓 名
2、 </p><p> 學 號 </p><p> 系 、專 業(yè) 電氣工程系、09電氣測控類 </p><p> 指 導 教 師 </p>
3、;<p> 2011年6月30日</p><p> 課程設計(論文)任務書</p><p> 注:1.此表由指導教師填寫,經(jīng)系、教研室審批,指導教師、學生簽字后生效;</p><p> 2.此表1式3份,學生、指導教師、教研室各1份。</p><p> 指導教師(簽字): 學
4、生(簽字):</p><p> 課程設計(論文)評閱表</p><p> 題目名稱 基于單片機的LCD顯示系統(tǒng)設計 </p><p> 課程名稱 單片機原理及在電氣測控學科中的運用 </p><p><b> 一、學生自我總結</b><
5、/p><p><b> 二、指導教師評定</b></p><p> 注:1、本表是學生課程設計(論文)成績評定的依據(jù),裝訂在設計說明書(或論文)的“任務書”頁后面;</p><p> 2、表中的“評分項目”及“權重”根據(jù)各系的考核細則和評分標準確定。</p><p><b> 目錄</b><
6、;/p><p><b> 摘要6</b></p><p> Abstract7</p><p><b> 一. 液晶顯示8</b></p><p> 1.1 12864液晶簡介8</p><p> 1.2 12864的基本特點9</p><
7、;p> 1.3 液晶顯示的原理9</p><p> 1.4 12864液晶顯示動態(tài)指標及術語11</p><p> 1.5 AT89C52相關知識16</p><p> 二、 方案論證18</p><p> 2.1字模數(shù)據(jù)的存儲18</p><p> 2.2 通信電路19</p
8、><p> 三,電路與程序設計20</p><p> 3.1 系統(tǒng)硬件電路圖20</p><p> 3.2 系統(tǒng)軟件設計21</p><p><b> 四,結果分析23</b></p><p> 4.1 系統(tǒng)調試23</p><p> 4.2 仿真顯示結
9、果24</p><p><b> 總結28</b></p><p><b> 參考文獻29</b></p><p><b> 摘要</b></p><p> 本文講述的是一種基于AT89C52單片機實現(xiàn)控制的LCD液晶顯示屏。硬件系統(tǒng)由單片機系統(tǒng)和液晶顯示系統(tǒng)組成
10、,PC機進行顯示內容的編輯和字模數(shù)據(jù)的提?。灰壕э@示系統(tǒng)由主控模塊和LCD液晶顯示模塊接口電路組成,主控模塊負責接收單片機字模數(shù)據(jù)并控制各顯示模塊工作,顯示模塊以主控制器為核心,控制LCD液晶顯示屏顯示。</p><p> 關鍵字: AT89C52 12864LCD液晶顯示器</p><p><b> Abstract</b></p><
11、;p> This article designs with develops one kind based on AT89C51 SCM(Single Chip Microcomputer ) control LCD display monitor . This system is composed by on SCM system and LCD display system, and the PC machine carri
12、es on the demonstration content the edition and matrix data withdrawing; LCD display system controls the module and certain LCD by the host demonstrated, the host ‘s duty is to receive the SCM matrix data and controls ea
13、ch demonstration module work and controls the LCD display monitor di</p><p> Keyword: LCD AT89C51 SCM(Single Chip Microcomputer)</p><p><b> 一. 液晶顯示</b></p><p> 1.1
14、12864液晶簡介</p><p> 液晶(Liquid Crystal,簡稱LC)是一種高分子材料,因為其特殊的物理、化學、光學特性,20世紀中葉開始被廣泛應用在輕薄型的顯示技術上。</p><p> 人們熟悉的物質狀態(tài)(又稱相)為氣、液、固,較為生疏的是電漿和液晶(Liquid Crystal,簡稱LC)。液晶相要具有特殊形狀分子組合始會產(chǎn)生,它們可以流動,又擁有結晶的光學性質。液
15、晶的定義,現(xiàn)在已放寬而囊括了在某一溫度范圍可以是現(xiàn)液晶相,在較低溫度為正常結晶之物質。而液晶的組成物質是一種有機化合物,也就是以碳為中心所構成的化合物。 同時具有兩種物質的液晶,是以分子間力量組合的,它們的特殊光學性質,又對電磁場敏感,極有實用價值。</p><p> 1.2 12864的基本特點</p><p> 液晶顯示(LCD)具有功耗低、體積小、重量輕、超薄等許多其它顯示器無
16、法比擬的優(yōu)點,近幾年來被廣泛用于單片機控制的智能儀器、儀表和低功耗電子產(chǎn)品中。LCD 可分為段位式LCD、字符式LCD 和點陣式LCD。其中,段位式LCD 和字符式LCD 只能用于字符和數(shù)字的簡單顯示,不能滿足圖形曲線和漢字顯示的要求;而點陣式LCD 不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實現(xiàn)屏幕上下左右滾動,動畫功能,分區(qū)開窗口,反轉,閃爍等功能,用途十分廣泛。</p><p> 1
17、.3 液晶顯示的原理</p><p> 液晶顯示材料最常見的用途是電子表和計算器的顯示板,為什么會顯示數(shù)字呢?原來這種液態(tài)光電顯示材料,利用液晶的電光效應把電信號轉換成字符、圖像等可見信號。液晶在正常情況下,其分子排列很有秩序,顯得清澈透明,一旦加上直流電場后,分子的排列被打亂,一部分液晶變得不透明,顏色加深,因而能顯示數(shù)字和圖象。</p><p> 12864LCD是一種圖形點陣液
18、晶顯示器,它主要由行驅動器/列驅動器及128×64全點陣液晶顯示器組成。可完成圖形顯示,也可以顯示8×4個(16×16點陣)漢字。</p><p> 主要技術參數(shù)和性能:</p><p> 1.電源:VDD:+5V; 模塊內自帶-10V負壓,用于LCD的驅動電壓。</p><p> 2.顯示內容:128(列)×64(行)
19、點</p><p><b> 3.全屏幕點陣</b></p><p><b> 4.七種指令</b></p><p> 5.與CPU接口采用8位數(shù)據(jù)總線并行輸入輸出和8條控制線</p><p><b> 6.占空比1/64</b></p><p>
20、; 7.工作溫度:-10℃∽+50℃,存儲溫度:-20℃∽+70</p><p> 模塊主要硬件構成說明 </p><p> 圖 1-1 結構框圖</p><p> IC3為行驅動器。IC1,IC2為列驅動器。IC1,IC2,IC3含有以下主要功能器件。了解如下器件有利于對LCD模塊之編程。</p><p> 1. 指令
21、寄存器(IR)</p><p> IR是用于寄存指令碼,與數(shù)據(jù)寄存器數(shù)據(jù)相對應。當D/I=0時,在E信號下降沿的作用下,指令碼寫入IR。</p><p> 2.數(shù)據(jù)寄存器(DR)</p><p> DR是用于寄存數(shù)據(jù)的,與指令寄存器寄存指令相對應。當D/I=1時,在下降沿作用下,圖形顯示數(shù)據(jù)寫入DR,或在E信號高電平作用下由DR讀到DB7∽DB0數(shù)據(jù)總線。DR
22、和DDRAM之間的數(shù)據(jù)傳輸是模塊內部自動執(zhí)行的。</p><p><b> 3.忙標志:BF</b></p><p> BF標志提供內部工作情況。BF=1表示模塊在內部操作,此時模塊不接受外部指令和數(shù)據(jù)。BF=0時,模塊為準備狀態(tài),隨時可接受外部指令和數(shù)據(jù)。</p><p> 利用STATUS READ指令,可以將BF讀到DB7總線,從檢
23、驗模塊之工作狀態(tài)。</p><p> 4.顯示控制觸發(fā)器DFF</p><p> 此觸發(fā)器是用于模塊屏幕顯示開和關的控制。DFF=1為開顯示(DISPLAY OFF),DDRAM的內容就顯示在屏幕上,DFF=0為關顯示(DISPLAY OFF)。</p><p> DDF的狀態(tài)是指令DISPLAY ON/OFF和RST信號控制的。</p><
24、;p><b> 5.XY地址計數(shù)器</b></p><p> XY地址計數(shù)器是一個9位計數(shù)器。高3位是X地址計數(shù)器,低6位為Y地址計數(shù)器,XY地址計數(shù)器實際上是作為DDRAM的地址指針,X地址計數(shù)器為DDRAM的頁指針,Y地址計數(shù)器為DDRAM的Y地址指針。</p><p> X地址計數(shù)器是沒有記數(shù)功能的,只能用指令設置。</p><p
25、> Y地址計數(shù)器具有循環(huán)記數(shù)功能,各顯示數(shù)據(jù)寫入后,Y地址自動加1,Y地址指針從0到63。</p><p> 6.顯示數(shù)據(jù)RAM(DDRAM)</p><p> DDRAM是存儲圖形顯示數(shù)據(jù)的。數(shù)據(jù)為1表示顯示選擇,數(shù)據(jù)為0表示顯示</p><p> 非選擇。DDRAM與地址和顯示位置的關系見DDRAM地址表(見第6頁)。</p><
26、;p><b> 7.Z地址計數(shù)器</b></p><p> Z地址計數(shù)器是一個6位計數(shù)器,此計數(shù)器具備循環(huán)記數(shù)功能,它是用于顯示行掃描同步。當一行掃描完成,此地址計數(shù)器自動加1,指向下一行掃描數(shù)據(jù),RST復位后Z地址計數(shù)器為0。</p><p> Z地址計數(shù)器可以用指令DISPLAY START LINE預置。因此,顯示屏幕的起始行就由此指令控制,即DDR
27、AM的數(shù)據(jù)從哪一行開始顯示在屏幕的第一行。此模塊的DDRAM共64行,屏幕可以循環(huán)滾動顯示64行。</p><p> 1.4 12864液晶顯示動態(tài)指標及術語</p><p><b> 并行接口模塊說明:</b></p><p><b> 表1-1</b></p><p> *注釋1:如在
28、實際應用中僅使用并口通訊模式,可將PSB接固定高電平,也可以將模塊上的J8和“VCC”用焊錫短接。</p><p> *注釋2:模塊內部接有上電復位電路,因此在不需要經(jīng)常復位的場合可將該端懸空。 </p><p> *注釋3:如背光和模塊共用一個電源,可以將模塊上的JA、JK用焊錫短接。</p><p><b> 指
29、令說明</b></p><p><b> 指令表</b></p><p><b> 表 1-2</b></p><p> 1.顯示開關控制(DISPLAY ON/OFF)</p><p> D=1:開顯示(DISPLAY ON)意即顯示器可以進行各種顯示操作</p>
30、<p> D=0:關顯示(DISPLAY OFF)意即不能對顯示器可以進行各種顯示操作</p><p><b> 2.設置顯示起始行</b></p><p> 前面在Z地址計數(shù)器一節(jié)已經(jīng)描述了顯示起始行是由Z地址計數(shù)器控</p><p><b> 制的。</b></p><p>
31、 A5∽A0的6位地址自動送入Z地址計數(shù)器,起始行的地址可以是0∽ 63的任意一行。</p><p><b> 例如:</b></p><p> 選擇A5∽A0是62,則起始行與DDRAM行的對應關系如下:</p><p> DDRAM 行:62 63 0 1 2 3·····
32、83;···············28 29屏幕顯示行:1 2 3 4 5 6·················&
33、#183;···31 32</p><p> 3.設置頁地址 (頁地址)</p><p> 所謂頁地址就是DDRAM的行地址,8行為一頁,模塊共64行即8頁, A2</p><p> ∽A0表示0∽7頁。讀寫數(shù)據(jù)對地址沒有影響,頁地址由本指令或RST信號 </p><p> 改變復位后頁地址為0。頁地址與
34、DDRAM的對應關系見DDRAM地址表。</p><p> 4.設置Y地址(SET Y ADDRESS)(行地址)</p><p> 此指令的作用是將A5∽A0送入Y地址計數(shù)器,作為DDRAM的Y地址指針。</p><p> 在對DDRAM進行讀寫操作后,Y地址指針自動加1,指向下一個DDRAM單元。</p><p><b>
35、 DDRAM地址表:</b></p><p><b> 表 1-3</b></p><p> 5.讀狀態(tài)(STATUS READ)</p><p> 當R/W=1 D/I=0時,在E信號為“H”的作用下,狀態(tài)分別輸出到數(shù)據(jù)總線(DB7∽DB0)的相應位。</p><p> BF:前面已敘述過(見BF
36、標志位一節(jié))。</p><p> ON/OFF:表示DFF觸發(fā)器的狀態(tài)(見DFF觸發(fā)器一節(jié))。</p><p> RST:RST=1表示內部正在初始化,此時組件不接受任何指令和數(shù)據(jù)。</p><p> 6.寫顯示數(shù)據(jù)(WRITE DISPLAY DATE)</p><p> D7∽D0為顯示數(shù)據(jù),此指令把D7∽D0寫入相應的DDRAM
37、單元,Y地指針自動加1。</p><p> 7.讀顯示數(shù)據(jù)(READ DISPLAY DATE)</p><p> 此指令把DDRAM的內容D7∽D0讀到數(shù)據(jù)總線DB7∽DB0,Y地址指針自動加1。</p><p><b> 讀寫操作時序</b></p><p><b> 1.讀寫時序參數(shù)表</b
38、></p><p><b> 表 1-4</b></p><p> 1.5 AT89C52相關知識</p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> P0口:P0
39、口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程 序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p> P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,
40、被內部上拉為高,可用作 輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 </p><p> P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻 拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于
41、外部程序存儲器或16位地址外部數(shù)據(jù)存 儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器 的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p> 圖 1-2 89C52單片機</p><p> P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4
42、個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p><b> 口管腳 備選功能</b></p><p> P3.0 RXD(串行輸入口)<
43、/p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 /INT0(外部中斷0)</p><p> P3.3 /INT1(外部中斷1)</p><p> P3.4 T0(記時器0外部輸入)</p><p> P3.5 T1(記時器1外部輸入)</p><p> P3.
44、6 /WR(外部數(shù)據(jù)存儲器寫選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)</p><p> P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p> ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出
45、電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器 時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位
46、無效。</p><p> PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時, /EA將內部鎖定為RESET;當/EA端保持高電平
47、時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p><b> 二、 方案論證</b></p><p> 此LCD液晶顯示控制系統(tǒng)設計的關鍵是要實現(xiàn)LCD的顯示控制。應該先從顯示方式的確定入手,接下來設計相應顯示方式的電路,要實現(xiàn)顯示內容的實時更新,就必須考慮字模數(shù)據(jù)的存儲及通信電路的設計。</p>
48、<p> 2.1字模數(shù)據(jù)的存儲</p><p> 由于89C51單片機內部程序存儲器(ROM)只有4K空間,本設計采用8×16點陣顯示一個漢字,每一行需要兩個字節(jié)數(shù)據(jù),一個漢字占16×2=32字節(jié),漢字一共有6000多個,不可能將龐大的漢字字庫存入在單片機內部,即使將預先要顯示的內容存入ROM中,也不便于實時控制,所以只有考慮擴展外部數(shù)據(jù)存儲器。</p><
49、p> 方案一:采用標準字庫,制作一個專用硬字庫。這種方法仿效中文DOS的辦法,將一個標準的漢字庫裝入ROM存儲器,再根據(jù)漢字的機內碼在字庫中尋址,找到對應的字模,提取后送到顯示器顯示。因為采用了和PC機相同的編碼(機內碼),軟件的開發(fā)和維護非常簡單,基本上與寫PC機軟件差不多。而對單片機系統(tǒng)自身的要求則相對高多了,16×16點陣的字庫需要256K字節(jié),但是一般8位單片機的尋址能力只有64K字節(jié),要進行存儲器擴充,除增加
50、很大一部分硬件成本外,還因為要進行存儲器分頁管理、地址切換,顯示速度明顯受影響。</p><p> 方案二:利用Windows自帶的字庫(即使用軟字庫)。通過軟件編程直接在字庫中找到需要顯示字符的區(qū)位碼并讀出其字符碼,存于一個文本文件中,待所有顯示內容的字符碼查詢完畢后,將存放所有字符碼的文本文件通過串行通信發(fā)送給單片機,單片機將接收到的數(shù)據(jù)存放在外部擴展的數(shù)據(jù)存儲器中,數(shù)據(jù)接收完畢后,單片機就從存儲器中依次讀
51、出每一個字符的字符碼并送到LCD顯示屏顯示。該方案與方案一相比,雖然通信過程占整個顯示周期的比例相對較大,但是硬件電路設計簡單,成本較低,減少了單片機查詢硬件字庫所需要的時間,提高了單片機動態(tài)掃描的速度,字符顯示的穩(wěn)定度較高。</p><p> 從設計成本、顯示內容的穩(wěn)定性、硬件電路設計的簡易程度等方面綜合考慮,第二種方案明顯優(yōu)于第一方案,所以采用第二種方案解決字模的問題。</p><p&g
52、t;<b> 2.2 通信電路</b></p><p> 并行通信:采用并行傳送方式在微機與外部設備之間進行數(shù)據(jù)傳送的接口叫并行接口。主要特點:一是同時并行傳送的二進位數(shù)就是數(shù)據(jù)寬度;二是在計算機與外設間采用應答式的聯(lián)絡信號來協(xié)調雙方的數(shù)據(jù)操作。傳送的數(shù)據(jù)位1-128位,一般為8位。單片機與外部設備之間也通常采用8位并行I/O接口進行短距離的通信。其傳輸距離近,傳送方式單一,每次傳送一個
53、字或一個字節(jié)。</p><p> 圖2-1 并行通信方式</p><p><b> 三,電路與程序設計</b></p><p> 3.1 系統(tǒng)硬件電路圖</p><p> 工作原理:電源電路為單片機以及其他模塊提供5V電源。晶振模塊為單片機提供時鐘標準,使系統(tǒng)各部分能協(xié)調工作。復位電路模塊為單片機系統(tǒng)提供復位
54、功能。單片機作為主控制器,根據(jù)輸入信號對系統(tǒng)進行相應的控制。系統(tǒng)液晶顯示內容為漢子和字母加數(shù)字,當系統(tǒng)上電后,先按下復位鍵S,其目的是為了避免后續(xù)顯示被先前信號或外來信號所干擾。按下key1或者key2時,系統(tǒng)接收到指令使顯示器分別顯示漢字和字母數(shù)字,清除屏幕顯示則按復位鍵S即可。</p><p> 圖 3-1 硬件電路圖(未上電)</p><p> 3.2 系統(tǒng)軟件設計</p
55、><p><b> 1,功能介紹</b></p><p> 當系統(tǒng)啟動后,由于顯示器上電及程序的初始化,屏幕背光燈亮,隨著單片機對程序的讀取以及系統(tǒng)對指令的執(zhí)行,顯示器進行檢查忙狀態(tài),讀寫數(shù)據(jù),設置行列等準備工作,而后先清除屏幕,再隨著對鍵盤的操作顯示出文字及數(shù)字和字母等內容。最后由復位操作發(fā)出命令清除屏幕。</p><p><b>
56、 2,流程圖</b></p><p> 顯示的子程序通過指針從數(shù)據(jù)庫中逐個提取數(shù)據(jù)送如液晶顯示模塊的顯示RAM進行顯示。數(shù)據(jù)庫中的數(shù)據(jù)為要顯示的內容,此漢字字模提取軟件不僅可以提取漢字字模的十六進制數(shù)據(jù),而且可以提取數(shù)字和字母的十六進制數(shù)據(jù)。</p><p> 其顯示過程是先對顯示器進行初始化,接著將其清零,將已計算好的字庫內容調用進去,即定入顯示數(shù)據(jù),再對顯示器進行讀忙
57、,而后進行讀寫操作,顯示調用內容,最后復位結束。</p><p> 其顯示內容過程先對顯示的內容在RAM中位置進行計算,再對內容進行排序顯示,而后取出數(shù)據(jù)顯示出來,最后結束。</p><p><b> 3,部分程序定義</b></p><p> 對LCD12864顯示器及AT89C52各接口進行定義</p><p>
58、; #include <reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> sbit e=P2^0;</p><p> sbit wr=P2^1;</p><p> s
59、bit rs=P2^2;</p><p> sbit cs1=P2^3;</p><p> sbit cs2=P2^4;</p><p> sbit key1=P1^0;</p><p> sbit key2=P1^1;</p><p> 對LCD12864顯示器進行狀態(tài)檢查</p><p
60、> void checkstate() {</p><p><b> uchar bf;</b></p><p><b> rs=0;</b></p><p><b> wr=1;</b></p><p><b> do{</b>&l
61、t;/p><p><b> P0=0x00;</b></p><p><b> bf=0;</b></p><p><b> e=1;</b></p><p><b> delay(0);</b></p><p><b&g
62、t; e=0;</b></p><p> bf=P0&0x80;</p><p> }while(!(bf==0x00));</p><p><b> }</b></p><p> 對LCD12864顯示器進行初始化</p><p> void init12864
63、()</p><p><b> {</b></p><p> checkstate();</p><p> slectscreen(0);</p><p> setonoff(0);</p><p> slectscreen(0);</p><p> seton
64、off(1);</p><p> slectscreen(0);</p><p> clearscreen(0);</p><p> setstartline(0);</p><p><b> }</b></p><p><b> 四,結果分析</b></p&
65、gt;<p><b> 4.1 系統(tǒng)調試</b></p><p> LCD液晶顯示電路調試顯示:</p><p> 硬件電路設計及軟件設計好之后進行各模塊的調試,首先調試字符顯示部分,單片機的調試使用偉福單片機仿真器。</p><p> 采用直接查字符碼表顯示的辦法,將要顯示漢字的字符碼直接寫在單片機程序中并輸出顯示。&l
66、t;/p><p> 計算機與單片機通信電路調試:</p><p> 將計算機與單片機相連之后調試也就是調試單片機的數(shù)據(jù)收發(fā)功能。</p><p><b> 系統(tǒng)整體調試:</b></p><p> 將計算機程序通過仿真器傳送到89C52單片機內部ROM中,用線將液晶顯示系統(tǒng)與計算機并行口連接起來,在LCD顯示屏上能夠
67、實現(xiàn)要顯示的數(shù)據(jù)。</p><p> 4.2 仿真顯示結果</p><p><b> 圖4-1 初始狀態(tài)</b></p><p> 圖4-2 復位后先按下key1時的顯示</p><p> 圖 4-3 復位后先按下key2是的顯示</p><p> 圖 4-4 復位后連續(xù)按下key1和k
68、ey2的顯示</p><p><b> 總結</b></p><p> 本系統(tǒng)的設計已經(jīng)全部完成,基本達到了預期的目的與要求。但是在系統(tǒng)的調試方面還不夠健全。漢字的動態(tài)顯示、顯示內容的實時更新等方面做得不夠好,但是由于時間倉促、條件有限,設計結果并不是很好,還存在諸如:顯示內容的單一,動態(tài)顯示效果不明顯等問題,我準備在今后的工作實踐過程中來進一步完善此設計。 &l
69、t;/p><p> 一個星期的課程設計主要經(jīng)歷了以下幾個過程:廣泛查閱資料、文獻綜述、總體思路的確定、方案的具體化及論證、方案的確定、軟件的調試、系統(tǒng)的調試,還包括論文總結,我認為整個過程是一個聯(lián)系非常緊密的過程,前一過程的結果為后一過程奠定了基礎。在整個過程中,本人不僅對LCD控制系統(tǒng)的每一個細節(jié)有了比較深入的掌握,而且對關于系統(tǒng)擴展的相關知識有了感性的認識,不僅掌握了大量的專業(yè)知識,更學會了系統(tǒng)模塊設計的基本思
70、想。</p><p> 總之,通過這次課程設計,本人在理論知識方面和思想方面對單片機課程都有很大的收獲。</p><p><b> 參考文獻</b></p><p> [1]李朝青.單片機原理及接口技術.(第三版),北京航空航天大學出版社,1999:18-47頁</p><p> [2]朱清慧 張鳳蕊 翟天嵩 王
71、志奎.Proteus 教程——電子線路設計·制版與仿真.[M],清華大學出版社,2008:1-116頁</p><p> [3]李維祥.單片機原理與應用[M].天津大學出版社,2001:1-96頁</p><p> [4]錢逸秋.單片機原理與應用[M].電子工業(yè)出版社,2002:1-102頁</p><p> [5]華成英,童詩白.模擬電子技術基礎(
72、第四版).高等教育出版社,2006:39-222頁</p><p> [6]馬忠梅,籍順心,張凱.單片機C語言應用程序設計[M].北京航空航天大學出版社,2003:45-186頁</p><p> [7]李光飛,李良兒,樓然苗.單片機C語言實例指導[M].北京航空航天大學出版社,2005:1-198頁</p><p> [8]李維緹,郭強.液晶顯示器件應用技術
73、[M].北京郵電學院出版社,1993:35-201頁</p><p> [9]馬建國,孟憲元.電子設計自動化技術基礎[M].清華大學出版, 2004:1-213頁</p><p> [10] 張毅剛,劉杰主.《MCS-51單片機原理及應用》(第一版).哈爾濱工業(yè)大學出版社,2004:45-175頁</p><p><b> 附錄1 源程序<
74、;/b></p><p> #include <reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> sbit e=P2^0;</p><p> sbit wr=P2
75、^1;</p><p> sbit rs=P2^2;</p><p> sbit cs1=P2^3;</p><p> sbit cs2=P2^4;</p><p> sbit key1=P1^0;</p><p> sbit key2=P1^1;</p><p> void del
76、ay(uint z)</p><p><b> {</b></p><p> while(z--);</p><p><b> }</b></p><p> //uchar code hanzi1[]={};</p><p> uchar code hanzi[]
77、={</p><p> /*-- 文字: 單 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x00,0x00,0xF8,0x28,0x29,0x2E,0x2A,0xF8,0x28,0x2C,0x2B,0x2A,0xF8,0x00,0x00,0x00,</p>
78、<p> 0x08,0x08,0x0B,0x09,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x09,0x0B,0x08,0x08,0x00,</p><p> /*-- 文字: 片 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0
79、x00,0x00,0x00,0xFE,0x10,0x10,0x10,0x10,0x10,0x1F,0x10,0x10,0x10,0x18,0x10,0x00,</p><p> 0x80,0x40,0x30,0x0F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,0x00,0x00,0x00,0x00,</p><p> /*-- 文字: 機 -
80、-*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x08,0x08,0xC8,0xFF,0x48,0x88,0x08,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,</p><p> 0x04,0x03,0x00,0xFF,0x00,0x4
81、1,0x30,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x78,0x00,</p><p> /*-- 文字: 愛 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x00,0x40,0xB2,0x96,0x9A,0x92,0xF6,0x9A,0
82、x93,0x91,0x99,0x97,0x91,0x90,0x30,0x00,</p><p> 0x40,0x20,0xA0,0x90,0x4C,0x47,0x2A,0x2A,0x12,0x1A,0x26,0x22,0x40,0xC0,0x40,0x00,</p><p> /*-- 文字: 好 --*/</p><p> /*-- 宋體12; 此
83、字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x10,0x10,0xF0,0x1F,0x10,0xF0,0x80,0x82,0x82,0x82,0xF2,0x8A,0x86,0x82,0x80,0x00,</p><p> 0x80,0x43,0x22,0x14,0x0C,0x73,0x20,0x00,0x40,0x80,0x7F,0x00,0x00,0x0
84、0,0x00,0x00,</p><p> /*-- 文字: 者 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x00,0x20,0x24,0x24,0x24,0x24,0xA4,0xBF,0x64,0x24,0x34,0x28,0x26,0x24,0x20,0x00,&
85、lt;/p><p> 0x04,0x04,0x04,0x02,0x02,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,</p><p> /*-- 文字: 電 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p>&l
86、t;p> 0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,</p><p> 0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,</p><p> /*--
87、 文字: 氣 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x00,0x20,0x10,0x8C,0xA7,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0xA4,0x24,0x04,0x04,0x00,</p><p> 0x00,0x00,0x00,0x0
88、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x30,0x40,0xF0,0x00,</p><p> /*-- 文字: 工 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x00,0x00,0x02,0x02,0x02,0x02,0
89、x02,0xFE,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,</p><p> 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,</p><p> /*-- 文字: 程 --*/</p><p> /*--
90、 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x10,0x12,0xD2,0xFE,0x91,0x11,0x80,0xBF,0xA1,0xA1,0xA1,0xA1,0xBF,0x80,0x00,0x00,</p><p> 0x04,0x03,0x00,0xFF,0x00,0x41,0x44,0x44,0x44,0x7F,0x44,0x4
91、4,0x44,0x44,0x40,0x00,</p><p> /*-- 文字: 系 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x00,0x00,0x02,0x22,0xB2,0xAA,0x66,0x62,0x22,0x11,0x4D,0x81,0x01,0x01,0
92、x00,0x00,</p><p> 0x00,0x40,0x21,0x13,0x09,0x05,0x41,0x81,0x7F,0x01,0x05,0x09,0x13,0x62,0x00,0x00,</p><p> /*-- 文字: 電 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/<
93、/p><p> 0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,</p><p> 0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,</p><p&
94、gt; /*-- 文字: 本 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x08,0x08,0x08,0x08,0x08,0xC8,0x38,0xFF,0x18,0x68,0x88,0x08,0x08,0x08,0x08,0x00,</p><p> 0x08,0x0
95、8,0x04,0x02,0x05,0x04,0x04,0x7F,0x04,0x04,0x04,0x03,0x06,0x0C,0x04,0x00,</p><p> /*-- 文字: 三 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x00,0x04,0x84,0x84,0
96、x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,</p><p> 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,</p><p> /*-- 文字: 班 --*/</p><p
97、> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x42,0x42,0xFE,0x42,0x42,0xE0,0x00,0xFF,0x00,0x42,0x42,0xFE,0x42,0x42,0x42,0x00,</p><p> 0x10,0x10,0x0F,0x88,0x49,0x20,0x18,0x07,0x20,0x2
98、0,0x20,0x3F,0x20,0x20,0x20,0x00,</p><p> /*-- 文字: 陳 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x00,0xFE,0x22,0x52,0x8E,0x00,0xC4,0xB4,0x8C,0xE7,0x84,0x84,0
99、x84,0x84,0x04,0x00,</p><p> 0x00,0xFF,0x02,0x04,0x23,0x10,0x0C,0x40,0x80,0x7F,0x00,0x02,0x04,0x18,0x30,0x00,</p><p> /*-- 文字: 璟 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16
100、 --*/</p><p> 0x00,0x42,0x42,0xFE,0x42,0x02,0x40,0x5F,0x55,0x55,0x75,0x55,0x55,0x5F,0x40,0x00,</p><p> 0x00,0x10,0x10,0x0F,0x08,0x44,0x20,0x17,0x45,0x85,0x7D,0x05,0x15,0x27,0x40,0x00,</p&g
101、t;<p> /*-- 文字: --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p>
102、 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> /*-- 文字: --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x00,0x00,0
103、x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> /*-- 文字: --*/</p&
104、gt;<p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/</p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0
105、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p><b> };</b></p><p> uchar code zimu[]={</p><p> /*-- 文字: Q --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=
106、8x16 --*/</p><p> 0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,</p><p> /*-- 文字: Q --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/<
107、;/p><p> 0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,</p><p> /*-- 文字: 4 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/</p><p
108、> 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,</p><p> /*-- 文字: 1 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/</p><p> 0x00,0x1
109、0,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,</p><p> /*-- 文字: 8 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/</p><p> 0x00,0x70,0x88,0x08,0x
110、08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,</p><p> /*-- 文字: 8 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/</p><p> 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0
111、x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,</p><p> /*-- 文字: 6 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/</p><p> 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,
112、0x11,0x20,0x20,0x11,0x0E,0x00,</p><p> /*-- 文字: 8 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/</p><p> 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21
113、,0x22,0x1C,0x00,</p><p> /*-- 文字: 9 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/</p><p> 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x0
114、0,</p><p> /*-- 文字: 4 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/</p><p> 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,</p>
115、<p> /*-- 文字: 5 --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/</p><p> 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,</p><p> /*-
116、- 文字: --*/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/</p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> /*-- 文字: --*
117、/</p><p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/</p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> /*-- 文字: --*/</p>&
118、lt;p> /*-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 --*/</p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> /*-- 文字: --*/</p><p> /*--
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設計---基于單片機的lcd顯示系統(tǒng)設計
- lcd顯示設計單片機課程設計
- 單片機課程設計lcd顯示屏設計
- 單片機課程設計--帶有l(wèi)cd顯示的定時鬧鐘
- 基于 51 單片機的漢字式 lcd 滾動顯示課程設計
- 單片機課程設計--lcd12864液晶顯示
- lcd單片機原理課程設計
- 基于單片機的液晶(lcd)圖文顯示系統(tǒng)設計
- 基于單片機的液晶(lcd)圖文顯示系統(tǒng)設計
- 單片機顯示系統(tǒng)課程設計報告-基于51內核的單片機為主控芯片的單片機顯示系統(tǒng)
- 基于單片機的lcd顯示屏設計
- 基于單片機lcd顯示的音樂倒數(shù)計數(shù)器課程設計論文
- 單片機課程設計---定時鬧鈴lcd
- 單片機課程設計---基于51單片機的電子顯示屏設計
- 用lcd顯示實時日歷時鐘單片機課程設計
- 用lcd顯示實時日歷時鐘單片機課程設計
- 單片機課程設計--顯示電路
- 數(shù)字鐘單片機課程設計-- lcd顯示的定時鬧鐘制作
- 單片機課程設計---- lcd電子定時鬧鐘設計
- 基于單片機的led點陣顯示課程設計
評論
0/150
提交評論