




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于AT89C51單片機(jī)實(shí)驗開發(fā)板系統(tǒng)設(shè)計 摘 要. IAbstract. II第1章 緒 論. 11.1 單片機(jī)現(xiàn)狀及發(fā)展概述. 11.2 單片機(jī)的性能特點(diǎn). 21.3 單片機(jī)的主要產(chǎn)品及系列. 3第2章 實(shí)驗板總體設(shè)計方案. 62.1 實(shí)驗板系統(tǒng)功能. 62.2 實(shí)驗板的性能要求. 62.3 AT89C51 在實(shí)驗板中的應(yīng)用. 7第3章 實(shí)驗板的硬件設(shè)計. 83. 1
2、 硬件總體設(shè)計. 83. 2 各功能模塊設(shè)計. 93.3.1 單片機(jī)外圍電路. 93.2.2 4×4矩陣鍵盤電路. 113.2.3 液晶顯示電路. 133.2.4 串行通信電路. 143.2.5 I/O口擴(kuò)展電路. 153.2.6 電源電路. 153.3 實(shí)驗板元器件清單. 17第4章 實(shí)驗板的軟件設(shè)計. 184.1 軟件總體設(shè)計. 184.2 各模塊設(shè)計流程圖. 194.2.1
3、160; 鍵盤掃描子程序. 194.2.2 液晶顯示子程序. 24第5章 實(shí)驗板調(diào)試. 295.1 調(diào)試的目的. 295.2 調(diào)試的過程. 29第6章 總 結(jié). 30致 謝. 31參考文獻(xiàn). 32附 錄. 33附錄1 英文翻譯. 33附錄2原理圖. 42附錄3 pcb圖. 43第1章 緒 論1.1 單片機(jī)現(xiàn)狀及發(fā)展概述單片機(jī)屬于第四代微型計算機(jī)的一個重要分支。單片機(jī)是把中央處理器CPU(Central Process
4、ing Unit),隨機(jī)存取存儲器RAM(Random Access Memrty),只讀存儲器ROM(Read Only Memory),定時器/計數(shù)器以及I/O接口電路等主要計算部件集成在一塊集成電路芯片上的微型計算機(jī)。單片機(jī)的應(yīng)用導(dǎo)致了控制領(lǐng)域的一場革命,是微控制技術(shù)逐步取代傳統(tǒng)的硬件控制。近十幾年來,單片機(jī)在生產(chǎn)過程控制、自動檢測、數(shù)據(jù)采集與處理、科技計算、商業(yè)管理和辦公室自動化等方面獲得了廣泛的應(yīng)用。單片機(jī)具有體積小、重量輕、耗能省、價格低、可靠性高和通用靈活等優(yōu)點(diǎn),因此也廣泛應(yīng)用于衛(wèi)星定向、汽車火花控制、交通自動管理和微波爐等專用控制
5、上。近幾年來,單片機(jī)的發(fā)展更為迅速,它己滲透到諸多學(xué)科的領(lǐng)域,以及人們生活的各個方面。MCS-51系列中的一片89C51芯片,內(nèi)部構(gòu)造了完整的計算機(jī)硬件系統(tǒng)。從CPU、存儲器到輸入輸出端口,一應(yīng)俱全。只要寫入程序,就可完成中央控制或數(shù)據(jù)采集、處理及通信傳輸?shù)男畔⑻幚頇C(jī),MCS-51單片機(jī)指令系統(tǒng)中為適應(yīng)控制的需要設(shè)有極強(qiáng)的位處理功能,具有加、減、乘、除指令;CPU時鐘高達(dá)12MHz,完成單字節(jié)乘法或除法運(yùn)算器件分軍用和民用兩級,民用產(chǎn)品主要用于辦公室及機(jī)房環(huán)境,工作溫度在0-701C,軍用產(chǎn)品要求在惡劣環(huán)境條件下穩(wěn)定工作,工作溫度在-65125:工業(yè)級產(chǎn)品的性能介于以上兩者之間,在-40+85
6、C溫度環(huán)境可正常工作。工業(yè)產(chǎn)品可靠性比民用產(chǎn)品強(qiáng),而價格較軍用品低。在單片機(jī)應(yīng)用中,可以根據(jù)實(shí)際工作環(huán)境,選擇工業(yè)級芯片,保證系統(tǒng)可靠性。單片機(jī)出現(xiàn)的歷史并不長,它的產(chǎn)生與發(fā)展與微處理器的產(chǎn)生與發(fā)展大體上同步,也經(jīng)歷了四個階段:第一階段:19711974年,1971年11月美國Inter公司設(shè)計成集成度為2000只晶體管/片的4位微處理器Intel 4004,并配有隨機(jī)存取存儲器RAM,只讀存儲器RAM和移位寄存器等芯片,構(gòu)成第一臺MCS-4微型計算機(jī)。隨后又研制成了8位微處理器Intel 8008。這些微處理器雖說還不是單片機(jī),但從此拉開了研制單片機(jī)的序幕。第二階段:19741978年,初級
7、單片機(jī)階段,以Intel公司的MCS-48為代表,這個階段的單片機(jī)內(nèi)集成有8位CPU,并行I/O口,8位定時器/計算器,尋址范圍不大于4K,且無串行口。第三階段:19781983年,高性能單片機(jī)階段。這一階段單片機(jī)和前階段相比,不僅存儲容量和尋址范圍大,而且中斷源、并行I/O口和定時器所數(shù)器個數(shù)有了增加,集成了全雙工串行通信接口。在指令系統(tǒng)方面,普遍增設(shè)了乘除法和比較指令。MCS-51系列產(chǎn)品由于其優(yōu)良的性能價格比,在相當(dāng)一段時間處于主流產(chǎn)品地位。第四階段:1983年至今。8位單片機(jī)鞏固發(fā)展及16位單片機(jī)推出階段。16位單片機(jī)工藝先進(jìn)、集成度高、內(nèi)部功能強(qiáng),而且允許用戶采用面向工業(yè)控制的專用語
8、言。現(xiàn)階段:32位單片微機(jī)系列。繼16位單片機(jī)出現(xiàn)后不久,幾大公司先后推出了代表當(dāng)前最高性能和技術(shù)水平的32位單片微機(jī)系列。32位單片機(jī)具有極高的集成度,內(nèi)部采用新穎的RISC(精減指令系統(tǒng)計算機(jī))結(jié)構(gòu),CPU可與其他微控制器兼容,主頻頻率可達(dá)33MH2以上,指令系統(tǒng)進(jìn)一步優(yōu)化,運(yùn)算速度可動態(tài)改變,沒有高級語言編譯器,具有性能強(qiáng)大的中斷控制系統(tǒng)、定時事件控制系統(tǒng)、同勿異步通信控制系統(tǒng)。這類單片機(jī)主要應(yīng)用于汽車、航空航天、高級機(jī)器人、軍事裝備等方面。它代表著單片機(jī)發(fā)展中的高、新技術(shù)水平。1.2 單片機(jī)的性能特點(diǎn)單片機(jī)芯片作為控制系統(tǒng)的核心部件,除了具備通用微機(jī)CPU的數(shù)值計算功能外,
9、還必須具有靈活、強(qiáng)大的控制功能,以便實(shí)時監(jiān)測系統(tǒng)的輸入量、控制系統(tǒng)的輸出量,實(shí)現(xiàn)自動控制的目的。由于單片機(jī)主要面向工業(yè)控制,工作環(huán)境比較惡劣,加高溫、強(qiáng)電磁干擾,甚至合有腐蝕性氣體;在太空小工作的單片機(jī)控制系統(tǒng),還必須具有抗輻射能力。因而,決定了單片機(jī)CPU與通用微機(jī)CPU具有小同的技術(shù)特征和發(fā)展方向: 抗干擾性強(qiáng)工作溫度范圍寬。通用微機(jī)CPU一般要求在室溫下工作抗干擾能力也較低。 可靠性高。 控制功能往往很強(qiáng),數(shù)值計算能力較差。通用微機(jī)CPU具有很強(qiáng)的數(shù)值運(yùn)算能力控制能力相對較弱。將通用微機(jī)用于工業(yè)控制時,一
10、般需要增加一些專用的接口電路。 指令系統(tǒng)比通用微機(jī)系統(tǒng)簡單。80C51系列新一代8位單片機(jī)的主要特點(diǎn):普遍采用CMOS工藝,除了具有節(jié)電運(yùn)行模式和掉電數(shù)據(jù)保護(hù)功能外,整機(jī)功耗比采用HMOS工藝的80C51系列低。 片內(nèi)存儲器容量大,規(guī)格多,程序存儲器類型也趨于多樣化。該系列不同品種的片內(nèi)程序存儲器容量從4KB擴(kuò)展到8KB、16KB,甚至32KB,數(shù)據(jù)存儲器容量從128B擴(kuò)展到512B。片內(nèi)程序存儲器類型不僅限于掩模ROM和EPROM,普遍采用OTP EPROM(一次性編程的EPR()M,簡稱TOP ROM。
11、160; 最高時鐘頻率從12MHZ 提高到16MHZ、24MHZ、33MHZ ,甚至40MHZ ,指令執(zhí)行時間大大縮短,增強(qiáng)了這些產(chǎn)品的實(shí)時處理能力。 工作電壓低、范圍寬(18V6oV),可用電池供電,便于野外作業(yè)使用。 擴(kuò)展了接口電路功能,如增加了高速I/O接口,擴(kuò)展了I/O口引線數(shù)目, 部分型號增加了定時計數(shù)器的個數(shù),還擴(kuò)展了定時計數(shù)器的功能。 部分型號增加廠定時復(fù)位功能,提高了抗干擾能力。 強(qiáng)化并且完善了串行通
12、信功能。 封裝形式多樣化,同一型號的CPU,具有多種封裝形式,如PDIP封裝、CDIP封裝、PLCC(方形壁插塑封)、CLCC(方形壁插陶瓷封裝)、PQFP(塑料方形四邊引線扁平封裝),部分產(chǎn)品還采用了BGA(球形網(wǎng)格陣列)封裝。1.3 單片機(jī)的主要產(chǎn)品及系列自單片機(jī)誕生以來的近30年中,單片機(jī)已有70多個系列、近500個機(jī)種。國際上較有名、影響較大的公司及它們的產(chǎn)品如下:Intel(美國英特爾)公司的MCS48系列、MCS51系列、MCS96系列產(chǎn)品;Motorola(美國摩托羅拉)公司的6801、6802、6803、6805、68HCll系列
13、產(chǎn)品;Zilog(美國齊洛格)公司的Z8 ,Super8系列產(chǎn)品;Atmel(美國艾特梅爾)公司的AT89 系列產(chǎn)品; Fairchild(美國仙童)公司的F8 和3870系列產(chǎn)品;TI(美國得克薩斯儀器儀表)公司的TMS7000系列產(chǎn)品;NS(美國國家半導(dǎo)體)公司的NS8070系列產(chǎn)品;NEC(日本電氣)公司的UCOM87 (UPD7800)系列產(chǎn)品;National(日本松下)公司的MN6800系列產(chǎn)品;Hitachi(日本日立)公司的HD630l、HD63L05、HD6305。上述產(chǎn)品既有很多共性,又各具一定的特色,因而在國際市場上都占有一席之地。根據(jù)近年來國外實(shí)地考察,Int
14、el公司的單片機(jī)在市場上占有量為67,其中MCS51系列產(chǎn)品又占54。在我國雖然上述公司的產(chǎn)品均有引進(jìn),但由于各種原因,至今我國所應(yīng)用的單片機(jī)仍然是以MCS48、MCS51、MCS96系列為主流系列。隨著這一系列產(chǎn)品的深入開發(fā),其主流系列的地位將會不斷鞏固。 AT89系列單片機(jī)AT89系列單片機(jī)是美國Atmel公司的8位Flash單片機(jī)產(chǎn)品。這個系列單片機(jī)的最大特點(diǎn)是在片內(nèi)含有Flash存儲器,而其他方面和MCS51沒有太大的區(qū)別。該系列有著十分廣泛的用途,特別是在便攜式、省電和特殊信息保存的儀器和系統(tǒng)中顯得更為有用。 &
15、#160;1AT89系列單片機(jī)的特點(diǎn)(1) 內(nèi)含有Flash存儲器由于片內(nèi)含有Flash存儲器,因此在系統(tǒng)開發(fā)過程中可以十分容易地進(jìn)行程序的修改。同時,在系統(tǒng)工作過程中,能有效地保存數(shù)據(jù)信息,即使外界電源損壞也不影響信息的保存。(2) 和AT80C51插座兼容AT89系列單片機(jī)的引腳和MCS51系列單片機(jī)的引腳是一樣的。只要用相同引腳的AT89系列單片機(jī)就可以取代MCS5l系列單片機(jī)。(3) 靜態(tài)時鐘方式AT89系列單片機(jī)采用靜態(tài)時鐘方式,節(jié)省電能,這對于降低便攜式產(chǎn)品的功耗十分有用。2AT89系列單片機(jī)的概況AT89系列單片機(jī)共有7種型號,分別為從89C51、AT89LV51、AT89C52
16、、AT89LV52、AT89C2051、AT89C1051、AT89S8252。其中AT89LV51、AT89LV52分別是AT89C5l、AT89C52的低電壓產(chǎn)品。最低電壓可以低至27V。而AT89C2051、AT89C1051則是低檔型的低電壓產(chǎn)品。它們只有20條引腳最低電壓也為27V,見表1.3.21。 表1.1 1AT89 系列單片機(jī)概況 型 號AT89C51AT89C52AT89C1051AT89C2051AT89S8252Flash(KB)48128片內(nèi)RAM(B)12825664128256I/O
17、條3232151532定時器(個)23123中斷源(個)68368串行接口(個)11111M加密/級33223片內(nèi)振蕩器有有有有有EEPROM(KB)無無無無2 第2章 實(shí)驗板總體設(shè)計方案2.1 實(shí)驗板系統(tǒng)功能單片機(jī)實(shí)驗開發(fā)板是一個實(shí)際應(yīng)用的系統(tǒng),能夠為相關(guān)的學(xué)生單片機(jī)實(shí)驗提供支持。此實(shí)驗板是參考單片機(jī)教材中的實(shí)驗內(nèi)容設(shè)計的,能夠?qū)崿F(xiàn)簡單的測試實(shí)驗。本論文包括硬件系統(tǒng)的詳細(xì)設(shè)計及匯編語言在基本控制中的應(yīng)用。此實(shí)驗板設(shè)計的功能如下: 硬件部分:
18、1單片機(jī)所需的平穩(wěn)電壓2時鐘電路3復(fù)位電路44×4的16位矩陣鍵盤5液晶顯示器6單片機(jī)與上位機(jī)串行通信電路7I/O口擴(kuò)展電路 軟件部分:8鍵盤掃描與處理9顯示鍵盤輸入數(shù)據(jù)10調(diào)用并顯示顯示器字庫內(nèi)容11顯示單片機(jī)與上位機(jī)傳送的數(shù)據(jù)12實(shí)現(xiàn)單片機(jī)與上位機(jī)串行通信功能2.2 實(shí)驗板的性能要求 基于實(shí)驗板的功能定義(在2.1節(jié)中說明)和各種芯片的性能參數(shù),總結(jié)系統(tǒng)基本性能要求如下:1各芯片所需的+5V平穩(wěn)電壓2AT89C51單片機(jī)時鐘信號為12MHZ3AT89C51單片機(jī)手動復(fù)位電路4顯示器件
19、516位行列掃描鍵盤 6與上位機(jī)串行通信 7I/O口擴(kuò)展功能2.3 AT89C51 在實(shí)驗板中的應(yīng)用AT89C51是美國Ateml公司生產(chǎn)的低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4Kb的可反復(fù)擦寫的Flash只讀程序存儲器和128b的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用Ateml公司的高密度,非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS51指令系統(tǒng),片內(nèi)置通用中央處理器(CPU)和Flash存儲單元,功能強(qiáng)大AT89C51單片機(jī)可為您提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。AT89C51在此整個實(shí)驗
20、板系統(tǒng)中處于核心地位。硬件電路板設(shè)計中,幾乎其它所有的元器件的選取都要依據(jù)AT89C51的性能參數(shù)來決定。例如電源電路中基于AT89C51的工作電壓為+5V所以穩(wěn)壓芯片選擇7805系列。在軟件設(shè)計中,AT89C51 接收并處理鍵盤輸入的信號,將其發(fā)送給顯示器件,實(shí)現(xiàn)液晶顯示功能,或發(fā)送給PC機(jī) 實(shí)現(xiàn)串行通信功能。另一方面,它也接收上位機(jī)發(fā)送的數(shù)據(jù),處理后傳送給顯示器件 。 第3章 實(shí)驗板的硬件設(shè)計3. 1 硬件總體設(shè)計
21、 此設(shè)計的單片機(jī)實(shí)驗開發(fā)板是以AT89C51 作為主控制芯片,串口通信芯片MAX232,DB9插座,液晶顯示器,按鍵開關(guān)等元器件組成,通過軟硬件結(jié)合實(shí)現(xiàn)鍵盤掃描,液晶顯示,與上位機(jī)串行通信,I/O口擴(kuò)展功能.一方面,它能作為學(xué)生簡單實(shí)驗的工具,另一方面,它也是綜合型單片機(jī)系統(tǒng)設(shè)計的基礎(chǔ),可擴(kuò)展許多其它功能。 總體設(shè)計硬件方框圖如下所示: 外圍電路時鐘復(fù)位 AT89C51 單片機(jī)電源電路鍵盤電路顯示電路I/O口擴(kuò)展電路串行通信電路PC機(jī)3.1實(shí)驗板總體設(shè)計硬件方框圖 外圍電
22、路是AT89C51工作的基礎(chǔ)保障電源電路提供穩(wěn)定的+5V工作電壓;時鐘電路用于產(chǎn)生單片機(jī)工作所需的時鐘信號;復(fù)位電路使單片機(jī)實(shí)現(xiàn)初始化狀態(tài)復(fù)位。鍵盤電路用于向系統(tǒng)輸入運(yùn)行參數(shù),控制系統(tǒng)的運(yùn)行狀態(tài)。通過鍵盤掃描等程序設(shè)計把鍵盤輸入的數(shù)據(jù)在液晶顯示器上顯示或把數(shù)據(jù)發(fā)送到PC機(jī) 實(shí)現(xiàn)串行通信。LCD電路用來顯示鍵盤輸入的數(shù)據(jù),上位機(jī)發(fā)送到AT89C51的數(shù)據(jù),其功能也是靠硬件電路的設(shè)計和軟件程序的結(jié)合來實(shí)現(xiàn)的。串行通信電路主要是為了單片機(jī)與上位機(jī)之間數(shù)據(jù)傳送而設(shè)計的。3. 2 各功能模塊設(shè)計3.3.1 單片機(jī)外圍電路1時鐘電路時
23、鐘電路用于產(chǎn)生單片機(jī)工作所需的時鐘信號,時序是指令執(zhí)行中各信號之間的相互關(guān)系。單片機(jī)本身就如同一個復(fù)雜的同步時序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴(yán)格地按時序進(jìn)行工作。在AT89C51單片機(jī)內(nèi)部帶有時鐘電路,因此,只需要在片外通過XTAL1和XTAL2引腳接入定時控制元件(晶體振蕩器和電容),即可構(gòu)成一個穩(wěn)定的自激振蕩器。在AT89C51芯片內(nèi)部有一個高增益反相放大器,而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容。AT89C51的時鐘電路如圖3.2所示:圖3.2 AT89C51的時鐘電路 用晶振和電容構(gòu)成諧振電路。電容C1 、C2容量
24、在1540pF之間,大小與晶振頻率和工作電壓有關(guān)。但電容的大小影響振蕩器的穩(wěn)定性和起振的快速性,為了提高精度,本實(shí)驗板采用30pF的電容作為微調(diào)電容。在設(shè)計電路板時,晶振、電容等均應(yīng)盡可能靠近芯片,以減小分布電容,保證振蕩器振蕩的穩(wěn)定性。 2復(fù)位電路復(fù)位是單片機(jī)的初始化操作,其主要功能是使單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化以外,當(dāng)由于程序運(yùn)行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境也需按復(fù)位鍵以重新啟動。AT89C51 芯片內(nèi)部有復(fù)位電路,RST引腳是復(fù)位信號的輸入端高電平有效,復(fù)位方式有自動復(fù)位和手動復(fù)位兩種。本實(shí)驗板采用手動復(fù)位方式復(fù)位。AT89C
25、51的復(fù)位電路如圖3.3所示:圖3.3 AT89C51的復(fù)位電路當(dāng)電源剛開始送電瞬間,電容C11相當(dāng)于短路,RST端輸入高電平,AT89C51復(fù)位。短路瞬間之后,C11充電,RST端低電平。AT89C51需要復(fù)位時,按下手動復(fù)位鍵K1,電容C11通過R7放電,當(dāng)電容C11放電結(jié)束后,RST端的電位由R7,R8分壓比決定。因R7 (270歐)R8(8.2K歐),RST為高電平,AT89C51進(jìn)入復(fù)位狀態(tài),松手后,電容C11充電,RST端高電位下降,CPU脫離復(fù)位狀態(tài)。R7的作用在于限制K1按下瞬間電容C11放電電流,避免產(chǎn)生火花,以保護(hù)K1的觸點(diǎn)。發(fā)光二級管D2在無復(fù)位操作時燈暗。當(dāng)電源送電瞬間
26、和按下K1鍵時燈亮,表明AT89C51進(jìn)入復(fù)位狀態(tài),否則復(fù)位鍵操作無效,AT89C51未復(fù)位。3.2.2 4×4矩陣鍵盤電路鍵盤是人與AT89C51 聯(lián)系的重要手段,用于向CPU輸入運(yùn)行參數(shù),控制系統(tǒng)的運(yùn)行狀態(tài)。鍵盤電路形式分為直接編碼輸入鍵盤和矩陣鍵盤。前者接口電路簡單,一般應(yīng)用于需要少量按鍵的控制系統(tǒng)。后者因占用I/O引腳數(shù)少,常被按鍵較多的控制系統(tǒng)所采用。 鍵盤電路設(shè)計本實(shí)驗板基于用于學(xué)生實(shí)驗,為了減少鍵盤電路占用I/O引腳數(shù)目,將鍵盤電路設(shè)計為4×4矩陣鍵盤形式。其中行線作為輸入引腳與P1口的P1.3P1.0連接,并且外接430歐上拉電阻;列
27、線作為引腳與P1.7P1.4 連接。同時把列線經(jīng)過74LS21 與門電路處理與引腳P3.2即 INT0 外中斷0輸入端連接,CPU 采用中斷檢測方式。這樣避免了AT89C51 CPU常常處于空掃描狀態(tài),大大提高CPU的利用率。實(shí)驗板的鍵盤電路如圖3.4所示: 圖3.4實(shí)驗板的鍵盤電路 鍵盤掃描時,INT0口中斷觸發(fā),P1.3P1.0置為高電平,P1.7P1.4四條列掃描線輪流輸入低電平,然后讀P1.3P1.0, 如果沒有鍵按下,則P1.3P1.0引腳仍為高電平。如果某一按鍵被按下,相應(yīng)的P1.3P1.0中就有一引
28、腳為低電平。確定哪個鍵被按下后,CPU則執(zhí)行相應(yīng)程序。例如當(dāng)P1.7P1.4輸出為1110時,即P1.4引腳輸出低電平,如果輸入的P1.2 引腳為低電平,則肯定是P1.4列線與P1.2 行線交叉點(diǎn)對應(yīng)的按鍵被按下了。 按鍵抖動問題的解決按鍵按下或放開的瞬間,由于機(jī)械觸點(diǎn)存在彈跳現(xiàn)象,實(shí)際按鍵電壓波形如圖3.5所示,即機(jī)械按鍵按下和釋放瞬間存在抖動現(xiàn)象。AT89C51 CPU處理的速度是在微秒級,而機(jī)械抖動的時間至少是毫秒級,所以這種抖動現(xiàn)象必須消除,為了不增加硬件開支,此實(shí)驗板采用軟件延遲方式解決按鍵抖動問題
29、。(a)(b)按下按下抖動穩(wěn)定閉合釋放抖動理想的按鍵電壓波形實(shí)際按鍵電壓波形釋放 圖3.5按鍵電壓波形01ABC789D456E123 鍵盤按鍵編碼鍵盤按鍵編碼如圖3.6所示: 每個按鍵的具體實(shí)現(xiàn)功能由用戶根據(jù)需要在所編寫的程序中設(shè)定,圖中的按鍵編碼僅作參考。 圖3.6鍵盤按鍵編碼3.2.3 液晶顯示電路 顯示器件是實(shí)驗板中普遍使用的輸出器件,較常用的是LED數(shù)碼管和LC
30、D液晶顯示器。前者僅能顯示數(shù)據(jù)輸出,而后者能顯示更多,更復(fù)雜的字符,如漢字,甚至是圖形等。此實(shí)驗板采用MS12232B點(diǎn)陣液晶顯示器作為輸出顯示器件。實(shí)驗板液晶顯示電路如圖3.7所示:圖3.7實(shí)驗板液晶顯示電路 RST液晶顯示器復(fù)位引腳,低電平有效,與AT89C51 P2.4連接,系統(tǒng)中應(yīng)用軟件實(shí)現(xiàn)復(fù)位操作。E1、E2都是讀寫選通信號,分別與P2.3、P2.2 連接。R/W讀寫選擇信號與P2.1 連接。A0是數(shù)據(jù)顯示和指令數(shù)據(jù)選擇信號,與P2.0 連接
31、。D0D7是數(shù)據(jù)線,分別與P0.0P0.7連接,傳送CPU發(fā)送給顯示器的數(shù)據(jù),指令等。同時,P0.0P0.7連接270歐上拉電阻,起到限流作用。 MS12232B引腳特性: 管腳號管腳名稱LEVER管腳功能描述1VCC +35V電源電壓2VSS0V電源地3VLCD0+5V OR0-5V LCD外接驅(qū)動負(fù)電壓當(dāng)VDD=+3V時,VLCD接0-5V負(fù)電壓4RESH/L復(fù)位信號(低電平有效)5E1H/L讀寫使能信號6E2H/L讀寫使
32、能信號)7R/W H/L讀寫選擇信號8A0H/LD/I=“H”,表示DB7DB0為顯示數(shù)據(jù)D/I=“L”,表示DB7DB0為顯示指令數(shù)據(jù)9DB0H/L數(shù)據(jù)線10DB1H/L數(shù)據(jù)線11DB2H/L數(shù)據(jù)線12DB3H/L數(shù)據(jù)線13DB4H/L數(shù)據(jù)線14DB5H/L數(shù)據(jù)線15DB6H/L數(shù)據(jù)線16DB7H/L數(shù)據(jù)線17VLED+-LED(+5V)或EL背光源18VLED-LED(0V)或EL背光源 3.2.4 串行通信電路 AT89C51中的串行接口能方便地與其他計算機(jī)或串行傳送信息
33、的外圍設(shè)備實(shí)現(xiàn)雙機(jī),多機(jī)通信。此實(shí)驗板中僅設(shè)計與上位機(jī)實(shí)現(xiàn)數(shù)據(jù)傳送串行通信電路。RS-232C標(biāo)準(zhǔn)規(guī)定發(fā)送數(shù)據(jù)線TXD和接受數(shù)據(jù)線RXD均采用EIA電平,即傳送數(shù)字“1”時,傳輸線上的電平在 -3-15V之間;傳送數(shù)字“0”時,傳輸線上的電平在+3+15V之間。但單片機(jī)串行口采用正邏輯的TTL電平,這樣就存在TTL電平與EIA電平之間的轉(zhuǎn)換問題。因此實(shí)驗板中采用電平轉(zhuǎn)換芯片MAX232 與9芯D插座連接方式。與PC機(jī)串行通信電路如圖3.8所示: MAX232 電平轉(zhuǎn)換芯片實(shí)現(xiàn)電平轉(zhuǎn)換,僅需外加4個0.1uF的電容,即可實(shí)現(xiàn)TTL電平和RS-232 電平的互換。 在電路設(shè)計時,T1I
34、N,T2IN引腳中的一個與AT89C51 中的TXD(P3.1)引腳連接,接收CPU發(fā)送給PC機(jī)的數(shù)據(jù);T1OUT,T2OUT引腳中的一個與9芯D插座中的RXD(2)引腳連接,發(fā)送T1IN或T2IN引腳接收到的數(shù)據(jù)。R1IN,R2IN引腳中的一個與9芯D插座中的TXD(3)引腳連接,接收上位機(jī)發(fā)送給AT89C51 的數(shù)據(jù);R1OUT,R2OUT引腳中的一個與AT89C51 中的RXD(P3.0)引腳連接,發(fā)送R1IN或R2IN 引腳接收到的數(shù)據(jù)。需要注意的是在選擇TXXX,RXXX是要對應(yīng),例如選擇T1IN接收數(shù)據(jù),則另一端必須由T1OUT發(fā)送數(shù)據(jù)。RXXX也如此。否則AT89C51 與PC機(jī)
35、將不能實(shí)現(xiàn)通信功能。 圖3.8實(shí)驗板與上位機(jī)串行通信電路3.2.5 I/O口擴(kuò)展電路 實(shí)驗板中各功能模塊沒有涉及I/O口擴(kuò)展,硬件電路設(shè)計中僅增加了三個CON口分別與AT89C51 的P0口、P1口、P2口、P3口相連,將它們引出以便在用戶在其他實(shí)驗中擴(kuò)展。 實(shí)驗板I/O 口擴(kuò)展電路如圖3.9所示:圖3.9實(shí)驗板I/O口擴(kuò)展電路3.2.6 電源電路電源(Vcc)是整個實(shí)驗板正常工作的動力源泉。電源電壓過大會大大縮短芯片的工作壽命,嚴(yán)重的會燒毀芯片及其它元器件;過小將不能驅(qū)動實(shí)
36、驗板工作電路。因此設(shè)定合適的電源電壓值非常重要。此實(shí)驗板主要芯片工作電壓均位+5V左右,所以采用7805三端穩(wěn)壓 芯片將+12V整形為+5V直流給整個實(shí)驗板供電。實(shí)驗板的電源電路如圖3.10所示: 圖3.10實(shí)驗板的電源電路 C3 ,C4兩個電容接7805的Vin端對外電源輸入的電壓進(jìn)行濾波; C5,C6 兩個電容接7805的Vout端對整形后的電壓進(jìn)行濾波,確保Vcc端輸入+5V直流電壓。D1為光二級管,接通電源時,燈亮表示電源電路供電正常,否則電源電路出錯。 &
37、#160; 3.3 實(shí)驗板元器件清單驗板元器件清單見表3.3-1: 名 稱參 數(shù)封裝類型所屬模塊AT89C51DIP40LM7805CPKTO-220電源電路電源插頭VR-6電源電路電容C30.1uFRAD-0.2電源電路電容C410 uFRB-.2/.4電源電路電容C510uFRB-.2/.4電源電路電容C60.1uFRAD-0.2電源電路發(fā)光二級管D1RAD-0.3電源電路電阻R0430歐AXIAL-0.3電源電路
38、晶振XTAL12MHZXTAL-1時鐘電路電容C130pFRAD-0.1時鐘電路電容C230pFRAD-0.1時鐘電路按鍵K1SOP-4復(fù)位電路電容C1122uFRB-.2/.4復(fù)位電路電阻R7270歐AXIAL-0.3復(fù)位電路電阻R88.2KAXIAL-0.3復(fù)位電路發(fā)光二級管D1RAD-0.3復(fù)位電路按鍵116SOP-4鍵盤電路電阻R1R4430歐AXIAL-0.3鍵盤電路HD74LS21PDIP14鍵盤電路MS12232BSIP18顯示電路排阻270歐SIP9顯示電路MAX232DIP16串行通信電路9芯D插座DB-9RA/M串行通信電路電容C7C101uFRB-.2/.4串行通信電路表
39、3.3-1實(shí)驗板元器件清單第4章 實(shí)驗板的軟件設(shè)計4.1 軟件總體設(shè)計實(shí)驗板的軟件設(shè)計是在硬件電路板的基礎(chǔ)上,通過匯編程序來實(shí)現(xiàn)的。在仿真器上調(diào)試成功后,錄入AT89C51 中,以便實(shí)驗板調(diào)用。此設(shè)計過程中主要完成三個功能:鍵盤掃描,液晶顯示,與上位機(jī)串行通信。主要設(shè)計流程如圖4.1軟件總體設(shè)計流程圖: YYYYNNN開 始初始化調(diào)按鍵掃描有鍵按下? 顯示鍵?字庫鍵?串口鍵? 鍵?置標(biāo)志,轉(zhuǎn)鍵盤掃描程序置標(biāo)志,轉(zhuǎn)字庫顯示程序置標(biāo)志,轉(zhuǎn)串行通信程序結(jié) 束圖4.1系統(tǒng)流程圖4.2 各模塊設(shè)計流程圖4.2.1 鍵盤掃描子程序
40、60; 鍵盤掃描功能實(shí)現(xiàn)過程:當(dāng)鍵盤中數(shù)字鍵按下時,INTO引腳觸發(fā),CPU 掃描P1 口,接收并判別被按下的是否為數(shù)字鍵。若是則在內(nèi)部處理接收的數(shù)據(jù),并將其發(fā)送給P0口,在顯示器件中顯示。程序流程如圖4.2所示: NYNY開 始設(shè)置P1口保存鍵值確定編碼開中斷有鍵按下?調(diào)延遲程序數(shù)字鍵?CPU處理,顯示器顯示執(zhí)行相應(yīng)鍵操作
41、; 圖4.2鍵盤掃描程序流程圖 代碼: X_TIME DATA 2AHY_TIME DATA 2BHKEYNAME DATA 30HORG 0000HLJMP MAINORG 0013HLJMP
42、160; INT0 ORG 0100HMAIN:CLR IT0 低電平觸發(fā)SETB PX0SETB EX0 M
43、OV P1,#0FHSETB EAMOV SP,#5FH 鍵盤掃描程序PROC INT0INT0: PUSH PSW PUSH Acc SETB RS0 SETB RS0 LCALL DELAY10
44、0; 延遲10ms,等待按鍵穩(wěn)定閉合 MOV A,P1
45、160; 設(shè)置P1口 ANL A,#0FH 屏蔽高四位 XRL A,#0FH JZ
46、 INT0 如果P1.3-P1.0 為高,無效按鍵,退出 確定哪一鍵被按下 MOV R2,#11101111B &
47、#160; 從P1.4開始掃描,左移后依次掃描P1.5-P1.7 MOV R3,#00H 初始化掃描次數(shù)LOOP: MOV P1,
48、R2 掃描送P1口 MOV A,P1
49、; 讀P1口;分析P1.3-P1.0狀態(tài) CPL A
50、0; 取反 ANL A,#0FH 屏蔽高四位,A=01H,P1.0被按下;A=02H,P1.1 被按下
51、0; A=04H,P1.2被按下;A=08H,P1.3被按下;A=00H,對應(yīng)列無 &
52、#160; 按鍵,此外表示兩鍵同時
53、按下 JNB P,NEXT JNB Acc.0,K1 MOV R4,00H SJMP SETNOK1: JNB Acc.1,K2 MOV R4,#01H SJMP SETNOK2: JNB Acc.2,K
54、3 MOV R4,#02H SJMP SETNOK3: JNB Acc.3,NEXT MOV R4,#03HSETNO:;;計算按鍵值 MOV A,R3 RL A RL A
55、0; 掃描次數(shù)乘4 ADD A,R4
56、; 4*R3+R4=鍵值 MOV R4,A
57、60;保存鍵值 SJMP NOLOOPNEXT: INC R3 MOV A,R3 CLR C SUBB A,#04H JNC MAIN MOV A,R2 &
58、#160; RL A MOV R2,A LJMP LOOPNOLOOP: ;;等待按鍵釋放WAIT: MOV P1,#0FH MOV A,P1 ANL A,#0FH XRL A,#0FH
59、0; JNZ WAIT MOV A,R4 MOV DPTR,#KEY MOVC A,A+DPTR MOV KEYNAME,A SJMP RETURNRETURN: CLR IE0 &
60、#160; POP Acc POP PSW RETI SJMP JUDGEDELAY10: MOV X_TIME,#109D MOV Y_TIME,#250D PUSH PSW &
61、#160; CLR RS0 SETB RS1 MOV R7,Y_TIMEDLOOP1: MOV R6,X_TIMEDLOOP2: DJNZ R6,DLOOP2 DJNZ R7,DLOOP1 POP PSW &
62、#160; RETJUDGE:; 判斷按鍵編碼,轉(zhuǎn)去執(zhí)行相應(yīng)操作ORG 1000HKEY:DB 11H ; ENTERDB 12H ;EDB 14H ;DDB 18H ;CDB 21H ;3DB 22H ;6DB 24H
63、0; ;9DB 28H ;BDB 41H ;2DB 42H ;5DB 44H ;8DB 48H ;ADB 81H ;1DB 82H ;4DB 84H ;7DB 88H
64、0 4.2.2 液晶顯示子程序液晶顯示是指當(dāng)有顯示鍵按下時,顯示器件能夠顯示程序中事先編輯的數(shù)字,漢字,圖形。流程圖如4.3所示: 開 始顯示器復(fù)位關(guān)靜驅(qū)動設(shè)置波特率設(shè)置顯示順序設(shè)置列地址設(shè)置行地址調(diào)漢字編碼顯示漢字結(jié) 束
65、0; 圖4.3液晶顯示流程圖 代碼:ORG 0100HINITM: MOV A,#0E2H 復(fù)位 LCALL O
66、UTMI LCALL OUTSI MOV A, #0AEH 關(guān)顯示 LCALL OUTMI LC
67、ALL OUTSI MOV A, #0A4H 關(guān)主驅(qū)動 LCALL OUTMI LCALL OUTSI
68、60; MOV A, #0A9H 設(shè)置波特率LCALL OUTMILCALL OUTSIMOV A, #0A0H 設(shè)置輸出順序LCALL OUTMILCALL OUTSIMOV A, #0EEH
69、; 讀寫關(guān)閉LCALL OUTMILCALL OUTSIMOV A, #00H 設(shè)置列地址LCALL OUTMILCALL OUTSIMOV A, #0C0H
70、0; 設(shè)置行地址LCALL OUTMILCALL OUTSIMOV A, #0AFH ;開顯示LCALL OUTMILCALL OUTSI;DISPLAY漢字“兩只黃鸝鳴翠柳 一行白鷺上青天” INITMC:MOV DPTR,#CHINESE
71、; MOV R1 #00H MOV B,#B8HDISPWORDM:PUSH BMOV A,BLCALL OUTMILCALL OUTSTMOV A,#00HLCALL OUTMIMOV R2 #7AHDISPWORD1:MOV A,R1
72、 MOVC A,A+DPTRLCALL OUTMD INC DPTRDEC R2CJNE R2,#3DH,DISPWORD1MOV A,#00HLCALL OUTSTDISPWORD2:MOV A,R1&
73、#160; MOVC A,A+DPTRLCALL OUTSDINC DPTRDJNZ R2,DISPWORD2 MOV R1,#00HPOP BINC BMOV A,BCINZ A,#0BCH,DISPWORDMLCALL MS40LCALL MS40LCALL MS40LC
74、ALL MS40 AJMP INITM MS40: MOV R7,#0E8HMS2: MOV R6,#0FFHMS1: DJNA R6,MS1 DJNZ R7,MS2 RE
75、T ;OUT INSTRCTION TO MASTER 6450OUTMI:PUSH DPH PUSH DPL MOV DPTR,#6000H &
76、#160; MOVX DPTR,A POP DPL POP DPH RET ;OUT INSRCTION TO SLAVE 6450OUTSI:PUSH DPHPUSH DPLMOV DPTR,#5000HMOVX DPTR,APOP DPLPOP DPHRET
77、160;;OUT DATA TO MASTER 6450OUTMD:PUSH DPHPUSH DPLMOV DPTR,#0E000HMOVX DPTR,APOP DPLPOP DPHRET ;OUT DATA TO SLAVE 6450OUTSD:PUSH DPHPUSH DPLMOV DPTR,#0D000HMOVX DPTR,APOP DPLPOP DPHRET CHINESE
78、:;(PAGE0)DB 00H,00HDB 00H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,80H,0COH,80H,00DB 00,00,10H,88H,0C4H,23H,40H,42H,42H,42H,42H,42H,0C2H,43H,62H,40H,00DB 00,00,00,0F8H,08H,0CH,OAH,09H,08H,08H,08H,08H,08H,0FCH,08H,00,00DB 00,80H,0EEH,8AH,OFAH,0AAH,0AEH,80H,24H,0E3H,0B6H,0AAH,0B6H,0E2H,20H,20H,
79、00DB 00,00,00,00,00,00,00,00,0FFH,20H,20H,20H,30H,20H,00,00,00DB 00,40H,44H,54H,54H,54H,54H,54H,7FH,54H,54H,54H,54H,56H,44H,40H,00DB 00,40H,42H,42H,42H,42H,42H,42H,0FEH,42H,42H,42H,42H,43H,62H,40H,00DB 00;(PAGE1)DB 00,00DB 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00DB 00,02H,01H,00,0FFH,00,00
80、,00,00,00,40H,80H,7FH,00,00,00,00DB 00,00,00,7FH,21H,21H,21H,21H,21H,21H,21H,21H,21H,7FH,00,00,00DB 00,00,40H,40H,5H,52H,53H,56H,5AH,52H,5AH,56H,90H,90H,78H,10H,00DB 00,40H,40H,40H,40H,40H,40H,40H,7FH,40H,40H,40H,40H,40H,60H,40H,00DB 00,00,00,00,0FFH,15H,15H,15H,15H,15H,55H,95H,7FH,00,00,00,00DB 00,
81、80H,80H,40H,20H,10H.0CH,03H,00,03H,0CH,10H,20H,40H,0C0H,40H,00DB 00;(PAGE2)DB 00,00DB 00,02H,02H,0F2H,12H,12H,0FEH,12H,12H,12H,0FEH,12H,12H,0F2H,03H,02H,00DB 00,00,00,00,0FCH,04H,04H,04H,04H,04H,04H,04H,0FEH,04H,00,00,00DB 00,20H,20H,24H,24H,24H,3FH,24H,0E4H,24H,3FH,24H,24H,24H,30H,20H,00DB 00,04H,0
82、E4H,24H,0E4H,04H,0E4H,26H,0E4H,00,0FCH,06H,55H,84H,7CH,00,00DB 00,00,0FCH,04H,04H,0FCH,04H,00,0FCH,06H,15H,44H,84H,7EH,04H,00,00DB 00,00,40H,41H,55H,0C9H,41H,5FH,60H,41H,55H,0C9H,41H,5FH,40H,00,00DB 00,10H,0D0H,0FFH,90H,10H,0FEH,02H,02H,0F9H,00,0FEH,02H,02H,0FFH,02H,00DB 00;(PAGE3)DB 00,00DB 00,00,0
83、0,0FFH,08H,04H,03H,14H,08H,04H,03H,44H,98H,7FH,00,00,00DB 00,00,80H,40H,23H,11H,19H,01H,01H,01H,09H,11H,23H,60H,0C0H,00,00DB 00,00,80H,80H,5FH,55H,35H,15H,1FH,15H,35H,35H,5FH,40H,80H,00,00DB 00,00,7FH,02H,7FH,00,7FH,02H,7FH,10H,13H,12H,1AH,52H,82H,7EH,00DB 00,00,OFH,04H,04H,0FH,10H,10H,13H,12H,12H,1AH,52H,82,7FH,02H,00DB 00,08H,08H,0AH,09H,08H,09H,0AH,0FCH,0AH,09H
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三七灰土回填合同范本
- 知識產(chǎn)權(quán)交易的商業(yè)模式創(chuàng)新探討
- 生態(tài)農(nóng)業(yè)與環(huán)境科學(xué)在可持續(xù)發(fā)展中的研究進(jìn)展
- 汽車裝潢對公合同范本
- 2024年XX區(qū)人大代表述職報告
- 學(xué)員轉(zhuǎn)讓課程合同范本
- 企業(yè)合同范本目錄
- 科技企業(yè)如何實(shí)施有效的電力需求側(cè)管理
- 企業(yè)商品訂貨合同范本
- 2025至2030年中國離心管架數(shù)據(jù)監(jiān)測研究報告
- 學(xué)技能如何打逃生繩結(jié)固定繩結(jié)
- 自驅(qū)型成長:如何培養(yǎng)孩子的自律力
- 特殊教育:康復(fù)訓(xùn)練課程標(biāo)準(zhǔn)(年版)
- DCMM理論知識考試試題及答案
- 談心談話記錄100條范文(6篇)
- 中學(xué)生心理輔導(dǎo)-第一章-緒論
- 工業(yè)品買賣合同(樣表)
- 《教育學(xué)原理》馬工程教材第二章教育與社會發(fā)展
- 《常見疾病康復(fù)》期中考試試卷含答案
- 地球使用者地樸門設(shè)計手冊
- 歐洲電力市場深度報告:歐洲電力市場供需格局和電價分析
評論
0/150
提交評論