基于AT89S51单片机的动态数码显示设计

网友投稿 334 2022-11-13

基于AT89S51单片机的动态数码显示设计

1.  实验任务

3.  系统板上硬件连线

(2.      把“单片机系统”区域中的P2.0/A8-P2.7/A15用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;

(3.      把“单片机系统”区域中的P1.7端口用导线连接到“独立式键盘”区域中的SP1端口上;

4.  程序设计内容

(1. 动态扫描方法

(2.      在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。

(3.      对于显示的字形码数据我们采用查表方法来完成。

5.  程序框图

6.  汇编源程序

ORG 00H

START:        JB P1.7,DIR1

MOV DPTR,#TABLE1

SJMP DIR

DIR1:        MOV DPTR,#TABLE2

DIR:    MOV R0,#00H

MOV R1,#01H

NEXT:        MOV A,R0

MOVC A,@A+DPTR

MOV P0,A

MOV A,R1

MOV P2,A

LCALL DAY

INC R0

RL A

MOV R1,A

CJNE R1,#0DFH,NEXT

SJMP START

DAY:          MOV R6,#4

D1:          MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

RET

TABLE1:      DB 06H,5BH,4FH,66H,6DH

TABLE2:      DB 78H,79H,38H,38H,3FH

END

7.  C语言源程序

#include

unsigned char code table1[]={0x06,0x5b,0x4f,0x66,0x6d};

unsigned char code table2[]={0x78,0x79,0x38,0x38,0x3f};

unsigned char i;

unsigned char a,b;

void main(void)

{

while(1)

{

temp=0xfe;

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:介绍如何辨别真假云计算ERP系统解决方案方法!
下一篇:《系统运维全面解析》新华网副总裁作序,360、触控等多位总监经理推荐
相关文章

 发表评论

暂时没有评论,来抢沙发吧~