实验项目:汉字显示系统设计
实验目的:具体要求用单片机的控制83*8的点阵屏进行汉字显示。请在Proteus 中设计出仿真硬件电路,在KkeiIuvision中设计出源程序,然后用Proteus进行整体系统仿真运行。
实验器材:protues,keil uvisio5
- 实验仿真器材
- 实验原理(硬件电路图)
实验代码
c语言:
#include <regx51.h>
unsigned int lie[8] = {0x00,0xff,0x08,0x7f,0x48,0x48,0xff,0x00};
unsigned int hang[8] ={0x01,0x02,0x04,0x8,0x10,0x20,0x40,0x80};
void delayms(unsigned int m)
{
int i,j;
for(i=0; i<m; i++)
for(j=0; j<10; j++);
}
void main(void)
{
int i;
while(1)
{
for(i=0; i<8; i++)
{
P0 =~hang[i];
P3 = lie[i];
delayms(2);
}
}
}
汇编语言代码
ORG 000H
AJMP START
ORG 100H ;P0
DB 0x01,0x02,0x04,0x8,0x10,0x20,0x40,0x80
ORG 300H ;P3
DB 0x00,0xff,0x08,0x7f,0x48,0x48,0xff,0x00
ORG 10H
START:
ACALL PLAY
AJMP START
PLAY:
MOV R0,#0
MOV R4,#9
ST:
CLR A
MOV DPTR,#300H
MOV A,R0
MOVC A,@A+DPTR
MOV P3,A
ACALL DELAY
CLR A
MOV DPTR,#100H
MOV A,R0
MOVC A,@A+DPTR
CPL A
MOV P0,A
INC R0
DJNZ R4,ST
RET
DELAY:
MOV R3,#200
d2: MOV R2,#10
d1: DJNZ R2,d1
DJNZ R3,d2
RET
END