资源描述:
《用vhdl语言仿真实现led功能》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、点阵列LED单一字符显示系统学号:00111108姓名:龚柏翰点阵列LED单一字符显示电路数字系统设计报告龚柏翰NO.00111108[摘要]在现代的信息时代,LED显示器广告牌等已经屡见不鲜。LED价格低廉,设计控制简单。本次选题研究了点阵列LED扫描式单一字符显示电路,配合一个4位的二进制计数电路,实现了基本的扫描式单一字符显示0~f字符的功能。一.选题背景与意义。现在社会,LED数字显示器不足为奇,各种闪烁的霓虹灯充斥着人们的眼球。常见的LED显示器有七个显示器以及点阵列显示器,这都是属于较低层次但又最常见用于各种家电及控制器的一种输出组阵。其特点是价格低廉,
2、控制方式简单,可直接搭配单片机使用,利用程控来设置输出状态。因此不需要其他的显示控制器就可以进行数据显示。研究LED点阵列显示控制系统充满了实际意义。帮助我们理解其基本的原理,把一些基本的LED组合在同一个包装之中,经过适当安排成为二维的点阵列形态,矩阵中的每一个点对应一个独立的LED。充分理解LED的显示原理,就可以大幅度普及基本知识,降低制作成本,也可以自己动手制作简单的LED显示器,增强趣味性。二.点阵列LED显示控制系统整体设计方案。点阵列LED显示控制系统由三部分组成,时钟脉冲发生电路,4位计数器,点阵列显示控制。时钟脉冲发生电路点阵列显示控制Scan_c
3、ode()_clk_10m。。。4位计数器Scan_row()1.时钟脉冲发生电路Clk_10m由外部震荡器提供10MHz的时钟信号;Reset系统自动复位信号;当reset=“1”时复位,当reset=“0”时电路正常工作不复位。Test:生成的测试信号,,是正常模式与测试模式选择开关(0:正常模式,1:测试模式)。时序脉冲电路确定了整个系统的工作频率为10MHz,也决定了LED显示器字符闪烁跳动频率。一般而言,只要扫描频率大于20Hz,肉眼所看到的显示效果就是LED同时点亮。通常,为了减少闪烁现象造成的眼睛的不适,扫描频率都会在50Hz到100Hz之间。2.4位
4、计数器。根据扫描法显示原则,为实现将十六进制数字0~f的字符依次显示在点阵列显示器上,特此设计的4位二进制计数器,记录0~f这16个字符依次显示顺序和循环次序。3.点阵列显示控制每个LED的两个端点P和n都分别受到列(column)控制信号与行(row)控制信号的控制。当特定LED的pn接面是顺着偏压的状况时,该LED就会点亮,因此,只要能依次将字符中每一个字形码传送至显示器的列信号输入端,同时将对应于该字形码位置的行输入端设定在低电位,其他行输出端设定为高电位,即可将该字形码显示在正确的位置上。只要不断地轮流的处理扫描,每一行的字形码即可在显示器上显示正确的字形。
5、要能够利用上述扫描法来显示各种字符符号,就必须事先将所要提供的所有字符对应字符编写妥当,并依照一定的顺序存储在字形表之中(通常使用ROM来存储),每一个8*8的字符室友8行字形码组成。因此,一个字符共需要8位来存储其字形,其中亮点对应位需要设为1,暗点对应位需要设定为0.常用的字符分为数字,英文字母以及其他特殊符号或自定义符号。利用ASCII的标准字符表建立一个完整的字符表供应显示使用。定义rom_type的数据类型位由8位unsigned数值所组成的数组Typerom_typeisarray(integerrange<>)ofunsigned(7downto0);
6、constantfont_tab:rom_type(0to127):=(x"7c",x"c6",x"ce",x"de",x"f6",x"e6",x"7c",x"00",--'0'x"30",x"70",x"30",x"30",x"30",x"30",x"fc",x"00",--'1'x"78",x"cc",x"0c",x"38",x"60",x"cc",x"fc",x"00",--'2'x"78",x"cc",x"0c",x"38",x"0c",x"cc",x"78",x"00",--'3'x"1c",x"3c",x"6c",x"cc",x"fe",x"0c",x"
7、1e",x"00",--'4'x"fc",x"c0",x"f8",x"0c",x"0c",x"cc",x"78",x"00",--'5'x"38",x"60",x"c0",x"f8",x"cc",x"cc",x"78",x"00",--'6'x"fc",x"cc",x"0c",x"18",x"30",x"30",x"30",x"00",--'7'x"78",x"cc",x"cc",x"78",x"cc",x"cc",x"78",x"00",--'8'x"78",x"cc",x"cc",x"7c",x"0c",x"18",x"70",x"00",--'9'x"30