数码管动态显示数字

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机实习

课题:数码管动态显示数字

LED数码管动态显示

共阳极的LED数码管,共阳就是7段的显示字码共用一个电源的正。 原理示意图:

从上图可以看出,要是数码管显示数字,有两个条件:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。这样才能显示的。例:如要显示“0”,则要 a,b,c,d,e,f六个字段亮就显示“0”了,而g和dp字段不亮;这样只要向P0口送出相应的代码即可,

编码方法如下表:

dp g f e d c b a

P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 显示的

字符

编码

0 0 0 1 0 0 1 0 0 0C0H

1 0 1 1 1 0 1 1 1 0F9H

1 1 0 0 0 0 1 0

2 0A4H

1 0 1 0 0 0 1 0 3 0B0H

0 0 1 0 1 0 1 1 4 99H

0 0 1 0 0 1 1 0 5 92H

0 0 0 0 0 1 1 0 6 82H

1 0 1 1 1 0 1 0 7 0F8H

0 0 0 0 0 0 1 0 8 80H

0 0 1 0 0 0 1 0 9 90H

程序使用时,只需将显示数字所对应的编码送P0口,然后打开相应的数码管显示位的电源控制即可显示相应的字符。

5

双位数码管显示控制程序及说明

START: MOV R0,#0 ;清零

MOV DPTR,#TABLE ;指定查表起始地址 LOOP: ACALL DISPLAY ;调用子程序DISPLAY INC R0 ;R0加1

CJNE R0,#100,LOOP ;R0未到100则转换

JMP START ;跳转

DISPLAY: MOV A,R0 ;把R0里的数据送入A MOV B,#10 ;把10送入B

DIV AB ;a b相除

MOV 20H,A ;十位送入20H

MOV 21H,B ;个位送入21H

MOV R3,#50 ;把50送入R3

LOOP1: MOV A,21H ;取个位数

ACALL CHANG ;调用子程序CHANG

CLR P2.4 ;开个位显示

ACALL DLY ;调用子程序DLY

SETB P2.4 ;关闭个位显示

MOV A,20H ;取十位数

6

ACALL CHANG ;调用子程序CHANG

CLR P2.5 ;开十位显示

ACALL DLY ;调用子程序DLY

SETB p2.5 ;关闭十位显示

DJNZ R3,LOOP1 ;循环50次

RET ;子程序返回

CHANG: MOVC A,@A+DPTR ;查表

MOV P0,A ;查表结果送入P0

RET ;子程序返回

DLY: MOV R6,#20 ;典型延时子程序延时

D1: MOV R7,#248 ;10ms

DJNZ R7,$

DJNZ R6,D1

RET

TABLE: DB 0C0H,0F9H,0A4H ;表数据共阳极数码管显示代码 DB 0B0H,99H,92H,82H

DB 0F8H,80H,90H

END

7

心得体会

时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机实训在这一周内

完成了。俗话说“好的开始是成功的一半”。说这次实习,我认为最重要的就是

做好程序调试,认真的研究老师给的题目。其次,老师对实验的讲解要一丝不苟

的去听去想,因为只有都明白了,做起产品就会事半功倍,如果没弄明白,就迷

迷糊糊的去做,到头来一点收获也没有。最后,要注重程序的调试,掌握其方法。

虽然这次的实习算起来在实训室的时间只有一周,不过我们都有自己的实验板。

硬件的焊接和程序的编程均由自己完成。再实验过程中也有很多问题,如不够细

心粗心焊错线,或因为对理论知识的学习理解不够深刻而出现编程出现错误等

等。

通过这次单片机实习,我加深了对单片机理论的理解,将理论很好地应用到

实际当中去,使之成为自己的东西。

这个设计过程中,我们花费了大量的时间和精力,更重要的是,我们在学会

创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作。作为一名自

动化专业的快大三学生,我觉得做单片机实训是十分必要的。在已度过的大学时

间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知

识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到

实践中去呢?我想实训就为我们提供了良好的实践平台。

首先在做本次实习的过程中,我感触最深的当属查阅大量的设计资料了。为

了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不

可少的。我们在实训时,抛开实际尽情在幻想的世界里翱翔,而我们一切都要有

据可依,有理可寻,不切实际的构想永远只能是构想。

其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:C语

言等知识。在实训的过程中带着问题去学习发现问题解决问题,是我的知识变的

更加严谨正确。

最后,在实训之前,我们要对单片机的内部结构有一个简单的了解,知道该

单片机内有哪些资源,要有一个清晰的思路。在设计程序时,不能妄想一次就将

整个程序设计好,要反复的修改、不断的改进是走向成功的必经之路。要养成注

释程序的好习惯,为资料的保存和交流提供方便。在实训过程中遇到问题是很正

常的,但我们应该将每次遇到的问题记录下来,并分析解决,以免下次再碰到同

样的问题。而从中学到的知识会让我受益终身。发现、提出、分析、解决问题和

实践能力提高都会受益于我在以后的学习、工作和生活中

8

相关文档
最新文档