《基于verilog键盘数码管设计.ppt》由会员分享,可在线阅读,更多相关《基于verilog键盘数码管设计.ppt(14页珍藏版)》请在三一办公上搜索。
1、第三届“梦想启航”科技培训活动,基于verilog语言键盘与数码管制作,2010年11月13日,主要内容:1.基于verilog语言数码管扫描 程序2.基于verilog语言矩阵键盘扫描 程序,共阴:1点亮 共阳:0点亮,共阴:1点亮共阳:0点亮,4,a,b,c,d,e,f,g,dp,动态显示:是指无论在任何时刻只有一个数码管处于显示状态,每个数码管轮流显示。,图2.21 限流电阻的连接方式,当数码管处于动态显示时,所有位选线分离,而每个数码管的各条段选线相连。当需要显示数字或字符时,需要将所有数码管轮流点亮,这时对每个数码管的点亮周期有了一个较严格的要求:由于发光体从通入电流开始点亮到完全发
2、光需要一定的时间,叫做响应时间,这个时间对于不同的发光材质是不同的,通常情况下为几百微秒,所以数码管的刷新周期(所有数码管被轮流点亮一次的时间)不要过短,这也与数码管的数量有关,一般的数码管的刷新周期应控制在5ms10ms,即刷新率为200Hz100Hz,这样既保证了数码管每一次刷新都被完全点亮,同时又不会产生闪烁现象。,动态显示的优点是:硬件电路简单(数码管越多,这个优势越明显),由于每个时刻只有一个数码管被点亮,所以所有数码管消耗的电流较小;缺点是:数码管亮度不如静态显示时的亮度高,例如有8个数码管,以1秒为单位,每个数码管点亮的时间只有1/8秒,所以亮度较低;如果刷新率较低,会出现闪烁现
3、象;如果数码管直接与单片机连接,软件控制上会比较麻烦等。在应用数码管进行显示时,首先需要考虑的问题就是驱动电流,与发光二极管相同,数码管的发光段也需要串联限流电阻,以共阳极数码管为例,串联的限流电阻阻值越大,电流越小,亮度越低;电阻值越小,电流越大,亮度越高。在使用限流电阻时需要在每一个段线上都串联限流电阻,而不要在公共端上串联电阻,如果只在公共端上串联一个限流电阻,则在显示不同的数字时,将会造成数码管亮度的不同。,矩阵扫描式键盘硬件电路结构,矩阵式键盘识别按键的步骤:1.读端口,将端口状态与设定状态对比,判断状态是否有变化2.如有变化,软件延时 消按键的抖动!无则返回3.再次执行第一步的操作4.如有键按下 则读取数据进行数据分析!若无则返回!5.返回分析行列扫描线的信息的结果!,用状态机实现键盘扫描程序!,parameter STATE_A=6b000001,STATE_B=6b000010,STATE_C=6b000100,STATE_D=6b001000,STATE_E=6b010000,STATE_F=6b100000;,独热码:有多少个状态就有多少比特,而且只有一个比特为1,其他全为0,键盘用到的两个寄存器:reg 3:0 col_reg;/列值reg 3:0 row_reg;/行值,看看具体的程序!,