指針式電子鐘畢業(yè)論文_第1頁
指針式電子鐘畢業(yè)論文_第2頁
指針式電子鐘畢業(yè)論文_第3頁
指針式電子鐘畢業(yè)論文_第4頁
指針式電子鐘畢業(yè)論文_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、指針式電子鐘指針式電子鐘 目錄目錄 摘摘 要要.1 1 第一章第一章 引言引言.2 2 1.11.1 設(shè)計(jì)任務(wù)設(shè)計(jì)任務(wù).2 1.21.2 設(shè)計(jì)要求設(shè)計(jì)要求.2 第二章第二章 總體方案論證與設(shè)計(jì)總體方案論證與設(shè)計(jì)總體方案論證與設(shè)計(jì)總體方案論證與設(shè)計(jì).3 3 第三章第三章 系統(tǒng)硬件設(shè)置系統(tǒng)硬件設(shè)置.4 4 3.13.1 at89c51 單片機(jī)簡介單片機(jī)簡介.4 3.23.2 時(shí)鐘模塊設(shè)計(jì)時(shí)鐘模塊設(shè)計(jì).7 3.2.13.2.1 ds1302ds1302 特性介紹特性介紹.7 3.2.23.2.2 ds1302ds1302 引腳介紹引腳介紹.7 3.2.33.2.3 ds1302ds1302 有關(guān)日歷

2、,時(shí)間的寄存器有關(guān)日歷,時(shí)間的寄存器.9 3.2.43.2.4 ds1302ds1302 與單片機(jī)接口電路與單片機(jī)接口電路.9 3.33.3 顯示模塊設(shè)計(jì)顯示模塊設(shè)計(jì).10 3.3.13.3.1 pg12864lcdpg12864lcd 的特性介紹的特性介紹.11 3.3.23.3.2 lcd12864lcd12864 引腳介紹引腳介紹.12 3.3.33.3.3 lcd12864lcd12864 的原理簡圖的原理簡圖.13 3.3.43.3.4 1286412864 內(nèi)部功能器件及相關(guān)功能內(nèi)部功能器件及相關(guān)功能.13 3.3.53.3.5 1286412864 液晶與單片機(jī)接口電路液晶與單片

3、機(jī)接口電路.16 3.43.4 設(shè)置模塊設(shè)置模塊.18 3.53.5 振蕩電路振蕩電路.19 3.63.6 復(fù)位電路復(fù)位電路.20 第四章第四章 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì).2121 4.14.1 時(shí)鐘函數(shù)模塊時(shí)鐘函數(shù)模塊.21 4.1.14.1.1 實(shí)現(xiàn)功能實(shí)現(xiàn)功能.22 4.1.24.1.2 函數(shù)設(shè)計(jì)函數(shù)設(shè)計(jì).22 4.24.2 指針時(shí)鐘設(shè)計(jì)指針時(shí)鐘設(shè)計(jì).28 4.2.14.2.1 實(shí)現(xiàn)功能實(shí)現(xiàn)功能.28 4.2.24.2.2 函數(shù)設(shè)計(jì)函數(shù)設(shè)計(jì).28 4.2.34.2.3 小結(jié)小結(jié).30 4.34.3 顯示函數(shù)模塊顯示函數(shù)模塊.31 4.3.14.3.1 實(shí)現(xiàn)功能實(shí)現(xiàn)功能.31 4.3.24

4、.3.2 函數(shù)設(shè)計(jì)函數(shù)設(shè)計(jì).31 4.3.34.3.3 小結(jié)小結(jié).33 4.44.4 按鍵函數(shù)模塊按鍵函數(shù)模塊.33 4.4.14.4.1 實(shí)現(xiàn)功能實(shí)現(xiàn)功能.33 4.4.24.4.2 函數(shù)設(shè)計(jì)函數(shù)設(shè)計(jì).33 4.4.34.4.3 小結(jié)小結(jié).33 4.54.5 主函數(shù)模塊主函數(shù)模塊.33 附錄附錄 1 1 元器件表元器件表 .5252 附錄附錄 2 2 仿真圖仿真圖 .5353 附錄附錄 3 3 參考文獻(xiàn)參考文獻(xiàn) .5454 摘摘 要要 單片機(jī)就是微控制器,是面向應(yīng)用對象設(shè)計(jì)、突出控制功能的芯片。單片機(jī) 接上晶振、復(fù)位電路和相應(yīng)的接口電路,裝載軟件后就可以構(gòu)成單片機(jī)應(yīng)用系統(tǒng)。 本設(shè)計(jì)就是應(yīng)用單

5、片機(jī)強(qiáng)大的控制功能制作而成的指針式電子鐘,該指針式電子 鐘實(shí)現(xiàn)如下功能:液晶屏模擬表盤與時(shí)分秒指針顯示當(dāng)前時(shí)鐘,k1 鍵用于選擇 調(diào)節(jié)對象,k2 鍵用于調(diào)整時(shí)分秒,在按下 k4 鍵時(shí)確定調(diào)節(jié)值,時(shí)鐘繼續(xù)運(yùn)行。 本設(shè)計(jì)采用的是 at89c51 單片機(jī),at89c51 單片機(jī)內(nèi)部帶有定時(shí)/計(jì)數(shù)功能, 此定時(shí)功能是通過對外部晶振的脈沖進(jìn)行計(jì)數(shù),從而達(dá)到計(jì)時(shí)功能,只要使用 11.0592 的晶振就能實(shí)現(xiàn)零誤差的計(jì)時(shí),因此可以利用此功能實(shí)現(xiàn)計(jì)時(shí)。芯片采 用 dallas 公司的涓細(xì)充電時(shí)鐘芯片 ds1302,該芯片通過簡單的串行通信與單 片機(jī)進(jìn)行通信,時(shí)鐘/日歷電路能夠?qū)崟r(shí)提供年、月、日、時(shí)分、秒信息,

6、采用 雙電源供電,當(dāng)外部電源掉電時(shí)能夠利用后備電池準(zhǔn)確計(jì)時(shí)。 顯示器件采用 lcd12864 液晶,12864 是一種圖形點(diǎn)陣液晶顯示器,它主要由 行驅(qū)動器/列驅(qū)動器及 12864 全點(diǎn)陣液晶顯示器組成??赏瓿蓤D形顯示,也可 以顯示 84 個(gè)(1616 點(diǎn)陣)漢字。 通過此次設(shè)計(jì)能夠更加牢固的掌握單片機(jī)的應(yīng)用技術(shù),增強(qiáng)動手能力、硬件 設(shè)計(jì)能力以及軟件設(shè)計(jì)能力。 關(guān)鍵詞關(guān)鍵詞 單片機(jī) at89c51 單片機(jī) 時(shí)鐘芯片 ds1302 lcd12864 液晶 第一章第一章 引言引言 本例采用 pg12864lcd 液晶作為顯示元件,液晶屏模擬表盤與時(shí)分秒指針 顯示當(dāng)前時(shí)鐘。該指針式電子鐘實(shí)現(xiàn)如下功能

7、:液晶屏模擬表盤與時(shí)分秒指針顯 示當(dāng)前時(shí)鐘,k1 鍵用于選擇調(diào)節(jié)對象,k2 鍵用于調(diào)整時(shí)分秒,在按下 k4 鍵時(shí) 確定調(diào)節(jié)值,時(shí)鐘繼續(xù)運(yùn)行。本例程序包含 main.c,lcd_12864.c,lcd_12864.h 三個(gè) 文件。 1.11.1 設(shè)計(jì)任務(wù)設(shè)計(jì)任務(wù) 利用單片機(jī)等實(shí)現(xiàn)一個(gè)簡單的指針式電子鐘。 1.21.2 設(shè)計(jì)要求設(shè)計(jì)要求 a實(shí)現(xiàn)時(shí)分秒指針式顯示功能 b用三個(gè)按鍵來實(shí)現(xiàn)調(diào)整時(shí)分秒的功能 第二章第二章 總體方案論證與設(shè)計(jì)總體方案論證與設(shè)計(jì)總體方案論證與設(shè)計(jì)總體方案論證與設(shè)計(jì) 組成框圖中包含顯示模塊,控制器,時(shí)間模塊,設(shè)置模塊。顯示模塊有 lcd12864 來控制顯示,整個(gè)代碼實(shí)現(xiàn)主要由

8、控制器來實(shí)現(xiàn),時(shí)間模塊有 ds1302 來實(shí)現(xiàn),可以顯示系統(tǒng)時(shí)間,也可自行調(diào)整,設(shè)置模塊為按鍵處理。具 體模塊分析在相關(guān)的軟硬件設(shè)計(jì)中詳細(xì)介紹。 本系統(tǒng)以 at89c51 單片機(jī)為控制核心,通過與 ds1302 信獲取實(shí)時(shí)時(shí)間,并 將得到的數(shù)據(jù)通過 lcd12864 液晶顯示出來,同時(shí)通過相應(yīng)的按鍵調(diào)整相應(yīng)的值。 因此本設(shè)計(jì)可分為一下模塊:顯示模塊、實(shí)時(shí)時(shí)間計(jì)算模塊、設(shè)置模塊(時(shí)間設(shè) 置模塊) 。下面對各個(gè)模塊逐一進(jìn)行論證分析。 第三章第三章 系統(tǒng)硬件設(shè)置系統(tǒng)硬件設(shè)置 3.3.1 1 at89c51 單片機(jī)簡介單片機(jī)簡介 at89c51 是一種帶 4k 字節(jié)閃爍可編程可擦除只讀存儲器(fper

9、omflash programmable and erasable read only memory)的低電壓,高性能 cmos8 位微 處理器,俗稱單片機(jī)。該器件采用 atmel 高密度非易失存儲器制造技術(shù)制造,與 工業(yè)標(biāo)準(zhǔn)的 mcs-51 指令集和輸出管腳相兼容。由于將多功能 8 位 cpu 和閃爍存 儲器組合在單個(gè)芯片中,atmel 的 at89s51 是一種高效微控制器,為很多嵌入式 控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 vcc:供電電壓。 gnd:接地。 p0 口:p0 口為一個(gè) 8 位漏級開路雙向 i/o 口,每腳可吸收 8ttl 門電流。當(dāng) p1 口的管腳第一次寫 1 時(shí),被

10、定義為高阻輸入。p0 能夠用于外部程序數(shù)據(jù)存儲 器,它可以被定義為數(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 口緩沖器能接 收輸出 4ttl 門電流。p1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,p1 口 被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在 flash 編程 和校驗(yàn)時(shí),p1 口作為第八位地址接收。 p2 口:p2 口為一個(gè)內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 口緩沖器可接收, 輸出

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

12、為高電平,并用作輸入。作 為輸入,由于外部下拉為低電平,p3 口將輸出電流(ill)這是由于上拉的緣故。 p3 口除了作為一般的 i/o 口外,更重要的用途是他的第二功能,如下所示: p3.0 rxd(串行輸入口) p3.1 txd(串行輸出口) p3.2 /int0(外部中斷 0) p3.3 /int1(外部中斷 1) p3.6/wr(外部數(shù)據(jù)寄存器寫選通) p3.7/rd(外部數(shù)據(jù)寄存器讀選通) p3 口同時(shí)為閃爍編程和編程校驗(yàn)接受一些控制信號。 rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持 rst 腳兩個(gè)機(jī)器周期的高電 平時(shí)當(dāng) 8051 通電,時(shí)鐘電路開始工作,在 reset 引腳上出現(xiàn)

13、 24 個(gè)時(shí)鐘周期以上 的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器 pc 指向 0000h,p0-p3 輸出 口全部為高電平,堆棧指鐘寫入 07h,其它專用寄存器被清“0” 。reset 由高電 平下降為低電平后,系統(tǒng)即從 0000h 地址開始執(zhí)行程序。然而,初始復(fù)位不改變 ram(包括工作寄存器 r0-r7)的狀態(tài), 特殊功能寄存器 初始態(tài) 特殊功能寄存器 初始態(tài) acc 00h b 00h psw 00h sp 07h dph 00h th0 00h dpl 00h tl0 00h ip xxx00000b th1 00h ie 0 xx00000b tl1 00h tmod 00h

14、tcon 00h scon xxxxxxxxb sbuf 00h p0-p3 1111111b pcon 0 xxxxxxxb 8051的初始態(tài)(表2.1) ale/prog:當(dāng)訪問外部存儲器時(shí),地址鎖存允許的輸出電平用于鎖存地址的 地位字節(jié)。在 flash 編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale 端以不 變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外 部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時(shí), 將跳過一個(gè) ale 脈沖。如想禁止 ale 的輸出可在 sfr8eh 地址上置 0。此時(shí), ale 只有在執(zhí)行 movx,movc 指

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

16、的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 xtal2:來自反向振蕩器的輸出。 振蕩器特性:xtal1 和 xtal2 分別為反向放大器的輸入和輸出。該反向放大 器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū) 動器件,xtal2 應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號要通過一個(gè)二分頻觸發(fā)器,因 此對外部時(shí)鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。 3.23.2 時(shí)鐘模塊設(shè)計(jì)時(shí)鐘模塊設(shè)計(jì) 實(shí)時(shí)時(shí)間計(jì)算模塊 方案(1):at89c51 單片機(jī)內(nèi)部帶有定時(shí)/計(jì)數(shù)功能,此定時(shí)功能是通過對 外部晶振的脈沖進(jìn)行計(jì)數(shù),從而達(dá)到計(jì)時(shí)功能,只要使用 11.0592 的晶振就能實(shí) 現(xiàn)零誤差

17、的計(jì)時(shí),因此可以利用此功能實(shí)現(xiàn)計(jì)時(shí),但因?yàn)橹挥袉我坏挠?jì)時(shí)功能要 實(shí)現(xiàn)“萬年歷”的功能需要較復(fù)雜的程序,而且如果單片機(jī)掉電無法繼續(xù)進(jìn)行計(jì) 時(shí),所以使用不便。 方案(2):ds1302 是美國 dallas 公司推出的一種高性能、低功耗的實(shí) 時(shí)時(shí)鐘芯片,附加 31 字節(jié)靜態(tài) ram,采用 spi 三線接口與 cpu 進(jìn)行通信,并 可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號和 ram 數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、 分、時(shí)、日、星期、月和年,一個(gè)月小與 31 天時(shí)可以自動調(diào)整,且具有閏年補(bǔ) 償功能。工作電壓寬達(dá) 2.55.5v。采用雙電源供電(主電源和備用電源) ,可設(shè) 置備用電源充電方式,提供了對后備電源

18、進(jìn)行涓細(xì)電流充電的能力。利用單片機(jī) 強(qiáng)大的控制功能就可實(shí)現(xiàn)實(shí)時(shí)計(jì)時(shí)的功能,而且消耗的系統(tǒng)資源少,程序簡單。 綜合上述兩種方案,宜采用方案(2)實(shí)現(xiàn)實(shí)時(shí)計(jì)時(shí)功能。 3.2.13.2.1 ds1302ds1302 特性介紹特性介紹 ds1302 是美國 dallas 公司推出的一種高性能、低功耗的實(shí)時(shí)時(shí)鐘芯片, 附加 31 字節(jié)靜態(tài) ram,采用 spi 三線接口與 cpu 進(jìn)行通信,并可采用突發(fā)方 式一次傳送多個(gè)字節(jié)的時(shí)鐘信號和 ram 數(shù)據(jù)。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、 星期、月和年,一個(gè)月小與 31 天時(shí)可以自動調(diào)整,且具有閏年補(bǔ)償功能。工作 電壓寬達(dá) 2.55.5v。采用雙電源供電(主電

19、源和備用電源) ,可設(shè)置備用電源充 電方式,提供了對后備電源進(jìn)行涓細(xì)電流充電的能力。利用單片機(jī)強(qiáng)大的控制功 能就可實(shí)現(xiàn)實(shí)時(shí)計(jì)時(shí)的功能,而且消耗的系統(tǒng)資源少,程序簡單。 ds1302 可以對年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償 等多種功能 ds1302 有 12 個(gè)寄存器,其中有 7 個(gè)寄存器與日歷、時(shí)鐘相關(guān),存 放的數(shù)據(jù)位為 bcd 碼形式;采用單片機(jī)計(jì)時(shí),一方面需要采用計(jì)數(shù)器,占用硬 件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費(fèi)單片機(jī)的資源,而采用時(shí)鐘 芯片 ds1302。 3.2.23.2.2 ds1302ds1302 引腳介紹引腳介紹 圖 3-1 8 、vcc1:備用電

20、池端; 1、vcc2:5v 電源。當(dāng) vcc2vcc1+0.2v 時(shí),由 vcc2 向 ds1302 供電, 當(dāng) vcc2 vcc1 時(shí),由 vcc1 向 ds1302 供電。 7、 sclk:串行時(shí)鐘,輸入; 6、i/o:數(shù)據(jù)輸入輸出口; 5、ce/rst:復(fù)位腳 2 3、x1、x2 是外接晶振腳 (32.768khz 的晶振) 4、地(gnd) 3.2.33.2.3 ds1302ds1302 有關(guān)日歷,時(shí)間的寄存器有關(guān)日歷,時(shí)間的寄存器 表 3-1 3.2.43.2.4 ds1302ds1302 與單片機(jī)接口電路與單片機(jī)接口電路 圖 3-2 由于 ds1302 是依靠外部晶振與其內(nèi)部的電容

21、配合來產(chǎn)生時(shí)鐘脈沖,因?yàn)?ds1302 在芯片本身已經(jīng)集成了 6pf 電容。所以,為了獲得穩(wěn)定的可靠的時(shí)鐘, 必須選用具有 6pf 負(fù)載電容的晶振。當(dāng)它工作于所要求的負(fù)載電容時(shí),所以要選 用 32768hz 的晶振。 石英晶振用 12m,因?yàn)橐粋€(gè)機(jī)器周期為 1/12 時(shí)鐘周期,所以這樣用 12m 的 話,一個(gè)時(shí)鐘周期為 12us 那么定時(shí)器計(jì)一次數(shù)就是 1us 了,電容范圍是在 20- 40pf 之間的都行。 表 3-2 引腳號ds1302at89c51 1i/op1.0 2sclkp1.1 3rstp1.2 3.33.3 顯示模塊設(shè)計(jì)顯示模塊設(shè)計(jì) 液晶顯示模塊 方案(1):數(shù)碼管是利用發(fā)光二

22、極管的特性組合而成數(shù)字顯示器件,通過 控制相應(yīng)的二極管的狀態(tài)顯示相應(yīng)的數(shù)字。要使數(shù)碼管正常顯示就得有驅(qū)動電路 驅(qū)動相應(yīng)的段碼,數(shù)碼管的現(xiàn)實(shí)方式可分為靜態(tài)顯示和動態(tài)顯示,靜態(tài)顯示方式 只適合顯示單個(gè)的數(shù)字,因此本設(shè)計(jì)應(yīng)采用動態(tài)顯示方式。由于動態(tài)顯示方式利 用的是人眼視覺暫留的特性,掃描的時(shí)間應(yīng)不大于 20 毫秒,占用系統(tǒng)資源大, 而且顯示的個(gè)數(shù)和字型有限,在本設(shè)計(jì)中不易采用。 方案(2):12864 是一種圖形點(diǎn)陣液晶顯示器,它主要由行驅(qū)動器/列驅(qū)動器 及 12864 全點(diǎn)陣液晶顯示器組成??赏瓿蓤D形顯示,也可以顯示 84 個(gè) (1616 點(diǎn)陣)漢字。該類液晶顯示模塊(即 ks0108b 及其兼

23、容控制驅(qū)動器)的 指令系統(tǒng)比較簡單,總共只有七種。關(guān)于行列和頁的解釋:從上向下共 64 行, 每 8 行為一頁,共八頁,從左到右共 128 列,左半屏 0 到 63 列,右半屏 0 到 63 列。顯示時(shí),每頁以列為單位顯示。 綜合比較上述兩種方案,應(yīng)采用 12864 液晶組成本設(shè)計(jì)的顯示模塊。 3.3.13.3.1 pg12864lcdpg12864lcd 的特性介紹的特性介紹 pg12864lcd 是像素可尋址的圖形液晶顯示屏模塊 芯片特性: 1.工作電壓為+5v,可自帶驅(qū)動 lcd 所需的負(fù)電壓。 2.全屏幕點(diǎn)陣,點(diǎn)陣數(shù)為 128 列*64 行,可顯示 8 行*4 行個(gè)(16*16 點(diǎn)陣)

24、 漢字,也可完成圖像,字符的顯示。 3與 cpu 接口采用 5 條位控制總線和 8 位并行數(shù)據(jù)總線輸入輸出。 4.內(nèi)部有顯示數(shù)據(jù)鎖存器,自帶 el 驅(qū)動。 5.簡單的操作指令,顯示開關(guān)設(shè)置,顯示起始行設(shè)置,地址指針設(shè)置和數(shù)據(jù) 讀/寫等指令。 3.3.23.3.2 lcd12864lcd12864 引腳介紹引腳介紹 表 3-3 管腳 號 管腳名稱 lever 管腳功能描述 1vss0 電源地 2vdd+5.0v 電源電壓 3v0- 液晶顯示器驅(qū)動電壓 4d/i(rs)h/l d/i=“h”表示 db7db0 為顯示數(shù)據(jù) d/i=“l(fā)”表示 db7db0 為顯示指令數(shù)據(jù) 5r/wh/l r/w=“

25、h”,e=“h”數(shù)據(jù)被讀到 db7db0r/w=“l(fā)”,e=“hl”數(shù)據(jù)被寫 到 ir 或 dr 6eh/l r/w=“l(fā)”,e 信號下降沿鎖存 db7db0r/w=“h”,e=“h”ddram 數(shù)據(jù)讀 到 db7db0 7db0h/l 數(shù)據(jù)線 8db1h/l 數(shù)據(jù)線 9db2h/l 數(shù)據(jù)線 10db3h/l 數(shù)據(jù)線 11db4h/l 數(shù)據(jù)線 12db5h/l 數(shù)據(jù)線 13db6h/l 數(shù)據(jù)線 14db7h/l 數(shù)據(jù)線 15cs1h/l h:選擇芯片(右半屏)信號 16cs2h/l h:選擇芯片(左半屏)信號 17reth/l 復(fù)位信號,低電平復(fù)位 18vout-10v lcd 驅(qū)動負(fù)電壓 1

26、9led+- led 背光板電源 20led- led 背光板電源 3.3.33.3.3 lcd12864lcd12864 的原理簡圖的原理簡圖 圖 3-3 通過 db0- db7 數(shù)據(jù)線和 at89c51 連接,對應(yīng)的管腳必須有效。在顯示的時(shí) 候,要通過列驅(qū)動和行驅(qū)動來控制液晶屏顯示。在各個(gè)驅(qū)動時(shí),對應(yīng)的都有相應(yīng) 的控制器來控制。 顯示部分分為左右半屏,當(dāng) cs0 為有效電平時(shí),左半屏顯示,cs1 為有效電 平時(shí),右半屏顯示。 3.3.43.3.4 1286412864 內(nèi)部功能器件及相關(guān)功能內(nèi)部功能器件及相關(guān)功能 1. 指令寄存器(ir) ir 是用于寄存指令碼,與數(shù)據(jù)寄存器數(shù)據(jù)相對應(yīng)。當(dāng)

27、 d/i=0 時(shí),在 e 信號 下降沿的作用下,指令碼寫入 ir。 2數(shù)據(jù)寄存器(dr) dr 是用于寄存數(shù)據(jù)的,與指令寄存器寄存指令相對應(yīng)。當(dāng) d/i=1 時(shí),在下 降沿作用下,圖形顯示數(shù)據(jù)寫入 dr,或在 e 信號高電平作用下由 dr 讀到 db7db0 數(shù)據(jù)總線。dr 和 ddram 之間的數(shù)據(jù)傳輸是模塊內(nèi)部自動執(zhí)行的。 3忙標(biāo)志:bf bf 標(biāo)志提供內(nèi)部工作情況。bf=1 表示模塊在內(nèi)部操作,此時(shí)模塊不接受外 部指令和數(shù)據(jù)。bf=0 時(shí),模塊為準(zhǔn)備狀態(tài),隨時(shí)可接受外部指令和數(shù)據(jù)。 利用 status read 指令,可以將 bf 讀到 db7 總線,從檢驗(yàn)?zāi)K之工作狀態(tài)。 4顯示控制觸

28、發(fā)器 dff 此觸發(fā)器是用于模塊屏幕顯示開和關(guān)的控制。dff=1 為開顯示(display off),ddram 的內(nèi)容就顯示在屏幕上,dff=0 為關(guān)顯示(display off)。 ddf 的狀態(tài)是指令 display on/off 和 rst 信號控制的。 5xy 地址計(jì)數(shù)器 xy 地址計(jì)數(shù)器是一個(gè) 9 位計(jì)數(shù)器。高 3 位是 x 地址計(jì)數(shù)器,低 6 位為 y 地 址計(jì)數(shù)器,xy 地址計(jì)數(shù)器實(shí)際上是作為 ddram 的地址指針,x 地址計(jì)數(shù)器為 ddram 的頁指針,y 地址計(jì)數(shù)器為 ddram 的 y 地址指針。 x 地址計(jì)數(shù)器是沒有記數(shù)功能的,只能用指令設(shè)置。 y 地址計(jì)數(shù)器具有循環(huán)

29、記數(shù)功能,各顯示數(shù)據(jù)寫入后,y 地址自動加 1,y 地 址指針從 0 到 63。 6顯示數(shù)據(jù) ram(ddram) ddram 是存儲圖形顯示數(shù)據(jù)的。數(shù)據(jù)為 1 表示顯示選擇,數(shù)據(jù)為 0 表示顯示 非選擇。ddram 與地址和顯示位置的關(guān)系見 ddram 地址表。 7z 地址計(jì)數(shù)器 z 地址計(jì)數(shù)器是一個(gè) 6 位計(jì)數(shù)器,此計(jì)數(shù)器具備循環(huán)記數(shù)功能,它是用于顯 示行掃描同步。當(dāng)一行掃描完成,此地址計(jì)數(shù)器自動加 1,指向下一行掃描數(shù)據(jù), rst 復(fù)位后 z 地址計(jì)數(shù)器為 0。 z 地址計(jì)數(shù)器可以用指令 display start line 預(yù)置。因此,顯示屏幕的起 始行就由此指令控制,即 ddram

30、的數(shù)據(jù)從哪一行開始顯示在屏幕的第一行。此模 塊的 ddram 共 64 行,屏幕可以循環(huán)滾動顯示 64 行。 各功能指令分別介紹如下 顯示開/關(guān)指令 r/wrsdb7 db6 db5 db4 db3db2db1 db0 0000111111/0 當(dāng) db01 時(shí),lcd 顯示 ram 中的內(nèi)容;db00 時(shí),關(guān)閉顯示。 2、顯示起始行(row)設(shè)置指令 r/wrsdb7 db6 db5 db4 db3db2db1 db0 00 11 顯示起始行(063) 該指令設(shè)置了對應(yīng)液晶屏最上一行的顯示 ram 的行號,有規(guī)律地改變顯示起 始行,可以使 lcd 實(shí)現(xiàn)顯示滾屏的效果。 3、頁(page)設(shè)置

31、指令 r/wrsdb7 db6 db5 db4 db3db2db1 db0 00 10111 頁號(07) 顯示 ram 共 64 行,分 8 頁,每頁 8 行。 4、列地址(y address)設(shè)置指令 r/wrsdb7 db6 db5 db4 db3db2db1 db0 00 01 顯示列地址(063) 設(shè)置了頁地址和列地址,就唯一確定了顯示 ram 中的一個(gè)單元,這樣 mpu 就 可以 用讀、寫指令讀出該單元中的內(nèi)容或向該單元寫進(jìn)一個(gè)字節(jié)數(shù)據(jù)。 5、讀狀態(tài)指令 r/wrsdb7 db6 db5 db4 db3db2db1 db0 10busy0on/offrest0000 該指令用來查詢

32、液晶顯示模塊內(nèi)部控制器的狀態(tài),各參量含義如下: busy:1-內(nèi)部在工作 0-正常狀態(tài) on/off:1-顯示關(guān)閉 0-顯示打開 reset:1-復(fù)位狀態(tài) 0-正常狀態(tài) 在 busy 和 reset 狀態(tài)時(shí),除讀狀態(tài)指令外,其它指令均不對液晶顯示模塊 產(chǎn)生作用。 在對液晶顯示模塊操作之前要查詢 busy 狀態(tài),以確定是否可以對液晶顯示 模塊進(jìn)行操作。 6、寫數(shù)據(jù)指令 r/wrsdb7 db6 db5 db4 db3db2db1 db0 01 寫數(shù)據(jù) 讀數(shù)據(jù)指令 r/wrsdb7 db6 db5 db4 db3db2db1 db0 11 讀顯示數(shù)據(jù) 讀、寫數(shù)據(jù)指令每執(zhí)行完一次讀、寫操作,列地址就

33、自動增一。必須注 意的是,進(jìn)行讀操作之前,必須有一次空讀操作,緊接著再讀才會讀出所要讀的 單元中的數(shù)據(jù) 3.3.53.3.5 1286412864 液晶與單片機(jī)接口電路液晶與單片機(jī)接口電路 圖 3-4 表 3-4 引腳號12864 引腳at89c51 引腳 1數(shù)據(jù)線 db0-db7p0.0-p0.7 2寄存器選擇 cdp2.0 3寫 wrp3.6 4讀 rdp3.7 5使能端 cep2.7 6復(fù)位 rst低電平 排阻的計(jì)算公式:上拉電源 /(硬件額定電流單片機(jī)輸出電流) 一、最大值的計(jì)算原則:要保證上拉電阻明顯小于負(fù)載的阻抗,以使高電平 時(shí)輸出有效。 例如:負(fù)載阻抗是 10k,供電電壓是 5v

34、,如果要求高電平不小于 4.5v,那 么,上拉電阻最大值 r 大 5-4.5)=10:5 r 大=1k 也就是最大值 1k, (如果超過了 1k,輸出的高電平就小于 4.5v 了) 二、最小值的計(jì)算原則:保證不超過管子的額定電流(如果不是場效應(yīng)管而 是三極管也可依照飽和電流來計(jì)算) 例:管子的額定電流 150ma,放大倍數(shù) 100,基極限流電阻 10k,工作在 5v 的系統(tǒng)中。那么,算法如下: ibu/r=(5-0.7)/10=0.47(ma) ic100*0.4747ma 小于額定的 150,所以可以按飽和法來算最小值。 上拉電阻最小值 r 小5v/47ma=106 歐姆 (如果小于這個(gè)電阻

35、,管子就會過飽和而沒有意 義了。如果大于這個(gè)值,管子的導(dǎo)體電阻就會變大一些,所以太高也不利于低電 平的輸出) 3.43.4 設(shè)置模塊設(shè)置模塊 設(shè)置模塊采用三個(gè)按鍵與 p3.2 經(jīng)過與門連接 按鍵與單片機(jī)的接口電路 圖 3-5 按鍵問題:通過與門來控制,程序是中斷驅(qū)動的,其中 k1 為選擇按鍵,k2 為調(diào)整按鍵,k3 是確定按鈕,實(shí)現(xiàn)時(shí)分秒的調(diào)整。相應(yīng)的引腳接到 p3.0, p3.1. p3.3 上,共同控制電子時(shí)鐘的調(diào)整。 選用輕觸按鈕型號為 xdjt1102s(輕觸開關(guān)貼系列)。 3.53.5 振蕩電路振蕩電路 本設(shè)計(jì) 51 芯片選用內(nèi)部振蕩器方式。由于本設(shè)計(jì)的時(shí)間由內(nèi)部定時(shí)器中斷 與軟件計(jì)

36、數(shù)相結(jié)合產(chǎn)生的,所以從計(jì)算方便以及系統(tǒng)的效率上考慮,本設(shè)計(jì)選用 12mhz 頻率的晶振,電路原理圖如下: 圖 3-6 at89c51 的振蕩電路 經(jīng)廠家推薦穩(wěn)定電路的電容 c1,c2=30pf+-10p(附錄資料 at89c51.pdf 第 4-32 頁) 。 3.63.6 復(fù)位電路復(fù)位電路 本設(shè)計(jì)使用上電復(fù)位電路。單片機(jī)晶振為 12mhz,起振時(shí)間將近 1ms,單片 機(jī) 2 個(gè)機(jī)器周期的時(shí)間為 2us。 單片機(jī)每次上電復(fù)位所需的最短延時(shí)應(yīng)該不小于 treset。這里,treset 等 于上電延時(shí)與起振延時(shí)之和。從實(shí)際上講,延遲一個(gè) treset 往往還不夠,不能 夠保障單片機(jī)有一個(gè)良好的工作

37、開端。 復(fù)位電路把單片機(jī)鎖定在復(fù)位狀態(tài)上并且維持一個(gè)延時(shí)(記作 trst) ,以便 給予電源電壓從上升到穩(wěn)定的一個(gè)等待時(shí)間;在電源電壓穩(wěn)定之后,再插入一個(gè) 延時(shí),給予時(shí)鐘振蕩器從起振到穩(wěn)定的一個(gè)等待時(shí)間;在單片機(jī)開始進(jìn)入運(yùn)行狀 態(tài)之前,還要至少推遲 2 個(gè)機(jī)器周期的延時(shí)間。單片機(jī)是高電平的時(shí)候復(fù)位,一 般是用電阻和電容組成的,電容充電的時(shí) rst 復(fù)位端為高電平,此時(shí)單片機(jī)開始 復(fù)位.電容充電完成,此時(shí)單片機(jī)復(fù)位完成。 由此電容值可取 22uf,電阻值取 10k。詳細(xì)見附錄文件(電容充電時(shí)間的 計(jì)算方法.pdf) 圖 3-7 at89c51 上電復(fù)位電路 第四章第四章 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)

38、 軟件設(shè)計(jì)是本設(shè)計(jì)的關(guān)鍵,軟件程序編寫的好壞直接影響著系統(tǒng)運(yùn)行情況的 良好。因本程序涉及的模塊較多,所以程序編寫也采用模塊化設(shè)計(jì),c 語言具有 編寫靈活、移植方便、便于模塊化設(shè)計(jì)的特點(diǎn),所以本系統(tǒng)的軟件采用 c51 編寫。 程序框圖如下: 4-1 4.14.1 時(shí)鐘函數(shù)模塊時(shí)鐘函數(shù)模塊 具體實(shí)現(xiàn)含有向 ds1302 串行寫入一字節(jié)即 write_a_byte_t0_ds1302,從 ds1302 讀取一字節(jié)即 get_a_byte_from_ds1302,從 ds1302 指定位置讀數(shù)據(jù) read_data,向 ds1302 某地址寫入數(shù)據(jù) write_ds1302,設(shè)置時(shí)間 set_ds13

39、02, 從 ds1302 獲取時(shí)間(讀取當(dāng)前時(shí)間)gettime,利用這些函數(shù)來實(shí)現(xiàn)時(shí)間,最終 顯示在液晶屏上,可以自行調(diào)整。 你可以顯示系統(tǒng)時(shí)間,也可以顯示調(diào)整時(shí)間,具體實(shí)現(xiàn)是設(shè)置時(shí)間函數(shù)。 4.1.14.1.1 實(shí)現(xiàn)功能實(shí)現(xiàn)功能 能夠顯示年月日時(shí)分秒和星期,完成了 24 小時(shí)和 12 小時(shí)之間的切換,并設(shè) 有鬧鐘,鬧鐘存放于 eeprom 中,時(shí)間和星期以及鬧鐘均可調(diào)。其中鬧鐘掉電數(shù) 據(jù)不會丟失。 4.1.24.1.2 函數(shù)設(shè)計(jì)函數(shù)設(shè)計(jì) 1:void write_a_byte_to_ds1302(uchar x) (1)功能 向 ds1302 中寫入一字節(jié)數(shù)據(jù)。 (2)依據(jù) ds1302

40、時(shí)序圖(詳見 sd1302 技術(shù)資料)可知,在啟動 ds1302 時(shí)每產(chǎn)生一 個(gè)下降沿可向 ds1302 中 寫入一位數(shù)據(jù)。 (3)右圖為流程圖: 2:uchar get_a_byte_from_ds1302() (1)功能 從 ds1302 中讀取一字節(jié)數(shù)據(jù)。 (2)依據(jù) ds1302 時(shí)序圖(詳見 sd1302 技術(shù)資料)可知,在啟動 ds1302 時(shí)每產(chǎn)生一 個(gè)上升沿可向 ds1302 中 讀取一位數(shù)據(jù)。 (3)右圖為流程圖: 3:uchar read_ds1302(uchar addr) (1)功能 從指定的地址中讀取一字節(jié)數(shù)據(jù)。 (2)依據(jù) ds1302 時(shí)序圖(詳見 sd1302

41、技術(shù)資料)可知,在啟動 ds1302 時(shí)每產(chǎn)生一 個(gè)下降沿可向 ds1302 中寫入一位數(shù)據(jù)。在啟動 ds1302 時(shí)每產(chǎn)生一個(gè)上升沿可向 ds1302 中讀取一位數(shù)據(jù)。 (3)下圖為流程圖: 4:void write_ds1302(uchar addr,uchar dat) (1)功能 向 ds1302 指定地址中寫入一字節(jié)數(shù)據(jù)。 (2)依據(jù) ds1302 時(shí)序圖(詳見 sd1302 技術(shù)資料)可知,在啟動 ds1302 時(shí)每產(chǎn)生一 個(gè)下降沿可向 ds1302 中寫入一位數(shù)據(jù)。在啟動 ds1302 時(shí)每產(chǎn)生一個(gè)上升 沿可向 ds1302 中讀取一位數(shù)據(jù)。 (3)右圖為流程圖: 5:uchar

42、 tran_input(uchar value) (1)功能 輸入數(shù)據(jù)入轉(zhuǎn)換函數(shù)、將十進(jìn)制轉(zhuǎn)換成 bcd 碼 (2)依據(jù) 轉(zhuǎn)換公式。 (3)下圖為流程圖: 6:void gettime() (1)功能 讀取當(dāng)前時(shí)間,并判斷當(dāng)前是 12 小時(shí)顯示還是 24 小時(shí)顯示。 (2)依據(jù) 通過對標(biāo)志位的判斷來確定當(dāng)前為 12 小時(shí)制還是 24 小時(shí)制,如果為 12 小 時(shí)時(shí)要將 ds1302 寄存器內(nèi)相應(yīng)位置 1。 (3)右圖為流程圖: 7:void set_ds1302() (1)功能 向 ds1302 中寫入初始時(shí)間,啟動 ds1302 振蕩器,判斷上下午。 (2)依據(jù) ds1302 時(shí)序圖(詳見

43、sd1302 技術(shù)資料) 。 (3)下圖為流程圖: 8:void format_datetime(uchar d,uchar *a) (1)功能 將數(shù)字轉(zhuǎn)換成字符。 (2)依據(jù) asii 碼表。 9:uchar isleepyear(uint y) (1)功能 判斷是否為閏年。 (2)依據(jù) 閏年的判斷方法。 10:void init_ds1302() (1)功能 啟動 ds1302 振蕩器。 (2)依據(jù) 由 ds1302 的技術(shù)資料知,ds1302 的秒寄存器的最高位為振蕩器控制位,向 該位置一即可啟動振蕩器。 11:void ds1302_setprotect(bit flag) (1)功能

44、 ds1302 寄存器寫保護(hù)函數(shù)。 (2)依據(jù) 由 ds1302 的技術(shù)資料知,ds1302 的 0 x80 地址處寫一則啟動寄存器保護(hù), 寫零則去除寄存器保護(hù)功能。 4.24.2 指針時(shí)鐘設(shè)計(jì)指針時(shí)鐘設(shè)計(jì) 4.2.14.2.1 實(shí)現(xiàn)功能實(shí)現(xiàn)功能 本文件實(shí)現(xiàn)了指針時(shí)鐘的顯示,同時(shí)也實(shí)現(xiàn)了在 12864 顯示器上花點(diǎn)以、畫 線以及花圓的功能。 4.2.24.2.2 函數(shù)設(shè)計(jì)函數(shù)設(shè)計(jì) 1:void pixel(uchar x,uchar y,uchar mode) (1)功能 從指定坐標(biāo)處繪制一個(gè)點(diǎn)或擦除 一個(gè)點(diǎn) 依據(jù) 利用 lcd_set_xy 確定坐標(biāo),然后 (2)根據(jù) 點(diǎn)在坐標(biāo)的位置,判斷是

45、擦除還是繪 制再使 用 lcd_write_byte 函數(shù)寫入數(shù)據(jù)。 (3)右圖為流程圖: 2: void line(uchar x1,uchar y1,uchar x2,uchar y2,bit mode) (1)功能 在 lcd 上繪制一條線段 (2)依據(jù) 利用直線兩點(diǎn)式公式在直線點(diǎn)的軌跡上繪制/擦除點(diǎn)以達(dá)到繪線的目的。 (3)右圖為流程圖: 3:void clock_plate() (1)功能 繪制一個(gè)指針時(shí)鐘的圓盤 (2)依據(jù) 利用圓的公式找到點(diǎn)的軌跡,在軌跡上繪制點(diǎn)即可實(shí)現(xiàn)。 (3)右圖為流程圖: 4:void repaint_a_hand(uchar i) (1)功能 根據(jù)當(dāng)前的時(shí)

46、間繪制相對應(yīng)的指針,并擦除原狀態(tài)的指針 (2)依據(jù) 利用圓的弧度制與時(shí)間的相映射,時(shí)間變化弧度也隨之變化,從圓心到圓弧 對應(yīng)時(shí)間的位置畫出直線就是指針。 (3)下圖為流程圖: 5:void display_hms_hand() (1)功能 重新繪制秒、分、時(shí)針。 (2)依據(jù) 調(diào)用 repaint_a_hand 函數(shù)設(shè)置不同的參數(shù)即可實(shí)現(xiàn)。 6:void display_clockzhizhen() (1)功能 讀取時(shí)間繪制指針時(shí)鐘到 lcd 上 (2)依據(jù) 讀取從 ds1302 得到的時(shí)間,隨時(shí)間的變化,指針也隨之變化,形成一 個(gè)完整的模擬指針時(shí)鐘,另外還要判斷按鍵掃描的鍵值是否為退出鍵的鍵值

47、, 若是則返回菜單界面。 (3)右圖為流程圖: 4.2.34.2.3 小結(jié)小結(jié) 用圓的弧度制與時(shí)間值相映射,使得圓上點(diǎn)的軌跡隨著時(shí)間而跳動,實(shí)現(xiàn)了 指針的走動。另外讀取的時(shí)間與鬧鐘時(shí)間相比較達(dá)到實(shí)時(shí)鬧鐘報(bào)警的功能。 4.34.3 顯示函數(shù)模塊顯示函數(shù)模塊 檢測 lcd 是否忙 lcd_check_busy(),向 lcd 發(fā)送命令 lcd_write_command,向 lcd 發(fā)送數(shù)據(jù) void lcd_write_data,初 始化 12864 顯示屏 lcd_initialize,初始化 12864 顯示屏 common_show (通用顯示函數(shù)) 。 顯示字符和漢字的字模是用相應(yīng)的軟件

48、導(dǎo)出的,根據(jù)液晶顯 示屏的要求對應(yīng)圓盤的大小都是可以規(guī)定的。 4.3.14.3.1 實(shí)現(xiàn)功能實(shí)現(xiàn)功能 通過 12864 顯示指針式電子時(shí)鐘 4.3.24.3.2 函數(shù)設(shè)計(jì)函數(shù)設(shè)計(jì) 1:uchar lcd_write_command_p2(uchar cmd,uchar para1,uchar para2) (1)功能 寫雙參的命令 (2)依據(jù) 通過判斷狀態(tài)位 char status_bit_01(),是讀/寫指令還是讀/寫數(shù) 據(jù) 2:uchar lcd_write_command_p1(uchar cmd,uchar para1) (1) 功能 /寫單參數(shù)的指令 (2) 依據(jù) 通過判斷狀態(tài)位

49、char status_bit_01(),是讀/寫指令還是讀/寫數(shù) 據(jù) 3:uchar lcd_write_command(uchar cmd) (1)功能 寫無參數(shù)指令 (2)依據(jù) 通過判斷狀態(tài)位 char status_bit_01(),是讀/寫指令還是讀/寫 數(shù)據(jù) 4:uchar lcd_write_data(uchar dat) (1)功能 寫數(shù)據(jù) (2)依據(jù) 通過判斷狀態(tài)位 char status_bit_03(),數(shù)據(jù)是否為自動寫狀態(tài) (3)流程圖 5:void set_lcd_pos(uchar row,uchar col)reentrant (1)功能 設(shè)置當(dāng)前地址 (2)依據(jù) 先通過調(diào)用寫雙參數(shù)命令,使 lcd 準(zhǔn)備工作,來達(dá)成我們的需要。 6:void cls() (1)功能 清屏 (2)依據(jù) 通過調(diào)用雙參數(shù)和無參數(shù)函數(shù)來設(shè)置地址指針和是否自動寫,再 通過判斷狀態(tài)位 status_bit_3(),是否要寫數(shù)據(jù),然后調(diào)用 lcd_write_data(),當(dāng)向 lcd 寫好后,在調(diào)用無參函數(shù)來完成自 動寫結(jié)束,最后在重置地址指針。 (3)流程圖 7:char lcd_initialise() (1)功能 lcd 的初始化 (2)依據(jù) 通過寫雙參數(shù) lcd_write_command_p2 來完成文本顯示區(qū)首地址,

溫馨提示

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

評論

0/150

提交評論