AVR5_led数码管显示.pptVIP

  • 6
  • 0
  • 约1.68千字
  • 约 20页
  • 2018-05-14 发布于四川
  • 举报
AVR单片机技术 AVR Microcontroller 开课班级:08微电子 开课时间:星期五(567) 主讲教师:王静霞 温馨提示 学习目标 训练任务 实验环境:数码管采用共阳极数码管,数码管的八段通过S2接到PB口,PB0~PB6引脚对应A段~G段,PB7对应小数点。数码管的位控制通过S3接到PA口的高4位PA4~PA7,对应位0~位3。 共阳输出编码如下: 数码管控制电路 任 务 1 采用静态显示的方式,在数码管上以1秒的频率循环显示0~9数字。 可以只显示一位,也可以多位同时显示。 任 务 2 在第1个数码管上显示0,延时大约1秒时间后,在第2个数码管上显示1,延时大约1秒时间后,在第3个数码管上显示2,延时大约1秒时间后,在第4个数码管上显示3,延时大约1秒时间后,再返回第1个数码管显示,如此反复循环下去。 问 题 如果把延时时间缩短为10ms左右,请问四个数码管的显示效果。 任 务 3 在数码管上稳定显示字符型变量h和m的内容,其中h中存放的是小时0—23,m中存放的是分钟0-59。 任 务 4 采用软件延时的方式,在数码管上稳定显示时间00:00~59:59 XX :XX 高两位是分钟,低两位是秒。 任 务 5(扩展) 设计一个计数器,对外部按键进行计数。 1. 通过LED数码管动态显示。 2. 按键每按一次,计数加1,最大显示0~9999。数码管8段接在PB口,位控制接在PA4~PA7。 3. 每计数到3的倍数,led点亮,7的倍数相应led熄灭。 * * 请穿上实训服 按照第一次课的座位入座 下课后请把电源拔掉,把设备放回原处 AVR开发环境的使用 C语言基本语句 数组定义 动态8段数码管编程 任务1:数码管静态显示 任务2:数码管动态控制 任务3:稳定显示时间 任务4:分、秒时钟设计 任务5:计数器设计 LED数码管结构及原理 LED静态显示 LED动态显示 LED动态显示 动态显示是一种按位轮流点亮各位数码管的显示方式,即在某一时段,只让其中一位数码管“位选端”有效,并送出相应的字型显示编码。此时,其它位的数码管因“位选端”无效而都处于熄灭状态;下一时段按顺序选通另外一位数码管,并送出相应的字型显示编码,依此规律循环下去,即可使各位数码管分别间断地显示出相应的字符。这一过程称为动态扫描显示。 0 0xc0 1 0xF9 2 0xA4 3 0xB0 4 0x99 5 0x92 6 0x82 7 0xF8 8 0x80 9 0x98 灭 0xFF LED动态连接电路 课后作业 一般实训报告参考结构 实训题目 实训目的 实训设备 实训硬件电路 控制程序 实训步骤 实训小结 完成实训报告,要求把程序和相应的流程图画出来。 main( ) { unsigned char i; unsigned char num[10]={0xc0,0xF9, 0xA4,0xB0,0x99, 0x92,0x82,0xF8,0x80,0x98}; PORTA=0xe0; //选择最后一位显示 DDRA=0xFF; PORTB=0xFF; //关闭显示 DDRB=0xFF; while (1) { // Place your code here for(i=0;i10;i++) { PORTB=num[i]; delay_ms(1000); } } } 开始 循环变量、 字型码初始化 显示位控制,关显示 循环变量赋初值 显示下一个数据 延时1s 循环变量加1 结束 是否显示到10 N Y *

文档评论(0)

1亿VIP精品文档

相关文档