AT90S8515单片机对LED数码显示管的控制设计

出处:电子发烧友 发布于:2019-03-02 13:39:09

  附图是AT90S8515控制数码显示的电路略图(图中只画出了与数码管接口的电路,其余接线略)。单片机的PBO~PB7接LED共阴数码管的a~h脚,控制段码;单片机的PDO—PD5分别接六只LED数码管DO~D5的共阴极,控制位码。其中PDO~PD5是通过SL-AVR开发实验器上的LED数码管短路块DLED接至数码管DO—D5的。
  AT90S8515单片机对LED数码显示管的控制设计
  二、字符8右循环移位显示程序
  在SL-AVR开发实验器LED上实现字符8右循环移位显示的源程序清单如下:
  AT90S8515单片机对LED数码显示管的控制设计
  AT90S8515单片机对LED数码显示管的控制设计
  第1行表示程序中包含定义AT90S8515特殊功能寄存器的头文件8515def.inc,指明所用器件为AT90S85150接着定义寄存器r16、r22分别为暂存器temp、scndp。在程序前面用伪指令equ为寄存器赋予能帮助编程者识别数据用途的符号,提高了程序的可读性,便于程序的修改,读者也应养成用这种方法编程的习惯。程序中其他语句的功能见注释。
  本程序在SL-AVR开发实验器的随机光盘中的文件名为SLAVR731.ASM。
  三、编辑、汇编、串行和运行
  1.编辑、汇编
  运行汇编程序wavr.asm,编辑SIJAVR731.ASM。
  执行Assemble命令对SLAVR731.ASM程序进行汇编,生成SLAVR731.EEP、SLAVR731.OBJ、SLAVR731.HEX、SLAVR731.LST文件。
  2.串行和运行
  用串行线将SL-AVR的C22与AT3接好,将单片机AT90S8515插入锁紧插座并锁紧。将SL-AVR开发实验器与PC机串口连接好,接上电源,开电源,运行串行一F载程序Avl‘Prog,将SLAVR731.
  HEX文件到SL-AVR开发实验器中的AT90S8515中。按复位键,程序开始运行,符号8从块接至左侧的发光二.极管,因此,程序运行时锁綮插座左侧对应于PD0一PD5输出状态指示的发光二极管也在同时循环显示。
  四、修改显示程序练习
  1.修改、显示字符
  共阴数码管显示0—F,所对应的段码为3FH、06H、SBH、4FH、66H、6DH7DH、07H、7FH、6FH、77H、7CH、39H、5EH、79H、71H、F3H、76H.如欲点亮小数点;则要将位高位写为1.$修改显示字符只需修改源程序中的指令$lclitemp,秽’o如要循环显示字符A,则将“lditemp,7f”改成“lditemp,77”。tSL-AVR开发实验器的随机光盘中的SLAVR731.ASM为只读文件。先将其属性改为“正常”《修改文件属性的操作如下:选中待改文件SLAVR731.ASM,从显示框的左边可见文件属性为“只读”。单击鼠标右键,,弹出选择菜单,点击“属性”弹出属性显示框,取消属性显示选择框中只读栏的黑点,按“确定”键,就将SLAVR731.ASM文件的属性改为“正常”了。此时,从显示框的左边可见文件属J为“正常”)。运行汇编程序wavr.a$ni,打开文件SLAV$731.ASM,将指令“lditemp.7f”改成“ldlitemp.‘77”。按第三条进行汇编,串行“,并运行程序,显示的字符就改变了。
  2.显示2位字符
  置显示初值指令“ldiscndp,Ob11()11111”中的二进制数Ob11011111的低6位对应LED数码管的显示。
  状态。其O的个数表示显示字符的个数。因此,简单的方法是修改Ob11011111来改变同时显示的字符数。如要同时显示2位数,可将Ob11011111改成Ob11001111。但应当注意的是,由于数码管DO~D5的a—h直接接到单片机的PBO—PB7,同时显示的位数多了,会增加口线的负载电流,必须考虑单片机的口线驱动能力,故用此法同时显示的位数不宜多。
  采用动态扫描的方式显示两位数若干次后,再向右循环显示下两位数,依此类推,则可根据需要同时显示任意位数的字符。
  3.改变字符移动的方向
  将指令“ldiscndp,Ob11011111”改为“ldiscndp,Ob11111110”,指令“rors.cndp”改为“r1scndp”,便可以将字符移动的方向改成从右向左。
  4.改变字符移动的$速度
  将指令“lditemp,40”中的立即数40改大,字右到左循环显示。由于SL-AVR中的PDO~PD5用短路符移动的.速度变慢,反之字符移动的速度变快。
  以上为同一字符的移动显示,也可以:过程序进行修改,增加查表程序,实现字符O~F交替循环移动,还可以先将欲显示的字符存到指定的显示缓冲区,用查表的方式取出对应的段码,再进行动态显示。
  通过以上实验,读者对AVR单片机的指令系统、AVR汇编软件、AVR串行软件,以及SL-AVR开发实验器的硬件环境有了进一步的了解,同时熟悉了利用SL-AVR开发实验器随机光盘中提供的程序进行编程实验的方法。
  SL-AVR开发实验器随机光盘中的实验程序很多,读者可以自选程序进行实验,通过此法掌握AVR单片机的设计开发方法。
关键词:LEDLED数码单片机

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!