数码管动态扫描显示及外部中断的使用_第1页
数码管动态扫描显示及外部中断的使用_第2页
数码管动态扫描显示及外部中断的使用_第3页
数码管动态扫描显示及外部中断的使用_第4页
数码管动态扫描显示及外部中断的使用_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验二数码管动态扫描显示及外部中断的使用实验目的掌握Mega16的I/O输出特性和使用,以及单片机I/O输出口串行扩充的方法。掌握LED数码管动态扫描的原理和设计方法,了解数码管及LED点阵模块的使用。了解AVR中断系统原理,响应过程,以及外部中断程序的编写。设计实现一个秒表系统。基本实验内容阅读芯片数据手册,掌握GPIO 口有几种工作模式,如何控制I/O 口的输出应用。实现6位LED数码管的动态扫描显示的软件设计和硬件设计。a)根据例6.5六位LED数码管动态扫描控制显示设计(一),掌握其硬件连线,在 实验板上实现该设计。源程序参考demo_6_5.c,读懂该程序,回答以下问题:b)时、分、

2、秒的计算采用何种数制?到数码管的时间显示之间经过了几种数制的转换?为什么要转换(不转换行吗)?怎样转换的?时分秒本身是十进制,秒到分和分到时都是60进制;三种,十进制到七段数码管,六十进制到七段数码管;根据十进制数的字形,写出相应的字形代码,同理六十进制c)Display ()函数是如何工作的?每秒钟执行几次?动态扫描显示函数,每2ms对各位数码管扫描一次;40次;d)说明time_to_buffer ()的功能,每秒执行几次?时间值送显示缓冲区,将两个子程序分离开来,635次e)说出和深入体会程序中的变量time_counter、point_on的作用。time_counte r实际代表1s

3、中扫描的次数;控制秒显示标志亮暗的频率f)将程序中有(3)注释标记的语句去掉,会产生什么现象,为什么?说明该语句的 作用。最高位数码管显示明显比其他亮度高,因为当最高位数码管被扫描以后PORTC没有 关闭,持续时间延时了 13ms,因此扫描时间长,亮度高;保持各数码管扫描时间均匀,亮度一致;g)将程序中有(4)注释标记的语句去掉,会产生什么现象?变成分秒十分秒百分秒计数,经过3s36,会有一次停顿,此时秒显示标志会灭h)如何调整程序,使数码管的显示亮度有变化?将数码管显示时间由2ms改为1ms,亮度明显变暗了delay_ms(2)delay_ms(1)delay_ms(13) delay_ms

4、(19)i)程序中使用了显示缓冲区,占用了6个字节。如果不使用显示缓冲区能否实现时间的显示?而使用显示缓冲区有何优点?不能,这样不能将十进制个位十位分别显示;增加了程序的可读性,便于程序修改,使程序模块化,便于其他程序调用;j)该程序中采用软件延时的方法,其主要的缺点有那些?延时过程中CPU被占用,而且服务中的中断程序会影响定时的精度熟悉中断原理以及中断程序的编写,使用外部中断实现简易的秒表系统设计。在实验板上设计一个采用外部中断方式的6位数码管(分、秒、1%秒各占2位)显示的 简易秒表系统。可以先使用CVAVR中的程序生成向导功能进行配置,然后在它生成的程序框 架基础上完成定时器中断部分程序

5、。该系统程序设计可参考demo_7_2.c,在这个基础上修 改代码,最终设计出一个完整的秒表系统。数码管显示的数值按1%秒速率计时。第二次按键计时停止,数 第三次按键对数码管清零。以上功能可反复执行。:Demo_7_2.c ATmega16 Application 4.000000 MHz Small 0 256提示:使用Mega16两个外部中断源INT0和INT1。将其中一个外部中断源与板上500Hz 的标准频率相连,另外的一个外部中断源与一个按键相连 500Hz的标准频率被作为秒表系 统的计时基准。按键的起到了 “开始/停止/清零”作用。上电后,数码管显示全零,第一次 按键,表示秒表计时开

6、始, 码管显示最终的计时时间。File nameChip typeProgram typeClock frequencyMemory modelExternal SRAM sizeData Stack size/*/#include charflashunsignedled_710 = 0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F;flash unsigned char position6 = 0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf;char time3;char dis_buff6;un

7、signedunsigned符的段码值int timeint i=0;unsigned char posit;bit point_on, time_1s_ok;void time_to_disbuffer(void) ;/时、分、秒计数单元/显示缓冲区,存放要显示的6个字counter;/中断次数计数单元/(1)void display(void)/ 6位LED数码管动态扫描函数PORTC = 0 xff;PORTA = led_7dis_buffposit;if (point_on & (posit=2|posit=4) PORTA |= 0 x80;PORTC = positionposi

8、t; if (+posit =6 ) posit = 0;/(2)/(3)/interrupt EXT_INT1 void ext_int1_isr(void)外部中断INT1服务函数display();if (+time_counter=5) time_counter = 0;time_1s_ok = 1;interrupt EXT_INT0if(+i=3)i=0;/调用LED扫描显示/ (4)/ (5)void ext_int0_isr(void)void time_to_disbuffer(void)/时钟时间送显示缓冲区函数unsigned char i,j=0;for (i=0;i=

9、 100)= 0;point_on;/ INT1中断允许/ INT1下降沿触发/ 1秒到/if/以下时间调整time0= if 0;(+time1 = 60)time1 = 0;if (+time2 =60)time2 = 0;timetodisbuffer();/新调整好的时间送显示缓冲区选作实验内容1.2.参考教材P188,利用8X8点阵LED,显示一个不断向左运动的箭头符号符号。仅使用Mega16的两个I/O 口,利用74HC164输出8位段码信号,实现基本实验内容3 的简易的秒表系统(参考例6.6)。3.(有能力同学完成)参考书中例6.7,和demo_6_7.c,设计一个8X8点阵LE

10、D广告,能够水平移动显示“-2月1日”。要求显示连续不闪烁,移动平稳,字符亮度均匀。实验总结与思考了解I/O 口上拉作用,AVR如何实现上拉?上拉有什么作用?如何实现:当AVR的I/O 口输出为1时,可提供20mA的输出电流。作用:上拉电阻是用来解决总线驱动能力不足时提供电流的。一般说法是拉电流。比较数码管静态扫描和数码管动态扫描,说明这两个方案各自的优点和缺点。静态扫描的优点:显示稳定,亮度高,程序设计相对简单,MCU负担小缺点:占用硬件资源多,耗电量大动态扫描优点:占用硬件资源少,耗电量少缺点:显示不稳定,程序设计相对复杂,MCU负担重全面、仔细、深入分析程序demo_6_5.c,说明在动

11、态扫描显示设计中,如何保证每个 显示器的亮度一致,在系统应用中没有闪烁和熄灭现象。每个数码管的扫描时间保证持续2ms,1s内循环扫描6个数码管的次数大于25次。请详细说明AVR中断响应的全过程。在这个过程中,硬件完成了哪些工作,软件完成了 哪些工作?先中断初始化,定义中断寄存器的触发方式,当程序开始执行,在时钟输入下,进入相 应的中断服务程序,执行中断服务程序,再返回断点,当下一个时钟脉冲到来时,重复 上述过程。中断响应是随机的。硬件相应I/O端口接入时钟脉冲,软件编译中断服务程 序和定义中断初始化。比较程序demo_6_5.c和demo_7_2.c,考虑采用软件延时和采用中断这两种不同的方式

12、 进行数码管扫描的优缺点。提高了 CPU的利用率,在demo_6_5.c中,软件延时有空余的13ms,CPU处于空闲状态, demo_7_2.c中,没有占用CPU时间,1s中每个管子点亮累计时间长,会比较亮在动态扫描显示中,若要调整显示的亮度。请给出若干种硬件和软件的设计改动方法, 并说明理由?在外部中断方式下,硬件方面可以改动输入时钟频率,频率高的时候显示会变暗在软件延时方式下,改变延时子程序的延时时间,扫描时间长管子显示会变亮要以比较少的I/O 口,比如5个I/O 口,去实现一个8位的LED数码管动态扫描显示, 该如何设计其硬件电路和相应的软件显示控制程序?给出电路原理图和程序流程图。提 示:考虑使用74HC164和74HC138。Atmega16 初始化,PA0,PA1 输出,PC0,PC1,PC2 输出初值设置显示字符段码编译PC0,PC1,PC2初始为0,一段时间后改变PC0,PC1,PC2的值为之前值加1,依次选了 led0-7.需要软件延时或中断延时程序来实现动态扫描若需要的话可以使用显示缓冲区来放变化的时间值总结在实践实验过程中出现的问题,说明发生问题的原因,和你解决的方法。1)我们中断触发方式选择低电平有效,导致只有持续按

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论