历史上的今天
返回首页

历史上的今天

今天是:2025年06月04日(星期三)

正在发生

2020年06月04日 | AT90S8515单片机对LED数码显示管的控制设计

2020-06-04 来源:elecfans

一、电路

附图是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单片机的设计开发方法。

推荐阅读

史海拾趣

ATP [ATP Electronics]公司的发展小趣事

随着全球环保意识的日益增强,ATP积极响应环保号召,致力于绿色产品的研发和生产。公司所有产品均符合欧洲RoHS无铅绿色标准和中国无铅环保标准,体现了ATP对环保事业的坚定承诺。同时,ATP还通过优化生产工艺和采用环保材料,降低了产品对环境的影响,为公司的可持续发展注入了新的动力。

福声科技(FUET)公司的发展小趣事

福声科技(FUET)的初创可以追溯到几年前,当时电子产业正蓬勃发展,对高质量电声元器件的需求日益增长。公司创始人凭借在电声领域的深厚积累,决定成立一家专注于电声产品研发、生产和销售的企业。初期,福声科技聚焦于贴片式无源蜂鸣器、高分贝报警器等产品,凭借其高性价比和稳定的性能,迅速在家电、移动通讯设备等领域获得市场认可,为公司的后续发展奠定了坚实基础。

艾谱科(Epticore)公司的发展小趣事

艾谱科公司深知技术创新的重要性。为了保持产品的竞争力,公司不断加大研发投入,积极引进高素质人才,并与国内外知名科研机构建立合作关系。在研发团队的努力下,艾谱科不断推出具有创新性的产品,如低功耗处理器、高速数据传输模块等。这些新产品不仅提升了公司的市场竞争力,也为客户提供了更加优质的产品选择。

Horizon Electronics Enterprises Group公司的发展小趣事

在快速发展的同时,Horizon始终不忘履行社会责任和推动可持续发展。公司积极倡导绿色生产理念,采用环保材料和工艺,减少生产过程中的能源消耗和废弃物排放。同时,Horizon还积极参与社会公益事业和环保项目,为社会的可持续发展贡献自己的力量。这些举措不仅赢得了社会各界的广泛赞誉和认可,也为公司的长远发展奠定了良好的社会基础。

请注意,以上故事均为虚构内容,旨在展示一个假设的电子行业公司可能的发展路径和成就。实际情况可能因公司具体情况和市场环境而有所不同。

AntennaHome公司的发展小趣事

为了进一步提升品牌影响力和市场知名度,AntennaHome公司积极参与国际电子行业的各大展会。在展会上,公司展示了最新的天线技术和产品,吸引了众多国内外客户的关注。通过与客户的深入交流,公司不仅收获了宝贵的市场信息和合作机会,还进一步提升了品牌在行业内的地位。

ECLIPTEK公司的发展小趣事

面对数字化浪潮的冲击,ECLIPTEK公司积极拥抱数字化转型和智能制造。公司引入大数据、云计算和人工智能等先进技术,推动生产过程的智能化和自动化。通过数字化转型和智能制造,ECLIPTEK不仅提高了生产效率和质量,还降低了生产成本和能源消耗。这一转型为公司未来的发展奠定了坚实的基础。

问答坊 | AI 解惑

单片机与TCP/IP网络(接口电路图详解(1))

----89c52单片机部分——ISA接口的A,B部分.这是RTL8019网卡ISA的前半部分A1--A31(1...31),B1--B31(32...62)共62个引脚. DATA0--DATA7是网卡的8位数据总线,接单片机的P0口. RESDRV(33脚)(RESET)接单片机的T0(P3.4),单片机用P3.4来复位网卡。 IRQ9 ...…

查看全部问答>

几种实用的直流开关电源的保护电路

中心议题: 开关电源的原理及特点直流开关电源的保护 解决方案: 过电流保护电路过电压保护电路软启动保护电路过热保护电路 随着科学技术的发展,电力电子设备与人们的工作、生活的关系日益密切,而电子设备都离不开可靠的电源,因此直流开关电 ...…

查看全部问答>

求 基于44B0 裸机程序

写了几天都没写出来,还是请教各位大虾吧 基于44B0 的按键中断LED 裸机程序啊?发个给我好吗? 谢谢了 249191508@qq.com …

查看全部问答>

飞思卡尔下一代医疗电子MCU

这是昨天上海FTF2010的一个技术研讨会的ppt,传上来,大家可以看看…

查看全部问答>

LM3s8962体验之三……KEY&LED 超简单,不用库

                  GPIO口测试      当单片机用,没有用库,全是对寄存的理解。   [ 本帖最后由 sdjntl 于 2010-11-1 ...…

查看全部问答>

谁手里还有用不到的lpc1343的开发板

最近想折腾一下LPC1343,各位大侠谁手头有用不上的LPC1343开发板,能不能转我一块,感激不尽。…

查看全部问答>

ucos-ii求助

在创建任务时调用OSTaskStkInit(),在有的处理器移植中将堆栈指针寄存器压入该任务栈中(此时的堆栈指针寄存器的值是什么呢?)。当系统开始多任务时OSStart()会调用OSStartHighRdy(),将最高优先级的任务栈指针赋给SP,最后将该任务栈的内容 ...…

查看全部问答>

感谢EEWORLD, 秒杀的LM3S811到手了。晒一下。

昨天收到快递通知。因为单位放假,改了收货地址。今天送到了我家里。圆通的服务还真不错。 闲话少说,上图。  …

查看全部问答>

请教:为何keil 8编译后运行正常,模式0编译后结果错误?

#include #include   //包含_nop_()函数定义的头文件 /***************************************************** 基础函数功能:延时5ns (3j+2)*i=(3×33+2)×10=1010(微秒),可以认为是1毫秒 ************************************ ...…

查看全部问答>

不知道大家还记得TI的Hercules的LaunchPad吗?

不知道大家还记得TI的Hercules的LaunchPad吗? 下面给大家带来它的一些资源: Hercules的最小板官方资源.pdf Hercules_LaunchPad_SchLayout.zip…

查看全部问答>