版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> PS2鍵盤在單片機(jī)上的應(yīng)用</p><p> 摘 要:在嵌入式PC應(yīng)用系統(tǒng)中,作為人機(jī)交互設(shè)備的鍵盤,往往采用結(jié)構(gòu)簡單按鍵少的矩陣鍵盤。標(biāo)準(zhǔn)鍵盤雖然能直接與嵌入式PC機(jī)的PS/2接口相連,但是體積大,按鍵多,不能滿足需求,本文提出用一種AT89C52單片機(jī)實(shí)現(xiàn)具有標(biāo)準(zhǔn)PS/2接口的矩陣鍵盤,具有便捷,實(shí)用的特點(diǎn)。</p><p> 關(guān)鍵詞:PS/2接口,PS/2
2、鍵盤,撥號鍵,AT89C52,LCD1602</p><p> Abstract: PS/2 interface is one of the most useful mouse interface.It was IBM’s patent named osulum before. It is the dedicate interface of mouse and keyboard. This text impli
3、ed a plan using PS/2 to make a system. PS/2 tansmit the data which was pressed, and AT89C52 receive it ,disposed it and transmit it to Lcd1602. Lcd1602 discover it to make us know which key has been pressed. PS/2 simulat
4、e a phone’s dial keyboard. This system’s feature is the circuit is sample and useful.</p><p> Keywords: PS/2 keyboard, AT89C52, LCD1602,PS/2 interface,dial keyboard</p><p><b> 目錄</b&g
5、t;</p><p><b> 1、前言1</b></p><p> 2、整體方案設(shè)計(jì)2</p><p> 2.1 方案論證2</p><p> 2.2 方案比較3</p><p> 3、單元模塊設(shè)計(jì)4</p><p> 3.1 PS2鍵盤模塊4&l
6、t;/p><p> 3.2 單片機(jī)模塊6</p><p> 3.3 LCD顯示模塊7</p><p><b> 4 、軟件設(shè)計(jì)9</b></p><p> 5、系統(tǒng)技術(shù)指標(biāo)及精度和誤差分析10</p><p><b> 6 、結(jié)論11</b></p>
7、;<p><b> 7、設(shè)計(jì)小結(jié)12</b></p><p><b> 8、致謝14</b></p><p><b> 9、參考文獻(xiàn)14</b></p><p> 附錄1:電路總圖15</p><p> 附錄2:仿真圖16</p>
8、<p> 附錄3:軟件代碼17</p><p><b> 1、 前言</b></p><p> 單片機(jī)因其性價(jià)比高, 處理能力強(qiáng), 且抗干擾能力好, 在醫(yī)療器械、機(jī)電液控制、數(shù)據(jù)傳輸?shù)雀黝惞た叵到y(tǒng)和設(shè)備儀器中得到廣泛應(yīng)用。一方面, 在實(shí)際應(yīng)用中, 單片機(jī)經(jīng)常需要將采集到的數(shù)據(jù)發(fā)送給PC機(jī)進(jìn)行處理或保存等; 另一方面, 工控系統(tǒng)和設(shè)備儀器設(shè)計(jì), 因環(huán)
9、境或軟硬件資源的限制, 也往往需要不同的通信接口。比如, 很多工控PC機(jī)的鍵盤接口因受惡劣環(huán)境不利于鍵盤的使用而處于閑置狀態(tài)。因此, 設(shè)計(jì)一個具有通用性的PS/2鍵盤通信接口既方便PC機(jī)進(jìn)行外設(shè)擴(kuò)展, 又豐富了單片機(jī)的接口資源。單片機(jī)與PC機(jī)常用的數(shù)據(jù)通信協(xié)議為RS - 232通信協(xié)議, 傳輸數(shù)據(jù)格式是二進(jìn)制, 而單片機(jī)通過PS/2鍵盤協(xié)議傳輸?shù)臄?shù)據(jù)格式是ASC II碼, 可以直接以常用的文本文件和表格文件的形式進(jìn)行處理和保存。目前,
10、單片機(jī)采用PS/2協(xié)議進(jìn)行通信較多的是單片機(jī)接收PS/2鍵盤設(shè)備的數(shù)據(jù), 而以單片機(jī)做為鍵盤與PC機(jī)通信則較為少見。本文的新穎之處主要表現(xiàn)為:</p><p> 1.本文主要著眼于基于單片機(jī)的PS/2鍵盤通信模塊的實(shí)現(xiàn), 本模塊可通過RS -232、RS - 485接口或數(shù)據(jù)總線從其它系統(tǒng)上獲取要傳給PC機(jī)的數(shù)據(jù)。單片機(jī)把二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成對應(yīng)的鍵盤掃描碼后上傳給PC機(jī)。本模塊只需要簡單的軟硬件改動(甚至于有時不
11、需要改動) 就可以擴(kuò)展大部分工控系統(tǒng)和設(shè)備儀器的通信功能, 具有較大的通用性。</p><p> 2. 本文比較深入地分析了PC機(jī)與鍵盤之間相互通信的時序, 并介紹了PC機(jī)開機(jī)自檢時鍵盤模塊需要響應(yīng)的幾個主要命令。</p><p> 3. 本模塊在條形碼掃描系統(tǒng)中進(jìn)行了應(yīng)用測試, 實(shí)驗(yàn)證明了本模塊具有較好的穩(wěn)定性和可靠性, 有較廣泛的應(yīng)用范圍。</p><p>
12、<b> 2 、整體方案設(shè)計(jì)</b></p><p> 本設(shè)計(jì)的整體思路是:利用PS2鍵盤,通過AT89C52單片機(jī)接收PS2鍵盤的鍵值,并顯示在LCD1602上,PS2鍵盤模擬電話的撥號鍵。</p><p><b> 2.1 方案論證</b></p><p> 設(shè)計(jì)中采用了三個方案,具體的方案見方案一、方案二和方
13、案三。</p><p> 方案一:普通鍵盤設(shè)計(jì)方案</p><p> 采用普通的4X4鍵盤,通過鍵盤掃描得到鍵值,有單片機(jī)控制并顯示在LCD上,優(yōu)點(diǎn)是成本低,設(shè)計(jì)簡單,缺點(diǎn)是鍵盤掃描效率不夠且容易出錯。</p><p> 圖2.1 普通鍵盤整體方案一框圖</p><p> 方案二:數(shù)碼管顯示設(shè)計(jì)方案</p><p&
14、gt; 采用普通的PS2鍵盤,通過鍵盤掃描得到鍵值,由單片機(jī)控制并顯示在數(shù)碼管上,優(yōu)點(diǎn)是成本低,設(shè)計(jì)簡單,鍵盤自動掃描,自動識別,自動編碼,有鍵按下時才發(fā)送數(shù)據(jù),因此減輕了CPU的負(fù)擔(dān),缺點(diǎn)是數(shù)碼管顯示不直觀。</p><p> 圖2.2 PS2鍵盤整體方案一框圖</p><p> 方案三:PS2鍵盤方案</p><p> 見圖2.2.利用PS2鍵盤設(shè)計(jì),優(yōu)
15、點(diǎn)是鍵盤自動掃描,自動識別,自動編碼,有鍵按下時才發(fā)送數(shù)據(jù),因此減輕了CPU的負(fù)擔(dān),用LCD1602顯示方便直觀。</p><p> 圖2.3 PS2鍵盤整體方案二框圖</p><p><b> 2.2 方案比較</b></p><p> 由于方案一采用的是4X4鍵盤,設(shè)計(jì)需要CPU不斷的掃描鍵盤,占用了大量的CPU資源,方案二利用PS
16、2鍵盤,有鍵按下時才發(fā)送數(shù)據(jù),減輕了CPU的負(fù)擔(dān),但是用數(shù)碼管顯示不夠直觀,交互界面不夠好,因此綜合方案一和方案二的優(yōu)點(diǎn),本設(shè)計(jì)采用了方案三。</p><p><b> 3、 單元模塊設(shè)計(jì)</b></p><p> 集成溫度傳感器實(shí)際上是一種半導(dǎo)體集成電路,它是利用晶體管的b—e結(jié)壓降的不飽和值Vbe與熱力學(xué)溫度T和通過。</p><p>
17、 3.1 PS2鍵盤模塊</p><p> PS2模塊由PS2鍵盤和PS2接口組成,利用通信協(xié)議對PS2鍵盤進(jìn)行操作,PS2通訊協(xié)議是一種雙向同步串行通訊協(xié)議。PS2鍵盤連線圖如圖所示:</p><p> 圖3.1 PS2鍵盤連線圖</p><p> PS2接口操作時序如下圖所示:</p><p><b> 圖3.2 時
18、序圖</b></p><p> PS2接口通信協(xié)議表如下表所示:</p><p> 圖3.3 通信協(xié)議表</p><p> 表中,如果數(shù)據(jù)位中1的個數(shù)為偶數(shù),校驗(yàn)位就為1;如果數(shù)據(jù)位中1的個數(shù)為奇數(shù),校驗(yàn)位就為0;總之,數(shù)據(jù)位中1的個數(shù)加上校驗(yàn)位中1的個數(shù)總為奇數(shù),因此總進(jìn)行奇校驗(yàn)。</p><p> 由于PS/2設(shè)備能提
19、供串行同步時鐘,因此,如果PC機(jī)發(fā)送數(shù)據(jù),則PC機(jī)要先把時鐘線和數(shù)據(jù)線置為請求發(fā)送的狀態(tài)。PC機(jī)通過下拉時鐘線大于100μs來抑制通訊,并且通過下拉數(shù)據(jù)線發(fā)出請求發(fā)送數(shù)據(jù)的信號,然后釋放時鐘。當(dāng)PS/2設(shè)備檢測到需要接收的數(shù)據(jù)時,它會產(chǎn)生時鐘信號并記錄下面8個數(shù)據(jù)位和一個停止位。主機(jī)此時在時鐘線變?yōu)榈蜁r準(zhǔn)備數(shù)據(jù)到數(shù)據(jù)線,并在時鐘上升沿鎖存數(shù)據(jù)。而PS/2設(shè)備則要配合PC機(jī)才能讀到準(zhǔn)確的數(shù)據(jù)。具體連接步驟如下:</p>&l
20、t;p> ?。ǎ保┑却龝r鐘線為高電平。 (2)判斷數(shù)據(jù)線是否為低,為高則錯誤退出,否則繼續(xù)執(zhí)行。 (3)讀地址線上的數(shù)據(jù)內(nèi)容,共8個bit,每讀完一個位,都應(yīng)檢測時鐘線是否被PC機(jī)拉低,如果被拉低則要中止接收。 (4)讀地址線上的校驗(yàn)位內(nèi)容,1個bit。
21、; (5)讀停止位。 (6)如果數(shù)據(jù)線上為0(即還是低電平),PS/2設(shè)備繼續(xù)產(chǎn)生時鐘,直到接收到1且產(chǎn)生出錯信號為止(因?yàn)橥V刮皇牵保绻校樱苍O(shè)備沒有讀到停止位,則表明此次傳輸出錯。 (7) 輸出應(yīng)答位。&
22、#160; (8) 檢測奇偶校驗(yàn)位,如果校驗(yàn)失敗,則產(chǎn)生錯誤信號以表明此次傳輸出現(xiàn)錯誤。 (9)延時45 μs,以便PC機(jī)進(jìn)行下一次傳輸。</p><p> PS2鍵盤掃描方式:鍵盤的處理器如果發(fā)現(xiàn)有鍵被按下釋放或按住鍵盤將發(fā)送掃描碼的信息包到計(jì)算機(jī)掃描碼有兩種不同的類型通碼和斷碼,當(dāng)一個鍵被按下或按住就發(fā)送通碼,當(dāng)一個鍵被釋放就發(fā)送斷碼,每個按鍵被
23、分配了唯一的通碼和斷碼,這樣主機(jī)通過查找唯一的掃描碼就可以測定是哪個按鍵,每個鍵一整套的通斷碼組成了掃描碼集有三套標(biāo)準(zhǔn)的掃描碼集,分別是第一套、第二套、和第三套,所有現(xiàn)代的鍵盤默認(rèn)使用第二套掃描碼 雖然多數(shù)第二套通碼都只有一個字節(jié)寬但也有少數(shù)擴(kuò)展按鍵的通碼是兩字節(jié)或四字節(jié)寬這類的通碼第一個字節(jié)總是為E0h 正如鍵按下通碼就被發(fā)往計(jì)算機(jī)一樣,只
24、要鍵一釋放斷碼就會被發(fā)送,每個鍵都有它自己唯一的通碼,它們也都有唯一的斷碼,幸運(yùn)的是你不用總是通過查表來找出按鍵的斷碼在通碼和斷碼之間存在著必然的聯(lián)系,多數(shù)第二套斷碼有兩字節(jié)長它們的第一個字節(jié)是F0h ,第二個字節(jié)是這個鍵的通碼,擴(kuò)展按鍵的斷碼通常有三個字節(jié),它們前兩個字節(jié)是E0h,F0h ,最后一個字節(jié)是這個按鍵通碼的最后一個字節(jié)。我在下面列出了幾個按鍵的第二套通碼和斷碼。</p><p> 3.2 單片機(jī)
25、模塊</p><p> STC89C52單片機(jī)是Atmel公司生產(chǎn)的單片機(jī),51的內(nèi)核,具有處理能強(qiáng)、運(yùn)行速度快、功耗低等優(yōu)點(diǎn)。最小系統(tǒng)包括單片機(jī),電源,復(fù)位電路。單片機(jī)接收PS2鍵盤的鍵值,并控制LCD的顯示。其系統(tǒng)框圖如下圖所示:</p><p> 圖3.4 單片機(jī)控制系統(tǒng)框圖</p><p> STC89C52單片機(jī)有4X8個IO口,其中P0口需外接上
26、拉電阻,因此本次設(shè)計(jì)采用P1口作為PS2接口,P2口作為與LCD1602的接口,其電路圖如下圖所示:</p><p> 圖3.5 單片機(jī)最小系統(tǒng)圖</p><p> 3.3 LCD顯示模塊</p><p> LCD1602采用8位并行數(shù)據(jù)傳輸,其操作時序如下圖所示:</p><p> 圖3.6 LCD單片機(jī)圖</p>&
27、lt;p> LCD1602接口由8位數(shù)據(jù)線,電源地電源正,液晶顯示偏壓信號(VL),數(shù)據(jù)命令選擇端(RS),讀寫選擇端(RW)組成。其接口信號說明如下圖所示:</p><p> 圖3.7接口信號說明圖</p><p> 可以在1602的液晶顯示偏壓信號端接一個可變電阻,調(diào)節(jié)顯示亮度,初始狀態(tài)時,調(diào)至1602上面一排顯示12個黑塊為止,LCD1602電路圖如下圖所示:</p
28、><p> 圖3.8 LCD電路圖</p><p><b> 4、 軟件設(shè)計(jì)</b></p><p> 1、主程序設(shè)計(jì):首先初始化IO口和鍵盤、LCD1602,然后接收按鍵的鍵值,并通過8位并行傳輸方式傳送給LCD1602顯示。</p><p> 2、獲取鍵值程序:按照PS2鍵盤協(xié)議操作,鍵盤按下時發(fā)送通碼,彈起時發(fā)
29、送斷碼,在單片機(jī)中,將接收到的碼字與第二套掃描碼比較,得出鍵值。本次設(shè)計(jì)共采用12個鍵,模擬電話的撥號鍵。</p><p> 3、LCD顯示程序:首先初始化LCD1602端口和寄存器,然后接收單片機(jī)傳送的數(shù)據(jù),通過1602寫操作時序顯示接收到的數(shù)據(jù)。</p><p> 4.1 程序整體設(shè)計(jì)框圖</p><p> 5、 系統(tǒng)技術(shù)指標(biāo)及精度和誤差分析</p
30、><p> 隨著計(jì)算機(jī)工業(yè)的發(fā)展,作為計(jì)算機(jī)最常用輸入設(shè)備的鍵盤也日新月異。IBM推出PS2鍵盤接口標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)定義了84~101鍵,采用6腳mini-DIN連接器,用雙向串行通訊協(xié)議并且提供有可選擇的第三套鍵盤掃描碼集,同時支持17個主機(jī)到鍵盤的命令。</p><p> 本系統(tǒng)利用PS2鍵盤作為交互接口,操作方便,比普通鍵盤精度高,在機(jī)械鍵盤中需要考慮鍵盤去抖的問題,硬件去抖或軟件去抖,
31、但是在PS2鍵盤中不需要考慮鍵盤去抖,因?yàn)镻S2鍵盤采用按鍵發(fā)送通碼,彈起發(fā)送斷碼的方式,不易出錯。只要將接口連線處理好,單片機(jī)處理數(shù)據(jù)時不出錯。</p><p> 本次設(shè)計(jì)實(shí)現(xiàn)了軟件的設(shè)計(jì)和電路設(shè)計(jì)和仿真,實(shí)現(xiàn)了系統(tǒng)功能,完成了系統(tǒng)設(shè)計(jì)指標(biāo):按下一個鍵,準(zhǔn)確的顯示在LCD1602上。</p><p><b> 6 、結(jié)論</b></p><p
32、> 本系統(tǒng)采用第二套鍵盤掃描碼,利用PS2鍵盤作為輸入,準(zhǔn)確度比普通鍵盤高,完成了系統(tǒng)的仿真圖,電路圖和程序設(shè)計(jì),實(shí)現(xiàn)了系統(tǒng)的功能。</p><p> 很多品牌機(jī)上采用PS/2口來連接鼠標(biāo)和鍵盤。PS/2接口與傳統(tǒng)的鍵盤接口除了在接口外型、引腳有不同外,在數(shù)據(jù)傳送格式上是相同的。現(xiàn)在很多主板用PS/2接口插座連接鍵盤,傳統(tǒng)接口的鍵盤可以通過PS/2接口轉(zhuǎn)換器連接主板PS/2接口插座。</p>
33、<p> 采用PS2鍵盤比普通鍵盤精度更高,使用更方便,USB即插即用,與USB相比,穩(wěn)定性而言PS2比較好,但它不支持熱拔插,因此在使用時需注意不能經(jīng)常拔掉下PS2鍵盤。</p><p><b> 7、 設(shè)計(jì)小結(jié)</b></p><p> 本次設(shè)計(jì)完成后,在效果上能完全達(dá)到原先設(shè)計(jì)的功能。例如,通過按下按鍵“1”,能將數(shù)值“1”發(fā)送到LCD上顯示
34、驅(qū)動程序經(jīng)Keil uVision3編譯,在AT89C52上單片機(jī)通過,該模擬鍵盤接口可以作為一個接口模塊嵌入到其他設(shè)備儀器和工程控制系統(tǒng),增加了與PC機(jī)的通信途徑。在應(yīng)用和測試結(jié)果分析中,該接口模塊具有較高的可靠性與穩(wěn)定性。</p><p> 由于時間倉促和我們自身水平有限,本設(shè)計(jì)在功能上也只是完成了一些基本功能,對于電路的可靠性,穩(wěn)定性等參數(shù)還未做過詳細(xì)的測試。仿真中出現(xiàn)的一些問題,也尚未解決。</p
35、><p><b> 8、 致謝</b></p><p> 在***老師辛勤指導(dǎo)下,我與小組同學(xué)積極討論和思考,完成本此課程設(shè)計(jì),此次設(shè)計(jì),使我們受益匪淺。在此我要感謝電氣信息學(xué)院提供這次課程設(shè)計(jì)的機(jī)會;感謝電氣信息學(xué)院各位老師的幫助。在這里我要特別感謝***老師,在我們的設(shè)計(jì)過程中,至始至終都得到了***老師的悉心指導(dǎo),我們的設(shè)計(jì)才得以順利完成。</p>
36、<p><b> 9、 參考文獻(xiàn)</b></p><p> [1] 張培仁.基于 C 語言編程 MCS-51 單片機(jī)原理與應(yīng)用[M]. 北京:清華大學(xué)出版社,2003. </p><p> [2] 楊振江、杜鐵軍.流行單片機(jī)實(shí)用子程序及應(yīng)用實(shí)例[M].西安電子科技大學(xué)出版社,2002. </p><p> [3] 蔡美琴、張
37、為民.MCS-51 系列單片機(jī)系統(tǒng)及其應(yīng)用(第二版)[M]. 北京:高等教育出版社,2004.</p><p> [4] 蘇家健.單片機(jī)原理及應(yīng)用技術(shù)[M]. 北京:高等教育出版社,2004.</p><p> [5] C語譚浩強(qiáng).言程序設(shè)計(jì)(第三版)[M].北京:清華大學(xué)出版社,2005.</p><p><b> 附錄1:電路總圖</b&g
38、t;</p><p> 圖 附錄1 電路總圖</p><p><b> 附錄2:仿真圖</b></p><p><b> 圖 附錄2仿真圖</b></p><p><b> 附錄3:軟件代碼</b></p><p><b> main
39、.c:</b></p><p> #include<reg52.h> </p><p> #include "KEY4x4_MODE.h"</p><p> #include <string.h></p><p> #include "type.h"<
40、/p><p> #include "lcd1602.h"</p><p> uchar Dis_buffer[12]="0123456789*#";</p><p> uchar key_flag=0;</p><p> void main()</p><p><b&g
41、t; {</b></p><p> uchar loca,key_value=0;</p><p> Init_1602(); //初始化1602</p><p><b> while(1)</b></p><p><b> {</b></p><p>
42、 key_value = Get_key(); //鍵盤掃描</p><p> if(key_flag)</p><p><b> {</b></p><p> lcd_dis(Dis_buffer,key_value,loca++); //顯示</p><p> key_flag=0;//標(biāo)志位清零<
43、;/p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> Lcd1602.c:</p><p> #include<reg52.h></p><
44、;p> #include <string.h></p><p> #include "type.h"</p><p> #include "lcd1602.h"</p><p> void Init_1602(void) //初始化</p><p><b> {
45、</b></p><p> Lcd_write_CMD(0x38,0); </p><p> Lcd_write_CMD(0x38,1); //設(shè)置顯示模式</p><p> Lcd_write_CMD(0x08,1); //顯示關(guān)閉</p><p> Lcd_write_CMD(0x01,1); //清屏</p
46、><p> Lcd_write_CMD(0x06,1); //光標(biāo)從左向右移,文本不移</p><p> Lcd_write_CMD(0x0f,1); //顯示開 </p><p><b> }</b></p><p> void delay_ms(UCHAR i) //延時 ms級</p>&l
47、t;p><b> {</b></p><p> unsigned int j;</p><p> for(;i>0;i--)</p><p> for(j=0;j<125;j++)</p><p><b> {;}</b></p><p
48、><b> }</b></p><p> void Lcd_write_CMD(UCHAR DATA_output,UCHAR If_Check) //寫指令</p><p><b> {</b></p><p> if(If_Check)</p><p> Check_ifbus
49、y(); </p><p> RS_1602=0;</p><p> RW_1602=0;</p><p> DATA_out=DATA_output; </p><p><b> E_1602=1;</b></p><p> delay_ms(1); </p>&
50、lt;p> E_1602=0; //鎖存數(shù)據(jù)</p><p> RS_1602=1;</p><p> RW_1602=1;</p><p><b> }</b></p><p> void Check_ifbusy(void) //讀狀態(tài)</p><p><b&g
51、t; {</b></p><p> DATA_out=0xff;</p><p> RS_1602=0;</p><p> RW_1602=1;</p><p><b> E_1602=1;</b></p><p> while(DATA_out & 0x80)&l
52、t;/p><p><b> {</b></p><p> E_1602=0; //這兩句protues仿真必須加</p><p> E_1602=1; //</p><p><b> }</b></p><p><b> E_1602=0;<
53、/b></p><p><b> }</b></p><p> void Lcd_1602_Display(UCHAR *dis_p) //顯示</p><p><b> {</b></p><p> UCHAR i,len; //定義要放在前面</p><p&
54、gt; len=strlen(dis_p); </p><p> Lcd_Set_XY(0,0); </p><p> if( len>16)</p><p><b> {</b></p><p> for( i=0;i<16;i++)</p><p><b>
55、 {</b></p><p> Lcd_write_DATA(dis_p[i],1);</p><p><b> }</b></p><p> Lcd_Set_XY(0,1);</p><p> for( i=16;i<len;i++)</p><p><b&g
56、t; {</b></p><p> Lcd_write_DATA(dis_p[i],1);</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p>&
57、lt;b> {</b></p><p> for( i=0;i<len;i++)</p><p><b> {</b></p><p> Lcd_write_DATA(dis_p[i],1);</p><p><b> }</b></p><p&
58、gt;<b> } </b></p><p><b> }</b></p><p> void lcd_dis(UCHAR *dis_p,UCHAR i,UCHAR location)</p><p><b> {</b></p><p> Lcd_Set_XY(l
59、ocation,0); </p><p> Lcd_write_DATA(dis_p[i],1);</p><p><b> }</b></p><p> void Lcd_Set_XY(UCHAR x,UCHAR y) //設(shè)置顯示的初始坐標(biāo)</p><p><b> {</b><
60、;/p><p> x &= 0x0f;</p><p> y &= 0x01;</p><p> delay_ms(1);</p><p><b> if(y)</b></p><p><b> {</b></p><p>
61、Lcd_write_CMD(0X80+0X40+x,1);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Lcd_write_CMD(0X80+x,1);</p>
62、;<p><b> } </b></p><p><b> }</b></p><p> void Lcd_write_DATA(UCHAR DATA_output,UCHAR If_Check)//寫數(shù)據(jù)</p><p><b> {</b></p><
63、p> if(If_Check)Check_ifbusy();</p><p> RS_1602=1;</p><p> RW_1602=0;</p><p> DATA_out=DATA_output;</p><p><b> E_1602=1;</b></p><p> d
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)--ps2鍵盤鼠標(biāo)識別器的設(shè)計(jì)
- 基于verilog的ps2鍵盤設(shè)計(jì)進(jìn)階
- 51單片機(jī)模擬ps2協(xié)議
- 實(shí)驗(yàn)四_ps2鍵盤的控制
- 基于單片機(jī)的畢業(yè)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)--基于單片機(jī)的電子時鐘
- 單片機(jī)畢業(yè)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-單片機(jī)
- ps2鼠標(biāo)鍵盤協(xié)議 外文翻譯
- 單片機(jī)畢業(yè)設(shè)計(jì)---基于單片機(jī)控制的模擬電梯顯示
- 單片機(jī)畢業(yè)設(shè)計(jì)--基于單片機(jī)的恒壓供水系統(tǒng)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)---基于單片機(jī)簡易計(jì)算機(jī)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)數(shù)字時鐘設(shè)計(jì)
- 基于單片機(jī)的電子羅盤設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)數(shù)字秒表的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的門禁系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的門禁系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的熱能表設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的數(shù)控電源設(shè)計(jì)畢業(yè)設(shè)計(jì)
評論
0/150
提交評論