單片機顯示屏設計教材_第1頁
單片機顯示屏設計教材_第2頁
單片機顯示屏設計教材_第3頁
單片機顯示屏設計教材_第4頁
單片機顯示屏設計教材_第5頁
已閱讀5頁,還剩40頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、科研實踐設計說明 引言 在電子行業中, 越來越多的產品開始重視人機信息交換的輸入輸出設備。 其 中高像素液晶屏也越來越廣泛的采用。手機、 GPS、 PDA 等電子設備均已使用 320*240 或更高像素的 18 位色屏幕。而目前大學生設計電子產品或畢業論文中 常采用賭顯示電路卻是 LED 數碼管,顯然已跟不上時代的發展,文本設計的 LCD12864液晶顯示模塊可提供大部分電子產品及電器的顯示功能。 MCS-51單片機是美國 INTE 公司于 1980 年推出的產品,各高校及專業學校 的培訓教材仍與 MCS-51單片機作為代表進行理論基礎學習。 雖然目前 51 系列單 片機已無法滿足目前某些功能

2、或環境的要求,但是 51 系列的單片機仍然是最為 成功的單片機芯片,它的影響力一直延續到現在,以至于被越來越多的人熟悉。 而從目前市場價格及普及程度等方面因素考慮, 本文采用 AT89C51單片機作為顯 示模塊的控制核心。 目前眾多電子類產品用于顯示功能常用數碼管 LED與液晶 LCD。雖然數碼管 LED的結構簡單、顯示方便,但已無法滿足科技進步而產生的現實要求。 并且 LED 常用動態顯示,在復雜的系統中十分耗費系統資源,已逐漸被淘汰。而在 LCD 方面,常見的有 LCD12864,LCD12232,LCD1286等4 。 LCD12864可以在 LCD顯示屏 上完整顯示 32 個英文字符和

3、日文等一些字符適合顯示英文文字信息量小的地 方。可以應用在計算器、頻率計、時鐘等產品上。 LCD12232也只適合文字量少 的場合。而 LCD2864的分辨率達到了 128*64,對于 16*16 的字體可顯示 4 行 8 列,已能滿足大部分設備顯示的要求。 LCD12864 在市場上主要分為兩種,一種 采用 st7920 控制器,它帶有中文庫字模,價格略高一點,另一種是采用 KS0108 控制器,它只是點整模式, 不帶字庫。 而本文無需專門顯示文本且菜單文字比較 簡單,因此采用常見的 KS0108控制器的 LCD12864來完成顯示模塊的設計。 1設計內容和要求 本設計是以 STC89C52

4、芯片的電路為基礎,外部加上時鐘振蕩電路、上電 + 科研實踐設計說明 按鍵復位電路以及由 LCD12864液晶顯示器顯示電路組成的。通過編寫 C 語言程 序控制硬件電路顯示中英文。 1.1 設計顯示屏的意義 液晶顯示器 (LCD具) 有功耗低、體積小、重量輕、超薄等許多其它顯示器無 法相比的優點。 近幾年來被廣泛用于單片機控制的智能儀器、 儀表和低功耗電子 產品中。液晶顯示器分為字符型 LCD 顯示模塊和點陣型 LCD顯示模塊。字符型 LCD是一種用 816 點陣圖形來顯示字符的液晶顯示器。 點陣型液晶可顯示用戶 自定義的任意符號和圖形, 并可卷動顯示, 它作為便攜式單片機系統人機交互界 面的重

5、要組成部分被廣泛應用于實時檢測和顯示的儀器儀表中。 支持漢字顯示的 點陣型液晶在現代單片機應用系統中是一種十分常用的顯示設備,漢字BP機、 手機上的顯示屏就是點陣型 LCD。點陣型 LCD是現代單片機應用系統中最常用的 人機交互界面之一。 1.2 設計方案 根據設計的要求,以及設計的便捷性,本設計采用單片機與 LCD12864并行 連接的方式,基于 C語言的編程,通過控制單片機 AT89C52的 P0,P2,口直接對 顯示模塊 AMPIRE12864進行操作。 2 . 系統總體結構 2.1 系統設計框圖 經過方案論證和比較后 ,最終確定的系統框圖如圖 1所示,主要由 STC89C5單2 片機、

6、 LCD12864以及電源組成。 主要系統結構設計框圖如圖所示。 復位電路 STC89C52 2 STC89C52 顯示器 LCD12864 科研實踐設計說明 晶振電路 圖 2.1.1 系統設計框圖 2.2 主要設計軟件介紹 本設計利用 KEIL 編程軟件對頻率計源程序進行編程并調試,配合 PROTEUS 仿真軟件對硬件進行仿真調試,兩種軟件的簡介如下 : 2.2.1 PROTEUS軟件簡介 Proteus 軟件是英國 Labcenter electronics 公司出版的 EDA工具軟件(該 軟件中國總代理為廣州風標電子技術有限公司) 。它不僅具有其它 EDA工具軟件 的仿真功能, 還能仿真

7、單片機及外圍器件。 它是目前最好的仿真單片機及外圍器 件的工具。 雖然目前國內推廣剛起步, 但已受到單片機愛好者、 從事單片機教學 的教師、致力于單片機開發應用的科技工作者的青睞。 Proteus 是世界上著名的 EDA工具(仿真軟件 ) ,從原理圖布圖、代碼調試到單片機與外圍電路協同仿真, 一鍵切換到 PCB設計,真正實現了從概念到產品的完整設計。 是目前世界上唯一 將電路仿真軟件、 PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理 器模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33 、AVR、ARM、8086 和 MSP430等,2010年即將

8、增加 Cortex 和 DSP系列處理器,并持續增加其他系列處 理器模型。在編譯方面,它也支持 IAR、Keil 和 MPLAB等多種編譯器。 2.2.2 KEIL簡介 單片機開發中除必要的硬件外, 同樣離不開軟件, 我們寫的匯編語言源程序要變 為 CPU可以執行的機器碼有兩種方法, 一種是手工匯編, 另一種是機器匯編, 目 前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變為機器 碼,用于 MCS-51單片機的匯編軟件有早期的 A51,隨著單片機開發技術的不斷 發展,從普遍使用匯編語言到逐漸使用高級語言開發, 單片機的開發軟件也在不 科研實踐設計說明 斷發展, Keil 軟件是目

9、前最流行開發 MCS-51系列單片機的軟件,這從近年來各 仿真機廠商紛紛宣布全面支持 Keil 即可看出。 Keil 提供了包括 C 編譯器、宏匯 編、連接器、 庫管理和一個功能強大的仿真調試器等在內的完整開發方案, 通過 一個集成開發環境( uVision )將這些部份組合在一起。運行 Keil 軟件需要 Pentium 或以上的 CPU,16MB或更多 RAM、20M以上空閑的硬盤空間、 WIN98、NT、 WIN2000、WINXP等操作系統。掌握這一軟件的使用對于使用 51 系列單片機的愛 好者來說是十分必要的,如果你使用 C 語言編程,那么 Keil 幾乎就是你的不二 之選(目前在國

10、內你只能買到該軟件、 而你買的仿真機也很可能只支持該軟件) , 即使不使用 C 語言而僅用匯編語言編程, 其方便易用的集成環境、 強大的軟件仿 真調試工具也會令你事半功倍。 Keil C51 生成的目標代碼效率非常之高,多數 語句生成的匯編代碼很緊湊, 容易理解。 在開發大型軟件時更能體現高級語言的 優勢 3系統硬件設計 3.1 單片機部分硬件設計 3.1. 1STC89C52簡介 STC89C52是 STC公司生產的一種低功耗、 高性能 CMOS位8 微控制器,具有 8K 在系統可編程 Flash 存儲器。 STC89C52使用經典的 MCS-51內核,但做了很多的 改進使得芯片具有傳統 5

11、1 單片機不具備的功能。在單芯片上,擁有靈巧的 8 位 CPU 和在系統可編程 Flash ,使得 STC89C52為眾多嵌入式控制應用系統提供高 靈活、超有效的解決方案。 具有以下標準功能: 8k 字節 Flash ,512字節 RAM, 32 位I/O 口線,看門狗定時器,內置4KBE EPRO,MMAX810復位電路,3個16 位 定時器 / 計數器, 4 個外部中斷,一個 7 向量 4 級中斷結構(兼容傳統 51 的 5 向 量 2 級中斷結構),全雙工串行口。另外 STC89C52 可降至 0Hz 靜態邏輯操作, 支持 2 種軟件可選擇節電模式。空閑模式下, CPU 停止工作,允許

12、RAM、定時器 4 科研實踐設計說明 / 計數器、串口、中斷繼續工作。掉電保護方式下, RAM內容被保存,振蕩器被 凍結,單片機機一切工作停止, 直到下一個中斷或硬件復位為止。 最高運作頻率 35MHz,6T/12T 可選。 本設計中, P0 端口( 3239 腳)被定義為 N1 功能控制端口,分別與 N1的 相應功能管腳相連接。 單片機正常工作時, 都需要有一個時鐘電路和一個復位電 路。本設計中選擇了內部時鐘方式和按鍵電平復位電路, 來構成單片機的最小電 路。如圖 3.1.1 所示 圖 3.1.1 STC89C52 單片機管腳圖 3.1.2 單片機最小系統設計 單片機最小系統是能補足單片機工

13、作的最簡單電路, 它由單片機、 電源、晶 體振蕩器、 復位電路等構成。 它是本系統的處理單元也是控制單元, 負責處理信 號、外設的接口與制,同時它也是所有軟件的載體。如圖 3.1.2 科研實踐設計說明 圖 3.1.2 單片機最小系統 3.1.3時鐘振蕩電路和復位電路 時鐘振蕩電路 STC89C52中有一個用于構成內部振蕩器的高增益反相放大器, 引 腳 XTAL1和 XTAL2分別是該放大器的輸入端和輸出端。 這個放大器與作為反饋元 件的片外石英晶體或者陶瓷諧振器一起構成自然振蕩器。外接石英晶體及電容 C1、C2接在放大器的反饋回路中構成并聯振蕩電路。對外接電容C1,C2 雖然沒 有什么嚴格的要

14、求, 但電容容量的大小會輕微影響振蕩頻率的高低、 振蕩器工作 的穩定性、 起振的難易程序及溫度穩定性。 如果使用石英晶體, 我們推薦電容使 用 30PF 10PF,而如果使用陶瓷振蕩器建議選擇 40PF 10PF。用戶也可以采用 外部時鐘。采用外部時鐘的電路如圖示。這種情況下,外部時鐘脈沖接到 XTAL1 端,即內部時鐘發生器的輸入端, XTAL2則懸空。由于外部時鐘信號是通過一個 2 分頻觸發器后作為內部時鐘信號的, 所以對外部時鐘信號的占空比沒有特殊要 求,但最小高電平持續時間和最大的低電平持續時間應符合產品技術條件的要 求。本設計采用了內部時鐘振蕩器電路。如圖 3.2 科研實踐設計說明

15、圖 3.1.3 時鐘振蕩電路 復位電路 當 STC89C52通電,時鐘電路開始工作,在 STC89C52單片機的 RST 引腳加上大于 24 個時鐘周期以上的正脈沖, STC89C52單片機系統即初始復位。 初始化后, 程序計數器 PC指向 0000H,P0P3輸出口全部為高電平, 堆棧指針寫 入 07H,其他專用寄存器被清零。 RST由高電平下降為低電平后,系統從 0000H 地址開始執行程序。單片機的外部復位電路有上電自動復位和按鍵手動復位兩 種。本次設計采用的是上電 +按鍵復位。如圖 3.2.2 為 STC89C52單片機的上位 + 按鍵復位電路,復位端與正電源接通,迅速放電,使 RST

16、引腳為高電平,復位按 鈕彈起后,電源通過 10K 電阻對 10uf 重新充電, RST引腳端出現復位正脈沖。 圖 3.1.4 上電 +按鍵復位電路 3.2 液晶 LCD12864顯示電路 科研實踐設計說明 3.2.1 LCD12864管腳說明 液晶屏上如何顯示一些漢字或圖畫, 這也許是所有 LCD12864 初學者都最先 思考的一個問題。在數字電路中,所有數據都是由 0和 1保存的,同樣 LCD 也 利用了這一方法。在點陣 LCD 上顯示的只有兩種顏色,因此可利用 0和 1來表 示這兩種顏色。假設空格是由 16*16個 0組成的,在顯示 16*16 的字體時,將其 中某些點置為 1 便可在視覺

17、上形成一個漢字, 這些二進制數稱為代位碼。 而這些 由0和 1轉換而成的 16進制數據便是字模。不同的漢字有不同的字模,相同的 漢字不同的字體也有不同的字模。 而將字模設為 16*16 像素是因為這樣基本可以 將漢字顯示清楚準確,更高像素則更為清楚準確,但是卻更多地占用了 LCD 的 面積。與漢字不同的是,一個字符只需要 16*8 的像素便即可。如何將這 16*16 或者 16*8 個 0、1 保存下來也是是初學者所需要了解的,假設要在 LCD12864屏 幕上準確正確的顯示出漢字,則需要將 16*16 的漢字分為兩行,每行由 16 列組 成,這 16列每列存 8個點,用 2位 16進制數(

18、8位二進制數)表示這 8個點, 16個16進制數可表示 1行,32個16進制數則能表示整個漢字。 通過LCD12864, 則可將這些字模信息還原成漢字或圖像。 LCD12864的管腳共有 20 個之多,但是連接的電路并不復雜。但是需要注意 的是 LCD的電源共有 2 組,一組是用于驅動 LCD顯示,另一組用于背光顯示。 可 將這兩組連在一起或者背光電源省略。另外有個輸入管腳V0 需要接入 LCD調整 電壓來調節對比度。 通常剛使用液晶時的問題是由此引起的, 對比度過高于或過 低均會使屏幕無法正常顯示。 它可接至 10K-20K 電位器的調整端, 電位器兩端分 別接至 VDD與 VEE。目前市場

19、上某些 LCD12864的對比度可由單片機操作其寄存 器調節,可根據不同的條件進行選擇。其余的端口均連接至單片機。下面是 LCD12364的引腳圖以及引腳功能表。 科研實踐設計說明 圖 3.2.1 LCD12864 引腳圖 表 3.2 LCD12864 引腳功能 管腳名稱 LEVER 管腳功能描述 VSS 0 電源地 VDD +5.0V 電源電壓 V0 - 液晶顯示器驅動電壓 D/I(RS) H/L D/I= “ H,”表示 DB7 DB0 為顯示數據 D/I= “ L,”表示 DB7 DB0 為顯示指令數據 R/W H/L R/W=“ H”,E=“ H”數據被讀到 DB7 DB0 R/W=“

20、 L”, E=“ H L”數據被寫到 IR 或 DR E H/L R/W=“ L”, E 信號下降沿鎖存 DB7 DB0 R/W=“ H”, E=“ H” DDRAM數據讀到 DB7DB0 DB0 H/L 數據線 9 科研實踐設計說明 DB1 H/L 數據線 DB2 H/L 數據線 DB3 H/L 數據線 DB4 H/L 數據線 DB5 H/L 數據線 DB6 H/L 數據線 DB7 H/L 數據線 CS1 H/L H:選擇芯片 (右半屏 )信號 CS2 H/L H:選擇芯片 (左半屏 )信號 RET H/L 復位信號 ,低電平復位 VOUT -10V LCD 驅動負電壓 LED+ - LED

21、 背光板電源 LED- - LED 背光板電源 3.2.2 LCD12864硬件連接 由 P0 口控制 DB0-CB7的數據輸入口,當空閑時向 LCD12864里寫入程序或數 據。由 P22、P21 控制片選口。 P26 控制時能端。當使能端從 1-0 時實現鎖屏 顯示。P23控制復位信號,低電平時復位。 P25控制 R/W口。當 R/W=“H”, E=“H”則數據被讀到 DB7-DB0。當 R/W=“L”, E=“HL”則數據被寫到 IR 或 DR。P24控制 D/I 口。當 D/I= “H”,則 DB7-DB0為顯示數據。當 D/I= “L”, 則 DB7-DB0為顯示指令數據。 10 科

22、研實踐設計說明 圖 3.2.2 液晶 LCD12864 顯示電路 3.2.3 電源電路 系統硬件電路實現功能如下,如圖 3.2.3 所示 1)由 PNP三極管與 10K電阻構成的放大電路。 2)振蕩電路為 12MHZ晶振頻率工作,起振電路中 C1、 C2均為 30PF。 3)高電平為 5V工作電源,利用變壓器將 220V交流電源變成 5V 工作電源。 圖 3.2.3 變壓整流電路 11 科研實踐設計說明 4. 系統軟件設計 4.1 資源分配表 表 4.1 資源分配表 I/O 口 作用 P0 LCD12864數據接口 P2.1 LCD12864 片選 C1接口 P2.2 LCD12864 片選

23、C2接口 P2.3 LCD12864 RST接口 P2.4 LCD12864 RW接口 P2.5 LCD12864 RS接口 P2.6 LCD12864 E接口 4.2 LCD12864 的基本指令 1、顯示開 /關設置 CODE:表 4-1 顯示開 / 關設置 R/W D/1 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L L L H H H H H H 功能:設置屏幕顯示開 /關。 DB0=H ,開顯示; DB0=L ,關顯示。不影響顯 示 RAM(DDRAM) 中的內容。 2、設置顯示起始行 CODE:表 4-2 設置顯示起始行 R/W D/I DB7 DB6 D

24、B5 DB4 DB3 DB2 DB1 DB0 L L H H 行地址( 0-63) 功能:執行該命令后, 所設置的行將顯示在屏幕的第一行。 顯示起始行是由 Z 地址計數器控制的,該命令自動將 A0-A5 位地址送入 Z 地址計數器,起始地 址可以是 0-63 范圍內任意一行。 Z 地址計數器具有循環計數功能,用于顯示行 掃描同步,當掃描完一行后自動加一。 3、設置頁地址 CODE:表 4-3 設置頁地址 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L H L H H H 頁地址( 0-7 ) 功能:執行本指令后,下面的讀寫操作將在指定頁內,直到重新設置。

25、頁地 址就是 DDRAM 的行地址,頁地址存儲在 X 地址計數器中,A2-A0 可表示 8 頁, 12 科研實踐設計說明 讀寫數據對頁地址沒有影響,除本指令可改變頁地址外,復位信號 (RST)可把頁 地址計數器內容清零。 4、設置列地址 CODE:表 4-4 設置列地址 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L L L H 列地址( 0-63) 功能: DDRAM 的列地址存儲在 Y 地址計數器中,讀寫數據對列地址有影 響,在對 DDRAM 進行讀寫操作后, Y 地址自動加一。 5、狀態檢測 CODE:表 4-5 狀態檢測 R/W D/I DB7 DB

26、6 DB5 DB4 DB3 DB2 DB1 DB0 H L BF L ON/OFF RET L L L L 功能:讀忙信號標志位 (BF)、復位標志位 (RST) 以及顯示狀態位 (ON/OFF) BF=H:內部正在執行操作;BF=L :空閑狀態。 RST=H:正處于復位初始化狀態; RST=L :正常狀態。 ON/OFF=H:表示顯示關閉;ON/OFF=L :表示顯示開。 6、寫顯示數據 CODE:表 4-6 寫顯示數據 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 L H D7 D6 D5 D4 D3 D2 D1 D0 功能:寫數據到 DDRAM ,DDR

27、AM 是存儲圖形顯示數據的,寫指令執行后 Y 地址計數器自動加 1 。 D7-D0 位數據為 1 表示顯示,數據為 0 表示不顯示。寫 數據到 DDRAM 前,要先執行“設置頁地址”及“設置列地址”命令。 7、讀顯示數據 CODE:表 4-7 讀顯示數據 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 H H D7 D6 D5 D4 D3 D2 D1 D0 功能:從 DDRAM 讀數據,讀指令執行后 Y 地址計數器自動加 1。從 DDRAM 讀數據前要先執行“設置頁地址” 及“設置列地址”命令。 4.3 字模提取 在數字電路中,所有的數據都是以 0 和 1 保存

28、的,對 LCD 控制器進行不同 的數據操作,可以得到不同的結果。 對于顯示英文操作, 由于英文字母種類很少, 只需要 8 位(一字節)即可。而對于中文,常用卻有 6000以上,于是我們的 DOS 前輩想了一個辦法,就是將 ASCII 表的高 128 個很少用到的數值以兩個為一組 來表示漢字, 即漢字的內碼。 而剩下的低 128 位則留給英文字符使用, 即英文的 內碼。 13 科研實踐設計說明 那么,得到了漢字的內碼后,還僅是一組數字,那又如何在屏幕上去顯示呢, 這就涉及到文字的字模, 字模雖然也是一組數字, 但它的意義卻與數字的意義有 了根本的變化, 它是用數字的各位信息來記載英文或漢字的形狀

29、, 如中文的 “你” 在字模中的記載如圖所示 : 圖 4.3.1 “你”字模圖 根據芯片的不同取模的方式不同, 有多種取模方式。 本系統采用縱向取模, 字節 正序方式,用 LCD點陣漢字生成器生成字模“楊”的 C 語言代碼為 : /*- 文字 : 楊 -*/ /*- 宋體 12; 此字體下對應的點陣為:寬 x 高=16x16 -*/ 0 x08,0 x08,0 xc8,0 xff,0 x48,0 x88,0 x0a,0 x42,0 x62,0 xd2,0 x4a,0 xd6,0 x42,0 x40 ,0 x00,0 x00, 0 x04,0 x03,0 x00,0 xff,0 x00,0 x0

30、1,0 x08,0 x24,0 x13,0 x08,0 x06,0 x41,0 x80,0 x7f ,0 x40,0 x00, 4.4 主程序流程框圖 14 科研實踐設計說明 圖 4.4.1 主程序流程圖 15 科研實踐設計說明 5. 系統仿真及調試 5.1 硬件調試 1)硬件制作完成后,測試其效果, LCD顯示器無反應。 2)用電表檢測各引腳電位后,發現STC89C52芯片損壞。 3)修改后,調節 LCD顯示器對比度,正常顯示。 5.2 軟件調試 1根據系統的原理結構檢查各流程圖是否正確,再根據流程圖來檢查程序是否也正確。 2將所有程序組織起來,在軟件環境下運行,檢查程序是否正確。通過對硬件

31、和軟件 系統的認真檢查, 反復測試, 如果沒有出現問題即可把源程序編譯成HEX文件裝載到單片機 中,對硬件進行仿真。具體操作為: 利用 STC燒錄軟件,打開應用程序出現以下窗口如圖5.1.1 圖 5.2.1 選擇對應的 HEX文件,選擇 Download 將程序燒錄到 CPU當中 16 科研實踐設計說明 5.3 仿真結果 6、心得與體會 圖 5.3.1 仿真結果 17 科研實踐設計說明 通過這次單片機課程設計, 我不僅加深了對單片機理論的理解, 將理論很好 地應用到實際當中去, 而且我還學會了如何去培養我們的創新精神, 從而不斷地 戰勝自己,超越自己。 創新可以是在原有的基礎上進行改進, 使之

32、功能不斷完善, 成為真己的東西。 通過這次對 LCD液晶顯示屏的設計與制作,讓我了解了設計電路的程序,也 讓我了解了關于 LCD12864的基本原理與設計理念,要設計一個電路總要先用仿 真仿真成功之后才實際接線的。但是最后的成品卻不一定與仿真時完全一 樣, 因為,在實際接線中有著各種各樣的條件制約著。而且,在仿真中無法成 功的電路接法, 在實際中因為芯片本身的特性而能夠成功。 所以,在設計時盡可 能應考慮兩者的差異, 從中找出最適合的設計方法。 此外, 仿真時應注意相同元 件的不同型號, 往往存在差異性。 通過這次學習, 讓我對各種電路都有了大概的 了解, 所以說, 心動不如行動, 對于這些電

33、路還是應該自己動手實際操作 才會有深刻理解。 7、參考文獻 18 科研實踐設計說明 張齊 朱寧西 . 單片機應用系統設計技術基于 C51 的 Proteus 仿真(第二 版),電子工業出版社, 2009.1. 張齊 朱寧西 單片機應用系統設計技術基于 C51的Proteus 仿真實驗與解 題指導電子工業出版社, 2009.1. 常敏 王涵 單片機應用程序開發與實踐,電子工業出版社, 2009.3 4 楊凌霄.微軟計算機原理及應用 . 中國礦業大學出版社 2004.08 5 何立民.單片機應用技術選編 . 北京航空航天大學出版社 2000.08 6 萬光毅.單片機實驗與實踐教程 . 北京航空航天

34、大學出版社 2005.01 7 周航慈.單片機程序設計基礎 . 北京航空航天大學出版社 1991.11 8 黃遵熹.單片機原理接口與應用 . 西北工業大學出版社 1997.05 9 楊振江,杜鐵軍,李群. 流行單片機實用子程序及應用實例 M. 西安電子科技 大學出版社 2002 附錄 1:元件清單 序號 名稱 型號、參數 備注 價格 數量 19 科研實踐設計說明 1 CPU STC89C52 DIP40 封裝 4.4 1 2 管座 DIP-40 0.3 1 3 晶振 11.0592MHZ 492 型 0.6 1 4 整流橋 2W10 2A圓橋 0.5 1 5 穩壓 IC LM7805 TO-2

35、20 0.8 1 6 原片電容 30pf 0.05 2 7 電解電容 1000uf/16V 0.3 1 8 電解電容 470uf/16V 0.2 1 9 電解電容 10uf/16V 0.1 1 10 獨石電容 0.47uf 0.2 2 11 按鈕 6mm*6mm 0.1 1 12 電阻 10K/0.25W 金屬膜 1/4W 0.01 1 13 排阻 A10-103 直插 0.25 1 14 單排排陣 直插 1*40 0.3 1 15 自鎖開關 8*8 自鎖開關 -6p 8mm*8mm 0.3 1 16 接線端子 XH2.54-4P 2.54mm 0.04 1 17 LCD12864顯示 器 4

36、5.00 1 18 10K可變電阻器 1 1 成本總價 55.16 元 附錄 2:原理圖 20 科研實踐設計說明 附錄 3:源程序 21 科研實踐設計說明 #include #define uchar unsigned char #define uint unsigned int #define LCDLCDDisp_Off 0 x3e #define LCDLCDDisp_On 0 x3f #define Page_Add 0 xb8/ye #define LCDCol_Add 0 x40/lie #define Start_Line 0 xC0/hang /* 液晶顯示器的端口定義 */

37、#define data_ora P0 /* 液晶數據總線 */ sbit LCDMcs=P21; /*片選 1*/ sbit LCDScs=P22; /*片選 2*/ sbit RESET=P23; /* 復位信號 */ sbit LCDDi=P24; /*數據/ 指令 選擇*/ sbit LCDRW=P25; /* 讀/ 寫 選擇 */ sbit LCDEnable=P26; /*讀/ 寫 使能 */ uchar *tab; uint k=0; uchar code hz1= /*- 文字 : 電 -*/ /*- 宋體 12; 此字體下對應的點陣為:寬 x 高=16x16 -*/ 0 x0

38、0,0 x00,0 xF8,0 x88,0 x88,0 x88,0 x88,0 xFF,0 x88,0 x88,0 x88,0 x88,0 xF8,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x1F,0 x08,0 x08,0 x08,0 x08,0 x7F,0 x88,0 x88,0 x88,0 x88,0 x9F,0 x80 ,0 xF0,0 x00, /*- 文字 : 氣 -*/ /*- 宋體 12; 此字體下對應的點陣為:寬 x 高=16x16 -*/ 0 x00,0 x20,0 x10,0 x8C,0 xA7,0 xa4,0 xa4,0 xa4,0 xa4,0

39、 xa4,0 xa4,0 xa4,0 x24,0 x04 ,0 x04,0 x00, 22 科研實踐設計說明 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x0F,0 x00,0 x30 ,0 x40,0 xF0, /*- 文字 : 學 -*/ /*- 宋體 12; 此字體下對應的點陣為:寬 x 高=16x16 -*/ 0 x40,0 x30,0 x11,0 x96,0 x90,0 x90,0 x91,0 x96,0 x90,0 x90,0 x98,0 x14,0 x13,0 x50 ,0 x30,0 x

40、00, 0 x04,0 x04,0 x04,0 x04,0 x04,0 x44,0 x84,0 x7E,0 x06,0 x05,0 x04,0 x04,0 x04,0 x04 ,0 x04,0 x00, /*- 文字 : 院 -*/ /*- 宋體 12; 此字體下對應的點陣為:寬 x 高=16x16 -*/ 0 x00,0 xFE,0 x22,0 x5A,0 x86,0 x10,0 x0C,0 x24,0 x24,0 x25,0 x26,0 x24,0 x24,0 x14 ,0 x0C,0 x00, 0 x00,0 xFF,0 x04,0 x08,0 x07,0 x80,0 x41,0 x31

41、,0 x0F,0 x01,0 x01,0 x3F,0 x41,0 x41 ,0 x71,0 x00, 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00 ,0 x00,0 x00, /*- 文字 : 楊 -*/ /*- 宋體 12; 此字體下對應的點陣為:寬 x 高=16x16 -*/

42、0 x08,0 x08,0 xc8,0 xff,0 x48,0 x88,0 x0a,0 x42,0 x62,0 xd2,0 x4a,0 xd6,0 x42,0 x40 ,0 x00,0 x00, 0 x04,0 x03,0 x00,0 xff,0 x00,0 x01,0 x08,0 x24,0 x13,0 x08,0 x06,0 x41,0 x80,0 x7f ,0 x40,0 x00, /*- 文字 : 東 -*/ /*- 宋體 12; 此字體下對應的點陣為:寬 x 高=16x16 -*/ 0 x00,0 x04,0 x04,0 xc4,0 xb4,0 x8c,0 x87,0 x84,0 x

43、f4,0 x84,0 x84,0 x84,0 x84,0 x04 ,0 x80,0 x00, 0 x00,0 x00,0 x20,0 x18,0 x0e,0 x04,0 x20,0 x40,0 xff,0 x00,0 x02,0 x04,0 x18,0 x30 ,0 x00,0 x00, 23 科研實踐設計說明 /*- 文字 : 陽 -*/ /*- 宋體 12; 此字體下對應的點陣為:寬 x 高=16x16 -*/ 0 x00,0 xfe,0 x02,0 x22,0 x5a,0 x86,0 x00,0 xfe,0 x42,0 x42,0 x42,0 x42,0 x42,0 xfe ,0 x00

44、,0 x00, 0 x00,0 xff,0 x04,0 x08,0 x04,0 x07,0 x00,0 x3f,0 x1f,0 x1f,0 x1f,0 x1f,0 x1f,0 x3f ,0 x00,0 x00, ; uchar code hz2= 0 x00,0 x00,0 x00,0 x00,0 x00,0 x08,0 x04,0 xfe,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x00,0 x00,0 x40,0 x40,0 x7f,0 x40,0 x40,0 x00,0 x00,0 x00,

45、0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 xf8,0 x04,0 x02,0 x02,0 x02,0 x02,0 x02,0 x04,0 xf8,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x1f,0 x20,0 x40,0 x40,0 x40,0 x40,0 x40,0 x20,0 x1f,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 xf8,0 x04,0 x02,0 x02,0 x02,0 x02,0 x02,0 x04,0 xf8,0 x00,0 x00

46、,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x1f,0 x20,0 x40,0 x40,0 x40,0 x40,0 x40,0 x20,0 x1f,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x18,0 x04,0 x02,0 x02,0 x02,0 x82,0 x82,0 x84,0 x78,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x78,0 x44,0 x42,0 x41,0 x41,0 x40,0 x40,0 x40,0 x70,0 x00,0 x00 ,0 x00

47、,0 x00, 0 x00,0 x00,0 x00,0 xf8,0 x04,0 x02,0 x02,0 x02,0 x02,0 x02,0 x04,0 xf8,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x1f,0 x20,0 x40,0 x40,0 x40,0 x40,0 x40,0 x20,0 x1f,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x80,0 xc0,0 x60,0 x18,0 x0c,0 xfe,0 x00,0 x00,0 x00,0 x00,0 x00 24 科研實踐設計說明

48、,0 x00,0 x00, 0 x00,0 x00,0 x0f,0 x09,0 x08,0 x08,0 x48,0 x48,0 x7f,0 x48,0 x48,0 x08,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x0c,0 x02,0 x02,0 x02,0 x82,0 x82,0 x42,0 x22,0 x1c,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x30,0 x40,0 x40,0 x40,0 x40,0 x40,0 x41,0 x22,0 x1c,0 x00,0 x00 ,0 x00

49、,0 x00, 0 x00,0 x00,0 x00,0 x18,0 x04,0 x02,0 x02,0 x02,0 x82,0 x82,0 x84,0 x78,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x78,0 x44,0 x42,0 x41,0 x41,0 x40,0 x40,0 x40,0 x70,0 x00,0 x00 ,0 x00,0 x00, ; uchar code hz3= 0 x00,0 x00,0 xf8,0 x28,0 x29,0 x2e,0 x2a,0 xf8,0 x28,0 x2c,0 x2b,0 x2a,0 xf8,

50、0 x00 ,0 x00,0 x00, 0 x08,0 x08,0 x0b,0 x09,0 x09,0 x09,0 x09,0 xff,0 x09,0 x09,0 x09,0 x09,0 x0b,0 x08 ,0 x80,0 x00, 0 x00,0 x00,0 x00,0 xfe,0 x10,0 x10,0 x10,0 x10,0 x10,0 x1f,0 x10,0 x10,0 x10,0 x18 ,0 x10,0 x00, 0 x80,0 x40,0 x30,0 x0f,0 x01,0 x01,0 x01,0 x01,0 x01,0 x01,0 x01,0 xff,0 x00,0 x00

51、,0 x00,0 x00, 0 x08,0 x08,0 xc8,0 xff,0 x48,0 x88,0 x08,0 x00,0 xfe,0 x02,0 x02,0 x02,0 xfe,0 x00 ,0 x00,0 x00, 0 x04,0 x03,0 x00,0 xff,0 x00,0 x41,0 x30,0 x0c,0 x03,0 x00,0 x00,0 x00,0 x3f,0 x40 ,0 x78,0 x00, 0 x00,0 x00,0 x00,0 x3e,0 x2a,0 xea,0 x2a,0 x2a,0 x2a,0 xea,0 x2a,0 x3e,0 x00,0 x00 ,0 x00

52、,0 x00, 0 x20,0 x21,0 x22,0 x2c,0 x20,0 x3f,0 x20,0 x20,0 x20,0 x3f,0 x28,0 x24,0 x23,0 x20 ,0 x20,0 x00, 25 科研實踐設計說明 0 x00,0 x20,0 x20,0 x22,0 x22,0 x22,0 x22,0 xe2,0 x22,0 x22,0 x22,0 x22,0 x22,0 x20 ,0 x20,0 x00, 0 x10,0 x08,0 x04,0 x03,0 x00,0 x40,0 x80,0 x7f,0 x00,0 x00,0 x01,0 x02,0 x0c,0 x18

53、,0 x00,0 x00, 0 x00,0 x00,0 xff,0 x09,0 x49,0 x59,0 xe9,0 x49,0 x49,0 x49,0 xe9,0 x59,0 x49,0 x4f ,0 x00,0 x00, 0 x40,0 x30,0 x0f,0 x82,0 x42,0 x32,0 x0f,0 x02,0 x02,0 x02,0 xff,0 x02,0 x02,0 x02 ,0 x02,0 x00, 0 x40,0 x41,0 xce,0 x04,0 x00,0 x80,0 x40,0 xbe,0 x82,0 x82,0 x82,0 xbe,0 xc0,0 x40 ,0 x40

54、,0 x00, 0 x00,0 x00,0 x7f,0 x20,0 x90,0 x80,0 x40,0 x43,0 x2c,0 x10,0 x10,0 x2c,0 x43,0 xc0 ,0 x40,0 x00, 0 x20,0 x21,0 x2e,0 xe4,0 x00,0 x00,0 x20,0 x20,0 x20,0 x20,0 xff,0 x20,0 x20,0 x20 ,0 x20,0 x00, 0 x00,0 x00,0 x00,0 x7f,0 x20,0 x10,0 x08,0 x00,0 x00,0 x00,0 xff,0 x00,0 x00,0 x00 ,0 x00,0 x00

55、, ; uchar code hz4= 0 x00,0 xf8,0 x04,0 x02,0 x02,0 x02,0 x02,0 x02,0 x02,0 x02,0 x84,0 x8e,0 x80,0 x00 ,0 x00,0 x00, 0 x00,0 x03,0 x03,0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,0 x07,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 xf0,0 x08,0 x04,0 x02,0 x02,0 x02,0 x02,0 x02,0 x04,0 x08,0 xf0,0 x00

56、,0 x00,0 x00, 0 x00,0 x00,0 x01,0 x02,0 x04,0 x08,0 x08,0 x08,0 x08,0 x08,0 x04,0 x02,0 x01,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 xf0,0 x08,0 x04,0 x02,0 x02,0 x02,0 x02,0 x02,0 x04,0 x08,0 xf0,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x01,0 x02,0 x04,0 x08,0 x08,0 x08,0 x08,0 x08,0 x04,0 x02,0 x01,0 x00 26 科研實

57、踐設計說明 ,0 x00,0 x00, 0 x00,0 x02,0 xfe,0 x02,0 x02,0 x02,0 x02,0 x02,0 x02,0 x02,0 x02,0 x04,0 xf8,0 x00 ,0 x00,0 x00, 0 x00,0 x08,0 x0f,0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,0 x04,0 x03,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00

58、,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x02,0 x02,0 x02,0 x02,0 xfe,0 x02,0 x02,0 x02,0 x02,0 x00,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x10,0 x20,0 x40,0 x80,0 xff,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00 ,0 x00

59、,0 x00, 0 x00,0 x00,0 xf0,0 x08,0 x04,0 x02,0 x02,0 x02,0 x02,0 x02,0 x04,0 x08,0 xf0,0 x00 ,0 x00,0 x00, 0 x00,0 x00,0 x01,0 x02,0 x04,0 x08,0 x08,0 x08,0 x08,0 x08,0 x04,0 x02,0 x01,0 x00 ,0 x00,0 x00, 0 x00,0 x02,0 xfe,0 x42,0 x42,0 x42,0 x42,0 x42,0 x42,0 x42,0 xa2,0 x1c,0 x00,0 x00 ,0 x00,0 x00

60、, 0 x00,0 x08,0 x0f,0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,0 x08,0 x07,0 x00,0 x00 ,0 x00,0 x00, ; /* 函數功能 :LCD延時程序 入口參數 :t 出口參數 : */ void LCDdelay(uchar x) int d; 27 科研實踐設計說明 uchar y; for(y=0;yx;y+) for(d=0;d10;d+); /* 狀態檢查, LCD是否忙 */ void CheckState() uchar dat,DATA;/ 狀態信息(判斷是否忙) LCDDi=0; / 數據

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論