网站大量收购独家精品文档,联系QQ:2885784924

实验13点阵LED数字显示实验.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验13点阵LED数字显示实验

GUIZHOU UNIVERSITY 实 验 报 告 实验课程名称 C51单片机实验 实验项目名称 点阵LED数字显示实验 年 级 2008 级 专 业 电子信息科学与技术 学 生 姓 名 郎 子 龙 学 号 080712110069 指导教师签字 实验时间:2011年6月20日 实验十三 点阵LED数字显示实验 (设计性实验) 一、实验目的: ⑴了解点阵数字的显示原理; ⑵了解单片机字符输出原理。 二、实验内容: 在点阵数码显示器上从右到左移动循环显示0~9的字符。 三、预习要求: 1、点阵数码管的工作原理? 答:8X8 点阵LED工作原理说明 :8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮。 2、字符字型码的编写及显示。 四、实验步骤: 1、在Proteus中画出实验硬件电路; 2、根据实验要求,进入Keil C51操作环境编辑源程序,并进行汇编。 3、根据要求编写程序如下: /*字形编码送P1口(高电平),行选送P3口(低电平)。*/ #include reg51.h #define uchar unsigned char #define uint unsigned int unsigned char code tab[][8]={ 0x3C,0x66,0x6E,0x6E,0x76,0x76,0x66,0x3C, 0x18,0x78,0x18,0x18,0x18,0x18,0x18,0x7E, 0x3C,0x66,0x66,0x06,0x1C,0x30,0x66,0x7E, 0x3C,0x66,0x06,0x1C,0x06,0x66,0x66,0x3C, 0x1C,0x3C,0x6C,0xCC,0xCC,0xFE,0x0C,0x0C, 0x7E,0x60,0x7C,0x66,0x06,0x06,0x66,0x3C, 0x1C,0x30,0x60,0x7C,0x66,0x66,0x66,0x3C, 0x7E,0x66,0x06,0x0C,0x08,0x18,0x30,0x30, 0x3C,0x66,0x66,0x3C,0x66,0x66,0x66,0x3C, 0x3C,0x66,0x66,0x66,0x3E,0x06,0x0C,0x38}; void delay(uchar x) {uchar i; while((x--)!=0) {for(i=0;i125;i++) {;} } } void main(void) { uchar i,j,k,m,n,p,q; while(1) {for(j=0;j10;j++) {for(q=0;q8;q++) {for(k=0;k15;k++) {m=0x80; for(i=0;i8;i++) {P3=~m; n=tab[j][i]; n=(nq); if(j==9) p=tab[0][i]; else p=tab[j+1][i]; p=(p8-q); p=n|p; P1=p; delay(1); m=(m1); } } } } } } 4、运行、调试程序和结果检查 (1)采用单步,设置断点等方法,态观察程序走向是否正确; (2)连续运行程序,观察点阵数码管显示是否正确。 从0到1的循环显示截图如下: 五、思考题: 1、字符的字型码应该怎样编写,有哪两种方式? 2、字符的循环移动显示原理是什么? 答:主要是考扫描程序及累加器循环移位指令   扫描程序能使单片机在向P0口送出数据之后,不断改变P2口各口线的高低电位,   根据如前所述的扫描显示过程,我们采用累加器循环移位指令来完成P2口中的高电位移动是极其方便的。累加器A是单片机中使用最频繁的具有特殊功能的寄存器。RR A指令能使A中的内容向右循环移位,该指令代码是03H。执行该指令的结果是(An+1)→(An),(A0)→(A7)。如图5所示。假如在A中装入的数据为#80H,也就是1000 0000B,执行RR A后,A中的数据则是#40H,也就是0100 0000B,所有数据皆向右移动了一位,

您可能关注的文档

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档