基于的電子時鐘設(shè)計匯編語音_第1頁
基于的電子時鐘設(shè)計匯編語音_第2頁
基于的電子時鐘設(shè)計匯編語音_第3頁
基于的電子時鐘設(shè)計匯編語音_第4頁
基于的電子時鐘設(shè)計匯編語音_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 目 錄摘要 1Abstract1第一章 電子鐘設(shè)計總體方案設(shè)計21.1 設(shè)計目的21.2 設(shè)計要求21.3 方案比較21.3.1 非中斷方式與中斷方式的比較 21.3.2 LED顯示與液晶顯的比較 31.4 總體方案設(shè)計思路3第二章 系統(tǒng)硬件設(shè)計42.1 8255與CPU之間的連接關(guān)系 42.2 8253與周邊電路的連接關(guān)系42.3 8259與周邊電路連接關(guān)系52.4 液晶顯示模塊與8255之間的連線關(guān)系 52.5 地址譯碼器與按鍵62.6 系統(tǒng)總體硬件電路圖6第三章 系統(tǒng)軟件設(shè)計73.1 編址及控制字的確定73.1.1 編址 73.1.2 控制字 73.2 分塊子程序73.2.1 1602

2、讀寫操作子程序 7中斷子程序93.3 主程序設(shè)計11總結(jié)與致謝: 13參考文獻: 14附錄: 15摘要本設(shè)計以微機原理與接口技術(shù)為基礎(chǔ),以8086CPU為核心,利用INTER 8253可編程定時/計數(shù)器,通過引入時鐘發(fā)生器產(chǎn)生標準時鐘進行精準定時;經(jīng)定時器產(chǎn)生中斷源,采用可編程中斷控制器8259A進行中斷擴展,用可屏蔽中斷方式進行時間的采集;以可編程并行I/O接口芯片8255A擴展接口,驅(qū)動MSC1602液晶模塊進行時間顯示。第一章 電子鐘設(shè)計總體方案設(shè)計1.1 設(shè)計目的電子鐘是一種基于微電子技術(shù)實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更長的使用壽

3、命,因此得到了廣泛的使用。通過該題目的設(shè)計和分析,學習微機軟、硬件系統(tǒng)設(shè)計開發(fā)的過程,加深微機原理及其應(yīng)用課程基礎(chǔ)知識的理解和綜合運用能力,熟悉集成電路芯片的使用方法,熟悉微機編程及接口電路,學會體會工程實際設(shè)計過程,培養(yǎng)學生獨立解決實際工程問題的綜合能力。初步得到用匯編語言書寫程序的訓練,全面培養(yǎng)程序設(shè)計的分析、設(shè)計、編測試及文檔規(guī)范書寫的能力,得到運用匯編語言的綜合訓練,提高解決實際問題的能力。1.2 設(shè)計任務(wù)通過該題目的設(shè)計過程,可以初步掌握匯編語言的運用、軟件開發(fā)方法并提高解決實際問題的綜合能力。電子時鐘實際是一個多重的定時技術(shù)系統(tǒng)。對于秒、分技術(shù)系統(tǒng),逢60進1,即當秒計數(shù)到60時,

4、秒計數(shù)器向分計數(shù)器輸入一個計數(shù)脈沖;而當分計數(shù)器計數(shù)到60時,向小時計數(shù)器輸入一個計數(shù)脈沖。當小時計數(shù)器逢24進1.把秒計數(shù)器、分計數(shù)器和小時計數(shù)器的內(nèi)容通過七段數(shù)碼管或其他芯片顯示出來,就完成了時間信息的輸出。本課程設(shè)計要求利用8086系統(tǒng)模擬電子時鐘結(jié)構(gòu),完成以下設(shè)計任務(wù):1、時間初值輸入:利用鍵盤輸入時間初值;2、電子鐘計數(shù):電子鐘通過計數(shù)器自動計數(shù),實現(xiàn)時間的自動更新;3、時間顯示:可選用LED七段數(shù)碼管輸出時間,顯示給用戶;4、程序采用匯編語言在PC機上完成;5、完成復核學習要求的設(shè)計計算說明書。1.3 設(shè)計要求 1、利用Intel 8086 CPU 及其相應(yīng)的外圍擴展電路及其接口電

5、路,設(shè)計系統(tǒng)硬件原理圖,并繪制于2號工程圖紙。2、給出程序的設(shè)計思路,設(shè)計系統(tǒng)軟件流程框圖,并繪制于2號工程圖紙。3、完成設(shè)計計算說明書。1.3 方案比較為實現(xiàn)設(shè)計要求,在8086微機系統(tǒng)中實現(xiàn)計時功能可有多種方式,同時實現(xiàn)顯示的方式也有多種,現(xiàn)主要比較計時方式中的中斷與非中斷方式,及顯示常用的LED顯示與液晶顯示。1.3.1 非中斷方式與中斷方式的比較在非中斷方式設(shè)計常使用的方式為查詢法,查詢法的設(shè)計,可將定時/計數(shù)器8253的OUT引腳接至并行I/O擴展芯片8255的PA,PB,PC的任一口上,CPU通過不斷的檢測該引腳上的高低電平變化,來進行計數(shù)。該方式的優(yōu)點:實現(xiàn)思路相對簡單;由于不要

6、引入中斷則可不用中斷擴展芯片8259電路相對簡單;該方式的缺點:由于CPU要不斷的去檢測單一引腳高低電平的變化,占用的時間比較長,利用率較低;與此同時,CPU要進行數(shù)據(jù)的運算與控制數(shù)據(jù)的傳輸,如果二者沖突,可能會發(fā)生計時不準的現(xiàn)象。中斷方式的設(shè)計思路,將定時/計數(shù)器8253的OUT腳接至中斷擴展芯片8259的IR引腳上,定時器產(chǎn)生相同頻率的計數(shù)脈沖,形成中斷源。8259再通過INTR引腳向CPU發(fā)出中斷請求信號,CPU通過中斷檢測進行計數(shù)/計時。該方式的主要缺點:由于芯片8259的引進,使電路相對復雜;該方式的主要優(yōu)點是:用中斷的方式可以大大提高CPU的利用效率,同時可以在該系統(tǒng)上進行更多功能

7、的擴展,同時用中斷的方式進行計數(shù)/計時,計時更加的準確可靠。基于以上的考慮本設(shè)計,采用電路稍微復雜,但可靠性強,利用效率高的中斷方式。1.3.2 LED顯示與液晶顯的比較為完成本設(shè)計的要求,若采用LED則需6塊以上,可以采用二片8255來驅(qū)動動這六片LED進行靜態(tài)顯示。也可以采用動態(tài)掃描的方式,用一片8255加鎖存器(如74LS573)來進行動態(tài)顯示。若采用液晶顯示,則只需用一片8255芯片進行接口的擴展(具體擴展方案將在下面進行介紹),可以得到較為滿意的顯示效果,但操作的技巧性要求相對較高,成本相對較高。不論從硬件電路驅(qū)動的復雜性,還是從軟件設(shè)計的簡潔性及整個系統(tǒng)的外觀來看,時尚的液晶顯示更

8、能滿足系統(tǒng)的需求。鑒于以上考慮,本次設(shè)計采用操作要求相對較高的液晶進行數(shù)碼顯示。1.4 總體方案設(shè)計思路本方按主要設(shè)計思路如右下圖所示:以8086CPU最小系統(tǒng)為核心,控制可編程定時/計數(shù)器INTER 8253,可編程中斷控制器8259A,可編程并行I/O接口芯片8255A。通過8253的輸出記數(shù)脈沖為8259產(chǎn)生中斷源,8259將中斷信號反饋到CPU,從而產(chǎn)生可屏蔽中斷的申請信號,在CPU的合理響應(yīng)下進行計數(shù),通過8255驅(qū)動16*2的液晶顯示模塊LCM1602進行時間顯示。8086CPU8255825982531602驅(qū)動產(chǎn)生中斷控制中斷源控制控制 第二章 系統(tǒng)硬件設(shè)計在本章中,將分模塊對

9、本次設(shè)計的硬件設(shè)計進行簡述,分塊介紹系統(tǒng)的主要功能及連線方式。2.1 8255與CPU之間的連接關(guān)系 通過CPU與8255的讀寫控制線對接,有效的控制接口芯片的輸入輸出狀態(tài),用第11和12根地址線再加上2-4譯碼器的的Y0腳接8255片選,為8255的A,B,C及控制口分配了可靠的地址。將8086的低八位數(shù)據(jù)線與8255數(shù)據(jù)端對接,為8255的輸入輸出提供數(shù)據(jù)。由于為芯片提供的都是偶地址,系統(tǒng)默認訪問低八位的數(shù)據(jù)線。具體連線圖見右圖:2.2 8253與周邊電路的連接關(guān)系在系統(tǒng)中定時/計數(shù)芯片8253主要與CPU及中斷擴展芯片8259之間存在著連接關(guān)系。同8255,8253的讀寫控制線與CPU的

10、讀寫控制線對接,正確控制CPU對8253的讀寫控制(本次設(shè)計只用到了CPU往8253中寫入數(shù)據(jù),沒用到讀出狀態(tài)的功能),第2和3位數(shù)據(jù)/地址復用線加上譯碼器的Y1端為8253的定時器0,1,2及控制口確定了可靠的地址(僅用到T0及控制地址),CPU低八位數(shù)據(jù)線為控制8253提供數(shù)據(jù)。通過CLK0端引入時鐘發(fā)生器所產(chǎn)生的標準時鐘(本設(shè)計采用10KHZ的外部時鐘),將OUT0接至8259的IR0引腳上,作為中斷源。具體電路如上示:2.3 8259與周邊電路連接關(guān)系為了對8259進行合理分配奇、偶地址,從CPU引入了第A13作為地址線,再加上譯碼器的Y2端作為片選信號,8259獲得了兩個可靠的地址。

11、同8255與8253相似8086同樣靠低八位的數(shù)據(jù)線,與8259進行數(shù)據(jù)交換。IR0為8253的計數(shù)輸出端,8259通過檢測IR一組引腳的輸入情況,經(jīng)過中斷判優(yōu)以后,對當前優(yōu)先級最高的中斷進行響應(yīng),同時向CPU發(fā)送INTR信號請求中斷,在可屏蔽中斷允許的情況下CPU對其進行響應(yīng),返回INTA非的信號,8259此時發(fā)出當中斷的中斷類型號給8086。程序跳到中斷子程序的入口地址處去執(zhí)行中斷操作。具體電路連線如右圖所示:2.4 液晶顯示模塊與8255之間的連線關(guān)系液晶顯示模塊1602的數(shù)據(jù)線接在8255的A口上,通過對A口進行讀寫操作,為顯示模塊提供控制指令及顯示數(shù)據(jù)。8255的PC0和PC1分別接

12、1602的RS(指令/數(shù)據(jù)控制腳)和EN(使能腳)上,控制指令/數(shù)據(jù)的輸入。其它引腳按典型接法接線,要說明的是,本次對1602只進行了寫的操作,故將讀寫控制腳接低電平。通過延時的方式來解決1602讀寫操作忙的問題(具體時序見第三章 系統(tǒng)軟件設(shè)計)。連線圖如右示:2.5 地址譯碼器與按鍵在本次設(shè)計中,由于有多片芯片要進行地址編碼,使用了一片2-4譯碼器74LS139進行譯碼,使地址編碼更加的方便。使用的CPU地址端口為第9和10號地址線,輸出的Y0,Y1,Y2分別接8255,8253,8259。由于設(shè)計要求,在本設(shè)計中進行了按鍵設(shè)計,其電路簡單,當K未按下時輸出為高電平,當K按下時輸入給8255

13、PB0口一個低電平,系統(tǒng)通過檢測這一引腳是否為低電平來判斷系統(tǒng)是否開始從當前時間開始計時。具體設(shè)計電路圖見2.6總體硬件電路圖。2.6 系統(tǒng)總體硬件電路圖第三章 系統(tǒng)軟件設(shè)計3.1 編址及控制字的確定3.1.1 編址按照第二章硬件設(shè)計電路中,CPU對8253,8255,8259進行的地址分配地址(僅為在編程過程過要使用的地址進行編制),本設(shè)計所用編址無用位均置0;8253 定時器0的地址:0200H;控制口:020CH8255 A口地址:0;B口地址:0800H; C口地址:1000H;控制口:1800H8259 奇地址:2400H; 3.1.2 控制字根據(jù)系統(tǒng)的需要,合理選擇各芯片的工作方式

14、。8253:選取定時器0,采用先寫高八拉后寫低八的初值寫入方式,工作方式3方波發(fā)生器,采取二進制的方式輸入初值,從而CW00110110B36H8255:分別選取A,C口為輸出端口,B口為輸入端口均采用工作方式0簡單的輸入/輸出方式,故工作方式控制字為;10000010B82H;同時要對PC0和PC1進行復位和置位操作,其復位/置位控制字分別為:PCO復位/置位控制字為:0/01H;PC1口的置位/復位控制字:02H/03H8259:本設(shè)計中只有一片8259無從片,故無須寫入ICW3,不需要寫ICW4采用上升沿觸發(fā)的方式可得:ICW100010010H12H;使用60H號中斷故ICW260H3

15、.2 分塊子程序3.2.1 1602讀寫操作子程序如右圖所示,為1602液晶顯示的寫時序圖:1602的寫操作通過不同的時序進行控制,可分為寫指令操作(子程序WRITECOM)和寫數(shù)據(jù)(子程序WRITEDATA)。寫指令的時序為,先拉低RS小延時(約0.5ms)后將EN拉低,小延時后拉高電平輸入指令到液晶,然后拉低EN;寫數(shù)據(jù)的操作時序與之基本類似,只是先拉低指令/數(shù)據(jù)控制信號RS,然后拉低EN。最體子程序代碼如下示:WRITE_COM PROC FAR;1602寫指令子程序PUSH AX;將AX壓入堆棧PUSH CX;MOV DX,1800H;MOV AL,1;OUT DX,AL;將PC0即R

16、S拉為高電平MOV AL,2;將PC1即EN拉為低電平OUT DX,AL;MOV DX,0;從A口輸出數(shù)據(jù)POP AX;OUT DX,AL;CALL DELAY;短暫延時MOV AL,3;將EN拉高讓數(shù)據(jù)寫入液晶MOV DX,1800H;OUT DX,AL;CALL DELAY;MOV AL,2;拉低EN;OUT DX,AL;POP CX;POP AX;RET;WRITE_COM ENDPWRITE_DATA PROC FAR;1602寫數(shù)據(jù)子程序PUSH AX;將AX壓入堆棧PUSH CX;MOV DX,1800H;MOV AL,0;OUT DX,AL;將PC0即RS拉為低電平MOV AL,

17、2;將PC1即EN拉為低電平OUT DX,AL;MOV DX,0;從A口輸出數(shù)據(jù)POP AX;OUT DX,AL;CALL DELAY;短暫延時MOV AL,3;將EN拉高讓數(shù)據(jù)寫入液晶MOV DX,1800H;OUT DX,AL;CALL DELAY;MOV AL,2;拉低EN;OUT DX,AL;POP CX;POP AX;RET;WRITE_DATAENDP3.2.2中斷子程序中斷開始保護現(xiàn)場恢復中斷現(xiàn)場秒加1并輸出秒60秒清0分加1并輸出分60分清0時加1并輸出時24時清0恢復現(xiàn)場并開中斷中斷返回保護中斷現(xiàn)場NNNYYY中斷子程序的設(shè)計流程圖如右示,進入中斷后先保護現(xiàn)場(將寄存器CX,

18、AX,DX及標志寄存器中的內(nèi)容壓入堆棧中),然后恢復中斷現(xiàn)場(分別將秒時分計數(shù)寄存器BX,SI,DI的數(shù)值進行恢復繼續(xù)計數(shù))然后進行時鐘的操作,最后要保護中斷現(xiàn)場,即將時分計數(shù)寄存器BX,SI,DI的當前數(shù)值進行壓棧操作進行保護方便下一次的計數(shù),接著要進行現(xiàn)場的恢復(對寄存器CX,AX,DX及標志寄存器進行彈棧操作,并進行開啟中斷方便下一次中斷的到來)。具體子程序設(shè)計如下:TIMER PROC FARPUSH CX;保護現(xiàn)場PUSH AX;PUSH DX;PUSHF;POP BX;恢復秒計數(shù)寄存器POP SI;恢復分計數(shù)寄存器POP DI;恢復時計數(shù)寄存器INC BX; 秒加一操作MOV AL

19、,80H+40H+0AH;寫指令給1602進行輸出定位CALL WRITE_COMMOV AX,BX;AAD;BCD碼調(diào)整指令MOV CX,10;DIV CX; AX除以10得當前秒的十位和個位CALL WRITE_DATA ;寫入秒十位MOV AL,AH;CALL WRITE_DATA;寫入秒個位CMP BX,60;比較是否到了60JNZ EXIT; 不是60跳到EXIT的位置MOV BX,0;秒清0INC SI;分加1MOV AL,80H+40H+08H;寫指令給1602進行輸出定位CALL WRITE_COMMOV AX,SI;AAD;BCD碼調(diào)整指令MOV CX,10;DIV CX;

20、AX除以10得當前分的十位和個位CALL WRITE_DATA ;寫入分的十位MOV AL,AH;CALL WRITE_DATA;寫入分的個位CMP SI,60;檢測分是否到60JNZ EXIT;不是60跳轉(zhuǎn)到EXIT處MOV SI,0;分清0INC DI;時加1MOV AL,80H+40H+05H;寫指令給1602進行輸出定位CALL WRITE_COMMOV AX,DI;AAD;BCD碼調(diào)整指令MOV CX,10;DIV CX; AX除以10得當前時的十位和個位CALL WRITE_DATA;寫入時的十位MOV AL,AH;CALL WRITE_DATA;寫入時的個位CMP DI,24;檢

21、測時是否為24JNZ EXIT;跳到公共點EXITMOV SI,0;時清零EXIT:PUSH DI; 保護中斷現(xiàn)場 PUSH SI; PUSH BX;POP DX;恢復現(xiàn)場 POP AX; POP CX; STI;開啟中斷 IRET;中斷返回TIMER ENDP3.3 主程序設(shè)計主程序的主要功能是:1. 完成各主要芯片的初始化;2. 完成液晶顯示模塊的初始化;開始8255初始化8253初始化8259初始化1602初始化檢測K0等待中斷NY3. 檢測開關(guān)按鍵是否按下;4. 實時檢測有無可屏蔽中斷其主要流程如右圖所示:具體設(shè)計代碼如下:START: MOV AX,DATAS MOV DS,AX M

22、OV AL,82H;8255初始化MOV DX,1800HOUT DX,AL;MOV AL,36H;8253初始化MOV DX,020CH;OUT DX,AL;MOV AL,27H;MOV DX,0200HOUT DX,AL;MOV AL,10H;OUT DX,AL;MOV AL,12H;8259初始化MOV DX,0204H;OUT DX,AL;MOV AL,60H;OUT DX,AL;MOV AL,60H;將TIMER對應(yīng)的60號中斷寫入中斷向量表,本設(shè)計采用DOS功能調(diào)用法寫入MOV AH,25H;MOV CX,SEG TIMER;MOV DS,CX;MOV DX,OFFSET TIME

23、R;INT 21H;MOV AL,38H;設(shè)置1602為16*2行 5*7點陣CALL WRITE_COM;MOV AL,0BH;開顯示,不顯示光標,光標不閃爍CALL WRITE_COM;MOV AL,06H;指針自動加一,整屏不移動CALL WRITE_COM;MOV AL,1;清屏指令CALL WRITE_COM;MOV AL,80H+40H+05H;在1602的第二行第5個位置寫入數(shù)據(jù),正好在1602的正中位置CALL WRITE_COM;MOV CX,8;MOV SI,-1;AA1:INC SI;將BUF里邊的內(nèi)容寫入1602,其初始化完成MOV AL,BUFSI;CALL WRIT

24、E_DATA;LOOP AA1;MOV BX,0;MOV SI,0;MOV DI,0;AA2:MOV DX,0800H;檢測按鍵K是否按下IN AL,DX;TEST AL,1;JNZ AA2 ;不為0表明K未按下跳轉(zhuǎn) STI ;開中斷JMP $;等待中斷總結(jié)經(jīng)過一周的微機原理及應(yīng)用課程設(shè)計,深化了我對微機原理及其接口技術(shù)的理解與認識。在接到課到課題以后我先對設(shè)計的要求進行了分析,通過方案的比校最終確定了所要使用的芯片,然后開始利用PROTEL 99進行硬件設(shè)計,在硬件設(shè)計完成后開始著手程序的設(shè)計,并成功運行原代碼的書寫,最后完成了文檔的制作。在這一周的實習時間內(nèi)讓我受益良多,不僅讓我平時所學的

25、內(nèi)容在本次設(shè)計中得到了應(yīng)用,也讓我更熟悉了各主要芯片的工作方式,同時通過文檔的制作也讓我在文檔的制作上有了一定的進步,這將為我以后的畢業(yè)設(shè)計和以后的工作奠定良好的基礎(chǔ)。在此首先要感謝我的課程設(shè)計指導老師王南蘭老師,她在設(shè)計之前對設(shè)計的要求與實現(xiàn)方式進行了詳細的說明,為我的設(shè)計方案提供了思路;也為我們的文檔設(shè)計提供了模板,讓我在文檔制作時更具有方向性和標準性。其次要感謝的是我的微機原理及接口技術(shù)的任課老師張曉虎老師,他在這一學期內(nèi)教會了我程序設(shè)計的方法及對各主要芯片應(yīng)用與控制,也教會了我一個完整的去做一個課題設(shè)計的步驟。再次向兩位老師表示衷心的感謝!但是,這次的實習唯一感到遺憾的是,由于實驗器材

26、的限制,也無法做出直觀可見的仿真結(jié)果,所以這次的設(shè)計僅是基于理想化的設(shè)計。附錄:源程序代碼:DATAS SEGMENT BUF DB 00:00:00,$;此處輸入數(shù)據(jù)段代碼 DATAS ENDSSTACKS SEGMENT ;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX MOV AL,82H;8255初始化MOV DX,1800HOUT DX,AL;MOV AL,36H;8253初始化MOV DX,020CH;OUT DX,AL;MOV AL,

27、27H;MOV DX,0200HOUT DX,AL;MOV AL,10H;OUT DX,AL;MOV AL,12H;8259初始化MOV DX,0204H;OUT DX,AL;MOV AL,60H;OUT DX,AL;MOV AL,60H;將TIMER對應(yīng)的60號中斷寫入中斷向量表,本設(shè)計采用DOS功能調(diào)用法寫入MOV AH,25H;MOV CX,SEG TIMER;MOV DS,CX;MOV DX,OFFSET TIMER;INT 21H;MOV AL,38H;設(shè)置1602為16*2行 5*7點陣CALL WRITE_COM;MOV AL,0BH;開顯示,不顯示光標,光標不閃爍CALL WR

28、ITE_COM;MOV AL,06H;指針自動加一,整屏不移動CALL WRITE_COM;MOV AL,1;清屏指令CALL WRITE_COM;MOV AL,80H+40H+05H;在1602的第二行第5個位置寫入數(shù)據(jù),正好在1602的正中位置CALL WRITE_COM;MOV CX,8;MOV SI,-1;AA1:INC SI;將BUF里邊的內(nèi)容寫入1602,其初始化完成MOV AL,BUFSI;CALL WRITE_DATA;LOOP AA1;MOV BX,0;MOV SI,0;MOV DI,0;AA2:MOV DX,0800H;檢測按鍵K是否按下IN AL,DX;TEST AL,1

29、;JNZ AA2 ;不為0表明K未按下跳轉(zhuǎn) STI ;開中斷JMP $;等待中斷 DELAY PROC FARPUSH CX;AA3:MOV CX,50LOOP AA3;POP CX;RETDELAYENDPWRITE_COM PROC FAR;1602寫指令子程序PUSH AX;將AX壓入堆棧PUSH CX;MOV DX,1800H;MOV AL,1;OUT DX,AL;將PC0即RS拉為高電平MOV AL,2;將PC1即EN拉為低電平OUT DX,AL;MOV DX,0;從A口輸出數(shù)據(jù)POP AX;OUT DX,AL;CALL DELAY;短暫延時MOV AL,3;將EN拉高讓數(shù)據(jù)寫入液晶MOV DX,1800H;OUT DX,AL;CALL DELAY;MOV AL,2;拉低EN;OUT DX,AL;POP CX;POP AX;RET;WRITE_COM ENDPWRITE_DATA PROC FAR;1602寫指令子程序PUSH AX;將AX壓入堆棧PUSH CX;MOV DX,1800H;MOV AL,0;OUT DX,AL;將PC0即RS拉為低電平MOV AL,2;將PC1即EN拉為低電平OUT DX,AL;MOV DX,0;從A口輸出數(shù)據(jù)POP AX;OUT DX,AL;CALL DELAY;短

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論