附件中含完整程序、protues仿真、文档资料、取字模软件等以8086为控制核心,在Proteus软件环境下利用16×64点阵屏显示出中文、英文及阿拉伯数字的设计方法。设计主要通过8086CPU汇编语言程序的设计以及将8086微处理器作为控制主体,用74273锁存器锁存数据,再用74LS138的3-8译码器选择显示端口地址,然后再通过74LS373组成的显示驱动电路进行数据的锁存与驱动,最后用4块16×16点阵屏组成16×64点阵屏显示出“JD电科18”的字样,便能得到显示中文、英文、阿拉伯数字的电子广告牌
仿真原理图如下(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 ;每屏显示次数
- DATA SEGMENT
- ORG 1000H
- COL DW 0
- ROW DW 0
- ADDRP DW ? ;字符字模指针
- CNT DW ? ;每屏显示次数
- 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 ;设置每屏显示次数
- MOV ADDRP, OFFSET TAB1 ;字符字模指针赋初值
- CALL SHOWZ
- MOV ROW,ROW2
- MOV COL,COL2
- MOV CNT, NUM ;设置每屏显示次数
- MOV ADDRP, OFFSET TAB2 ;字符字模指针赋初值
- CALL SHOWZ
- MOV ROW,ROW4
- MOV COL,COL4
- MOV CNT, NUM ;设置每屏显示次数
- MOV ADDRP, OFFSET TAB4 ;字符字模指针赋初值
- CALL SHOWZ
- MOV ROW,ROW3
- MOV COL,COL3
- MOV CNT, NUM ;设置每屏显示次数
- 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字节
- 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个字节字模
- DEC CNT ;显示次数减1
- JNZ NEXT0 ;显示满规定次数次否?
- 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
复制代码 全部资料51hei下载地址:
点阵屏显示.zip
(3.95 MB, 下载次数: 42)
|