畢業(yè)設(shè)計(jì) 公交車(chē)自動(dòng)報(bào)站系統(tǒng)

上傳人:仙*** 文檔編號(hào):30153859 上傳時(shí)間:2021-10-09 格式:DOC 頁(yè)數(shù):32 大?。?68KB
收藏 版權(quán)申訴 舉報(bào) 下載
畢業(yè)設(shè)計(jì) 公交車(chē)自動(dòng)報(bào)站系統(tǒng)_第1頁(yè)
第1頁(yè) / 共32頁(yè)
畢業(yè)設(shè)計(jì) 公交車(chē)自動(dòng)報(bào)站系統(tǒng)_第2頁(yè)
第2頁(yè) / 共32頁(yè)
畢業(yè)設(shè)計(jì) 公交車(chē)自動(dòng)報(bào)站系統(tǒng)_第3頁(yè)
第3頁(yè) / 共32頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《畢業(yè)設(shè)計(jì) 公交車(chē)自動(dòng)報(bào)站系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì) 公交車(chē)自動(dòng)報(bào)站系統(tǒng)(32頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 公交車(chē)自動(dòng)報(bào)站系統(tǒng) 【摘 要】本設(shè)計(jì)介紹了一種利用紅外線遙控技術(shù),模擬公交車(chē)自動(dòng)報(bào)站的系統(tǒng)。以AT89C52為主芯片。公交車(chē)上的接收電路收到站臺(tái)信息后解碼,解碼后把信號(hào)傳送給AT89C52單片機(jī),啟動(dòng)LCD12864顯示站名。同時(shí),應(yīng)用語(yǔ)音模塊播報(bào)站名.還可以實(shí)現(xiàn)手動(dòng)報(bào)站功能。報(bào)站的時(shí)候,相應(yīng)的指示燈亮;蜂鳴器蜂鳴一聲報(bào)警。系統(tǒng)由紅外線的發(fā)射模塊、接收模塊、 LCD12864顯示模塊及ISD4004語(yǔ)音播報(bào)模塊組成 目 錄 1 引言 ……………………………………………………………………………………(3) 1.1本課題研究的意義 ………………………………………………………

2、……………(3) 1.2 AT89C52單片機(jī)介紹 ………………………………………………………………(3) 2 設(shè)計(jì)要求…………………………………………………………………………………(4) 3方案分析與論證 …………………………………………………………………………(4) 3.1 無(wú)線收發(fā)模塊的分析與論證 ………………………………………………………(4) 3.2控制模塊的分析與論證 ……………………………………………………………(4) 4 系統(tǒng)硬件設(shè)計(jì)……………………………………………………………………………(4) 4.1 系統(tǒng)的硬件設(shè)計(jì)………………………………………………

3、………………………(4) 4.1.1電路設(shè)計(jì)原理框圖 …………………………………………………………………(5) 4.2 單元電路的設(shè)計(jì)和分析………………………………………………………………(5) 4.2.1 遙控收發(fā)電路………………………………………………………………………(5) 4.2.2 AT89C52控制的LCD12864電路……………………………………………………(6) 4.2.3 ISD4004語(yǔ)音錄放電路 ……………………………………………………………(9) 4.2.4 本設(shè)計(jì)總原理圖……………………………………………………………………(11) 5 系統(tǒng)軟件設(shè)計(jì)

4、…………………………………………………………………………(12) 5.1 系統(tǒng)流程圖……………………………………………………………………………(12) 5.2 程序設(shè)計(jì)………………………………………………………………………………(14) 6 系統(tǒng)測(cè)試 ………………………………………………………………………………(15) 致謝…………………………………………………………………………………………(15) 參考文獻(xiàn)……………………………………………………………………………………(15) 附錄…………………………………………………………………………………………(16) 1 引言

5、 1.1 本課題研究的意義 現(xiàn)今社會(huì),公交事業(yè)關(guān)乎到大多數(shù)城市居民的出行,可公交車(chē)上的報(bào)站系統(tǒng)依然無(wú)法滿足大家對(duì)其的要求?,F(xiàn)在公交車(chē)上普遍使用的人工按鍵報(bào)站會(huì)出現(xiàn)報(bào)站不準(zhǔn)確(由于司機(jī)在操作報(bào)站系統(tǒng)時(shí)經(jīng)常會(huì)按錯(cuò)鍵或忘記按鍵,而且在調(diào)整系統(tǒng)時(shí)會(huì)連續(xù)報(bào)出幾個(gè)站點(diǎn),讓不熟悉路線站點(diǎn)的乘客不知所措)。并且每次報(bào)站時(shí)都需要由駕駛員對(duì)報(bào)站器進(jìn)行操作,而在車(chē)輛起動(dòng)與進(jìn)站時(shí),往往是路面情況最復(fù)雜的時(shí)候,駕駛員既要對(duì)行駛中的汽車(chē)進(jìn)行起動(dòng)或制動(dòng)等操作,同時(shí)還要兼顧報(bào)站系統(tǒng)的操作,給行駛中的車(chē)輛帶來(lái)一定的安全隱患。雖然現(xiàn)在已經(jīng)有些大城市的某些公交車(chē)上已經(jīng)采用GPS定位系統(tǒng)自動(dòng)報(bào)站,但其昂貴的成本,難以實(shí)現(xiàn)普及,特別

6、是一些中小城市難以負(fù)擔(dān)。本設(shè)計(jì)針對(duì)目前常見(jiàn)公交車(chē)報(bào)站系統(tǒng)的主要缺陷,介紹了基于單片機(jī)控制的公交車(chē)自動(dòng)報(bào)站系統(tǒng),該系統(tǒng)費(fèi)用廉價(jià),可以普及。 1.2 AT89C52單片機(jī)介紹 隨著計(jì)算機(jī)技術(shù)的發(fā)展,單片機(jī)技術(shù)已成為計(jì)算機(jī)技術(shù)中的一個(gè)獨(dú)特的分支,單片機(jī)的應(yīng)用領(lǐng)域也越來(lái)越廣泛,特別是在工業(yè)控制和儀器儀表智能化中扮演著極其重要的角色。實(shí)際上,單片機(jī)幾乎在人類(lèi)生活的各個(gè)領(lǐng)域都表現(xiàn)出強(qiáng)大的生命力,使計(jì)算機(jī)的應(yīng)用范圍達(dá)到了前所未有的廣度和深度。單片機(jī)的出現(xiàn)尤其對(duì)電路工作者產(chǎn)生了觀念上的沖擊。過(guò)去經(jīng)常采用模擬電路、數(shù)字電路實(shí)現(xiàn)的電路系統(tǒng),現(xiàn)在相當(dāng)大一部分可以用單片機(jī)予以實(shí)現(xiàn),傳統(tǒng)的電路設(shè)計(jì)方法已演變成軟件和

7、硬件相結(jié)合的設(shè)計(jì)方法,而且許多電路設(shè)計(jì)問(wèn)題將轉(zhuǎn)化為純粹的程序設(shè)計(jì)問(wèn)題。誠(chéng)然,單片機(jī)的應(yīng)用意義遠(yuǎn)不限于它的應(yīng)用范疇或由此帶來(lái)的經(jīng)濟(jì)效益,更重要的是它已從根本上改變了傳統(tǒng)的控制方法和設(shè)計(jì)思想。是控制技術(shù)的一次革命,是一座重要的里程碑。 AT89C52是ATMEL公司生產(chǎn)的51系列單片機(jī)的一個(gè)型號(hào),是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8Kbytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大。 AT89

8、C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外部中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫(xiě)口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低成本。 AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 主要功能特性: 兼容MCS51指令系統(tǒng) 8K可反復(fù)擦寫(xiě)(>1000次)Flash ROM 32個(gè)雙向I/O口 2568bit內(nèi)部RAM 3個(gè)16位可編程定時(shí)/計(jì)數(shù)中斷 時(shí)鐘頻率0-24

9、MHZ 2個(gè)串行中斷 可編程UART串行通道 2個(gè)外部中斷,共6個(gè)中斷源 2個(gè)讀寫(xiě)中斷口線,3級(jí)加密位 低功耗空閑和掉電模式 軟件設(shè)置睡眠和喚醒功能 2 設(shè)計(jì)要求 用AT89C52單片機(jī)來(lái)設(shè)計(jì)一個(gè)公交車(chē)自動(dòng)報(bào)站系統(tǒng)。要求用遙控模擬實(shí)現(xiàn)當(dāng)公交車(chē)靠近站點(diǎn)時(shí)可以用文字來(lái)顯示站名,同時(shí)相應(yīng)指示燈亮、有報(bào)警功能。 3 方案分析與論證 3.1無(wú)線收發(fā)模塊的分析與論證 方案一:無(wú)線AP。由無(wú)線AP構(gòu)成,通信的效果好,數(shù)據(jù)傳送量大,但是其成本比較高,由于采用IEEE 802.11b和IEEE 802.11g的通信協(xié)議,因此它比較適合用

10、于移動(dòng)上網(wǎng)。 方案二:無(wú)線數(shù)傳模塊。采用專(zhuān)用收發(fā)集成電路的無(wú)線數(shù)傳模塊構(gòu)成,所以性能相對(duì)較好,而且容易實(shí)現(xiàn),并且在功耗,抗干擾性等方面都比較優(yōu)越,但是由于基于此芯片的無(wú)線傳輸模塊價(jià)格和無(wú)線AP模塊差不多,所以成本相對(duì)偏高。 方案三:PT2262/PT2272-L4集成芯片。方案采用低功耗、低價(jià)位、通用編解碼電路,發(fā)送用高β的達(dá)林頓管,所以在靈敏度和抗干擾性方面有保障。 方案四:紅外遙控??梢杂矛F(xiàn)有的遙控裝置,我們只要了解其編解碼原理,就可以采用現(xiàn)成的簡(jiǎn)易裝置來(lái)模擬應(yīng)用。 以上四種都是可供參考的方案,在考慮了諸多因素之后,決定采用方案四。雖然在軟件解碼方面比較復(fù)雜

11、,但其工作穩(wěn)定,可靠性高。 3.2 控制模塊的分析與論證 方案一:采用GPRS作為系統(tǒng)的控制器。GPRS即“通用分組無(wú)線業(yè)務(wù)”(GeneralPacketRadioService的英文簡(jiǎn)稱) 是在現(xiàn)有GSM網(wǎng)絡(luò)上開(kāi)通的一種新型的分組數(shù)據(jù)傳輸技術(shù).相對(duì)于原來(lái)GSM以撥號(hào)接入的電路交換數(shù)據(jù)傳送方式 GPRS是分組交換技術(shù) 具有“永遠(yuǎn)在線”、“自如切換”、“高速傳輸”等優(yōu)點(diǎn)。GPRS可作為實(shí)現(xiàn)各種復(fù)雜的邏輯功能,規(guī)模大,但其成本非常高。 方案二:采用嵌入式ARM的32位單片機(jī)LPC2138。LPC2138功能龐大,內(nèi)部資源豐富,易于數(shù)據(jù)的采集,不但具有一般單片機(jī)的所有功能,還內(nèi)置了PWM,具有

12、很強(qiáng)的串行通信功能,引腳非常豐富,功耗低,穩(wěn)定性好,易于功能擴(kuò)展,其在線仿真技術(shù),軟硬件調(diào)試方便,但ARM板成本較高。 方案三:采用AT89C52單片機(jī)控制, 它簡(jiǎn)單易用、成本低廉,軟件編程自由度大,可用編程實(shí)現(xiàn)各種控制算法和邏輯控制,采用AT89C52單片機(jī)為控制核心,系統(tǒng)功能強(qiáng)大,資源配置靈活,運(yùn)行可靠穩(wěn)定,是一套相對(duì)完善工業(yè)低壓控制系統(tǒng),采用板式結(jié)構(gòu)、安裝牢靠,操作簡(jiǎn)潔。 綜上所說(shuō)ARM雖功能強(qiáng)但成本高,且用單片機(jī)也能很好的控制,所以該系統(tǒng)的設(shè)計(jì)選用單片機(jī)編程即可,我們所以選擇方案三。 4 系統(tǒng)硬件設(shè)計(jì) 4.1系統(tǒng)硬件設(shè)計(jì) 本設(shè)計(jì)采用紅外遙控來(lái)實(shí)現(xiàn)無(wú)線數(shù)據(jù)的收發(fā),采用A

13、T89C52單片機(jī)為控制核心,實(shí)現(xiàn)公交車(chē)的自動(dòng)報(bào)站功能。 4.1.1系統(tǒng)總體方框圖 +5V電源 C52 單 片 機(jī) 遙控收發(fā)電路 語(yǔ)音錄放電路 液晶顯示電路 +3V電源 按鍵電路 蜂鳴器 指示燈 圖4.1 系統(tǒng)總體方框圖 4.2 單元電路的設(shè)計(jì)、分析 4.2.1 遙控收發(fā)電路 紅外線遙控是目前使用最廣泛的一種通信和遙控手段。由于紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn),因而,繼彩電、錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、空凋機(jī)以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,

14、采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。 通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編/解碼專(zhuān)用集成電路芯片來(lái)進(jìn)行控制操作,如圖4.2所示。發(fā)射部分包括鍵盤(pán)矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。 圖4.2 紅外遙控系統(tǒng)框圖 遙控發(fā)射器專(zhuān)用芯片很多,根據(jù)編碼格式可以分成兩大類(lèi),這里我們以運(yùn)用比較廣泛,解碼比較容易的一類(lèi)來(lái)加以說(shuō)明,現(xiàn)以日本NEC的uPD6121G組成發(fā)射電路為例說(shuō)明編碼原理。當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征: 采用脈寬

15、調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進(jìn)制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1”,其波形如圖4.3所示。 圖4.3 遙控碼的“0”和“1” 上述“0”和“1”組成的32位二進(jìn)制碼經(jīng)38kHz的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率,達(dá)到降低電源功耗的目的。然后再通過(guò)紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射,如圖4.4所示。 圖4.4 遙控信號(hào)編碼波形圖 UPD6121G產(chǎn)生的遙控編碼是連續(xù)的32位二進(jìn)制碼組,其中前16位為

16、用戶識(shí)別碼,能區(qū)別不同的電器設(shè)備,防止不同機(jī)種遙控碼互相干擾。該芯片的用戶識(shí)別碼固定為十六進(jìn)制01H;后16位為8位操作碼(功能碼)及其反碼。UPD6121G最多額128種不同組合的編碼。 遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進(jìn)制碼,周期約為108ms。一組碼本身的持續(xù)時(shí)間隨它包含的二進(jìn)制“0”和“1”的個(gè)數(shù)不同而不同,大約在45~63ms之間。 當(dāng)一個(gè)鍵按下超過(guò)36ms,振蕩器使芯片激活,將發(fā)射一組108ms的編碼脈沖,這108ms發(fā)射代碼由一個(gè)起始碼(9ms),一個(gè)結(jié)果碼(4.5ms),低8位地址碼(9ms~18ms),高8位地址碼(9ms~18ms),8位數(shù)據(jù)碼(9

17、ms~18ms)和這8位數(shù)據(jù)的反碼(9ms~18ms)組成。如果鍵按下超過(guò)108ms仍未松開(kāi),接下來(lái)發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結(jié)束碼(2.5ms)組成。 解碼的關(guān)鍵是如何識(shí)別“0”和“1”,從位的定義我們可以發(fā)現(xiàn)“0”、“1”均以0.56ms的低電平開(kāi)始,不同的是高電平的寬度不同,“0”為0.56ms,“1”為1.68ms,所以必須根據(jù)高電平的寬度區(qū)別“0”和“1”。如果從0.56ms低電平過(guò)后,開(kāi)始延時(shí),0.56ms以后,若讀到的電平為低,說(shuō)明該位為“0”,反之則為“1”,為了可靠起見(jiàn),延時(shí)必須比0.56ms長(zhǎng)些,但又不能超過(guò)1.12ms,否則如果該位為“0”,讀到的已

18、是下一位的高電平,因此?。?.12ms+0.56ms)/2=0.84ms最為可靠,一般取0.84ms左右均可。 接收電路如圖4.5所示。PC3388是紅外接收頭,1腳是信號(hào)端,2腳是地端,3腳是電源端。當(dāng)電路正常工作時(shí),發(fā)光二極管發(fā)亮。測(cè)試時(shí)可以觀察D1的狀態(tài)來(lái)判斷是否有接收到信號(hào)。 圖4.5 紅外接收電路 4.2.2 AT89C52控制的LCD12864電路 ⑴LCD12864介紹 LCD12864在市面上主要分為兩種,一種是采用st7920控制器的,它一般帶有中文字庫(kù)字模,價(jià)格略高一點(diǎn)。另一種是采用KS0108控制器,它只是點(diǎn)陣模式,不帶

19、字庫(kù)。我的這塊就是KS0108控制器不帶漢字庫(kù)的。 LCD12864模塊的20個(gè)引腳定義如下: 1.Vss邏輯電源地 2.VDD 邏輯電源正 5v 3.V0  LCD驅(qū)動(dòng)電壓 4.RS  數(shù)據(jù)/指令選擇:高電平為數(shù)據(jù),低電平為指令 5.R/W 讀/寫(xiě)選擇:高電平為讀數(shù)據(jù),低電平為寫(xiě)數(shù)據(jù) 6.E  讀寫(xiě)使能,高電平有效,下降沿鎖定數(shù)據(jù) 7. DB0 數(shù)據(jù)輸入輸出引腳 8.DB1 數(shù)據(jù)輸入輸出引腳 9.DB2 數(shù)據(jù)輸入輸出引腳 10.DB3 數(shù)據(jù)輸入輸出引腳 11.DB4 數(shù)據(jù)輸入輸出引腳 12.DB5 數(shù)據(jù)輸入輸出引腳 13.DB6 數(shù)據(jù)輸入輸出引腳 14.DB7 

20、數(shù)據(jù)輸入輸出引腳 15.CS1 片選擇號(hào),低電平時(shí)選擇前64列 16.CS2 片選擇號(hào),低電平時(shí)選擇后64列 17.RET 復(fù)位信號(hào),低電平有效。 18.VEE 輸出-15v電源給V0提供驅(qū)動(dòng)電源 19.A  背光電源LED正極 20.K  背光電源LED負(fù)極 圖4.6是LCD12864的內(nèi)部控制結(jié)構(gòu): 圖4.6 LCD12864的內(nèi)部控制結(jié)構(gòu)圖 由上圖可以看出12864屏是分為左、右兩塊控制的。所有對(duì)屏幕的操作要受片選CS1、CS2來(lái)控制。表4-1是屏幕操作數(shù)據(jù)與屏幕點(diǎn)陣的排布關(guān)系圖。 表4-1 屏幕操作數(shù)據(jù)與屏幕點(diǎn)陣的排布關(guān)系圖

21、 從上表可以看出數(shù)據(jù)按字節(jié)在屏幕上是豎向排列的。上方為低位,下方為高位。因此在橫向上(也就是Y)就一共是128列數(shù)據(jù)。分為CS1和CS2兩個(gè)64列來(lái)寫(xiě)入。在豎方向上(也就是X)一字節(jié)數(shù)據(jù)顯示8個(gè)點(diǎn),豎向64個(gè)點(diǎn)分為8個(gè)字節(jié),稱做8頁(yè)(X=0-7)。了解這些后我們就知道要滿屏顯示一張圖就要從y=0…127、X=0…7一共寫(xiě)1288=1024個(gè)字節(jié)的數(shù)據(jù)。同樣在AT89S51中存一張圖就要1024個(gè)字節(jié)的空間。表4-2為其指令表。 表4-2 指令表 ①顯示開(kāi)關(guān)控制(DISPLAY ON/OFF) D=1:開(kāi)顯示(DISPLA

22、Y ON) 意即顯示器可以進(jìn)行各種顯示操作 D=0:關(guān)顯示(DISPLAY OFF) 意即不能對(duì)顯示器進(jìn)行各種顯示操作 ②設(shè)置顯示起始行(DISPLAY START LINE) A5~A0 6位地址自動(dòng)送入Z地址計(jì)數(shù)器,起始行的地址可以是0~63的任意一行。 例如: 選擇A5~A0是62,則起始行與DDRAM行的對(duì)應(yīng)關(guān)系如下: DDRAM 行:62 63 0 1 2 3 28 29 屏幕顯示行: 1 2 3 4 5 6 31 32 ③設(shè)置頁(yè)地址(SET PAGE “X ADDRESS”) 所謂頁(yè)地址就是DDRAM的行地址,8行為一頁(yè),模塊共64行即8頁(yè)

23、,A2~A0表示0~7頁(yè)。讀寫(xiě)數(shù)據(jù)對(duì)地址沒(méi)有影響,頁(yè)地址由本指令或RST信號(hào)改變復(fù)位后頁(yè)地址為0。頁(yè)地址與DDRAM的對(duì)應(yīng)關(guān)系見(jiàn)DDRAM地址表。 ④設(shè)置Y地址(SET Y ADDRESS) 此指令的作用是將A5~A0送入Y地址計(jì)數(shù)器,作為DDRAM的Y地址指針。在對(duì)DDRA M進(jìn)行讀寫(xiě)操作后,Y地址指針自動(dòng)加1,指向下一個(gè)DDRAM單元。 ⑤讀狀態(tài)(STATUS READ) 當(dāng)R/W=1 D/I=0時(shí),在E信號(hào)為“H”的作用下,狀態(tài)分別輸出到數(shù)據(jù)總線(DB7~DB0)的相應(yīng)位。 BF: 前面已敘述過(guò)(見(jiàn)BF標(biāo)志位一節(jié))。 ON/OFF: 表示DFF觸發(fā)器的

24、狀態(tài)(見(jiàn)DFF觸發(fā)器一節(jié))。 RST: RST=1表示內(nèi)部正在初始化,此時(shí)組件不接受任何指令和數(shù)據(jù)。 ⑥寫(xiě)顯示數(shù)據(jù)(WRITE DISPLAY DATE) D7~D0為顯示數(shù)據(jù),此指令把D7~D0寫(xiě)入相應(yīng)的DDRAM單元,Y地址指針自動(dòng)加1。 ⑦讀顯示數(shù)據(jù)(READ DISPLAY DATE) 此指令把DDRAM的內(nèi)容D7~D0讀到數(shù)據(jù)總線DB7~DB0,Y地址指針自動(dòng)加1。 下圖4.7為AT89C52控制的LCD12864顯示電路。 圖4.7 89C52控制的LCD12864顯示電路 4.2.3 ISD4004語(yǔ)音錄放電路 ISD4004芯片無(wú)須A

25、/D轉(zhuǎn)換和壓縮就可以直接儲(chǔ)存,沒(méi)有A/D轉(zhuǎn)換誤差,具有可多次重復(fù)錄放、存儲(chǔ)時(shí)間長(zhǎng),使用時(shí)不需擴(kuò)充存儲(chǔ)器、所需外圍電路簡(jiǎn)單。利用AT89C51控制ISD4004芯片的過(guò)程。外接輸入和輸出端口。通過(guò)系統(tǒng)功能模塊各部分的連接及軟硬件設(shè)計(jì)可以實(shí)現(xiàn)數(shù)字化語(yǔ)音的存儲(chǔ)和回放。 ISD4004語(yǔ)音芯片采用CMOS技術(shù),內(nèi)含晶體振蕩器、防混疊濾波器、平滑濾波器、自動(dòng)靜噪、音頻功率放大器及高密度多電平閃爍存儲(chǔ)陣列等。因此只需要很少的外圍器件就可構(gòu)成一個(gè)完整的聲音錄放系統(tǒng)。芯片設(shè)計(jì)是基于所以操作由微控制器控制。操作命令通過(guò)串行通信接口(SPI或Microwire)送入。采樣頻率可謂4.0HZ、5.3HZ、6.4H

26、Z、8.0HZ,頻率越低,錄放時(shí)間越長(zhǎng)。而音質(zhì)有所下降。片內(nèi)信息存于內(nèi)存儲(chǔ)器中,可在斷電情況下保存100年,反復(fù)錄音10萬(wàn)次。器件工作電壓為3V,工作電流為25~30mA。單片機(jī)錄放語(yǔ)音時(shí)間8~16min。圖4.8為ISD4004內(nèi)部框圖、圖4.9為ISD4004的引腳排列。 圖4.8 ISD4004內(nèi)部框圖 圖4.9 ISD4004的引腳排列 引腳12、27為電源線;4、11為地線;17為同相模擬輸入端,輸入放大器可用單端或差分驅(qū)動(dòng);16為反相模擬輸入端。音頻輸出(引腳13)提供音頻輸出,可驅(qū)動(dòng)5K的負(fù)載;引腳1為片選,此端為低,即向ISD4004芯片發(fā)送指令,

27、兩條指令之間為高電平。MOSI為串行輸入端口,MISO為串行輸出端口,串行時(shí)鐘SCLK由主控制器產(chǎn)生,用于同步MOSI和MISO的數(shù)據(jù)傳輸,數(shù)據(jù)在SCLK上升沿鎖存到ISD,在下降沿移出ISD。中斷(INT)為漏極開(kāi)路輸出端口,ISD在任何操作(包括快進(jìn))中檢測(cè)到EOM或IVF時(shí),本端變低并保持。中斷狀態(tài)在下一個(gè)SPI周期開(kāi)始時(shí)清除。中斷狀態(tài)也可用RINT指令讀取。每個(gè)RAC周期表示ISD存儲(chǔ)器的操作進(jìn)行了一行。該信號(hào)保持高電平的時(shí)間為175ms,低電平時(shí)間為25ms。在快進(jìn)模式,RAC可保持高電平218.75微秒,低電平為31.25微秒。ISD4004工作于SPI串行接口。SPI協(xié)議是一個(gè)同

28、步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI以為寄存器在SCLD的下降沿動(dòng)作,因此,對(duì)ISD4004而言,在時(shí)鐘上升沿鎖存MOSI引腳數(shù)據(jù),在下降沿將數(shù)據(jù)送至MISO引腳。如圖4.11,在語(yǔ)音芯片的外圍只需接一個(gè)EMC輸入電路和一個(gè)功率放大器的輸出電路,就構(gòu)成了一個(gè)語(yǔ)音錄放系統(tǒng)。ISD4004的27腳接的是由+5V電源改裝成的+3V電源。 圖4.11 ISD4004語(yǔ)音錄放電路 4.2.4 本設(shè)計(jì)總原理圖 通過(guò)以上單元電路的分析我們已經(jīng)對(duì)各單元電路的硬件都有了一定的了解。下面對(duì)其總體實(shí)現(xiàn)情況作一個(gè)簡(jiǎn)單的說(shuō)明。紅外接收電路接收遙控信息并解碼,解碼后把信息通過(guò)外部中斷1與單片

29、機(jī)通信。單片機(jī)處理后,啟動(dòng)LCD12864及ISD4004模塊顯示播報(bào)站名。P2.0~P2.4接LED1~LED5等5個(gè)指示燈,P2.5控制蜂鳴器。PC3388的信號(hào)端連到AT89C52的外部中斷1。 圖4.12 本設(shè)計(jì)總原理圖 5 系統(tǒng)軟件設(shè)計(jì) 5.1 系統(tǒng)流程圖 5.1.1 主程序流程圖 功能:通過(guò)按鍵來(lái)實(shí)現(xiàn)公交車(chē)的手動(dòng)報(bào)站。鍵1實(shí)現(xiàn)公交車(chē)站名的正順序顯示,鍵2實(shí)現(xiàn)公交車(chē)站名的逆顯示,鍵3實(shí)現(xiàn)清屏,鍵4可以用來(lái)插入廣告等。 開(kāi)始 LCD初始化 定時(shí)器0的中斷設(shè)置 鍵1按下? 判斷是第幾次按下 執(zhí)行相應(yīng)顯示,相應(yīng)的指示燈亮

30、,蜂鳴器蜂鳴一聲 Y N N Y While(1) 鍵2按下? 鍵3按下? 鍵4按下? N N 判斷是第幾次按下 LCD清屏 插入廣告等 Y Y 執(zhí)行相應(yīng)顯示,相應(yīng)的指示燈亮,蜂鳴器蜂鳴一聲 圖5.1 主程序流程圖 5.1.2 定時(shí)器中斷0服務(wù)子程序流程圖 功能:按鍵處理。 定時(shí)器中斷0 鍵盤(pán)處理 switch 退出 Y Case1 Case2 Case3 Case4 圖5.2 定時(shí)器中斷0服務(wù)子程序流程圖 5.1.3 遙控接收程序流程圖 功能:判斷接收到的數(shù)據(jù)是否正確。 開(kāi)始 串行口初始化

31、 接收數(shù)據(jù) 數(shù)據(jù)是否接完? Y N N 不處理,退出 進(jìn)入外部中斷1 Y 接收到的數(shù)據(jù)正確? 圖5.3 遙控接收程序流程圖 5.1.4 定時(shí)中斷1子程序流程圖 功能:解碼來(lái)控制播報(bào)站點(diǎn)相應(yīng)信息。 定時(shí)器中斷1 解碼 判斷解出的是什么碼 退出 顯示相應(yīng)站名,相應(yīng)指示燈亮,蜂鳴器蜂鳴一聲 圖5.4 定時(shí)中斷1子程序流程圖 5.1.5 外部中斷1子程序流程圖 功能:通過(guò)外部中斷1來(lái)實(shí)現(xiàn)紅外的控制。 外部中斷1 定時(shí)中斷1處理 退出 圖5.5 外部中斷1子程序流程圖 5.2 程序設(shè)計(jì) 源程序見(jiàn)附錄三

32、 6 系統(tǒng)測(cè)試 紅外接收系統(tǒng)的測(cè)試可以通過(guò)觀察發(fā)光二極管D1的狀態(tài)來(lái)辨別該系統(tǒng)是否正常工作,如果接收到遙控信息,發(fā)光二極管點(diǎn)亮。還可以用電壓表來(lái)測(cè)試信號(hào)端的電壓來(lái)判斷接收系統(tǒng)是否正常工作,如果電壓表上顯示的電壓小幅度擺動(dòng),說(shuō)明接收正常。 按下遙控上的任意鍵,接收電路上的發(fā)光二極管D1發(fā)光,說(shuō)明接收電路正常工作。但是,譯碼不夠準(zhǔn)確,所以不能很好的按預(yù)定的順序來(lái)顯示報(bào)站。預(yù)定的報(bào)站順序是:鍵1按下,LCD12864顯示龍巖學(xué)院,LED1點(diǎn)亮;鍵2按下,LCD12864顯示曹溪金鵬,LED2點(diǎn)亮;鍵3按下,LCD12864顯示交警大隊(duì),LED3點(diǎn)亮;鍵4按下,LCD12864顯示人民醫(yī)院,

33、LED4點(diǎn)亮;鍵5按下,LCD12864顯示羅橋西站,LED5點(diǎn)亮。報(bào)站的同時(shí),蜂鳴器蜂鳴一聲報(bào)警。 SB1按下:如果是第1次按下,LCD12864顯示龍巖學(xué)院,LED1點(diǎn)亮;再按下,依次顯示曹溪金鵬、交警大隊(duì)、人民醫(yī)院、羅橋西站。SB2按下,如果是第1次按下,LCD12864顯示羅橋西站LED5點(diǎn)亮;再按下,依次顯示人民醫(yī)院、交警大隊(duì)、曹溪金鵬、龍巖學(xué)院。報(bào)站時(shí),相應(yīng)的指示燈點(diǎn)亮,蜂鳴器蜂鳴一聲報(bào)警。SB3按下,LCD12864清屏;SB4按下,可以在LCD12864插入廣告等。 測(cè)試基本達(dá)到設(shè)計(jì)要求, ISD4004語(yǔ)音芯片的調(diào)試尚未成功。 附 錄 附錄一 原

34、理圖 附錄二 PCB圖 圖1 89C52控制的LCD12864顯示電路 圖2 ISD4004語(yǔ)音錄放電路 附錄三 源程序 #include < reg52.h > /*****************************預(yù)定義**************************************/ #define uchar unsigned char #define uint unsigned int unsigned char key_temp,key_bak

35、,ychi,keyvalue=0x0f; unsigned char one_cnt=0,two_cnt=0; uchar key=0x0f; unsigned char up,dowm; static unsigned char data IRCode[3],IRCON,IRCON2; static unsigned char data DT; /***************************12864管腳配置****************************/ #define port P1 sbit rs=P3^0; sbit rw=P3^1; s

36、bit e=P3^2; sbit cs1=P3^6; sbit cs2=P3^7; sbit P3_2 = P3^3; sbit led1 = P2^0; sbit led2 = P2^1; sbit led3 = P2^2; sbit led4 = P2^3; sbit led5 = P2^4; sbit beep = P2^5; uchar code data_shuju[22][32] = { /*-- 文字: 龍 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x00,0x10,0x10,0x1

37、0,0x10,0x10,0xFF,0x10,0xF0,0x12,0x1C,0xD0,0x10,0x10,0x10,0x00, 0x00,0x40,0x20,0x10,0x0C,0x03,0x10,0x08,0x3F,0x42,0x41,0x40,0x40,0x40,0x70,0x00, /*-- 文字: 巖 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x00,0x40,0x5E,0x50,0x50,0xD0,0x50,0x5F,0x50,0x50,0x50,0x50,0x5E,0x40,0x40,0x00, 0x10,0x08,

38、0x04,0x02,0x7F,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,0x00, /*-- 文字: 學(xué) --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,0x5E,0xD4,0x50,0x18,0x57,0x32,0x10,0x00, 0x00,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x00, /*

39、-- 文字: 院 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0xFE,0x02,0x32,0x4A,0x86,0x0C,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0x0C,0x04,0x00, 0xFF,0x00,0x02,0x04,0x83,0x41,0x31,0x0F,0x01,0x01,0x7F,0x81,0x81,0x81,0xF1,0x00, /*-- 文字: 曹 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x02,0x02,0xFA

40、,0xAA,0xAA,0xAA,0xFF,0xAA,0xAA,0xFF,0xAA,0xAA,0xAA,0xFA,0x02,0x00, 0x00,0x00,0x00,0x7E,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x7E,0x00,0x00,0x00, /*-- 文字: 溪 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x10,0x21,0x86,0x60,0x02,0x06,0x4A,0xE2,0x56,0x49,0x21,0x89,0x05,0x00,0x00,0x00, 0x04,0

41、xFC,0x03,0x00,0x44,0x45,0x25,0x25,0x15,0x0F,0x15,0x25,0x47,0xC4,0x44,0x00, /*-- 文字: 金 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x40,0x40,0x20,0x20,0x50,0x48,0x44,0xC3,0x44,0x48,0x50,0x50,0x20,0x60,0x20,0x00, 0x40,0x40,0x42,0x42,0x4A,0x72,0x42,0x7F,0x42,0x62,0x5A,0x42,0x42,0x40,0x40,0x00,

42、 /*-- 文字: 鵬 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x00,0xFE,0x12,0xFE,0x00,0xFE,0x12,0xFE,0x00,0xFC,0x0E,0x35,0x44,0x7C,0x00,0x00, 0x20,0x1F,0x21,0x7F,0x20,0x1F,0x41,0x7F,0x08,0x09,0x09,0x29,0x49,0x21,0x1F,0x00, /*-- 文字: 人 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x00,0x00,

43、0x00,0x00,0x00,0x00,0xC0,0x3F,0xC2,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x01,0x06,0x0C,0x18,0x30,0x60,0x20,0x00, /*-- 文字: 民 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x00,0x00,0xFE,0x92,0x92,0x92,0x92,0xF2,0x92,0x92,0x92,0x9E,0x80,0x80,0x00,0x00, 0x

44、00,0x00,0xFF,0x40,0x20,0x10,0x00,0x00,0x03,0x0C,0x10,0x20,0x40,0xF0,0x00,0x00, /*-- 文字: 醫(yī) --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x00,0xFE,0x42,0xA2,0x9E,0x92,0x92,0x92,0xF2,0x92,0x92,0x92,0xD2,0x82,0x00,0x00, 0x00,0x7F,0x40,0x40,0x50,0x48,0x44,0x43,0x40,0x41,0x42,0x5C,0x48,0x40,0x40,0

45、x00, /*-- 文字: 院 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0xFE,0x02,0x32,0x4A,0x86,0x0C,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0x0C,0x04,0x00, 0xFF,0x00,0x02,0x04,0x83,0x41,0x31,0x0F,0x01,0x01,0x7F,0x81,0x81,0x81,0xF1,0x00, /*-- 文字: 交 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x00,0

46、x08,0x88,0x48,0x38,0x28,0x09,0x0E,0x0C,0x08,0x98,0x28,0x68,0x48,0x08,0x00, 0x00,0x80,0x80,0x40,0x41,0x22,0x14,0x18,0x0C,0x16,0x23,0x61,0xC0,0x40,0x00,0x00, /*-- 文字: 警 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x20,0x1A,0xFA,0xAF,0xAA,0xEF,0x0A,0xFA,0x10,0x8F,0x54,0x24,0x5C,0x84,0x04,0x00,

47、 0x02,0x02,0x02,0xEA,0xAA,0xAA,0xAB,0xAA,0xAB,0xAA,0xAA,0xEA,0x02,0x02,0x03,0x00, /*-- 文字: 大 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x7F,0xA0,0x20,0x20,0x20,0x20,0x20,0x20,0x00, 0x00,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x01,0x06,0x08,0x30,0x60,0xC0,0x

48、40,0x00, /*-- 文字: 隊(duì) --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0xFE,0x02,0x12,0x2A,0xC6,0x02,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00, 0x7F,0x00,0x02,0x44,0x43,0x20,0x10,0x0C,0x03,0x00,0x03,0x0C,0x10,0x60,0x20,0x00, /*-- 文字: 羅 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x

49、00,0x00,0x7E,0x22,0x22,0x22,0xFE,0xA2,0xA2,0xBE,0xA2,0xA2,0xA2,0xBE,0x00,0x00, 0x80,0x88,0x88,0x84,0x42,0x43,0x25,0x28,0x10,0x10,0x08,0x04,0x03,0x00,0x00,0x00, /*-- 文字: 橋 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x88,0x68,0xFF,0x28,0x48,0x18,0x92,0x52,0x32,0x1E,0x32,0x52,0x92,0x12,0x10,0

50、x00, 0x01,0x00,0xFF,0x00,0x01,0x41,0x30,0x0F,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0x00, /*-- 文字: 西 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x02,0xF2,0x12,0x12,0x12,0xFE,0x12,0x12,0x12,0xFE,0x12,0x12,0x12,0xF2,0x02,0x00, 0x00,0x7F,0x28,0x24,0x22,0x21,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x7

51、F,0x00,0x00, /*-- 文字: 站 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x10,0x50,0x92,0x1C,0x10,0xF0,0x10,0x00,0x00,0x00,0xFF,0x10,0x10,0x10,0x10,0x00, 0x10,0x10,0x0B,0x0C,0x0B,0x08,0x00,0x7F,0x21,0x21,0x21,0x21,0x21,0x7F,0x00,0x00, /*-- 文字: 到 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/

52、 0x00,0x22,0x72,0x2A,0x26,0xE2,0x2A,0x72,0x22,0x00,0xF8,0x00,0x00,0xFF,0x00,0x00, 0x00,0x42,0xC2,0x42,0x22,0x3F,0x22,0x12,0x12,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00, /*-- 文字: 了 --*/ /*-- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 --*/ 0x00,0x02,0x02,0x02,0x02,0x02,0x02,0xF2,0x12,0x0A,0x0A,0x06,0x06,0x02,0x

53、00,0x00, 0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; /******************************************************************************************** * 函數(shù)名稱:Delay() * 功 能:延遲時(shí)間=a*1ms * 入口參數(shù): * 出口參數(shù):無(wú) *****************************************************

54、****************************************/ void delay10ms(void) { unsigned char i,j; for(i=2000;i>0;i--) for(j=2000;j>0;j--); } /******************************************************************************************** * 函數(shù)名稱:Lcd_Display_On() * 功 能:LCD顯示開(kāi) * 入口參數(shù):無(wú) * 出口參數(shù):無(wú) ***

55、******************************************************************************************/ void Lcd_Display_On() { port=0x3f; rs=0; rw=0; e=1; e=0; } /******************************************************************************************** * 函數(shù)名稱:Lcd_Display_Off()

56、* 功 能:LCD顯示關(guān) * 入口參數(shù):無(wú) * 出口參數(shù):無(wú) *********************************************************************************************/ void Lcd_Display_Off() { port=0x3e; rs=0; rw=0; e=1; e=0; } /*******************************************************************************

57、************* * 函數(shù)名稱:Lcd_Set_X(uchar x) * 功 能:LCD設(shè)置X坐標(biāo) * 入口參數(shù):x * 出口參數(shù):無(wú) *********************************************************************************************/ void Lcd_Set_X(uchar x) { port=0xb8|x; rs=0; rw=0; e=1; e=0; } /*******************************

58、************************************************************* * 函數(shù)名稱:Lcd_Set_Y(uchar y) * 功 能:LCD設(shè)置Y坐標(biāo) * 入口參數(shù):y * 出口參數(shù):無(wú) *********************************************************************************************/ void Lcd_Set_Y(uchar y) { port=0x40|y; rs=0; rw=0; e=1;

59、 e=0; } /******************************************************************************************** * 函數(shù)名稱:Lcd_Set_X_Y(uchar x, uchar y ) * 功 能:LCD設(shè)置x y坐標(biāo) * 入口參數(shù):x y * 出口參數(shù):無(wú) *********************************************************************************************/ void Lcd_Set

60、_X_Y(uchar x, uchar y) { if( y<64 ) { cs1=1; cs2=0; Lcd_Set_Y( y ); } else { cs1=0; cs2=1; Lcd_Set_Y( y-64 ); } Lcd_Set_X( x); } /******************************************************************************************** * 函數(shù)名稱:Lcd_Write_Command() * 功 能:寫(xiě)指令代碼

61、 * 入口參數(shù):無(wú) * 出口參數(shù):無(wú) *********************************************************************************************/ void Lcd_Write_Command(uchar temp) { port=temp; rs=0; rw=0; e=1; e=0; } /***********************************************************************************

62、********* * 函數(shù)名稱:Lcd_Write_Byte() * 功 能:寫(xiě)數(shù)據(jù) * 入口參數(shù):無(wú) * 出口參數(shù):無(wú) *********************************************************************************************/ void Lcd_Write_Byte(uchar temp) { port=temp; rs=1; rw=0; e=1; e=0; } /*************************************

63、*************************************** *名稱:Lcd_Character_16X8( bit bit_flag, uchar x, uchar y, uchar code *point ) *功能:顯示16X8字符(字母) *入口參數(shù): *出口參數(shù): *說(shuō)明:bit_flag = 1 正常顯示 bit_flag = 0 黑白反相顯示 ****************************************************************************/ void Lcd_Charac

64、ter_16X8( bit bit_flag, uchar x, uchar y, uchar code *point ) { uchar i , j,temp; temp=y; if( bit_flag ) { for( i=0; i<2; i++ ) { x+=i; y=temp; for( j=0;j<8;j++ ) { Lcd_Set_X_Y( x, y ); y++; Lcd_Write_By

65、te( point[ i*8 + j] ); } } } else { for( i = 0; i < 2; i++ ) { x += i; y = temp; for( j = 0; j < 8; j++ ) { Lcd_Set_X_Y( x, y ); y++; Lcd_Write_Byte( ~point[ i * 8 + j ] ); }

66、 } } } /**************************************************************************** * 名稱:Lcd_Character_16X16( bit bit_flag, uchar x, uchar y, uchar code *point ) * 功能:顯示16*16字符(漢字) * 入口參數(shù):x y data * 出口參數(shù):無(wú) *說(shuō)明:bit_flag = 1 正常顯示 bit_flag = 0 黑白反相顯示 ****************************************************************************/ void Lcd_Character_16X16( bi

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!