附件中含完整程序、protues仿真、文檔資料、取字模軟件等以8086為控制核心,在Proteus軟件環(huán)境下利用16×64點陣屏顯示出中文、英文及阿拉伯數(shù)字的設(shè)計方法。設(shè)計主要通過8086CPU匯編語言程序的設(shè)計以及將8086微處理器作為控制主體,用74273鎖存器鎖存數(shù)據(jù),再用74LS138的3-8譯碼器選擇顯示端口地址,然后再通過74LS373組成的顯示驅(qū)動電路進行數(shù)據(jù)的鎖存與驅(qū)動,最后用4塊16×16點陣屏組成16×64點陣屏顯示出“JD電科18”的字樣,便能得到顯示中文、英文、阿拉伯數(shù)字的電子廣告牌
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
單片機源程序如下:- ROW1 EQU 0280H ;行地址
- COL1 EQU 0290H ;列地址
- ROW2 EQU 02A0H ;行地址
- COL2 EQU 02B0H ;列地址
- ROW3 EQU 02C0H ;行地址
- COL3 EQU 02D0H ;列地址
- ROW4 EQU 02E0H ;行地址
- COL4 EQU 02F0H ;列地址
- NUM EQU 1 ;每屏顯示次數(shù)
- DATA SEGMENT
- ORG 1000H
- COL DW 0
- ROW DW 0
- ADDRP DW ? ;字符字模指針
- CNT DW ? ;每屏顯示次數(shù)
- TAB1 DB 0FFH,03FH,0FFH,07FH,0F7H,07FH,0F7H,07FH,007H,080H,0F7H,
- 0FFH,0F7H,0FFH,0FFH,0FFH;"J",0
- DB 0F7H,0DFH,007H,0C0H,0F7H,0DFH,0F7H,0DFH,0F7H,0DFH,0EFH,0EFH,
- 01FH,0F0H,0FFH,0FFH;"D",1
- TAB2 DB 0FFH,0FFH,0FFH,0FFH,007H,0E0H,077H,0F7H,077H,0F7H,077H,
- 0F7H,077H,0F7H,000H,080H;
- DB 077H,077H,077H,077H,077H,077H,077H,077H,007H,060H,0FFH,07FH,0FFH,
- 00FH,0FFH,0FFH;"電",2
- TAB3 DB 0DBH,0F7H,0DBH,0F9H,05BH,0FEH,001H,000H,05CH,0FFH, 0DDH, 0FEH, 0FFH, 0FBH, 0DDH,0FBH;
- DB 033H, 0FBH, 0FFH, 0FBH, 0FFH, 0FBH,000H, 000H, 0FFH, 0FDH, 0FFH, 0FDH, 0FFH, 0FDH, 0FFH, 0FFH;"科",0
- TAB4 DB 0FFH,0FFH,0FFH,0FFH,0EFH,0DFH,0EFH,0DFH,007H,0C0H,
- 0FFH,0DFH,0FFH,0DFH,0FFH,0FFH;"1",0
- DB 0FFH,0FFH,08FH,0E3H,077H,0DDH,0F7H,0DEH,0F7H,0DEH,077H,0DDH,
- 08FH,0E3H,0FFH,0FFH;"8",1
- TABLE_END = $
- DATA ENDS
- CODE SEGMENT
- ASSUME CS:CODE, DS:DATA
- START:
- MOV AX,DATA
- MOV DS,AX
- MOV ROW,ROW1
- MOV COL,COL1
- MOV CNT, NUM ;設(shè)置每屏顯示次數(shù)
- MOV ADDRP, OFFSET TAB1 ;字符字模指針賦初值
- CALL SHOWZ
- MOV ROW,ROW2
- MOV COL,COL2
- MOV CNT, NUM ;設(shè)置每屏顯示次數(shù)
- MOV ADDRP, OFFSET TAB2 ;字符字模指針賦初值
- CALL SHOWZ
- MOV ROW,ROW4
- MOV COL,COL4
- MOV CNT, NUM ;設(shè)置每屏顯示次數(shù)
- MOV ADDRP, OFFSET TAB4 ;字符字模指針賦初值
- CALL SHOWZ
- MOV ROW,ROW3
- MOV COL,COL3
- MOV CNT, NUM ;設(shè)置每屏顯示次數(shù)
- MOV ADDRP, OFFSET TAB3 ;字符字模指針賦初值
- CALL SHOWZ
- JMP START
- SHOWZ PROC
- MOV BX, 01H ;第1列
- NEXT0:
- MOV CX, 16
- MOV SI, ADDRP; 字模指針
- NEXT: MOV DX, COL ;輸出全滅
- MOV AX, 0
- OUT DX, AX
- MOV DX, ROW ;輸出當前列字模,2字節(jié)
- MOV AX, [SI]
- OUT DX, AX
- MOV DX, COL ;選擇當前列
- MOV AX, BX
- OUT DX, AX
- CALL DELAY
- ROL BX, 1 ;下一列
- INC SI ;字模指針加2
- INC SI
- LOOP NEXT ;輸出1個字符的16個字節(jié)字模
- DEC CNT ;顯示次數(shù)減1
- JNZ NEXT0 ;顯示滿規(guī)定次數(shù)次否?
- RET
- SHOWZ ENDP
- DELAY PROC
- PUSH BX
- PUSH CX
- MOV BX,1
- DELAY1: MOV CX,270
- DELAY2: LOOP DELAY2
- DEC BX
- JNZ DELAY1
- POP CX
- POP BX
- RET
- DELAY ENDP
- CODE ENDS
- END START
復(fù)制代碼 全部資料51hei下載地址:
點陣屏顯示.zip
(3.95 MB, 下載次數(shù): 42)
2021-6-29 18:57 上傳
點擊文件名下載附件
|