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

项目4数码管广告牌设计.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2. LED数码管的字型编码 * 数码管广告牌设计 项目4 任务1 简易广告牌设计:在一个数码管上顺序显示 ‘H’、 ‘E’、 ‘L’、 ‘L’、 ‘O’ 跟我学-------认识8段LED数码管 1.数码管的结构 共阳极 共阴极 VCC GND 共阳极数码管显示注意Com端接Vcc,低电平点亮数码管 共阴极数码管显示注意Com端接GND,高电平点亮数码管 字型 0 0 0 1 1 1 1 1 共阳极 VCC 字型码 dp g f e d c b a 1 0 0 1 0 0 1 0 动手做1——画出硬件电路图 单片机有4组8位的I/O口P0、P1、P2、P3,任意一个I/O口都可以用来控制一个数码管工作(P0口要外接上拉电阻),该任务采用P1口,用单片机控制一个数码管工作的电路如图所示。图中采用的是共阳极数码管。如果是共阴极数码管,则将COM端接地。 动手做2——程序分析设计 在一个数码管上顺序显示多个字符,则需向P1口多次传送字符对应的二进制字型码数据,并在每次传送完一个数据后都要加一段延时函数,因此我们可以考虑把多个字符的字型码建一个一维数组: unsigned char led[]={0x89,0x86,0xc7,0xc7,0xc0}; 通过定义LED数组的语句来存放字符‘H’、 ‘E’、 ‘L’、 ‘L’、 ‘O’的显示字型码。再用如下语句: P1=led[i]; (i的取值范围为0~5) 将显示字型码通过P1口送到LED段控制端,显示相应的数字。将数组元素的下标作为循环控制变量是最常见的数组应用方法。 #include reg51.h void delay1s(); //采用定时器1实现1秒延时子函数 void disp1(); //顺序显示字符‘H’、‘E’、‘L’、‘L’、‘O’一次的子函数 void main() //主函数 { while(1){ disp1(); } } //函数名:disp1 //函数功能:顺序显示字符‘H’、‘E’、‘L’、‘L’、‘O’一次 //形式参数:无 //返回值:无 disp1() { unsigned char led[]={0x89,0x86,0xc7,0xc7,0xc0} ; //定义数组led存放字符‘H’、‘E’、‘L’、‘L’、‘O’的字型码 unsigned char i; for(i=0;i5;i++) {P1=led[i]; //字型显示码送段控制口P1 delay1s(); //延时1秒 } } //函数名:delay1s //函数功能:采用定时器1、工作方式1实现1s延时,晶振频率12MHz //形式参数:无 //返回值:无 void delay1s() { unsigned char i; TMOD=0x10; //设置定时器1工作于方式1 for(i=0;i0x14;i++){ //设置20次循环次数 TH1=0x3c; //设置定时器初值为3CB0H TL1=0xb0; TR1=1; //启动T1 while(!TF1); //查询计数是否溢出,即定时50ms时间到,TF1=1 TF1=0; //50ms定时时间到,将T1溢出标志位TF1清零 } } 动手做3——proteus仿真 从PROTEUS中选取如下元器件: (1)AT89C51,单片机; (2)RES、RX8,电阻、排阻; (3)CAP、CAP-ELEC,电容、电解电容; (4)CRYSTAL,晶振;BUTTON,按键 (5)7SEG-COM-AN-BLUE,共阳极数码管。 任务2 小王的生日是91年08月12号,用单片机控制六个LED数码管固定显示“910812”。 用单片机控制6个数码管 单片机 P1.0 P1.7 a b c d e f g dp P2.0 P2.1 P2.5 。。。 LED2 LED6 。。。 LED1 每个数码管的COM端接另一个并行口中的一位 所有数码管的段选端共用一个并行口 动手做1——画出硬件电路图 观察电路,我们采用P2口加六反相器74LS04控制共阳数码管的位选端,采用P1加八同相三态缓冲器/线驱动器74LS245驱动,那么P2口相应的引脚要输出低电平,P1口并送出相应的字型显示编码才能点亮相应的数码管,而最简易的编程语句就是:P2=0xfe;P1=0x90;同理,要显示第二、三……第六个数码管,也是类似的编

文档评论(0)

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

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

1亿VIP精品文档

相关文档