




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于51單片機(jī)數(shù)字電壓表的設(shè)計目錄一、系統(tǒng)總體方案選擇與說明11.1設(shè)計要求11.2 設(shè)計思路11.3 設(shè)計方案1二、硬件電路設(shè)計22.1 AT89C51的功能介紹22.1.1簡單概述22.1.2主要功能特性32.1.3 AT89C51的引腳介紹32.2 ADC0808的引腳及功能介紹52.2.1芯片概述5ADC0808芯片模型52.2.2 引腳簡介52.2.3 ADC0808的轉(zhuǎn)換原理62.2.4 ADC0808的內(nèi)部結(jié)構(gòu)62.2.5 ADC0808電路接線圖62.3 顯示電路72.3.1 LM016L的結(jié)構(gòu)及功能72.3.2 LM016L的引腳功能介紹72.3.3 LM016L的電路接線圖
2、132.4 復(fù)位電路設(shè)計132.5振蕩電路設(shè)計14三、軟件設(shè)計與說明10四、系統(tǒng)仿真與調(diào)試12五、總 結(jié)13參考文獻(xiàn)14附 錄15附錄A 系統(tǒng)原理圖15附錄B 程序清單16一、系統(tǒng)總體方案選擇與說明1.1設(shè)計要求(1)使用51單片機(jī),AD0809,數(shù)碼管等元件組成(2)能測量0-5V的直流電壓(3)能連續(xù)、穩(wěn)定顯示所測電壓(4)測量誤差<0.02V)1.2 設(shè)計思路根據(jù)設(shè)計要求,選擇AT89C51單片機(jī)為核心控制器件。A/D轉(zhuǎn)換采用ADC0808實現(xiàn)。電壓顯示采用LCD顯示。1.3 設(shè)計方案數(shù)字電壓表的設(shè)計即將連續(xù)的模擬電壓信號經(jīng)過A/D轉(zhuǎn)換器轉(zhuǎn)換成二進(jìn)制數(shù)值,再經(jīng)由單片機(jī)軟件編程轉(zhuǎn)換成
3、十進(jìn)制數(shù)值并通過顯示屏顯示。該設(shè)計主要由三個模塊組成:A/D轉(zhuǎn)換模塊,數(shù)據(jù)處理模塊及顯示模塊。A/D轉(zhuǎn)換主要由芯片ADC0808來完成,它負(fù)責(zé)把采集到的模擬量轉(zhuǎn)換為相應(yīng)的數(shù)字量在傳送到數(shù)據(jù)處理模塊。數(shù)據(jù)處理則由芯片AT89C51來完成,其負(fù)責(zé)把ADC0808傳送來的數(shù)字量經(jīng)過一定的數(shù)據(jù)處理,產(chǎn)生相應(yīng)的顯示碼送到顯示模塊進(jìn)行顯示;此外,它還控制著ADC0808芯片工作。時鐘電路 復(fù)位電路A/D轉(zhuǎn)換電路測量電壓輸入顯示系統(tǒng)AT89C51 P2 P0 P3 數(shù)字電壓表系統(tǒng)硬件設(shè)計框圖二、硬件電路設(shè)計2.1 AT89C51的功能介紹2.1.1簡單概述AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存
4、儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C51是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳
5、排列如圖3-2所示。圖3-2 AT89C51芯片模型2.1.2主要功能特性(1) 4K字節(jié)可編程閃爍存儲器。 (2) 32個雙向I/O口;128×8位內(nèi)部RAM 。(3) 2個16位可編程定時/計數(shù)器中斷,時鐘頻率0-24MHz。 (4) 可編程串行通道。 (5) 5個中斷源。 (6) 2個讀寫中斷口線。 (7) 低功耗的閑置和掉電模式。(8) 片內(nèi)振蕩器和時鐘電路。2.1.3 AT89C51的引腳介紹89C51單片機(jī)多采用40只引腳的雙列直插封裝(DIP)方式,下面分別簡單介紹。(1)電源引腳電源引腳接入單片機(jī)的工作電源。Vcc(40引腳):+5V電源。GND(20引腳):接地。(
6、2)時鐘引腳XTAL1(19引腳):片內(nèi)振蕩器反相放大器和時鐘發(fā)生器電路的輸入端。XTAL2(20引腳):片內(nèi)振蕩器反相放大器的輸出端。圖3-3 電源接入方式(3)復(fù)位RST(9引腳)在振蕩器運行時,有兩個機(jī)器周期(24個振蕩周期)以上的高電平出現(xiàn)在此引腳時,將使單片機(jī)復(fù)位,只要這個腳保持高電平,51芯片便循環(huán)復(fù)位。(4)/Vpp(31引腳)為外部程序存儲器訪問允許控制端。當(dāng)它為高電平時,單片機(jī)讀片內(nèi)程序存儲器,在PC值超過0FFFH后將自動轉(zhuǎn)向外部程序存儲器。當(dāng)它為低電平時,只限定在外部程序存儲器,地址為0000HFFFFH。Vpp為該引腳的第二功能,為編程電壓輸入端。(5)ALE/(30引
7、腳)ALE為低八位地址鎖存允許信號。在系統(tǒng)擴(kuò)展時,ALE的負(fù)跳沿江P0口發(fā)出的第八位地址鎖存在外接的地址鎖存器,然后再作為數(shù)據(jù)端口。為該引腳的第二功能,在對片外存儲器編程時,此引腳為編程脈沖輸入端。(6)(29引腳)片外程序存儲器的讀選通信號。在單片機(jī)讀片外程序存儲器時,此引腳輸出脈沖的負(fù)跳沿作為讀片外程序存儲器的選通信號。(7) pin39-pin32為P0.0-P0.7輸入輸出腳,稱為P0口。P0是一個8位漏極開路型雙向I/O口。內(nèi)部不帶上拉電阻,當(dāng)外接上拉電阻時,P0口能以吸收電流的方式驅(qū)動八個LSTTL負(fù)載電路。通常在使用時外接上拉電阻,用來驅(qū)動多個數(shù)碼管。 在訪問外部程序和外部數(shù)據(jù)存
8、儲器時,P0口是分時轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,不需要外接上拉電阻。(8)Pin1-Pin8為P1.0-P1.7輸入輸出腳,稱為P1口,是一個帶內(nèi)部上拉電阻的8位雙向I/0口。P1口能驅(qū)動4個LSTTL負(fù)載。(9)Pin21-Pin28為P2.0-P2.7輸入輸出腳,稱為P2口。P2口是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P2口能驅(qū)動4個LSTTL負(fù)載。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲器時,P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲器時其引腳上的內(nèi)容在此期間不會改變
9、。 (10)Pin10-Pin17為P3.0-P3.7輸入輸出腳,稱為P3口。P3口是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P2口能驅(qū)動4個LSTTL負(fù)載,這8個引腳還用于專門的第二功能。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時,接控制信息。2.2 ADC0808的引腳及功能介紹2.2.1芯片概述ADC0808是采樣分辨率為8位的、以逐次逼近原理進(jìn)行模/數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進(jìn)行A/D轉(zhuǎn)換。ADC0808是ADC0809的簡化版本,功能基本相同。一般在硬件仿真時采用A
10、DC0808進(jìn)行A/D轉(zhuǎn)換,實際使用時采用ADC0809進(jìn)行A/D轉(zhuǎn)換。ADC0808是一種典型的A/D轉(zhuǎn)換器。它是由8位A/D轉(zhuǎn)換器,一個8路模擬量開關(guān),8位模擬量地址鎖存譯碼器和一個三態(tài)數(shù)據(jù)輸出鎖存器組成; +5V單電源供電,轉(zhuǎn)化 時間在100us左右;內(nèi)部沒有時鐘電路,故需外部提供時鐘信號。芯片模型如圖所示。ADC0808芯片模型2.2.2 引腳簡介ADC0808芯片有28條引腳,采用雙列直插式封裝,各引腳功能如下: (1) IN0IN7:8路模擬量輸入端。這里只接一路電壓信號,其輸入信號是由直流電源及可調(diào)電阻提供。 (2) D0D7:8位數(shù)字量輸出端口,其另一端連接到AT89C51單片
11、機(jī)進(jìn)行數(shù)值轉(zhuǎn)換(3) START:A/D轉(zhuǎn)換啟動信號輸入端。由單片機(jī)P3.6口寫信號與P2.0口相或取反輸入一個正脈沖使其啟動(脈沖上升沿使0808復(fù)位,下降沿啟動A/D轉(zhuǎn)換)。 (4) ALE:地址鎖存允許信號,高電平有效。(5) EOC:輸出允許控制信號,高電平有效。EOC為 AD轉(zhuǎn)換結(jié)束信號,當(dāng)AD轉(zhuǎn)換結(jié)束時,此端輸出一個高電平取反給P3.3口(轉(zhuǎn)換期間一直為低電平)。(6) OE: 輸出允許控制信號,高電平有效。當(dāng)AD轉(zhuǎn)換結(jié)束時,此端由單片機(jī)P3.7讀信號與P2.0口相或后取反輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。 (7) CLK:時鐘信號輸入端。(8)A、B、C:轉(zhuǎn)換通道地
12、址,控制8路模擬通道的切換。A、B、C分別與地址線或數(shù)據(jù)線相連,三位編碼對應(yīng)8個通道地址端口,A、B、C=000111分別對應(yīng)IN0IN7通道的地址端口。2.2.3 ADC0808的轉(zhuǎn)換原理ADC 0808 采用逐次比較的方法完成A/D轉(zhuǎn)換,由單一的+5V電源供電。片內(nèi)帶有鎖存功能的8路選1的模擬開關(guān),由A、B、C的編碼來決定所選的通道。ADC0809完成一次轉(zhuǎn)換需100s左右,它具有輸出TTL三態(tài)鎖存緩沖器,可直接連接到AT89C51的數(shù)據(jù)總線上。通過適當(dāng)?shù)耐饨与娐罚珹DC0808可對05V的模擬信號進(jìn)行轉(zhuǎn)換。2.2.4 ADC0808的內(nèi)部結(jié)構(gòu)ADC0808是CMOS單片型逐次逼近式A/D
13、轉(zhuǎn)換器,它有8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型A/D轉(zhuǎn)換器。2.2.5 ADC0808電路接線圖2.3 顯示電路2.3.1 LM016L的結(jié)構(gòu)及功能LM016L液晶模塊采用HD44780控制器,HD44780具有簡單而功能較強(qiáng)的指令集,可以實現(xiàn)字符移動,閃爍等功能,LM016L與單片機(jī)MCU通訊可采用8位或4位并行傳輸兩種方式,HD44780控制器由兩個8位寄存器,指令寄存器(IR)和數(shù)據(jù)寄存器(DR)忙標(biāo)志(BF),顯示數(shù)RAM(DDRAM),字符發(fā)生器ROMA(CGOROM)字符發(fā)生器RAM(CGRAM),地址計數(shù)器RAM(AC)。IR用于寄存指令碼,只能寫入不能讀出,D
14、R用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù),BF為1時,液晶模塊處于內(nèi)部模式,不響應(yīng)外部操作指令和接受數(shù)據(jù),DDTAM用來存儲顯示的字符,能存儲80個字符碼,CGROM由8位字符碼生成5*7點陣字符160中和5*10點陣字符32種.CGRAM是為用戶編寫特殊字符留用的,它的容量僅64字節(jié),可以自定義8個5*7點陣字符或者4個5*10點陣字符,AC可以存儲DDRAM和CGRAM的地址,如果地址碼隨指令寫入IR,則IR自動把地址碼裝入AC,同時選擇DDRAM或CGRAM單元。2.3.2 LM016L的引腳功能介紹1602字符型LCD通常
15、有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線。VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣,其中:(1) VSS:一般接地(2) VDD:接電源(+5V)(3) V0:液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度)。(4) RS:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。(5) R/W:R/W為讀寫信號線,高電平(1)時進(jìn)行讀操作,低電平(0)時進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平
16、R/W為高電平時可以讀忙信號,當(dāng)RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。(6) E:E(或EN)端為使能(enable)端,下降沿使能(7) DB0:底4位三態(tài)、 雙向數(shù)據(jù)總線 0位(最低位)(8) DB1:底4位三態(tài)、 雙向數(shù)據(jù)總線 1位(9) DB2:底4位三態(tài)、 雙向數(shù)據(jù)總線 2位(10) DB3:底4位三態(tài)、 雙向數(shù)據(jù)總線 3位(11) DB4:高4位三態(tài)、 雙向數(shù)據(jù)總線 4位(12) DB5:高4位三態(tài)、 雙向數(shù)據(jù)總線 5位(13) DB6:高4位三態(tài)、 雙向數(shù)據(jù)總線 6位(14) DB7:高4位三態(tài)、 雙向數(shù)據(jù)總線 7位(最高位)2.3.3 LM016L的電路接線圖 LCD顯示電
17、路電路圖2.4 復(fù)位電路設(shè)計復(fù)位操作有兩種基本形式:一種是上電復(fù)位,另一種是按鍵復(fù)位。按鍵復(fù)位具有上電復(fù)位功能外,若要復(fù)位,只要按圖中的RESET鍵,電源VCC經(jīng)電阻R1、R2分壓,在RESET端產(chǎn)生一個復(fù)位高電平。上電復(fù)位電路要求接通電源后,通過外部電容充電來實現(xiàn)單片機(jī)自動復(fù)位操作。上電瞬間RESET引腳獲得高電平,隨著電容的充電,RERST引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時間(2個機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。按鍵復(fù)位的電路如下圖所示。 按鍵復(fù)位電路電路圖2.5振蕩電路設(shè)計單片機(jī)內(nèi)部有一個高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳
18、XTAL2。通過這兩個引腳在芯片外并接石英晶體振蕩器(大小為1MHZ)和兩只電容(電容和一般取30pF)。這樣就構(gòu)成一個穩(wěn)定的自激振蕩器。振蕩電路脈沖經(jīng)過二分頻后作為系統(tǒng)的時鐘信號,再在二分頻的基礎(chǔ)上三分頻產(chǎn)生ALE信號,此時得到的信號時機(jī)器周期信號。振蕩電路如圖所示 振蕩電路電路圖三、軟件設(shè)計與說明主程序的內(nèi)容包括:起始地址、中斷服務(wù)程序的起始地址、有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序的調(diào)用等。根據(jù)設(shè)計要求,設(shè)計出如圖所示的主程序流程圖。 結(jié) 束 調(diào)用顯示子程序 調(diào)用A/D轉(zhuǎn)換子程序 初 始 化 開 始A/D轉(zhuǎn)換子程序設(shè)計: A/D轉(zhuǎn)換程序的功能是采集數(shù)據(jù),在整個系統(tǒng)設(shè)計中占有很高的地
19、位。當(dāng)系統(tǒng)置好后,單片機(jī)掃描轉(zhuǎn)換結(jié)束管腳P3.3的輸入電平狀態(tài),當(dāng)輸入為高電平則轉(zhuǎn)換完成,將轉(zhuǎn)換的數(shù)值顯示輸出。若輸入為低電平,則繼續(xù)掃描。程序流程圖如圖所示。 開 始 顯示轉(zhuǎn)換結(jié)果 處理轉(zhuǎn)換結(jié)果調(diào)用A/D轉(zhuǎn)換程序,開始A/D轉(zhuǎn)換轉(zhuǎn)換是否完成? NN N 結(jié) 束 Y 四、系統(tǒng)仿真與調(diào)試本設(shè)計應(yīng)用Proteus7.8及KEIL51軟件進(jìn)行仿真,首先根據(jù)自己設(shè)計的電路圖用Proteus7.8軟件畫出電路模型,然后我們用KEIL51軟件對自己所編寫的程序進(jìn)行編譯、鏈接,若程序沒有錯誤和警告便可生成一個*.hex文件,然后再將此文件加到Proteus7.8電路圖上使軟硬件結(jié)合仿真。仿真結(jié)果如下圖所示。
20、五、總 結(jié)在這次單片機(jī)課程設(shè)計之初,我了無頭緒,但在不斷查閱資料,和同學(xué)的相互討論之后對本次課程設(shè)計有了基本的認(rèn)識。經(jīng)過近兩周的努力,雖然基于單片機(jī)的簡易數(shù)字電壓表基本完成,但設(shè)計中的不足之處仍然存在。這次設(shè)計是我第一次設(shè)計電路,并用Proteus實現(xiàn)了仿真。在這過程中,我對電路設(shè)計,單片機(jī)的使用等都有了新的認(rèn)識。通過這次設(shè)計學(xué)會了Proteus和Keil軟件的使用方法,掌握了從系統(tǒng)的需要、方案的設(shè)計、功能模塊的劃分、原理圖的設(shè)計和電路圖的仿真的設(shè)計流程,積累了不少經(jīng)驗。經(jīng)過這兩個星期的學(xué)習(xí),我覺得自己不論是在理論知識方面還是在動手能力方面都有了不小的進(jìn)步,自己從中受益匪淺。這次設(shè)計很好的把以
21、前學(xué)到的理論知識應(yīng)用于實踐中去,使我認(rèn)識到理論知識與實踐之間有一定的差距,只有通過不斷的努力學(xué)習(xí)和實踐相結(jié)合才能更好地掌握這門學(xué)科。通過這次設(shè)計不僅學(xué)會了如何去查找相關(guān)資料,更重要的是通過查找資料和翻閱書籍學(xué)到了不少知識,擴(kuò)大了知識面,提高了知識水平。經(jīng)過單元設(shè)計和系統(tǒng)設(shè)計鞏固了以前所學(xué)的專業(yè)知識,自己真正認(rèn)識到理論聯(lián)系實際的重要性,為以后的學(xué)習(xí)和工作提供了很多有價值的經(jīng)驗。通過這次設(shè)計不僅增強(qiáng)了自己的動腦能力和動手能力,也提高了我思考問題、分析問題、解決問題的能力,更重要的是學(xué)會用工程化的思想來解決問題。這在以前的學(xué)習(xí)過程中是不曾學(xué)到的。這次設(shè)計使我認(rèn)識到完整、嚴(yán)謹(jǐn)、科學(xué)分析問題、解決問題的
22、思想是多么的重要,只有擁有了科學(xué)的態(tài)度才能設(shè)計出有用的產(chǎn)品。另外通過本次設(shè)計,使我認(rèn)識到自己所學(xué)到的理論知識在應(yīng)用到實際中去的能力有很大的欠缺,需要在以后的學(xué)習(xí)中進(jìn)一步提高。通過這次課程設(shè)計,使我對單片機(jī)的認(rèn)識了解有了更加深刻的認(rèn)識。參考文獻(xiàn)1、單片機(jī)原理及應(yīng)用李建忠 編 西安電子科技大學(xué)出版社2、單片微型計算機(jī)原理與接口技術(shù) 高峰 編 電子工業(yè)出版社3、單片機(jī)應(yīng)用新技術(shù)教程鄒逢興 編 高等教育出版社4、16位微型計算機(jī)原理接口及其應(yīng)用 朱宇光 編 電子工業(yè)出版社5、微型計算機(jī)原理與接口技術(shù) 吳秀清 編 中國科學(xué)技術(shù)出版社6、微型計算機(jī)接口技術(shù) 鄧亞平 編 清華大學(xué)出版社 7、單片機(jī)原理及及應(yīng)
23、用 王迎旭 編 機(jī)械工業(yè)出版社附 錄附錄A 系統(tǒng)原理圖附錄B 程序清單#include "includes.h"#define TIME0H 0x3C#define TIME0L 0xB0 /全局變量unsigned char uc_Clock=0; /定時器0中斷計數(shù)bit b_DATransform=0; void vShowVoltage(unsigned int uiNumber)/把電壓顯示在LCD上unsigned char ucaNumber3,ucCount;if(uiNumber>999)uiNumber=999;ucaNumber0=uiNumbe
24、r/100;/把計算數(shù)字的每個位存入數(shù)組。ucaNumber1=(uiNumber-100*(int)ucaNumber0)/10ucaNumber2=uiNumber-100*(int)ucaNumber0-10*ucaNumber1;for(ucCount=0;ucCount<3;ucCount+)vShowOneChar(ucaNumberucCount+48);/從首位到末位逐一輸出。if(ucCount=0)vShowOneChar('.');/主函數(shù)*void main() 設(shè)置定時器0TMOD=0x01;/定時器0,模式1。TH0=TIME0H;TL0=TI
25、ME0L;TR0=1;/啟動定時器。ET0=1;/開定時器中斷。EA=1;/開總中斷vdInitialize();vWriteCMD(0x84); /寫入顯示起始地址(第二行第一個位置)vShowChar("Voltage:");vWriteCMD(0xC9);vShowChar("(V)");while(1)if(b_DATransform=1)b_DATransform=0;vWriteCMD(0xC4);vShowVoltage(uiADTransform();void Time0() interrupt 1 /定時器0中斷函數(shù)/if(uc_Clo
26、ck=0)uc_Clock=5;b_DATransform=1;elseuc_Clock-;TH0=TIME0H; /恢復(fù)定時器0。TL0=TIME0L; #include "SMC1602.h" /驅(qū)動程序 void vWriteCMD(unsigned char ucCommand) /把1個命令寫入LCDvDelay();/先延時。LCDE=1;/然后把改為寫入命令狀態(tài)。LCDRS=0;LCDRW=0;LCDPORT=ucCommand;/再輸出命令。LCDE=0;/最后執(zhí)行命令。 void vWriteData(unsigned char ucData)/把1個數(shù)據(jù)
27、寫入LCDvDelay(); /先延時。LCDE=1; /然后把改為寫入數(shù)據(jù)狀態(tài)。LCDRS=1;LCDRW=0;LCDPORT=ucData; /再輸出數(shù)據(jù)。LCDE=0; /最后顯示數(shù)據(jù)。void vShowOneChar(unsigned char ucChar)switch(ucChar)case ' ': vWriteData(0x20);break;case '!': vWriteData(0x21);break;case '"': vWriteData(0x22);break;case '#': vWrit
28、eData(0x23);break;case '$': vWriteData(0x24);break;case '%': vWriteData(0x25);break;case '&': vWriteData(0x26);break;case '>': vWriteData(0x27);break;case '(': vWriteData(0x28);break;case ')': vWriteData(0x29);break;case '*': vWriteData(
29、0x20);break;case '+': vWriteData(0x2A);break;case '-': vWriteData(0x2D);break;case '/': vWriteData(0x2F);break;case '=': vWriteData(0x3D);break;case '<': vWriteData(0x3E);break;case '?': vWriteData(0x3F);break;case '.': vWriteData(0x2E);brea
30、k;case ':': vWriteData(0x3A);break;case '0': vWriteData(0x30);break;case '1': vWriteData(0x31);break;case '2': vWriteData(0x32);break;case '3': vWriteData(0x33);break;case '4': vWriteData(0x34);break;case '5': vWriteData(0x35);break;case '6
31、': vWriteData(0x36);break;case '7': vWriteData(0x37);break;case '8': vWriteData(0x38);break;case '9': vWriteData(0x39);break;case 'A': vWriteData(0x41);break;case 'B': vWriteData(0x42);break;case 'C': vWriteData(0x43);break;case 'D': vWrite
32、Data(0x44);break;case 'E': vWriteData(0x45);break;case 'F': vWriteData(0x46);break;case 'G': vWriteData(0x47);break;case 'H': vWriteData(0x48);break;case 'I': vWriteData(0x49);break;case 'J': vWriteData(0x4A);break;case 'K': vWriteData(0x4B);br
33、eak;case 'L': vWriteData(0x4C);break;case 'M': vWriteData(0x4D);break;case 'N': vWriteData(0x4E);break;case 'O': vWriteData(0x4F);break;case 'P': vWriteData(0x50);break;case 'Q': vWriteData(0x51);break;case 'R': vWriteData(0x52);break;case '
34、;S': vWriteData(0x53);break;case 'T': vWriteData(0x54);break;case 'U': vWriteData(0x55);break;case 'V': vWriteData(0x56);break;case 'W': vWriteData(0x57);break;case 'X': vWriteData(0x58);break;case 'Y': vWriteData(0x59);break;case 'Z': vWri
35、teData(0x5A);break;case 'a': vWriteData(0x61);break;case 'b': vWriteData(0x62);break;case 'c': vWriteData(0x63);break;case 'd': vWriteData(0x64);break;case 'e': vWriteData(0x65);break;case 'f': vWriteData(0x66);break;case 'g': vWriteData(0x67);
36、break;case 'h': vWriteData(0x68);break;case 'i': vWriteData(0x69);break;case 'j': vWriteData(0x6A);break;case 'k': vWriteData(0x6B);break;case 'l': vWriteData(0x6C);break;case 'm': vWriteData(0x6D);break;case 'n': vWriteData(0x6E);break;case
37、39;o': vWriteData(0x6F);break;case 'p': vWriteData(0x70);break;case 'q': vWriteData(0x71);break;case 'r': vWriteData(0x72);break;case 's': vWriteData(0x73);break;case 't': vWriteData(0x74);break;case 'u': vWriteData(0x75);break;case 'v': vWr
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 民宿旅游培訓(xùn)課件
- 碩士論文答辯導(dǎo)師意見
- 關(guān)于酒店管理的大學(xué)
- 高校學(xué)生心理健康教育指導(dǎo)綱要
- 教育類發(fā)職稱論文的期刊
- 2025大班工作總結(jié)
- 低血糖癥診療與護(hù)理要點
- 中班健康早睡早起的好處
- 質(zhì)數(shù)與和數(shù)的課件
- 醫(yī)德醫(yī)風(fēng)課件培訓(xùn)宣傳
- 化學(xué)-貴州省畢節(jié)市2024年畢節(jié)市高二年級下學(xué)期7月期末聯(lián)考試題和答案
- 2024年首屆全國“紅旗杯”班組長大賽考試題庫800題(含答案)
- 四川省宜賓市2022-2023學(xué)年五年級下學(xué)期數(shù)學(xué)期末試卷(含答案)
- JT-T-891-2014道路車輛清障救援操作規(guī)范
- 《民用無人駕駛航空器系統(tǒng)分類及分級》考試題庫(含答案)
- 國際化競爭格局下的動漫游戲行業(yè)發(fā)展策略
- GB/T 44087-2024北斗三號區(qū)域短報文通信用戶終端技術(shù)要求與測試方法
- GB/T 43868-2024電化學(xué)儲能電站啟動驗收規(guī)程
- 中醫(yī)藥健康管理服務(wù)流程
- 資本論在中國智慧樹知到期末考試答案2024年
- 國家職業(yè)技術(shù)技能標(biāo)準(zhǔn) 6-16-02-06 油氣水井測試工 人社廳發(fā)202226號
評論
0/150
提交評論