在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)和8279驅(qū)動數(shù)碼管顯示與上位機(jī)通信的收發(fā)程序

            基于單片機(jī)和8279驅(qū)動數(shù)碼管顯示與上位機(jī)通信的收發(fā)程序

            作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
            ;系統(tǒng)晶振是 11.0592 MHz

            ;上位機(jī)用串口調(diào)試助手來配合實(shí)驗(yàn)
            Z8279EQU0FF82H;8279 狀態(tài)/命令口地址
            D8279EQU0FF80H;8279 數(shù)據(jù)口地址
            LEDMODEQU00H;左邊輸入 八位字符顯示
            ;外部譯碼鍵掃描方式,雙鍵互鎖
            LEDFEQEQU33H;掃描速率
            LEDCLSEQU0C1H;清除顯示 RAM
            LEDWR0EQU80H;設(shè)定的將要寫入的顯示RAM地址
            READKBEQU40H;讀 FIFO RAM 地址 0 的命令字

            本文引用地址:http://www.biyoush.com/article/201611/321851.htm

            ORG0000H
            AJMPSTART
            ORG0040H
            START:
            MOVSP,#60H
            LCALLINIT8279;初始化8279
            MOVSCON,#50H;串口 方式 1
            MOVTMOD,#20H;T1 方式 1
            MOVTL1,#0FDH;波特率 9600 的常數(shù)
            MOVTH1,#0FDH
            SETBTR1

            SETBEA
            WAIT:
            JBCRI,DIS_REC;是否接收到數(shù)據(jù)
            LCALLGETKEY;讀鍵盤
            CJNEA,#0FFH,WAIT;是否有鍵輸入
            MOVSBUF,B;串口輸出鍵盤輸入的值
            NOP
            SS:JBCTI,WAIT;是否發(fā)送完畢
            SJMPSS

            DIS_REC:
            MOVA,SBUF;讀串口接收到的數(shù)據(jù)
            CLRC
            SUBBA,#30H;以下判定輸入是否在0-F
            JCERROR
            SUBBA,#0AH
            JNCDIS_REC1
            ADDA,#0AH
            SJMPDIS_REC2
            DIS_REC1:
            SUBBA,#7H
            JCERROR
            SUBBA,#6H
            JNCERROR
            ADDA,#10H
            DIS_REC2:
            MOVR4,#00H
            MOVR5,A
            LCALLDISLED;顯示輸入的數(shù)字(0-F)
            ERROR:AJMPWAIT

            INIT8279:;8279初始化子程序
            PUSHDPH;保存現(xiàn)場
            PUSHDPL
            PUSHACC
            LCALLDELAY;延時
            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;讀 FIFO RAM 命令
            MOVX@DPTR,A
            MOVDPTR,#D8279
            MOVXA,@DPTR;讀鍵
            ANLA,#0FH;屏蔽 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:;延時子程序
            PUSH0;保存現(xiàn)場
            PUSH1
            MOV0,#0H
            DELAY1: MOV1,#0H
            DJNZ1,$
            DJNZ0,DELAY1
            POP1;恢復(fù)現(xiàn)場
            POP0
            RET
            ;LED顯示常數(shù)表
            LEDSEG: DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
            DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
            DB0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH,087H
            DB0FFH,0EFH,0F7H,0FCH,0B9H,0DEH,0F9H,0F1H
            DB6DH,02H,08H,00H,59H,0FH,76H
            ;鍵盤鍵碼表
            KEYCODE:DB30H,31H,32H,33H,34H,35H,36H,37H
            DB38H,39H,41H,42H,43H,44H,45H,46H
            DB47H,48H,49H,4AH,4BH,4CH,4DH,4EH
            END



            評論


            技術(shù)專區(qū)

            關(guān)閉