DZ132點(diǎn)陣電子顯示屏
DZ132點(diǎn)陣電子顯示屏,dz132,點(diǎn)陣,電子顯示屏
試題: A 甲 1025、點(diǎn)陣電子顯示屏2006 年 9 月 11 日目 錄第一部分 摘要 ……………………………………………………...3第二部分1.設(shè)計(jì)任務(wù)………………………………………………..41.1 基本要求………………………………………………………….........41.2 發(fā)揮部分……………………………………………………………….41.3 創(chuàng)新部分……………………………………………………………….42.方案論證與比較………………………………………52.1 顯示部分……………………………………………………………….52.2 數(shù)字時(shí)鐘……………………………………………………………….52.3 溫度采集部分………………………………………………………….62.4 芯片選擇……………………………………………………………….62.5 鬧鈴方式的選擇……………………………………………………….62.6 止鬧方式的選擇……………………………………………………….62.7 串口通訊芯片的選擇………………………………………………….63. 總體方案……………………………………………….73.1 工作原理……………………………………………………………….73.2 總體設(shè)計(jì)……………………………………………………………….74.系統(tǒng)硬件設(shè)計(jì)…………………………………………74.1 AT89S52 單片機(jī)最小系統(tǒng)…………………………………………...84.2 溫度測(cè)量模塊………………………………………………………...84.3 時(shí)鐘模塊……………………………………………………………..84.4 鍵盤(pán)模塊……………………………………………………………..94.5 LED 點(diǎn)陣顯示模塊………………………………………………….104.6 電源的選擇………………………………………………………….114.7 PC 機(jī)通訊……………………………………………………………124.8 整體電路…………………………………………………………….125.系統(tǒng)軟件設(shè)計(jì)………………………………………….75.1 主程序流程………………………………………………………….135.2 掃描子程序………………………………………………………….145.3 時(shí)間程序…………………………………………………………….155.4 PC 機(jī)串口通訊程序…………………………………………………155.5 亮度調(diào)節(jié)程序………………………………………………………165.6 溫度程序…………………………………………………………….176.測(cè)試與結(jié)果分析……………………………………...176.1 基本部分測(cè)試與分析……………………………………………….176.2 發(fā)揮部分測(cè)試與分析……………………………………………….186.3 創(chuàng)新部分測(cè)試與分析……………………………………………….187.設(shè)計(jì)總結(jié)……………………………………………...188.參考資料……………………………………………...18附錄……………………………………………………………18例程…………………………………………………………......................................18摘要 LED 大屏幕顯示系統(tǒng),以 AT89S52 單片機(jī)為核心,由鍵盤(pán)顯示、錄放音模塊、光電開(kāi)關(guān)、溫度采集、定時(shí)鬧鈴、LED 大屏幕顯示等功能模塊組成?;陬}目基本要求,本系統(tǒng)對(duì)時(shí)間顯示和大屏幕顯示進(jìn)行了重點(diǎn)設(shè)計(jì)。此外,擴(kuò)展單片機(jī)外圍接口、溫度采集、非接觸式止鬧、滾動(dòng)屏幕顯示、語(yǔ)音報(bào)時(shí)等功能。本系統(tǒng)大部分功能由軟件來(lái)實(shí)現(xiàn),吸收了硬件軟件化的思想,大部分功能通過(guò)軟件來(lái)實(shí)現(xiàn),使電路簡(jiǎn)單明了,系統(tǒng)穩(wěn)定性大大提高。本系統(tǒng)不僅成功的實(shí)現(xiàn)了要求的基本功能,發(fā)揮部分也得到完全的實(shí)現(xiàn) ,而且有一定的創(chuàng)新功能。 關(guān)鍵字:?jiǎn)纹瑱C(jī) LED 大屏幕 滾屏顯示 Abstract This large LED display screen system ,based on chip microcomputer AT89S52,is composed by the following functional modules : keyboard displaying ,sound phonating. photoelectricity untouched switch,temperature gathering ,timing bell, According to the basic requirements of the subject ,our system stresses on the realization of time displaying and large screen displaying ,Furthermore ,we also extend the primary function ,adding new functions ,such as the single chip peripheral ports ,temperature gathering ,untouched ring-stop, scroll screen display, sound timing .and so on. Adopting the idea of hardware-to-software, most of those functions are realized by softwares, which makes the electrocircuit more concise and the system more stable ,The design achieved and even exceeded all the required basic technical indexes Key words: chip microcomputer large screen display systemscroll screen display1 任務(wù)設(shè)計(jì)1.1 基本要求:設(shè)計(jì)并制作 LED 電子顯示屏和控制器。1.1.1 自制一臺(tái)簡(jiǎn)易 16 行*32 列點(diǎn)陣顯示的 LED 電子顯示屏;1.1.2 自制顯示屏控制器,擴(kuò)展鍵盤(pán)和相應(yīng)的接口實(shí)現(xiàn)多功能顯示控制,顯示屏顯示數(shù)字和字母亮度適中,應(yīng)無(wú)閃爍。 1.1.3 顯示屏通過(guò)按鍵切換顯示數(shù)字和字母;1.1.4 顯示屏能顯示 4 組特定數(shù)字或者英文字母組成的句子,通過(guò)按鍵切換顯示內(nèi)容;1.1.5 能顯示 4 組特定漢字組成的句子,通過(guò)按鍵切換顯示內(nèi)容。1.2 發(fā)揮部分:1.2.1 自制一臺(tái)簡(jiǎn)易 16 行*64 列點(diǎn)陣顯示的 LED 電子顯示屏;1.2.2 LED 顯示屏亮度連續(xù)可調(diào)。1.2.3 實(shí)現(xiàn)信息的左右滾屏顯示,預(yù)存信息的定時(shí)循環(huán)顯示;1.2.4 實(shí)現(xiàn)實(shí)時(shí)時(shí)間的顯示,顯示屏數(shù)字顯示: 時(shí)∶分∶秒(例如 18∶38∶59) ;1.2.5 增大到 10 組(每組漢字 8 個(gè)或 16 個(gè)數(shù)字和字符)預(yù)存信息,信息具有掉電保護(hù);1.2.6 實(shí)現(xiàn)和 PC 機(jī)通訊,通過(guò) PC 機(jī)串口直接對(duì)顯示信息進(jìn)行更新(須做 PC 機(jī)客戶(hù)程序) ;1.3 創(chuàng)新部分1.3.1 室溫的測(cè)量1.3.2 定時(shí)鬧鈴1.3.3 整點(diǎn)報(bào)時(shí)1.3.4 非接觸止鬧 2、方案論證2.1 顯示部分:顯示部分是本次設(shè)計(jì)最核心的部分,對(duì)于 LED8*8 點(diǎn)陣顯示有以下兩種方案:方案一:靜態(tài)顯示,將一幀圖像中的每一個(gè)二極管的狀態(tài)分別用 0 和 1 表示,若為 0 ,則表示 L ED 無(wú)電流,即暗狀態(tài) ;若為 1 則表示二極管被點(diǎn)亮。若給每一個(gè)發(fā)光二極管一個(gè)驅(qū)動(dòng)電路,一幅畫(huà)面輸入以后,所有 L ED 的狀態(tài)保持到下一幅畫(huà)。對(duì)于靜態(tài)顯示方式方式,所需的譯碼驅(qū)動(dòng)裝置很多,引線多而復(fù)雜,成本高,且可靠性也較低。方案二:動(dòng)態(tài)顯示,對(duì)一幅畫(huà)面進(jìn)行分割,對(duì)組成畫(huà)面的各部分分別顯示,是動(dòng)態(tài)顯示方式。動(dòng)態(tài)顯示方式方式,可以避免靜態(tài)顯示的問(wèn)題。但設(shè)計(jì)上如果處理不當(dāng),易造成亮度低,閃爍問(wèn)題。因此合理的設(shè)計(jì)既應(yīng)保證驅(qū)動(dòng)電路易實(shí)現(xiàn),又要保證圖像穩(wěn)定,無(wú)閃爍。動(dòng)態(tài)顯示采用多路復(fù)用技術(shù)的動(dòng)態(tài)掃描顯示方式, 復(fù)用的程度不是無(wú)限增加的, 因?yàn)槔脛?dòng)態(tài)掃描顯示使我們看到一幅穩(wěn)定畫(huà)面的實(shí)質(zhì)是利用了人眼的暫留效應(yīng)和發(fā)光二極管發(fā)光時(shí)間的長(zhǎng)短, 發(fā)光的亮度等因素. 我們通過(guò)實(shí)驗(yàn)發(fā)現(xiàn), 當(dāng)掃描刷新頻率 (發(fā)光二極管的停閃頻率) 為 50Hz, 發(fā)光二極管導(dǎo)通時(shí)間≥1m s 時(shí), 顯示亮度較好, 無(wú)閃爍感 .。 鑒于上述原因, 我們采用方案二 2.2.?dāng)?shù)字時(shí)鐘數(shù)字時(shí)鐘是本設(shè)計(jì)的重要的部分。根據(jù)需要,可利用兩種方案實(shí)現(xiàn)。方案一:本方案完全用軟件實(shí)現(xiàn)數(shù)字時(shí)鐘。原理為:在單片機(jī)內(nèi)部存儲(chǔ)器設(shè)三個(gè)字節(jié)分別存放時(shí)鐘的時(shí)、分、秒信息。利用定時(shí)器與軟件結(jié)合實(shí)現(xiàn) 1 秒定時(shí)中斷,每產(chǎn)生一次中斷,存儲(chǔ)器內(nèi)相應(yīng)的秒值加 1;若秒值達(dá)到 60,則將其清零,并將相應(yīng)的分字節(jié)值加1;若分值達(dá)到 60,則清零分字節(jié),并將時(shí)字節(jié)值加 1;若時(shí)值達(dá)到 24,則將時(shí)字節(jié)清零。該方案具有硬件電路簡(jiǎn)單的特點(diǎn),但當(dāng)單片機(jī)不上電,程序?qū)⒉粓?zhí)行。且由于每次執(zhí)行程序時(shí),定時(shí)器都要重新賦初值,所以該時(shí)鐘精度不高。方案二:本方案采用 Dallas 公司的專(zhuān)用時(shí)鐘芯片 DS1302。該芯片內(nèi)部采用石英晶體振蕩器,其芯片精度不大于 10ms/年,且具有完備的時(shí)鐘鬧鐘功能,因此,可直接對(duì)其以用于顯示或設(shè)置,使得軟件編程相對(duì)簡(jiǎn)單。為保證時(shí)鐘在電網(wǎng)電壓不足或突然掉電等突發(fā)情況下仍能正常工作,芯片內(nèi)部包含鋰電池。當(dāng)電網(wǎng)電壓不足或突然掉電時(shí),系統(tǒng)自動(dòng)轉(zhuǎn)換到內(nèi)部鋰電池供電系統(tǒng)。而且即使系統(tǒng)不上電,程序不執(zhí)行時(shí),鋰電池也能保證芯片的正常運(yùn)行,以備隨時(shí)提供正確的時(shí)間?;跁r(shí)鐘芯片的上述優(yōu)點(diǎn),本設(shè)計(jì)采用方案二完成數(shù)字時(shí)鐘的功能。2.3 溫度采集部分能進(jìn)行溫度測(cè)量是本設(shè)計(jì)的創(chuàng)新部分,由于現(xiàn)在用品追求多樣化,多功能化,所以我們決定給系統(tǒng)加上溫度測(cè)量顯示模塊,方便人們的生活,使該設(shè)計(jì)具有人性化。方案一:采用熱敏電阻,可滿(mǎn)足 40 攝氏度至 90 攝氏度測(cè)量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對(duì)于檢測(cè)小于 1 攝氏度的信號(hào)是不適用的。 方案二:采用溫度傳感器 DS18B20。DS18B20 可以滿(mǎn)足從-55 攝氏度到+125 攝氏度測(cè)量范圍,且 DS18B20 測(cè)量精度高,增值量為 0.5 攝氏度,在一秒內(nèi)把溫度轉(zhuǎn)化成數(shù)字,測(cè)得的溫度值的存儲(chǔ)在兩個(gè)八位的 RAM 中,單片機(jī)直接從中讀出數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制就是溫度,使用方便?;?DS18b20 的以上優(yōu)點(diǎn),我們決定選取 DS18b20 來(lái)測(cè)量溫度。2.4 芯片的選擇方案一:采取并口輸入,占用大量 I/O 口資源方案二:選取串口輸入,使用較少。所以我們選用串口輸入。串口輸入我們可以選用芯片有 74HC595、74LS164、 TPIC6B595。但是 74HC595 和 74LS164 兩種芯片必須加驅(qū)動(dòng)才能驅(qū)動(dòng) LED,而 TI 公司的 DMOS 器件 TPIC6B595 , 除具有 TTL 和 CMOS 器件中移位寄存器 595 的邏輯功能外, 其最大的特點(diǎn)是驅(qū)動(dòng)功率大, 可直接用作 LED 的驅(qū)動(dòng)。綜合以上比較,我們選取 TPIC6B595 來(lái)驅(qū)動(dòng) LED 點(diǎn)陣。2.5 鬧鈴方式的選擇方案一:采用蜂鳴器鬧鈴,當(dāng)?shù)皆O(shè)定時(shí)間時(shí),單片機(jī)向蜂鳴器送出高電平,蜂鳴器發(fā)生。采用蜂鳴器鬧鈴結(jié)構(gòu)簡(jiǎn)單,控制方便,但是發(fā)出的鬧鈴聲音單一。方案二:采用錄音放音芯片 1420 鬧鈴,先對(duì)錄放音設(shè)備錄入一段音樂(lè),當(dāng)?shù)皆O(shè)定時(shí)間時(shí),單片機(jī)控制錄放音設(shè)備放音。采用錄放音電路鈴聲可以自己預(yù)先設(shè)定一段自己喜歡的音樂(lè),符合電器設(shè)備人性化的要求。且 1420 芯片可以分段錄音,還具有語(yǔ)音報(bào)時(shí)功能。基于錄音放音芯片 1420 的以上優(yōu)點(diǎn),我們決定采用錄放音設(shè)備鬧鈴。 2.6 止鬧方式的選擇一般鐘表都具有鬧鐘功能,到設(shè)定時(shí)間,便自動(dòng)啟動(dòng)鬧鐘,發(fā)出音樂(lè)提醒人們,再由人按下止鬧按鈕停止鬧鐘工作。 一般每天只能設(shè)置一次鬧鐘、并要由人按下按鈕止鬧,使用不是很方便。智能處理器應(yīng)用可改變這種狀況,一天可按自己需要設(shè)置鬧鐘的開(kāi)關(guān)、多次鬧鐘設(shè)置并可用非接觸方式止鬧。方案一:采取遠(yuǎn)程紅外遙控止鬧,遙控器發(fā)出特定紅外信號(hào)時(shí),單片機(jī)接受到信號(hào),向發(fā)音設(shè)備發(fā)出停止信號(hào)止鬧。紅外遙控止鬧控制距離遠(yuǎn),但是價(jià)格昂貴,增加了制造成本。方案二:采取光電傳感器,當(dāng)用一物體遮擋光電傳感光電傳感器向單片機(jī)接口送出一個(gè)低電平,單片機(jī)立即向發(fā)音設(shè)備發(fā)出停止信號(hào)止鬧。光電傳感器價(jià)格便宜,線路簡(jiǎn)單,易于控制。基于以上比較我們決定采用光電傳感器止鬧。2.7 串口通訊芯片的選擇AT89S52 串行口采用的是 TTL 電平,因此必須的有電平轉(zhuǎn)換電路,可以選擇1488,1489,MAX232A.方案一:采用 1488 或 1489 芯片實(shí)現(xiàn)電平轉(zhuǎn)換,但在使用中發(fā)現(xiàn)這兩種芯片可靠性不高,且需要正負(fù) 12V 電源,使用麻煩。方案二:采用單電源電平轉(zhuǎn)換芯片 MAX232A 可以使電路變得簡(jiǎn)單,可靠?;谝陨戏治觯覀冞x用方案二,選用芯片 MAX232A2.8 電源模塊方案一:采用干電池作為 LED 點(diǎn)陣系統(tǒng)的電源,由于點(diǎn)陣系統(tǒng)耗電量較大,使用干電池需經(jīng)常換電池,不符合節(jié)約型社會(huì)的要求。點(diǎn)陣系統(tǒng)要懸掛在墻上,電池總量大,使用會(huì)有較大安全隱患。方案二:采用 200W/5V 直流穩(wěn)壓電源作為系統(tǒng)電源,不僅功率上可以滿(mǎn)足系統(tǒng)需要,不需要更換電源,并且比較輕便,使用更加安全可靠基于以上分析,我們決定采用方案二3、總體方案3.1 工作原理: 利用單片機(jī) AT89S52 單片機(jī)作為本系統(tǒng)的中控模塊。單片機(jī)可把由DS18B20、DS1302 讀來(lái)的數(shù)據(jù)利用軟件來(lái)進(jìn)行處理,從而把數(shù)據(jù)傳輸?shù)斤@示模塊,實(shí)現(xiàn)溫度、日歷的顯示。點(diǎn)陣 LED 電子顯示屏顯示器為主要的顯示模塊,把單片機(jī)傳來(lái)的數(shù)據(jù)顯示出來(lái),并且可以實(shí)現(xiàn)滾動(dòng)顯示。利用光電傳感器來(lái)實(shí)現(xiàn)非接觸止鬧功能。在顯示電路中,主要靠按鍵來(lái)實(shí)現(xiàn)各種顯示要求的選擇與切換。3.2 總體設(shè)計(jì)設(shè)計(jì)總體框圖如圖 1DS1302DS18B204*4 鍵盤(pán)錄放音模塊光電傳感器LED 大屏幕顯示圖 1 系統(tǒng)框圖8255AT89S524、系統(tǒng)硬件設(shè)計(jì)(單元電路設(shè)計(jì)及分析)4.1 AT89S52 單片機(jī)最小系統(tǒng):最小系統(tǒng)包括晶體振蕩電路、復(fù)位開(kāi)關(guān)和電源部分。圖 2 為 AT89S52 單片機(jī)的最小系統(tǒng)。4.2 溫度測(cè)量模塊:溫度測(cè)量傳感器采用 DALLAS 公司 DS18B20 的單總線數(shù)字化溫度傳感器,測(cè)溫范圍為 -55℃~125℃, 可編程為 9 位~12 位 A/D 轉(zhuǎn)換圖 2 最小系統(tǒng)電路圖精度,測(cè)溫分辨率達(dá)到 0.0625℃,采用寄生電源工作方式, CPU 只需一根口線便能與DS18B20 通信,占用 CPU 口線少,可節(jié)省大量引線和邏輯電路。接口電路如圖 3 所示。圖 3 DS18B20 測(cè)量電路4.3 時(shí)鐘模塊時(shí)鐘模塊采用DS1302芯片,DS1302 是DALLAS 公司推出的涓流充電時(shí)鐘芯片內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31 字節(jié)靜態(tài) RAM 通過(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信實(shí)時(shí)時(shí)鐘/日歷電路提供秒分時(shí)日日期月年的信息每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整時(shí)鐘操作可通過(guò)AM/PM 指示決定采用24 或12 小時(shí)格式DS1302 與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方式進(jìn)行通信僅需用到三個(gè)口線1 RES 復(fù)位2 I/O 數(shù)據(jù)線3 SCLK串行時(shí)鐘時(shí)鐘/RAM 的讀/寫(xiě)數(shù)據(jù)以一個(gè)字節(jié)或多達(dá) 31 個(gè)字節(jié)的字符組方式通信 DS1302 工作時(shí)功耗很低保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于1mW,其接線電路如圖4圖 4 時(shí)鐘電路4.4 鍵盤(pán)模塊鍵盤(pán)、狀態(tài)顯示模塊:為了使軟件編程簡(jiǎn)單,本設(shè)計(jì)利用可編程芯片 8255。接法如表1 所示。PA 口接按鍵,PC 口則用于控制狀態(tài)顯示所用 LED 點(diǎn)陣。每個(gè)按鍵都通過(guò)一個(gè)10K 的上拉電阻接電源+Vcc,按鍵的另一端接地。當(dāng)有鍵按下時(shí),與該鍵相連的 PA 口的相應(yīng)位變?yōu)榈碗娖剑瑔纹瑱C(jī)檢測(cè)到該變化后即轉(zhuǎn)到相應(yīng)的鍵處理程序,同時(shí)在程序中點(diǎn)亮LED 點(diǎn)陣。模塊電路如圖 54.5 LED 顯示模塊點(diǎn)陣數(shù)據(jù)串行輸入, 器件為 移位寄存器 TPIC6B595595, 門(mén)控和掃描信號(hào)常以 16 點(diǎn)陣為一行進(jìn)行并行處理。在點(diǎn)陣顯示中以 4×8 個(gè) L ED 點(diǎn) 陣構(gòu)成一個(gè) L ED 顯示單元, 采用行共陽(yáng)列共陰的編排方式。其驅(qū)動(dòng)分為行列兩部分, 分別來(lái)自于行、列移位寄存器, 行數(shù)據(jù)是掃描數(shù)據(jù), 16 行中每次只有一行被驅(qū)動(dòng), 采用逐行掃描方式, 列數(shù)據(jù)則為漢字的點(diǎn)陣碼。。對(duì)于字符和圖形顯示也可以用點(diǎn)陣處理, 其顯示原理和方法相同.電路如圖 6圖 5 鍵盤(pán)電路 圖 6 LED 顯示電路4.6 電源選擇: 200W/5V 的直流穩(wěn)壓電源更加安全電路圖如圖 7圖 7 電源電路4.7 PC 機(jī)通訊 MAX232 是標(biāo)準(zhǔn)的串口通信接口,對(duì)于一般的雙向通訊,只需要使用串行輸入口RXD(第 3 腳) 、串行輸出 TXD(第 2 腳)和地線(第 7 腳) 。MAX232 邏輯電平的規(guī)定如表 2.表 2 邏輯電平表圖 8 串口通訊4.8 整體電路系統(tǒng)整體電路如下:圖 9 整體電路5、系統(tǒng)軟件設(shè)計(jì)5.1 主程序如圖 10邏輯值 電平幅值 (v)0 3+~+151 3-~-155.2 顯示子程序流程如圖 11開(kāi)始查找顯示漢字?jǐn)?shù)據(jù)放入 RAM 中將 數(shù) 據(jù) 串 行 傳 入 TPIC6B595行掃描32 行是否掃完返回圖 11 顯示子程序流程5.3 顯示時(shí)間子程序流程如圖 12開(kāi)始DS1302 初始化從 DS1302 中讀數(shù)據(jù),并放入 RAM調(diào)用顯示子程序顯示時(shí)間圖 12 時(shí)間子程序流程圖5.4 與 PC 串口通訊程序開(kāi)始串口通訊初始化等待 PC 機(jī)發(fā)聯(lián)絡(luò)信號(hào)是否接受到信號(hào)將接受到的數(shù)據(jù)放到指定區(qū)域數(shù)據(jù)發(fā)送是否完畢返回圖 13 串口通訊程序5.5 LED 亮度調(diào)節(jié)開(kāi)始鍵盤(pán)掃描“亮度”鍵是否按下LED 顯示當(dāng)前亮度等級(jí)鍵盤(pán)掃描“+”鍵按下 “—”鍵按下內(nèi)部 RAM 中 2AH 單元所存數(shù)據(jù)加 1內(nèi)部 RAM 中 2AH 單元所存數(shù)據(jù)減 1返回NY圖 14 LED 亮度調(diào)節(jié)5.6 溫度測(cè)量流程圖如圖 15開(kāi)始DS18B20 初始化從 DS18B20 中讀出數(shù)據(jù),放入 RAM在 LED 點(diǎn)陣中顯示溫度返回圖 15 溫度測(cè)量程序流程圖6、測(cè)量及其結(jié)果分析6.1 基本部分測(cè)試與分析6.11 測(cè)試儀器:秒表 、溫度表、萬(wàn)用電表、WAVE 仿真器6.12 基本要求部分的測(cè)試與分析:(1)系統(tǒng)上電后,全屏點(diǎn)亮,沒(méi)有暗點(diǎn)。接著顯示時(shí)間。按“#”鍵后時(shí)掃描鍵盤(pán),當(dāng)有 1~10 鍵按下時(shí),分別顯示十段設(shè)定的數(shù)字、英文或漢字。(2)顯示時(shí)間時(shí)通過(guò)與秒表對(duì)比,測(cè)試的系統(tǒng)時(shí)間準(zhǔn)確。6. 2 發(fā)揮部分測(cè)試與分析:(1) 當(dāng)按下#后在按下進(jìn)入亮度調(diào)節(jié),按下“+”鍵時(shí),亮度增加。按下 “—”鍵時(shí),亮度變?nèi)酢?2) 可以實(shí)現(xiàn)文字左右移動(dòng)(3) 按下“設(shè)置時(shí)間 ”鍵,觀察到“鐘表” 二極管點(diǎn)亮,此時(shí)可對(duì)時(shí)間進(jìn)行設(shè)置。按下“時(shí)間設(shè)置“進(jìn)入時(shí)調(diào)試,按“+”鍵時(shí)間加。在按下“切換”鍵時(shí),進(jìn)入分調(diào)整模式,按下“+”鍵,分增加。按下“選擇”鍵時(shí),分調(diào)整模式改為秒調(diào)整模式,按下“+”鍵秒增加。經(jīng)測(cè)試該步可以很好的實(shí)現(xiàn)。調(diào)整時(shí)間完畢后,再按一下“鬧鐘設(shè)置”進(jìn)入鬧鈴設(shè)置狀態(tài),按下“+”鍵設(shè)定“時(shí)”增加,在按下“選擇”鍵進(jìn)入分的設(shè)置,按下“+”鍵設(shè)定“分”增加。在按下“選擇”鍵進(jìn)入秒設(shè)置模式,按“+”鍵秒增加。(4)系統(tǒng)可以顯示 10 組,每組 8 個(gè)漢字,完成要求6.3 創(chuàng)新部分測(cè)試與分析(1)溫度測(cè)量: 鍵盤(pán)切換現(xiàn)場(chǎng)環(huán)境溫度顯示:按“功能”鍵選擇“溫度” ,將溫度傳感器和溫度計(jì)放入不同的測(cè)試環(huán)境中進(jìn)行測(cè)試,結(jié)果如表 1 所示。表 1 與標(biāo)準(zhǔn)溫度計(jì)測(cè)量值比較表溫度計(jì)示值(攝氏度) 10.3 25.2 49.7 70.1 85.5溫度輸出(攝氏度) 10 25 50 70 86由測(cè)試知,數(shù)字鐘的輸出與溫度計(jì)值基本上相等,誤差不大于 0.5 度。(2) 當(dāng)?shù)皆O(shè)定時(shí)間時(shí),開(kāi)始訪一段音樂(lè),完成定時(shí)鬧鈴功能。(3)當(dāng)用手遮擋光電傳感器后,停止放音。手拿開(kāi)后,不再放音,直到到設(shè)定時(shí)間。完成非接觸止鬧功能7、設(shè)計(jì)總結(jié)全心準(zhǔn)備了整整一個(gè)酷暑,9 月 8 日我們終于拿到了試題,我們一致選擇控制類(lèi)題目A(LED 點(diǎn)陣), 從基本方案的制定,在到硬件電路的選擇,到制作電路制作,最后進(jìn)行程序調(diào)試。在此期間我們遇到很多困難,幾乎沒(méi)有說(shuō)過(guò)一次好覺(jué),盡管很艱苦,但是我們各自分工,相互協(xié)作,一次又一次品嘗到了解決問(wèn)題的喜悅,最終完成了要求的全部功能,并加入了一些創(chuàng)新的部分。在競(jìng)賽中我們發(fā)現(xiàn)了自己知識(shí)的不足,通過(guò)四天三夜的奮斗,也可以說(shuō)四天三夜的學(xué)習(xí),我們學(xué)到了很多東西,最重要的是我們學(xué)會(huì)了一種精神————永不放棄。在以后的時(shí)間里面我們會(huì)用這種精神去學(xué)習(xí),更上一層樓。8、參考資料[1]《基于單片機(jī)結(jié)構(gòu)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》 沈紅衛(wèi) 編 電子工業(yè)出版社[2]《單片機(jī)原理與接口技術(shù)》 黃惠媛 編 海洋出版社[3]《單片機(jī)應(yīng)用技術(shù)》 周平 伍云輝 編 電子科技大學(xué)出版社[4]《8051 單片機(jī)實(shí)踐與應(yīng)用》 吳金戌 沈金陽(yáng) 郭庭吉 編 清華大學(xué)出版社[5]《電子設(shè)計(jì)競(jìng)賽賽題解析》 黃正謹(jǐn)?shù)染? 東南大學(xué)出版社 附錄:例:整屏四個(gè)字一起顯示的程序SER EQU P1.0 ; TPIC6B595 第 3 腳OE EQU P1.1;TPIC6B595 第 8 腳RCK EQU P1.2;TPIC6B595 第 12 腳MR EQU P1.3;TPIC6B595 第 9 腳SRCLK EQU P1.4;TPIC6B595 第 13 腳ORG 0000HLJMP MAINORG 0100H;**************************主程序**********************************MAIN: MOV SP,#70HSETB OE MOV 2BH,#00HMOV 27H,#00HSTART: ;初始化寄存器 RAM 單元MOV R0, #30HMOV R1,#64H ;30H~6FH 單元清零MOV A, #00HST: MOV @R0,AINC R0DJNZ R1,ST;2Dh------尋址偏址 ;整屏四個(gè)字一起顯示LOOP:MOV DPTR,#TAB;賦查表初值MOV R3,#56PLAY: MOV 2DH,#00HMOV 2FH,#10HGG: LCALL LINE16;掃描顯示一次MOV 2DH,#00HDJNZ 2FH,GGMOV A,DPLCLR CADD A, #16MOV DPL ,AMOV A, DPHADDC A ,#00HMOV DPH, ADJNZ R3,PLAYSJMP STARTLINE16: MOV 2BH,#16;掃 16 行,2BH 放后還剩幾行FF: LCALL LINE1;掃描顯示一行子程序DJNZ 2BH,FF;掃描行直到 16 行掃完再轉(zhuǎn)RETLINE1:LCALL MSTR;將顯示的內(nèi)容移入內(nèi)存單元LCALL SEND;發(fā)送串口子程序LCALL XH;選通行子程序RETMSTR: ;顯示內(nèi)容移入內(nèi)存單元MOV R0,#30HMOV R4,#9MOV A,2DH;BB: MOVC A,@A+DPTRMOV @R0,AINC R0MOV A,2DHADD A,#16;加 16 移到下一行MOV 2DH,ADJNZ R4,BBMOV A,2DHSUBB A,#143MOV 2DH,ARET;$$$$$$$$$$$$$$$$$$$$$$$$$$$發(fā)送數(shù)據(jù)到串口子程序$$$$$$$$$$$$$$$$$$$$$$$$$SEND:MOV R0,#30HMOV R5,#8 ;一行有 8 個(gè)字節(jié),如每次顯示字?jǐn)?shù)不同要作相應(yīng)改動(dòng)SETB OESETB MRCLR SRCLKCLR RCKSETB P1.6SETB P1.7LQ: CLR CMOV R2,#8MOV A,@R0; CPL A ;TPIC6B595 應(yīng)該不用這一步LCALL DD1;調(diào)用顯示一個(gè)字節(jié)的子程序INC R0;指向下一個(gè)顯示單元DJNZ R5,LQRETDD1: CLR SRCLK;清串行 CP 端RLC A;MOV SER,C SETB SRCLK ;觸發(fā)串行 CP 端DJNZ R2,DD1;每個(gè)字節(jié)移 8 次夠了向下執(zhí)行RET;選通行子程序XH: CLR RCK ;將輸出 CP 變成低電平為上升沿做準(zhǔn)備N(xiāo)OPSETB RCKCLR P1.6;CLR P1.7MOV A,27HMOV P0,ACLR OELCALL DE25MSINC ASETB OESETB P1.6MOV A,27H ANL A,#0F0HSWAP AADD A,#01HSWAP AMOV 27H,ACLR MR SETB MR RETDE25MS: MOV R5,#09HDEL2: MOV R6,#0FHDEL3: MOV R7,#01HDJNZ R7,$DJNZ R6,DEL3DJNZ R5,DEL2RETTAB:字庫(kù)END 試題: A 甲 1025、點(diǎn)陣電子顯示屏2006 年 9 月 11 日目 錄第一部分 摘要 ……………………………………………………...3第二部分1.設(shè)計(jì)任務(wù)………………………………………………..41.1 基本要求………………………………………………………….........41.2 發(fā)揮部分……………………………………………………………….41.3 創(chuàng)新部分……………………………………………………………….42.方案論證與比較………………………………………52.1 顯示部分……………………………………………………………….52.2 數(shù)字時(shí)鐘……………………………………………………………….52.3 溫度采集部分………………………………………………………….62.4 芯片選擇……………………………………………………………….62.5 鬧鈴方式的選擇……………………………………………………….62.6 止鬧方式的選擇……………………………………………………….62.7 串口通訊芯片的選擇………………………………………………….63. 總體方案……………………………………………….73.1 工作原理……………………………………………………………….73.2 總體設(shè)計(jì)……………………………………………………………….74.系統(tǒng)硬件設(shè)計(jì)…………………………………………74.1 AT89S52 單片機(jī)最小系統(tǒng)…………………………………………...84.2 溫度測(cè)量模塊………………………………………………………...84.3 時(shí)鐘模塊……………………………………………………………..84.4 鍵盤(pán)模塊……………………………………………………………..94.5 LED 點(diǎn)陣顯示模塊………………………………………………….104.6 電源的選擇………………………………………………………….114.7 PC 機(jī)通訊……………………………………………………………124.8 整體電路…………………………………………………………….125.系統(tǒng)軟件設(shè)計(jì)………………………………………….75.1 主程序流程………………………………………………………….135.2 掃描子程序………………………………………………………….145.3 時(shí)間程序…………………………………………………………….155.4 PC 機(jī)串口通訊程序…………………………………………………155.5 亮度調(diào)節(jié)程序………………………………………………………165.6 溫度程序…………………………………………………………….176.測(cè)試與結(jié)果分析……………………………………...176.1 基本部分測(cè)試與分析……………………………………………….176.2 發(fā)揮部分測(cè)試與分析……………………………………………….186.3 創(chuàng)新部分測(cè)試與分析……………………………………………….187.設(shè)計(jì)總結(jié)……………………………………………...188.參考資料……………………………………………...18附錄……………………………………………………………18例程…………………………………………………………......................................18摘要 LED 大屏幕顯示系統(tǒng),以 AT89S52 單片機(jī)為核心,由鍵盤(pán)顯示、錄放音模塊、光電開(kāi)關(guān)、溫度采集、定時(shí)鬧鈴、LED 大屏幕顯示等功能模塊組成?;陬}目基本要求,本系統(tǒng)對(duì)時(shí)間顯示和大屏幕顯示進(jìn)行了重點(diǎn)設(shè)計(jì)。此外,擴(kuò)展單片機(jī)外圍接口、溫度采集、非接觸式止鬧、滾動(dòng)屏幕顯示、語(yǔ)音報(bào)時(shí)等功能。本系統(tǒng)大部分功能由軟件來(lái)實(shí)現(xiàn),吸收了硬件軟件化的思想,大部分功能通過(guò)軟件來(lái)實(shí)現(xiàn),使電路簡(jiǎn)單明了,系統(tǒng)穩(wěn)定性大大提高。本系統(tǒng)不僅成功的實(shí)現(xiàn)了要求的基本功能,發(fā)揮部分也得到完全的實(shí)現(xiàn) ,而且有一定的創(chuàng)新功能。 關(guān)鍵字:?jiǎn)纹瑱C(jī) LED 大屏幕 滾屏顯示 Abstract This large LED display screen system ,based on chip microcomputer AT89S52,is composed by the following functional modules : keyboard displaying ,sound phonating. photoelectricity untouched switch,temperature gathering ,timing bell, According to the basic requirements of the subject ,our system stresses on the realization of time displaying and large screen displaying ,Furthermore ,we also extend the primary function ,adding new functions ,such as the single chip peripheral ports ,temperature gathering ,untouched ring-stop, scroll screen display, sound timing .and so on. Adopting the idea of hardware-to-software, most of those functions are realized by softwares, which makes the electrocircuit more concise and the system more stable ,The design achieved and even exceeded all the required basic technical indexes Key words: chip microcomputer large screen display systemscroll screen display1 任務(wù)設(shè)計(jì)1.1 基本要求:設(shè)計(jì)并制作 LED 電子顯示屏和控制器。1.1.1 自制一臺(tái)簡(jiǎn)易 16 行*32 列點(diǎn)陣顯示的 LED 電子顯示屏;1.1.2 自制顯示屏控制器,擴(kuò)展鍵盤(pán)和相應(yīng)的接口實(shí)現(xiàn)多功能顯示控制,顯示屏顯示數(shù)字和字母亮度適中,應(yīng)無(wú)閃爍。 1.1.3 顯示屏通過(guò)按鍵切換顯示數(shù)字和字母;1.1.4 顯示屏能顯示 4 組特定數(shù)字或者英文字母組成的句子,通過(guò)按鍵切換顯示內(nèi)容;1.1.5 能顯示 4 組特定漢字組成的句子,通過(guò)按鍵切換顯示內(nèi)容。1.2 發(fā)揮部分:1.2.1 自制一臺(tái)簡(jiǎn)易 16 行*64 列點(diǎn)陣顯示的 LED 電子顯示屏;1.2.2 LED 顯示屏亮度連續(xù)可調(diào)。1.2.3 實(shí)現(xiàn)信息的左右滾屏顯示,預(yù)存信息的定時(shí)循環(huán)顯示;1.2.4 實(shí)現(xiàn)實(shí)時(shí)時(shí)間的顯示,顯示屏數(shù)字顯示: 時(shí)∶分∶秒(例如 18∶38∶59) ;1.2.5 增大到 10 組(每組漢字 8 個(gè)或 16 個(gè)數(shù)字和字符)預(yù)存信息,信息具有掉電保護(hù);1.2.6 實(shí)現(xiàn)和 PC 機(jī)通訊,通過(guò) PC 機(jī)串口直接對(duì)顯示信息進(jìn)行更新(須做 PC 機(jī)客戶(hù)程序) ;1.3 創(chuàng)新部分1.3.1 室溫的測(cè)量1.3.2 定時(shí)鬧鈴1.3.3 整點(diǎn)報(bào)時(shí)1.3.4 非接觸止鬧 2、方案論證2.1 顯示部分:顯示部分是本次設(shè)計(jì)最核心的部分,對(duì)于 LED8*8 點(diǎn)陣顯示有以下兩種方案:方案一:靜態(tài)顯示,將一幀圖像中的每一個(gè)二極管的狀態(tài)分別用 0 和 1 表示,若為 0 ,則表示 L ED 無(wú)電流,即暗狀態(tài) ;若為 1 則表示二極管被點(diǎn)亮。若給每一個(gè)發(fā)光二極管一個(gè)驅(qū)動(dòng)電路,一幅畫(huà)面輸入以后,所有 L ED 的狀態(tài)保持到下一幅畫(huà)。對(duì)于靜態(tài)顯示方式方式,所需的譯碼驅(qū)動(dòng)裝置很多,引線多而復(fù)雜,成本高,且可靠性也較低。方案二:動(dòng)態(tài)顯示,對(duì)一幅畫(huà)面進(jìn)行分割,對(duì)組成畫(huà)面的各部分分別顯示,是動(dòng)態(tài)顯示方式。動(dòng)態(tài)顯示方式方式,可以避免靜態(tài)顯示的問(wèn)題。但設(shè)計(jì)上如果處理不當(dāng),易造成亮度低,閃爍問(wèn)題。因此合理的設(shè)計(jì)既應(yīng)保證驅(qū)動(dòng)電路易實(shí)現(xiàn),又要保證圖像穩(wěn)定,無(wú)閃爍。動(dòng)態(tài)顯示采用多路復(fù)用技術(shù)的動(dòng)態(tài)掃描顯示方式, 復(fù)用的程度不是無(wú)限增加的, 因?yàn)槔脛?dòng)態(tài)掃描顯示使我們看到一幅穩(wěn)定畫(huà)面的實(shí)質(zhì)是利用了人眼的暫留效應(yīng)和發(fā)光二極管發(fā)光時(shí)間的長(zhǎng)短, 發(fā)光的亮度等因素. 我們通過(guò)實(shí)驗(yàn)發(fā)現(xiàn), 當(dāng)掃描刷新頻率 (發(fā)光二極管的停閃頻率) 為 50Hz, 發(fā)光二極管導(dǎo)通時(shí)間≥1m s 時(shí), 顯示亮度較好, 無(wú)閃爍感 .。 鑒于上述原因, 我們采用方案二 2.2.?dāng)?shù)字時(shí)鐘數(shù)字時(shí)鐘是本設(shè)計(jì)的重要的部分。根據(jù)需要,可利用兩種方案實(shí)現(xiàn)。方案一:本方案完全用軟件實(shí)現(xiàn)數(shù)字時(shí)鐘。原理為:在單片機(jī)內(nèi)部存儲(chǔ)器設(shè)三個(gè)字節(jié)分別存放時(shí)鐘的時(shí)、分、秒信息。利用定時(shí)器與軟件結(jié)合實(shí)現(xiàn) 1 秒定時(shí)中斷,每產(chǎn)生一次中斷,存儲(chǔ)器內(nèi)相應(yīng)的秒值加 1;若秒值達(dá)到 60,則將其清零,并將相應(yīng)的分字節(jié)值加1;若分值達(dá)到 60,則清零分字節(jié),并將時(shí)字節(jié)值加 1;若時(shí)值達(dá)到 24,則將時(shí)字節(jié)清零。該方案具有硬件電路簡(jiǎn)單的特點(diǎn),但當(dāng)單片機(jī)不上電,程序?qū)⒉粓?zhí)行。且由于每次執(zhí)行程序時(shí),定時(shí)器都要重新賦初值,所以該時(shí)鐘精度不高。方案二:本方案采用 Dallas 公司的專(zhuān)用時(shí)鐘芯片 DS1302。該芯片內(nèi)部采用石英晶體振蕩器,其芯片精度不大于 10ms/年,且具有完備的時(shí)鐘鬧鐘功能,因此,可直接對(duì)其以用于顯示或設(shè)置,使得軟件編程相對(duì)簡(jiǎn)單。為保證時(shí)鐘在電網(wǎng)電壓不足或突然掉電等突發(fā)情況下仍能正常工作,芯片內(nèi)部包含鋰電池。當(dāng)電網(wǎng)電壓不足或突然掉電時(shí),系統(tǒng)自動(dòng)轉(zhuǎn)換到內(nèi)部鋰電池供電系統(tǒng)。而且即使系統(tǒng)不上電,程序不執(zhí)行時(shí),鋰電池也能保證芯片的正常運(yùn)行,以備隨時(shí)提供正確的時(shí)間?;跁r(shí)鐘芯片的上述優(yōu)點(diǎn),本設(shè)計(jì)采用方案二完成數(shù)字時(shí)鐘的功能。2.3 溫度采集部分能進(jìn)行溫度測(cè)量是本設(shè)計(jì)的創(chuàng)新部分,由于現(xiàn)在用品追求多樣化,多功能化,所以我們決定給系統(tǒng)加上溫度測(cè)量顯示模塊,方便人們的生活,使該設(shè)計(jì)具有人性化。方案一:采用熱敏電阻,可滿(mǎn)足 40 攝氏度至 90 攝氏度測(cè)量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對(duì)于檢測(cè)小于 1 攝氏度的信號(hào)是不適用的。 方案二:采用溫度傳感器 DS18B20。DS18B20 可以滿(mǎn)足從-55 攝氏度到+125 攝氏度測(cè)量范圍,且 DS18B20 測(cè)量精度高,增值量為 0.5 攝氏度,在一秒內(nèi)把溫度轉(zhuǎn)化成數(shù)字,測(cè)得的溫度值的存儲(chǔ)在兩個(gè)八位的 RAM 中,單片機(jī)直接從中讀出數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制就是溫度,使用方便?;?DS18b20 的以上優(yōu)點(diǎn),我們決定選取 DS18b20 來(lái)測(cè)量溫度。2.4 芯片的選擇方案一:采取并口輸入,占用大量 I/O 口資源方案二:選取串口輸入,使用較少。所以我們選用串口輸入。串口輸入我們可以選用芯片有 74HC595、74LS164、 TPIC6B595。但是 74HC595 和 74LS164 兩種芯片必須加驅(qū)動(dòng)才能驅(qū)動(dòng) LED,而 TI 公司的 DMOS 器件 TPIC6B595 , 除具有 TTL 和 CMOS 器件中移位寄存器 595 的邏輯功能外, 其最大的特點(diǎn)是驅(qū)動(dòng)功率大, 可直接用作 LED 的驅(qū)動(dòng)。綜合以上比較,我們選取 TPIC6B595 來(lái)驅(qū)動(dòng) LED 點(diǎn)陣。2.5 鬧鈴方式的選擇方案一:采用蜂鳴器鬧鈴,當(dāng)?shù)皆O(shè)定時(shí)間時(shí),單片機(jī)向蜂鳴器送出高電平,蜂鳴器發(fā)生。采用蜂鳴器鬧鈴結(jié)構(gòu)簡(jiǎn)單,控制方便,但是發(fā)出的鬧鈴聲音單一。方案二:采用錄音放音芯片 1420 鬧鈴,先對(duì)錄放音設(shè)備錄入一段音樂(lè),當(dāng)?shù)皆O(shè)定時(shí)間時(shí),單片機(jī)控制錄放音設(shè)備放音。采用錄放音電路鈴聲可以自己預(yù)先設(shè)定一段自己喜歡的音樂(lè),符合電器設(shè)備人性化的要求。且 1420 芯片可以分段錄音,還具有語(yǔ)音報(bào)時(shí)功能?;阡浺舴乓粜酒?1420 的以上優(yōu)點(diǎn),我們決定采用錄放音設(shè)備鬧鈴。 2.6 止鬧方式的選擇一般鐘表都具有鬧鐘功能,到設(shè)定時(shí)間,便自動(dòng)啟動(dòng)鬧鐘,發(fā)出音樂(lè)提醒人們,再由人按下止鬧按鈕停止鬧鐘工作。 一般每天只能設(shè)置一次鬧鐘、并要由人按下按鈕止鬧,使用不是很方便。智能處理器應(yīng)用可改變這種狀況,一天可按自己需要設(shè)置鬧鐘的開(kāi)關(guān)、多次鬧鐘設(shè)置并可用非接觸方式止鬧。方案一:采取遠(yuǎn)程紅外遙控止鬧,遙控器發(fā)出特定紅外信號(hào)時(shí),單片機(jī)接受到信號(hào),向發(fā)音設(shè)備發(fā)出停止信號(hào)止鬧。紅外遙控止鬧控制距離遠(yuǎn),但是價(jià)格昂貴,增加了制造成本。方案二:采取光電傳感器,當(dāng)用一物體遮擋光電傳感光電傳感器向單片機(jī)接口送出一個(gè)低電平,單片機(jī)立即向發(fā)音設(shè)備發(fā)出停止信號(hào)止鬧。光電傳感器價(jià)格便宜,線路簡(jiǎn)單,易于控制?;谝陨媳容^我們決定采用光電傳感器止鬧。2.7 串口通訊芯片的選擇AT89S52 串行口采用的是 TTL 電平,因此必須的有電平轉(zhuǎn)換電路,可以選擇1488,1489,MAX232A.方案一:采用 1488 或 1489 芯片實(shí)現(xiàn)電平轉(zhuǎn)換,但在使用中發(fā)現(xiàn)這兩種芯片可靠性不高,且需要正負(fù) 12V 電源,使用麻煩。方案二:采用單電源電平轉(zhuǎn)換芯片 MAX232A 可以使電路變得簡(jiǎn)單,可靠。基于以上分析,我們選用方案二,選用芯片 MAX232A2.8 電源模塊方案一:采用干電池作為 LED 點(diǎn)陣系統(tǒng)的電源,由于點(diǎn)陣系統(tǒng)耗電量較大,使用干電池需經(jīng)常換電池,不符合節(jié)約型社會(huì)的要求。點(diǎn)陣系統(tǒng)要懸掛在墻上,電池總量大,使用會(huì)有較大安全隱患。方案二:采用 200W/5V 直流穩(wěn)壓電源作為系統(tǒng)電源,不僅功率上可以滿(mǎn)足系統(tǒng)需要,不需要更換電源,并且比較輕便,使用更加安全可靠基于以上分析,我們決定采用方案二3、總體方案3.1 工作原理: 利用單片機(jī) AT89S52 單片機(jī)作為本系統(tǒng)的中控模塊。單片機(jī)可把由DS18B20、DS1302 讀來(lái)的數(shù)據(jù)利用軟件來(lái)進(jìn)行處理,從而把數(shù)據(jù)傳輸?shù)斤@示模塊,實(shí)現(xiàn)溫度、日歷的顯示。點(diǎn)陣 LED 電子顯示屏顯示器為主要的顯示模塊,把單片機(jī)傳來(lái)的數(shù)據(jù)顯示出來(lái),并且可以實(shí)現(xiàn)滾動(dòng)顯示。利用光電傳感器來(lái)實(shí)現(xiàn)非接觸止鬧功能。在顯示電路中,主要靠按鍵來(lái)實(shí)現(xiàn)各種顯示要求的選擇與切換。3.2 總體設(shè)計(jì)設(shè)計(jì)總體框圖如圖 1DS1302DS18B204*4 鍵盤(pán)錄放音模塊光電傳感器LED 大屏幕顯示圖 1 系統(tǒng)框圖8255AT89S524、系統(tǒng)硬件設(shè)計(jì)(單元電路設(shè)計(jì)及分析)4.1 AT89S52 單片機(jī)最小系統(tǒng):最小系統(tǒng)包括晶體振蕩電路、復(fù)位開(kāi)關(guān)和電源部分。圖 2 為 AT89S52 單片機(jī)的最小系統(tǒng)。4.2 溫度測(cè)量模塊:溫度測(cè)量傳感器采用 DALLAS 公司 DS18B20 的單總線數(shù)字化溫度傳感器,測(cè)溫范圍為 -55℃~125℃, 可編程為 9 位~12 位 A/D 轉(zhuǎn)換圖 2 最小系統(tǒng)電路圖精度,測(cè)溫分辨率達(dá)到 0.0625℃,采用寄生電源工作方式, CPU 只需一根口線便能與DS18B20 通信,占用 CPU 口線少,可節(jié)省大量引線和邏輯電路。接口電路如圖 3 所示。圖 3 DS18B20 測(cè)量電路4.3 時(shí)鐘模塊時(shí)鐘模塊采用DS1302芯片,DS1302 是DALLAS 公司推出的涓流充電時(shí)鐘芯片內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31 字節(jié)靜態(tài) RAM 通過(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信實(shí)時(shí)時(shí)鐘/日歷電路提供秒分時(shí)日日期月年的信息每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整時(shí)鐘操作可通過(guò)AM/PM 指示決定采用24 或12 小時(shí)格式DS1302 與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方式進(jìn)行通信僅需用到三個(gè)口線1 RES 復(fù)位2 I/O 數(shù)據(jù)線3 SCLK串行時(shí)鐘時(shí)鐘/RAM 的讀/寫(xiě)數(shù)據(jù)以一個(gè)字節(jié)或多達(dá) 31 個(gè)字節(jié)的字符組方式通信 DS1302 工作時(shí)功耗很低保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于1mW,其接線電路如圖4圖 4 時(shí)鐘電路4.4 鍵盤(pán)模塊鍵盤(pán)、狀態(tài)顯示模塊:為了使軟件編程簡(jiǎn)單,本設(shè)計(jì)利用可編程芯片 8255。接法如表1 所示。PA 口接按鍵,PC 口則用于控制狀態(tài)顯示所用 LED 點(diǎn)陣。每個(gè)按鍵都通過(guò)一個(gè)10K 的上拉電阻接電源+Vcc,按鍵的另一端接地。當(dāng)有鍵按下時(shí),與該鍵相連的 PA 口的相應(yīng)位變?yōu)榈碗娖?,單片機(jī)檢測(cè)到該變化后即轉(zhuǎn)到相應(yīng)的鍵處理程序,同時(shí)在程序中點(diǎn)亮LED 點(diǎn)陣。模塊電路如圖 54.5 LED 顯示模塊點(diǎn)陣數(shù)據(jù)串行輸入, 器件為 移位寄存器 TPIC6B595595, 門(mén)控和掃描信號(hào)常以 16 點(diǎn)陣為一行進(jìn)行并行處理。在點(diǎn)陣顯示中以 4×8 個(gè) L ED 點(diǎn) 陣構(gòu)成一個(gè) L ED 顯示單元, 采用行共陽(yáng)列共陰的編排方式。其驅(qū)動(dòng)分為行列兩部分, 分別來(lái)自于行、列移位寄存器, 行數(shù)據(jù)是掃描數(shù)據(jù), 16 行中每次只有一行被驅(qū)動(dòng), 采用逐行掃描方式, 列數(shù)據(jù)則為漢字的點(diǎn)陣碼。。對(duì)于字符和圖形顯示也可以用點(diǎn)陣處理, 其顯示原理和方法相同.電路如圖 6圖 5 鍵盤(pán)電路 圖 6 LED 顯示電路4.6 電源選擇: 200W/5V 的直流穩(wěn)壓電源更加安全電路圖如圖 7圖 7 電源電路4.7 PC 機(jī)通訊 MAX232 是標(biāo)準(zhǔn)的串口通信接口,對(duì)于一般的雙向通訊,只需要使用串行輸入口RXD(第 3 腳) 、串行輸出 TXD(第 2 腳)和地線(第 7 腳) 。MAX232 邏輯電平的規(guī)定如表 2.表 2 邏輯電平表圖 8 串口通訊4.8 整體電路系統(tǒng)整體電路如下:圖 9 整體電路5、系統(tǒng)軟件設(shè)計(jì)5.1 主程序如圖 10邏輯值 電平幅值 (v)0 3+~+151 3-~-155.2 顯示子程序流程如圖 11開(kāi)始查找顯示漢字?jǐn)?shù)據(jù)放入 RAM 中將 數(shù) 據(jù) 串 行 傳 入 TPIC6B595行掃描32 行是否掃完返回圖 11 顯示子程序流程5.3 顯示時(shí)間子程序流程如圖 12開(kāi)始DS1302 初始化從 DS1302 中讀數(shù)據(jù),并放入 RAM調(diào)用顯示子程序顯示時(shí)間圖 12 時(shí)間子程序流程圖5.4 與 PC 串口通訊程序開(kāi)始串口通訊初始化等待 PC 機(jī)發(fā)聯(lián)絡(luò)信號(hào)是否接受到信號(hào)將接受到的數(shù)據(jù)放到指定區(qū)域數(shù)據(jù)發(fā)送是否完畢返回圖 13 串口通訊程序5.5 LED 亮度調(diào)節(jié)開(kāi)始鍵盤(pán)掃描“亮度”鍵是否按下LED 顯示當(dāng)前亮度等級(jí)鍵盤(pán)掃描“+”鍵按下 “—”鍵按下內(nèi)部 RAM 中 2AH 單元所存數(shù)據(jù)加 1內(nèi)部 RAM 中 2AH 單元所存數(shù)據(jù)減 1返回NY圖 14 LED 亮度調(diào)節(jié)5.6 溫度測(cè)量流程圖如圖 15開(kāi)始DS18B20 初始化從 DS18B20 中讀出數(shù)據(jù),放入 RAM在 LED 點(diǎn)陣中顯示溫度返回圖 15 溫度測(cè)量程序流程圖6、測(cè)量及其結(jié)果分析6.1 基本部分測(cè)試與分析6.11 測(cè)試儀器:秒表 、溫度表、萬(wàn)用電表、WAVE 仿真器6.12 基本要求部分的測(cè)試與分析:(1)系統(tǒng)上電后,全屏點(diǎn)亮,沒(méi)有暗點(diǎn)。接著顯示時(shí)間。按“#”鍵后時(shí)掃描鍵盤(pán),當(dāng)有 1~10 鍵按下時(shí),分別顯示十段設(shè)定的數(shù)字、英文或漢字。(2)顯示時(shí)間時(shí)通過(guò)與秒表對(duì)比,測(cè)試的系統(tǒng)時(shí)間準(zhǔn)確。6. 2 發(fā)揮部分測(cè)試與分析:(1) 當(dāng)按下#后在按下進(jìn)入亮度調(diào)節(jié),按下“+”鍵時(shí),亮度增加。按下 “—”鍵時(shí),亮度變?nèi)酢?2) 可以實(shí)現(xiàn)文字左右移動(dòng)(3) 按下“設(shè)置時(shí)間 ”鍵,觀察到“鐘表” 二極管點(diǎn)亮,此時(shí)可對(duì)時(shí)間進(jìn)行設(shè)置。按下“時(shí)間設(shè)置“進(jìn)入時(shí)調(diào)試,按“+”鍵時(shí)間加。在按下“切換”鍵時(shí),進(jìn)入分調(diào)整模式,按下“+”鍵,分增加。按下“選擇”鍵時(shí),分調(diào)整模式改為秒調(diào)整模式,按下“+”鍵秒增加。經(jīng)測(cè)試該步可以很好的實(shí)現(xiàn)。調(diào)整時(shí)間完畢后,再按一下“鬧鐘設(shè)置”進(jìn)入鬧鈴設(shè)置狀態(tài),按下“+”鍵設(shè)定“時(shí)”增加,在按下“選擇”鍵進(jìn)入分的設(shè)置,按下“+”鍵設(shè)定“分”增加。在按下“選擇”鍵進(jìn)入秒設(shè)置模式,按“+”鍵秒增加。(4)系統(tǒng)可以顯示 10 組,每組 8 個(gè)漢字,完成要求6.3 創(chuàng)新部分測(cè)試與分析(1)溫度測(cè)量: 鍵盤(pán)切換現(xiàn)場(chǎng)環(huán)境溫度顯示:按“功能”鍵選擇“溫度” ,將溫度傳感器和溫度計(jì)放入不同的測(cè)試環(huán)境中進(jìn)行測(cè)試,結(jié)果如表 1 所示。表 1 與標(biāo)準(zhǔn)溫度計(jì)測(cè)量值比較表溫度計(jì)示值(攝氏度) 10.3 25.2 49.7 70.1 85.5溫度輸出(攝氏度) 10 25 50 70 86由測(cè)試知,數(shù)字鐘的輸出與溫度計(jì)值基本上相等,誤差不大于 0.5 度。(2) 當(dāng)?shù)皆O(shè)定時(shí)間時(shí),開(kāi)始訪一段音樂(lè),完成定時(shí)鬧鈴功能。(3)當(dāng)用手遮擋光電傳感器后,停止放音。手拿開(kāi)后,不再放音,直到到設(shè)定時(shí)間。完成非接觸止鬧功能7、設(shè)計(jì)總結(jié)全心準(zhǔn)備了整整一個(gè)酷暑,9 月 8 日我們終于拿到了試題,我們一致選擇控制類(lèi)題目A(LED 點(diǎn)陣), 從基本方案的制定,在到硬件電路的選擇,到制作電路制作,最后進(jìn)行程序調(diào)試。在此期間我們遇到很多困難,幾乎沒(méi)有說(shuō)過(guò)一次好覺(jué),盡管很艱苦,但是我們各自分工,相互協(xié)作,一次又一次品嘗到了解決問(wèn)題的喜悅,最終完成了要求的全部功能,并加入了一些創(chuàng)新的部分。在競(jìng)賽中我們發(fā)現(xiàn)了自己知識(shí)的不足,通過(guò)四天三夜的奮斗,也可以說(shuō)四天三夜的學(xué)習(xí),我們學(xué)到了很多東西,最重要的是我們學(xué)會(huì)了一種精神————永不放棄。在以后的時(shí)間里面我們會(huì)用這種精神去學(xué)習(xí),更上一層樓。8、參考資料[1]《基于單片機(jī)結(jié)構(gòu)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》 沈紅衛(wèi) 編 電子工業(yè)出版社[2]《單片機(jī)原理與接口技術(shù)》 黃惠媛 編 海洋出版社[3]《單片機(jī)應(yīng)用技術(shù)》 周平 伍云輝 編 電子科技大學(xué)出版社[4]《8051 單片機(jī)實(shí)踐與應(yīng)用》 吳金戌 沈金陽(yáng) 郭庭吉 編 清華大學(xué)出版社[5]《電子設(shè)計(jì)競(jìng)賽賽題解析》 黃正謹(jǐn)?shù)染? 東南大學(xué)出版社 附錄:例:整屏四個(gè)字一起顯示的程序SER EQU P1.0 ; TPIC6B595 第 3 腳OE EQU P1.1;TPIC6B595 第 8 腳RCK EQU P1.2;TPIC6B595 第 12 腳MR EQU P1.3;TPIC6B595 第 9 腳SRCLK EQU P1.4;TPIC6B595 第 13 腳ORG 0000HLJMP MAINORG 0100H;**************************主程序**********************************MAIN: MOV SP,#70HSETB OE MOV 2BH,#00HMOV 27H,#00HSTART: ;初始化寄存器 RAM 單元MOV R0, #30HMOV R1,#64H ;30H~6FH 單元清零MOV A, #00HST: MOV @R0,AINC R0DJNZ R1,ST;2Dh------尋址偏址 ;整屏四個(gè)字一起顯示LOOP:MOV DPTR,#TAB;賦查表初值MOV R3,#56PLAY: MOV 2DH,#00HMOV 2FH,#10HGG: LCALL LINE16;掃描顯示一次MOV 2DH,#00HDJNZ 2FH,GGMOV A,DPLCLR CADD A, #16MOV DPL ,AMOV A, DPHADDC A ,#00HMOV DPH, ADJNZ R3,PLAYSJMP STARTLINE16: MOV 2BH,#16;掃 16 行,2BH 放后還剩幾行FF: LCALL LINE1;掃描顯示一行子程序DJNZ 2BH,FF;掃描行直到 16 行掃完再轉(zhuǎn)RETLINE1:LCALL MSTR;將顯示的內(nèi)容移入內(nèi)存單元LCALL SEND;發(fā)送串口子程序LCALL XH;選通行子程序RETMSTR: ;顯示內(nèi)容移入內(nèi)存單元MOV R0,#30HMOV R4,#9MOV A,2DH;BB: MOVC A,@A+DPTRMOV @R0,AINC R0MOV A,2DHADD A,#16;加 16 移到下一行MOV 2DH,ADJNZ R4,BBMOV A,2DHSUBB A,#143MOV 2DH,ARET;$$$$$$$$$$$$$$$$$$$$$$$$$$$發(fā)送數(shù)據(jù)到串口子程序$$$$$$$$$$$$$$$$$$$$$$$$$SEND:MOV R0,#30HMOV R5,#8 ;一行有 8 個(gè)字節(jié),如每次顯示字?jǐn)?shù)不同要作相應(yīng)改動(dòng)SETB OESETB MRCLR SRCLKCLR RCKSETB P1.6SETB P1.7LQ: CLR CMOV R2,#8MOV A,@R0; CPL A ;TPIC6B595 應(yīng)該不用這一步LCALL DD1;調(diào)用顯示一個(gè)字節(jié)的子程序INC R0;指向下一個(gè)顯示單元DJNZ R5,LQRETDD1: CLR SRCLK;清串行 CP 端RLC A;MOV SER,C SETB SRCLK ;觸發(fā)串行 CP 端DJNZ R2,DD1;每個(gè)字節(jié)移 8 次夠了向下執(zhí)行RET;選通行子程序XH: CLR RCK ;將輸出 CP 變成低電平為上升沿做準(zhǔn)備N(xiāo)OPSETB RCKCLR P1.6;CLR P1.7MOV A,27HMOV P0,ACLR OELCALL DE25MSINC ASETB OESETB P1.6MOV A,27H ANL A,#0F0HSWAP AADD A,#01HSWAP AMOV 27H,ACLR MR SETB MR RETDE25MS: MOV R5,#09HDEL2: MOV R6,#0FHDEL3: MOV R7,#01HDJNZ R7,$DJNZ R6,DEL3DJNZ R5,DEL2RETTAB:字庫(kù)END
收藏