版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第頁實(shí)驗(yàn)九8255掃描鍵盤、顯示實(shí)驗(yàn)
一.實(shí)驗(yàn)要求
利用8255可編程并行口做一個(gè)掃描鍵盤實(shí)驗(yàn),把按鍵輸入的鍵碼,顯示在由8279控制的七段數(shù)碼管上。8255PA口做鍵盤輸入線,PB口作掃描線。
二.實(shí)驗(yàn)?zāi)康?/p>
1.掌握8255編程方法。
2.掌握掃描鍵盤和顯示的編程方法。
三.實(shí)驗(yàn)電路及連線
CS8255接8500H,則命令字地址為8506H,PA口地址為8500H,PB口地址為8502H,PC口地址為8504H。
CS8279接8700H,則8279的狀態(tài)口地址為8701H;8279的數(shù)據(jù)口地址為8700H;
模塊中的十個(gè)短路套都套在8255側(cè)。
四.實(shí)驗(yàn)說明
在PA口及PB口組成的64點(diǎn)陣列上,把按鍵接在不同的點(diǎn)上,將得到不同的鍵碼,本實(shí)驗(yàn)采用8×2的陣列,共可按16個(gè)鍵。顯示部分由8279控制,由7407驅(qū)動(dòng)8位數(shù)碼管顯示。
五.實(shí)驗(yàn)程序框圖
主程序框圖
讀鍵顯示部分框圖
六.實(shí)驗(yàn)程序:
D8255EQU8506H;8255狀態(tài)/數(shù)據(jù)口地址
D8255AEQU8500H;8255PA口地址
D8255BEQU8502H;8255PB口地址
Z8279EQU8701H;8279狀態(tài)口地址
D8279EQU8700H;8279數(shù)據(jù)口地址
DISPTREQU08H;當(dāng)前顯示位置
KEYVALEQU09H;讀到的鍵碼
ORG0000H
LJMPSTART
ORG0040H
START:
MOVSP,#60H
LCALLDELAY;延時(shí)
MOVDISPTR,#30H;顯示緩沖區(qū)頭指針
MOVDPTR,#D8255
MOVA,#90H;置8255狀態(tài)
;方式0,PB,PC口輸出,PA口輸入
MOVX@DPTR,A
MOVDPTR,#Z8279;置8279命令字
MOVA,#0D3H
MOVX@DPTR,A;清LED顯示
MOVA,#00H
MOVX@DPTR,A
MOVA,#38H
MOVX@DPTR,A
MOVA,#0D1H
KB_DIS:
LCALLRD_KB;讀鍵盤
MOVA,#0FFH
CJNEA,KEYVAL,DISBUF;判讀到鍵
SJMPKB_DIS;沒有則繼續(xù)讀鍵
DISBUF:
LCALLDISP;把鍵移入顯存
LCALLDELAY;延時(shí)消抖
LCALLDELAY
SJMPKB_DIS
DISP:;顯存依次前移
MOVR1,#31H;在最后加入新鍵值
MOVE:
MOVA,@R1
DECR1
MOV@R1,A
INCR1
INCR1
CJNER1,#38H,MOVE
MOV37H,KEYVAL
MOVKEYVAL,#0FFH
MOVDPTR,#Z8279
MOVA,#90H
MOVX@DPTR,A
MOVR0,#08H
MOVR1,#30H
MOVDPTR,#D8279
LP:MOVA,@R1
MOVX@DPTR,A
INCR1
DJNZR0,LP
RET
RD_KB:;鍵盤掃描
MOVA,#02H;掃描第一行
MOVDPTR,#D8255B
MOVX@DPTR,A
MOVDPTR,#D8255A
MOVXA,@DPTR
MOVR1,#00H
CJNEA,#0FFH,KEYCAL;判鍵是否按下
MOVA,#01H;掃描第二行
MOVDPTR,#D8255B
MOVX@DPTR,A
MOVDPTR,#D8255A
MOVXA,@DPTR
MOVR1,#08H
CJNEA,#0FFH,KEYCAL
SJMPNOKEY;無鍵按下
KEYCAL:;計(jì)算鍵碼
MOVR0,#08H
SHIFT:
RRCA
JNCCALC
INCR1
DJNZR0,SHIFT
CALC:;換算顯示碼
MOVDPTR,#DL_DAT
MOVA,R1
MOVCA,@A+DPTR
MOVKEYVAL,A
RET
NOKEY:MOVKEYVAL,#0FFH;返回?zé)o鍵標(biāo)志
RET
DELAY:MOVR0,#0H;延時(shí)子程序
DELAY1:MOVR1,#0H
DJNZR1,$
DJNZR0,DELAY1
RET
DL_DAT:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;0,1,2,3,4,5,6,7
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H;8,9,A,B,C,D,E,F
END實(shí)驗(yàn)十8279顯示實(shí)驗(yàn)
一.實(shí)驗(yàn)要求
編制程序,利用8279及鍵盤顯示接口電路,編程實(shí)現(xiàn)按鍵的讀取,并將按鍵值顯示在數(shù)碼管上。
二.實(shí)驗(yàn)?zāi)康?/p>
1.掌握在8031系統(tǒng)中擴(kuò)展8279鍵盤顯示接口的方法。
2.掌握8279工作原理和編程方法。
三.實(shí)驗(yàn)電路及連線
CS8279接8700H。模塊中的十個(gè)短路套都套在8279側(cè)。
四.實(shí)驗(yàn)說明
利用8279可實(shí)現(xiàn)對(duì)鍵盤/顯示器的自動(dòng)掃描,以減輕CPU負(fù)擔(dān),并具有顯示穩(wěn)定、程序簡單、不會(huì)出現(xiàn)誤動(dòng)作等特點(diǎn)。
本實(shí)驗(yàn)系統(tǒng)中8279的狀態(tài)/命令口地址位8701H;數(shù)據(jù)口地址位8700H。
示例程序運(yùn)行將顯示"8279--",并等待按鍵輸入,將鍵值顯示在數(shù)碼管上(只響應(yīng)0-F按鍵)。
五.實(shí)驗(yàn)程序框圖
六.實(shí)驗(yàn)程序:Z8279EQU08701H;8279狀態(tài)/命令口地址
D8279EQU08700H;8279數(shù)據(jù)口地址
LEDMODEQU10H;右端輸入八位字符顯示
;外部譯碼鍵掃描方式,雙鍵互鎖
LEDFEQEQU38H;掃描速率
LEDCLSEQU0D1H;清除
LEDWR0EQU80H;設(shè)定的將要寫入的顯示RAM地址
ORG0000H
AJMPSTART
ORG0040H
START:
MOVSP,#60H
LCALLINIT8279;初始化8279
WAIT:MOVDPTR,#Z8279
MOVXA,@DPTR
ANLA,#0FH
JZWAIT
MOVA,#40H
MOVX@DPTR,A
MOVDPTR,#D8279
MOVXA,@DPTR
ANLA,#3FH
MOVR4,#00H
MOVR5,A
LCALLDISLED
SJMPWAIT
INIT8279:;8279初始化子程序
PUSHDPH;保存現(xiàn)場
PUSHDPL
PUSHACC
LCALLDELAY;延時(shí)
MOVDPTR,#Z8279
MOVA,#LEDMOD;置8279工作方式
MOVX@DPTR,A
MOVA,#LEDFEQ;置鍵盤掃描速率
MOVX@DPTR,A
MOVA,#LEDCLS;清除LED顯示
MOVX@DPTR,A
LCALLDELAY;延時(shí)
MOVDPTR,#Z8279
MOVA,#90H
MOVDPTR,#D8279
MOVA,#40H
MOVX@DPTR,A
MOVA,#40H
MOVX@DPTR,A
MOVA,#0H
MOVX@DPTR,A
MOVA,#0H
MOVX@DPTR,A
MOVA,#0EFH
MOVX@DPTR,A
MOVA,#27H
MOVX@DPTR,A
MOVA,#5BH
MOVX@DPTR,A
MOVA,#7FH
MOVX@DPTR,A
POPACC;恢復(fù)現(xiàn)場
POPDPL
POPDPH
RET
;顯示字符子程序
;輸入:R4,位置R5,值
DISLED:PUSHDPH;保存現(xiàn)場
PUSHDPL
PUSHACC
MOVA,#LEDWR0;置顯示起始地址
ADDA,R4;加位置偏移量
MOVDPTR,#Z8279
MOVX@DPTR,A;設(shè)定顯示位置
MOVDPTR,#LEDSEG;置顯示常數(shù)表起始位置
MOVA,R5
MOVCA,@A+DPTR;查表
MOVDPTR,#D8279
MOVX@DPTR,A;顯示數(shù)據(jù)
POPACC;恢復(fù)現(xiàn)場
POPDPL
POPDPH
RET
DELAY:;延時(shí)子程序
PUSH0;保存現(xiàn)場
PUSH1
MOV0,#0H
DELAY1:MOV1,#0H
DJNZ1,$
DJNZ0,DELAY1
POP1;恢復(fù)現(xiàn)場
POP0
RET
LEDSEG:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;'0,1,2,3,4,5,6,7'
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H;'8,9,A,B,C,D,E,F'
DB6DH,02H,08H,00H,59H,0FH,76H;'U,-,_,,I,O,P,'
END實(shí)驗(yàn)十一8279顯示電子鐘實(shí)驗(yàn)
一.實(shí)驗(yàn)要求
利用8279鍵盤顯示接口電路,做成一個(gè)電子鐘。該鐘使用T1作50ms的定時(shí)中斷。
利用8279可實(shí)現(xiàn)對(duì)鍵盤/顯示器的自動(dòng)掃描,以減輕CPU負(fù)擔(dān),其有顯示穩(wěn)定、程序簡單、不會(huì)出現(xiàn)誤動(dòng)作等特點(diǎn)。本實(shí)驗(yàn)利用8279實(shí)現(xiàn)顯示掃描自動(dòng)化。
8279操作命令字較多,根據(jù)需要來靈活使用,通過本實(shí)驗(yàn)可初步熟悉使用方法。
電子鐘做成如下格式:
XXXXXX由左向右分別為:時(shí)、分、秒。
二.實(shí)驗(yàn)?zāi)康?/p>
1.掌握在8031系統(tǒng)中擴(kuò)展8279鍵盤顯示接口的方法。
2.掌握8279工作原理和編程方法。
3.進(jìn)一步掌握中斷處理程序的編程方法。
三.實(shí)驗(yàn)電路及連線
CS8279接8700H。模塊中的十個(gè)短路套都套在8279側(cè)。
四.實(shí)驗(yàn)說明
8279通用接口芯片,根據(jù)應(yīng)用需要可以在多種模式下工作,詳見有關(guān)手冊(cè)。
五.實(shí)驗(yàn)程序框圖
ISLED子程序框圖
DISPLAY子程序框圖
六.實(shí)驗(yàn)程序見:
Z8279EQU08701H;8279狀態(tài)/命令口地址
D8279EQU08700H;8279數(shù)據(jù)口地址
LEDMODEQU00H;左邊輸入八位字符顯示
;外部譯碼鍵掃描方式,雙鍵互鎖
LEDFEQEQU2FH;掃描速率
LEDCLSEQU0C1H;清除顯示RAM
LEDWR0EQU80H;設(shè)定的將要寫入的顯示RAM地址
ORG0000H
AJMPSTART
ORG001BH;INTT1入口地址
AJMPINT_T1
ORG0040H
START:
MOVSP,#60H
LCALLINIT8279;初始化8279
MOVR3,#0H;時(shí)
MOVR2,#0H;分
MOVR1,#0H;秒
MOVR6,#0H;標(biāo)志
MOVTMOD,#10H
MOVTL1,#00H;50mS的時(shí)間常數(shù)
MOVTH1,#04CH
MOVR0,#20
SETBTR1
SETBET1
SETBEA;允許中斷
WAIT:CJNER6,#0FFH,WAIT
LCALLDISPLAY
MOVR6,#0
SJMPWAIT
INIT8279:;8279初始化子程序
PUSHDPH;保存現(xiàn)場
PUSHDPL
PUSHACC
LCALLDELAY;延時(shí)
MOVDPTR,#Z8279
MOVA,#LEDMOD;置8279工作方式
MOVX@DPTR,A
MOVA,#LEDFEQ;置鍵盤掃描速率
MOVX@DPTR,A
MOVA,#LEDCLS;清除LED顯示
MOVX@DPTR,A
LCALLDELAY;延時(shí)
POPACC;恢復(fù)現(xiàn)場
POPDPL
POPDPH
RET
;顯示字符子程序
;輸入:R4,位置R5,值
DISLED:PUSHDPH;保存現(xiàn)場
PUSHDPL
PUSHACC
MOVA,#LEDWR0;置顯示起始地址
ADDA,R4;加位置偏移量
MOVDPTR,#Z8279
MOVX@DPTR,A;設(shè)定顯示位置
MOVDPTR,#LEDSEG;置顯示常數(shù)表起始位置
MOVA,R5
MOVCA,@A+DPTR;查表
MOVDPTR,#D8279
MOVX@DPTR,A;顯示數(shù)據(jù)
POPACC;恢復(fù)現(xiàn)場
POPDPL
POPDPH
RET
DELAY:;延時(shí)子程序
PUSH0;保存現(xiàn)場
PUSH1
MOV0,#0H
DELAY1:MOV1,#0H
DJNZ1,$
DJNZ0,DELAY1
POP1;恢復(fù)現(xiàn)場
POP0
RET
INT_T1:;INT_T1中斷服務(wù)子程序
PUSHDPH;保護(hù)現(xiàn)場
PUSHDPL
PUSHACC
PUSHPSW
CLRTR1
MOVTL1,#00H;50mS定時(shí)常數(shù)
MOVTH1,#4CH
SETBTR1
DJNZR0,EXIT;判斷毫秒=0
MOVR0,#20;DELAY1SECOND
MOVR6,#0FFH;置秒標(biāo)志
CJNER1,#59H,SECOND;判斷秒=59
MOVR1,#99H
CJNER2,#59H,MINUTE;判斷分=59
MOVR2,#99H
CJNER3,#23H,HOUR;判斷時(shí)=23
MOVR3,#99H
HOUR:
MOVA,R3
ADDA,#1;時(shí)加1
DAA
MOVR3,A
MINUTE:
MOVA,R2
ADDA,#1;分加1
DAA
MOVR2,A
SECOND:
MOVA,R1
ADDA,#1;秒加1
DAA
MOVR1,A
EXIT:
POPPSW;恢復(fù)現(xiàn)場
POPACC
POPDPL
POPDPH
RETI;中斷返回
DISPLAY:
MOVA,R3
ANLA,#0FH
MOVR5,A
MOVR4,#6
LCALLDISLED;顯示小時(shí)低位
MOVA,R3
SWAPA
ANLA,#0FH
MOVR5,A
MOVR4,#7
LCALLDISLED;顯示小時(shí)高位
MOVA,R2
ANLA,#0FH
MOVR5,A
MOVR4,#3
LCALLDISLED;顯示分鐘低位
MOVA,R2
SWAPA
ANLA,#0FH
MOVR5,A
MOVR4,#4
LCALLDISLED;顯示分鐘高位
MOVA,R1
ANLA,#0FH
MOVR5,A
MOVR4,#0
LCALLDISLED;顯示秒低位
MOVA,R1
SWAPA
ANLA,#0FH
MOVR5,A
MOVR4,#1
LCALLDISLED;顯示秒高位
RET
LEDSEG:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;'0,1,2,3,4,5,6,7'
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H;'8,9,A,B,C,D,E,F'
DB6DH,02H,08H,00H,59H,0FH,76H;'U,-,_,,I,O,P,'
END
實(shí)驗(yàn)十二8279鍵盤顯示實(shí)驗(yàn)(電子秒表)
一.實(shí)驗(yàn)要求
利用實(shí)驗(yàn)機(jī)上提供的8279鍵盤電路,數(shù)碼顯示電路,設(shè)計(jì)一個(gè)電子鐘,用小鍵盤控制電子鐘的啟停及初始值的預(yù)值。
電子鐘做成如下格式:
XXXXXXXX由左向右分別為:時(shí)、分、秒、百分之一秒
1.C鍵:清除,顯示00.00.00.00
2.A鍵:啟動(dòng),電子鐘計(jì)時(shí)
3.D鍵:停止,電子鐘停止計(jì)時(shí)
4.B鍵:設(shè)置初值:由左向右依次輸入預(yù)置的時(shí)、分、秒、百分之一秒值,同時(shí)應(yīng)具有判斷輸入錯(cuò)誤的能力,若
輸入有錯(cuò),則顯示:00.00.00.00
按B鍵即可重新輸入預(yù)置值:
5.E鍵:程序退出。
二.實(shí)驗(yàn)?zāi)康?/p>
1.進(jìn)一步掌握8279鍵盤顯示電路的編程方法。
2.進(jìn)一步掌握定時(shí)器的使用和編程方法。
3.進(jìn)一步掌握中斷處理程序的編程方法。
三.實(shí)驗(yàn)電路及連線
CS8279接8700H。模塊中的十個(gè)短路套都套在8279側(cè)。
四.實(shí)驗(yàn)說明
8279通用接口芯片,根據(jù)應(yīng)用需要可以在多種模式下工作,詳見有關(guān)手冊(cè)。
五.實(shí)驗(yàn)程序框圖
主程序框圖
SET_T子程序框圖
GETWORD子程序框圖
六.實(shí)驗(yàn)程序見:
Z8279EQU08701H;8279狀態(tài)/命令口地址
D8279EQU08700H;8279數(shù)據(jù)口地址
LEDMODEQU00H;左邊輸入八位字符顯示
;外部譯碼鍵掃描方式,雙鍵互鎖
LEDFEQEQU2FH;掃描速率
LEDCLSEQU0C1H;清除顯示RAM
LEDWR0EQU80H;設(shè)定的將要寫入的顯示RAM地址
READKBEQU40H;讀FIFORAM地址0的命令字
ORG0000H
AJMPSTART
ORG001BH;INTT1入口地址
AJMPINT_T1
ORG0040H
START:
MOVSP,#60H
LCALLINIT8279;初始化8279
MOVR3,#0H;時(shí)
MOVR2,#0H;分
MOVR1,#0H;秒
MOVR0,#0H;10毫秒
MOVR6,#0FFH;標(biāo)志
MOVTMOD,#10H
MOVTL1,#00H;10毫秒的時(shí)間常數(shù)
MOVTH1,#0DCH
LCALLDIS_mS
SETBET1
SETBEA;允許中斷
WAIT:
LCALLGETKEY;讀鍵盤
CJNEA,#0FFH,CONT;判斷是否有鍵輸入
MOVA,B
CJNEA,#3CH,KEY_G;輸入鍵是'C',轉(zhuǎn)CLEAR_T
LCALLCLEAR_T
KEY_G:CJNEA,#3AH,KEY_D;輸入鍵是'G',轉(zhuǎn)START_T
LCALLSTART_T
KEY_D:CJNEA,#3DH,KEY_P;輸入鍵是'D',轉(zhuǎn)STOP_T
LCALLSTOP_T
KEY_P:CJNEA,#3BH,KEY_E;輸入鍵是'P',轉(zhuǎn)SET_T
LCALLSET_T
KEY_E:CJNEA,#3EH,CONT;輸入鍵是'E',轉(zhuǎn)MONITOR
AJMPMONITOR
CONT:CJNER6,#0FFH,WAIT;若無秒標(biāo)志則循環(huán)
LCALLDISPLAY;顯示時(shí)間
MOVR6,#0;清標(biāo)志
SJMPWAIT;循環(huán)
MONITOR:NOP
SJMP$;等待回到監(jiān)控
CLEAR_T:;時(shí)間清零子程序
CLRTR1;關(guān)計(jì)數(shù)器
MOVR3,#0H;小時(shí)清零
MOVR2,#0H;分鐘清零
MOVR1,#0H;秒清零
MOVR0,#0H;10毫秒清零
MOVR6,#0FFH;置秒標(biāo)志
LCALLDIS_mS;顯示毫秒
RET
START_T:;電子鐘計(jì)時(shí)子程序
SETBTR1
RET
STOP_T:;電子鐘停止計(jì)時(shí)子程序
CLRTR1
RET
SET_T:;設(shè)置初值子程序
CLRTR1;關(guān)計(jì)數(shù)器
MOVR4,#7
LCALLGETWORD;讀小時(shí)數(shù)
CJNEA,#0FFH,INVALID;判斷輸入合法性
MOVA,B
ADDA,#232
JCINVALID;判斷輸入小時(shí)值<24
MOVA,B
MOVB,#10
DIVAB
SWAPA
ADDA,B
MOVR3,A;保存輸入的值
MOVR4,#5
LCALLGETWORD;讀分鐘數(shù)
CJNEA,#0FFH,INVALID;判斷輸入合法性
MOVA,B
ADDA,#196
JCINVALID;判斷輸入分鐘數(shù)<60
MOVA,B
MOVB,#10
DIVAB
SWAPA
ADDA,B
MOVR2,A;保存輸入的值
MOVR4,#3
LCALLGETWORD;讀分鐘數(shù)
CJNEA,#0FFH,INVALID;判斷輸入合法性
MOVA,B
ADDA,#196
JCINVALID;判斷輸入分鐘值<60
MOVA,B
MOVB,#10
DIVAB
SWAPA
ADDA,B
MOVR1,A;保存輸入的值
MOVR4,#1
LCALLGETWORD;讀10毫秒數(shù)
CJNEA,#0FFH,INVALID;判斷輸入合法性
MOVA,B
MOVB,#10
DIVAB
SWAPA
ADDA,B
MOVR0,A;保存輸入的值
AJMPSET_TOK
INVALID:
LCALLCLEAR_T;時(shí)間清零
SET_TOK:LCALLDIS_mS;顯示10毫秒
LCALLDISPLAY;顯示時(shí)間
RET
GETWORD:;讀數(shù)子程序
WKEY1:LCALLGETKEY;讀鍵盤
CJNEA,#0FFH,WKEY1;無鍵輸入,則再讀
MOVA,B
ADDA,#0C6H
JCERROR1;判斷輸入是否大于9
MOVA,B
SUBBA,#30H
JCERROR1;判斷輸入是否小于0
MOVR5,A
LCALLDISLED;顯示輸入的字符
MOVB,#10
MULAB
PUSHACC;保存輸入的值
WKEY2:LCALLGETKEY;讀鍵盤
CJNEA,#0FFH,WKEY2;無鍵輸入則再讀
MOVA,B
ADDA,#0C6H;判斷輸入是否大于9
JCERROR2
MOVA,B
SUBBA,#30H;判斷輸入是否小于0
JCERROR2
DECR4
MOVR5,A
LCALLDISLED;顯示輸入的字符
MOVB,A
POPACC
ADDA,B
MOVB,A;把得到的值存在B
MOVA,#0FFH;置合法輸入標(biāo)志
AJMPKEYOK
ERROR2:POPACC
ERROR1:MOVA,#0;置非法輸入標(biāo)志
KEYOK:RET
INIT8279:;8279初始化子程序
PUSHDPH;保存現(xiàn)場
PUSHDPL
PUSHACC
LCALLDELAY;延時(shí)
MOVDPTR,#Z8279
MOVA,#LEDMOD;置8279工作方式
MOVX@DPTR,A
MOVA,#LEDFEQ;置鍵盤掃描速率
MOVX@DPTR,A
MOVA,#LEDCLS;清除LED顯示
MOVX@DPTR,A
POPACC;恢復(fù)現(xiàn)場
POPDPL
POPDPH
RET
;讀取鍵盤子程序
;輸入:無;輸出:B:讀到的鍵碼A:按鍵的標(biāo)志
GETKEY:PUSHDPH;保存現(xiàn)場
PUSHDPL
PUSHPSW
MOVDPTR,#Z8279
MOVXA,@DPTR;讀8279狀態(tài)
ANLA,#07H;屏蔽D7-D3
JNZGETVAL;判斷是否有鍵輸入
MOVA,#0H;置標(biāo)志(無鍵輸入)
SJMPNKBHIT
GETVAL:MOVA,#READKB;讀FIFORAM命令
MOVX@DPTR,A
MOVDPTR,#D8279
MOVXA,@DPTR;讀鍵
ANLA,#3FH;屏蔽SHIFT和CTRL鍵
MOVDPTR,#KEYCODE;鍵碼表起始地址
MOVCA,@A+DPTR;查表
MOVB,A;置返回鍵值
MOVA,#0FFH;置標(biāo)志(有鍵輸入)
NKBHIT:POPPSW;恢復(fù)現(xiàn)場
POPDPL
POPDPH
RET
;顯示字符子程序
;輸入:R4,位置R5,值
DISLED:PUSHDPH;保存現(xiàn)場
PUSHDPL
PUSHACC
MOVA,#LEDWR0;置顯示起始地址
ADDA,R4;加位置偏移量
MOVDPTR,#Z8279
MOVX@DPTR,A;設(shè)定顯示位置
MOVDPTR,#LEDSEG;置顯示常數(shù)表起始位置
MOVA,R5
MOVCA,@A+DPTR;查表
MOVDPTR,#D8279
MOVX@DPTR,A;顯示數(shù)據(jù)
POPACC;恢復(fù)現(xiàn)場
POPDPL
POPDPH
RET
DELAY:;延時(shí)子程序
PUSH0;保存現(xiàn)場
PUSH1
MOV0,#0H
DELAY1:MOV1,#0H
DJNZ1,$
DJNZ0,DELAY1
POP1;恢復(fù)現(xiàn)場
POP0
RET
DIS_mS:
MOVA,R0
ANLA,#0FH
MOVR5,A
MOVR4,#0
LCALLDISLED;顯示10毫秒低位
MOVA,R0
SWAPA;高低半字節(jié)交換
ANLA,#0FH
MOVR5,A
MOVR4,#1
LCALLDISLED;顯示10毫秒高位
RET
INT_T1:;INT_T1中斷服務(wù)子程序
PUSHDPH;保護(hù)現(xiàn)場
PUSHDPL
PUSHACC
PUSHPSW
CLRTR1
MOVTL1,#00H;10毫秒定時(shí)常數(shù)
MOVTH1,#0DCH
SETBTR1
MOVA,R0
ADDA,#1;10毫秒數(shù)加1
DAA
MOVR0,A
LCALLDIS_mS;顯示10毫秒
CJNER0,#0,EXIT;判斷10毫秒=0
MOVR6,#0FFH;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度孟安與配偶離婚協(xié)議:共同財(cái)產(chǎn)分割及子女監(jiān)護(hù)協(xié)議4篇
- 導(dǎo)演與攝影師2025年度合作協(xié)議3篇
- 2025年銷售人員合同范本:旅游產(chǎn)品銷售合作協(xié)議2篇
- 城東小學(xué)2025年度智能調(diào)光窗簾紗窗采購合同2篇
- 二零二五年度美發(fā)店員工培訓(xùn)與職業(yè)發(fā)展合同4篇
- 2025年度金融衍生品買賣合同標(biāo)的交易風(fēng)險(xiǎn)管理4篇
- 2025年度綠色能源餐館司爐員專項(xiàng)聘用合同3篇
- 鄭州城市職業(yè)學(xué)院《交通監(jiān)控系統(tǒng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五版苗木種植保險(xiǎn)產(chǎn)品設(shè)計(jì)與銷售合同4篇
- 2025年度房地產(chǎn)租賃融資合同模板4篇
- 2025春夏運(yùn)動(dòng)戶外行業(yè)趨勢(shì)白皮書
- 《法制宣傳之盜竊罪》課件
- 通信工程單位勞動(dòng)合同
- 2024年醫(yī)療器械經(jīng)營質(zhì)量管理規(guī)范培訓(xùn)課件
- 高低壓配電柜產(chǎn)品營銷計(jì)劃書
- 2024年4月自考02202傳感器與檢測(cè)技術(shù)試題
- 社會(huì)系統(tǒng)研究方法的重要原則
- 重癥醫(yī)學(xué)科健康宣教手冊(cè)
- 2022版《義務(wù)教育英語課程標(biāo)準(zhǔn)》解讀培訓(xùn)課件
- 五個(gè)帶頭方面談心談話范文三篇
- 互聯(lián)網(wǎng)的發(fā)展歷程
評(píng)論
0/150
提交評(píng)論