实验8 动态数码管扫描.docVIP

  • 15
  • 0
  • 约1.93千字
  • 约 4页
  • 2019-09-10 发布于山西
  • 举报
实验8 动态数码管扫描 (仿真部分) 一、实验目的 1. 学习数码管的基本知识。 2. 学会如何控制动态数码管扫描显示。 二、实验内容 利用共阴极的6位LED数码管进行显示,然后用定时器T0实现定时,实现一个数字电子钟,实现时、分、秒,并用“.”隔开显示。 三、硬件设计 利用以下元件:AT89C51、BOTTON、CAP、CAP-POL、CRYSTAL、RES、74LS245、7SEG-MPX6-CC-BLUE。设计出如下的硬件电路。晶振频率为12MHz。 四、思考题 1. 利用通过修改电路实现对数字电子钟实现控制,即能适时地设置时间,并完成相应的程序。 2.利用通过修改电路实现一个电子秒表,启动秒表,暂停秒表,秒表清零,秒表显示到毫秒。 实验8 动态数码管扫描 (实验箱部分) 1. 实验目的 学习数码管的基本知识 学会如何控制动态数码管扫描显示 学习如何用74HC573扩展简单的并行输出端口 2. 实验原理 七段式LED数码管是常见的电子设备显示器件,能够显示数字0~9以及部分字母和符号。实际上的数码管常常会附加一个小数点,作为第八段。 数码管分为静态和动态两大类,每一类又有共阳和共阴之分。静态数码管的特点是驱动方法简单、亮度高,但是连线比较多。动态数码管常常以多位联体的形式提供,连线较少,但是要用动态扫描的方法驱动。为了获得足够的亮度,限流电阻取值常常比较小。 1位的数码管可以看成是由abcdefg和dp共8段的单个LED组成的,如图 4.9所示。 多位联体的动态数码管段选信号abcdefg和dp是共用的,而位选信号com是分开的。扫描方法并不难,先把第1个数码管的显示数据(段码)送到abcdefg和dp,同时选通com1,而其它数码管的com信号禁止;延时一段时间(通常不超过1ms),再把第2个数码管的显示数据送到abcdefg和dp,同时选通com2,而其它数码管的com信号禁止;延时一段时间,再显示下一个,如此反复循环。注意,整个数码管扫描一遍的时间最慢也应当保证在20ms以内(频率50Hz),否则会看到明显的闪烁。 实验电路图参见图 4.10。可向地址XDATA:0x8000写入动态数码管的位选信号,向地址XDATA:0x9000写入段选信号。 在编程方面有个小小的技巧。我们知道,电脑显示器工作的基本方式是,CPU负责将需要显示数据发送到显示缓冲区,显卡读出显示数据转换成显示控制信号,而显示器负责最终的显示。例程当中处理动态数码管也采用了同样的道理。 例程在逻辑上分为3个部分:主程序、显示缓冲区、定时中断服务程序。显示缓冲区就是一段内部RAM空间,具有全局性质,主程序和中断程序都能访问。主程序相当于“CPU”,只负责向显示缓冲区写入显示数据,并不直接管理数码管。定时中断服务程序相当于“显卡”读出显示数据转换成控制驱动器74HC573的信号。最后由74HC573驱动动态数码管显示。 3. 实验步骤 参考光盘里的实验例程,自己动手建立Keil C51工程。 注意选择CPU类型。Philips半导体的P89V51RB2。 编辑源程序,编译生成HEX文件。 ISP下载开关扳到“00”,用Flash Magic软件下载程序文件“dpy.hex” 利用Flash Magic软件将例程的HEX文件下载到MCU BANK1。 运行Flash Magic软件。各步骤操作如下: Step 1: COM Port:选择实际使用的串行口,通常为COM1; Baud Rate:波特率不可设置得过高,推荐用9600; Device:请选择正确的型号89V51RB2; Interface:选择None(ISP)。 Step 2:请勾中“Erase blocks used by Hex File”。 Step 3:装入你的程序文件,注意必须为HEX格式。 Step 4: 请勾中“Verify after programming”(编程后校验); 对其它几项如果不了解,请不要勾中。 Step 5: 请先给电路板上电,同时按住复位键不松手,然后点击Flash Magic软件的“Start”按 钮。当出现提示您复位的对话框时再松开复位键,ISP下载过程开始。如果您的电路板没有设置复位键,可以先点击“Start”,然后给电路板上电。 Step 6: 运行程序 ISP下载结束后,按一次复位键或者重新上电程序即开始运行。 运行程序,动态数码管依次显示出如下字符:0123456789AbCdEF-。 尝试改变显示内容,比方说让每个数码管显示内容不一样。

文档评论(0)

1亿VIP精品文档

相关文档