工业设备中LED显示和键盘扫描设计
AIP650 LED驱动控制 键盘扫描专用集成电路 产品说明书

表733-11-I 编号:AIP650-AX-BJ-78AIP650LED驱动控制/键盘扫描专用集成电路产品说明书说明书发行履历:版本发行时间新制/修订内容2010-01-A 2010-01 更换新模板2012-01-B1 2012-01 增加说明书编号及发行履历第 1 页共 12 页版本:2012-01-B11、概 述AIP650是一种带键盘扫描电路接口的LED 驱动控制专用电路。
内部集成有MCU 输入输出控制数字接口、数据锁存器、LED 驱动、键盘扫描、辉度调节等电路。
本芯片性能稳定、质量可靠、抗干扰能力强,可适应于24小时长期连续工作的应用场合。
其主要特点如下: ● 显示模式:8段×4位● 段驱动电流不小于25mA ,字驱动电流不小于150mA. ● 提供8级亮度控制 ● 键盘扫描:7×4bit ● 高速两线式串行接口 ● 内置时钟振荡电路 ● 内置上电复位电路 ● 支持3V -5.5V 电源电压● 使用时VCC 端建议加104电容,且电容尽量靠近AIP650的VCC 端口(小于2cm ) ● 封装形式:DIP16/SOP162、引脚排列图及引脚说明2.1、引脚排列图第 2 页 共 12 页版本:2012-01-B1DP/KP G/KI7F/KI6E/KI5D/KI4C/KI3VCC B/KI21211DIG1CLK DAT GND DIG2DIG3DIG4A/KI11615141312345678910第 3 页 共 12 页版本:2012-01-B12.2、引脚说明 引脚符 号引 脚 名 称功 能1 DIG1 位/键扫描输出 LED 位驱动输出,低电平有效,及作为键盘扫描输出,高电平有效。
2 CLK 时钟输入 2线串行接口的数据时钟输入,内置上拉电阻。
3 DAT 数据输入/输出 2线串行接口的数据输入输出,为内置上拉开漏模式。
4 GND接地端 接地5 DIG2位/键扫描输出 LED 位驱动输出,低电平有效,及作为键盘扫描输出,高电平有效。
1-单片机键盘与显示电路设计

独立式按键 单片机控制系统中,往往只需要几个 功能键,此时,可采用独立式按键结构。 1.独立式按键结构 独立式按键是直接用I/O口线构成的单 个按键电路,其特点是每个按键单独占 用一根I/O口线,每个按键的工作不会影 响其它I/O口线的状态。独立式按键的典 型应用如图9-3所示。
V CC
P 1.0 P 1.1 P 1.2 P 1.3 P 1.4 P 1.5 P 1.6 P 1.7
P1口某位结构
P1口电路中包含有一个数据输出锁存器、一个三态数据输入缓冲器 、一个数据输出的驱动电路。 P1口的功能和驱动能力
P1口只可以作为通用的I/O口使用;
P1可以驱动4个标准的TTL负载电路; 注意在P1口作为通用的I/O口使用时,在从I/O端口读入数据时,应 该首先向相应的I/O口内部锁存器写“1”。 举例:从P1口的低四位输入数据 MOV MOV P1,#00001111b ;;先给P1口底四位写1 A,P1 ;;再读P1口的底四位
依此规律循环,即可使各位数码管显 示将要显示的字符。虽然这些字符是在不 同的时刻分别显示,但由于人眼存在视觉 暂留效应,只要每位显示间隔足够短就可 以给人以同时显示的感觉。 采用动态显示方式比较节省I/O口,硬 件电路也较静态显示方式简单,但其亮度 不如静态显示方式,而且在显示位数较多 时,CPU要依次扫描,占用CPU较多的时 间。
矩阵式按键 单片机系统中,若使用按键较多时,通 常采用矩阵式(也称行列式)键盘 1.矩阵式键盘的结构及原理 矩阵式键盘由行线和列线组成,按键位 于行、列线的交叉点上,其结构如下图9-4 所示。
+5 V 0 4 8 12 0 1 5 9 13 1 2 6 10 14 2 3 7 11 15 3 0 1 2 3
LED灯循环显示速度的按键控制设计

目录第1章硬件电路设计 (2)1.1电路原理 (2)1.2数码管显示方案 (2)1.3 键盘输入方案 (2)1.4 电源 (2)1.5 时钟 (3)1.6晶振电路 (3)1.7复位电路 (3)1.8 LED灯电路 (3)第2章软件设计 (4)2.1 系统流程图 (4)2.2 程序设计 (4)第3章仿真原理图 (8)3.1 仿真原理图 (8)3.2pcb图 (9)3.3 P cb3D输出实物图 (9)参考文献: (10)第1章硬件电路设计1.1 电路原理本硬件的核心是STC12C5A60S2单片机,我们选用AT89C51。
因无需扩展外部RAM。
系统采用8位共阳极数码管,用来显示循环点亮的效果。
单片机时无须外扩存储器因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
系统采用4个按键控制,4个按键分别控制4种不同流水灯速度。
系统在P0.0到P0.8上接了8个发光二极管,在按一下调速按键的时,蜂鸣器鸣叫一声,P0.0的二极管亮,此时从P0.0到P0.8的二极管依次点亮,数码管显示其调速按键的序号。
1.2 数码管显示方案通常数码管显示有两种方式:动态显示和静态显示。
静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。
但占用I/O口线多,每一个LED都要占用一个I/O口,硬件开销大,电路复杂。
需要几个LED就必须占用几个并行I/O口,比较适用于LED数量较少的场合。
当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较复杂。
LED动态显示硬件连接简单,但动态显示扫描方式需要占用CPU较多的时间,在单片机没有太多实时测试任务的情况下可以采用。
本系统需要采用1位LED数码管来显示按键序号,故本系统选择静态显示方案。
1.3 键盘输入方案单片机的键盘结构可以采用独立式按键和矩阵式键盘两种。
EDA课程设计键盘扫描及显示完整程序

EDA课程设计键盘扫描及显示完整程序第一篇:EDA课程设计键盘扫描及显示完整程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USESTD_LOGIC_ARITH.ALL;USESTD_LOGIC_UNSIGNED.ALL;ENTITYKEYBOARD IS PORT(CLK_1K : IN STD_LOGIC;CLK_40K : IN STD_LOGIC;KEY_LIE : IN STD_LOGIC_VECTOR(3 DOWNTO 0);START :OUT STD_LOGIC;KEY_HANG :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);DATA_P : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);DISP_DATA : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);DISP_SEL : OUT STD_LOGIC_VECTOR(1 downto 0);END;ARCHITECTURE RTL OF KEYBOARD IS SIGNAL INT : STD_LOGIC;SIGNAL CLK_SEL : STD_LOGIC;SIGNAL START_REG:STD_LOGIC;SIGNAL SIGNAL SIGNAL SIGNAL DISP_SEL_REG:STD_LOGIC_VECTOR(1 DOWNTO 0);DATA_L,DATA_H:STD_LOGIC_VECTOR(3 DOWNTO 0);DATA_TMP:STD_LOGIC_VECTOR(3 DOWNTO 0);KEY_HANG__TMP:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL DISP_DATA_REG:STD_LOGIC_VECROR(3 DOWNTO 0);SIGNAL KEY_CODE:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL DATA_P_REG:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN KEY_CODE<=KEY_HANG_TMP&KEY_LIE;DATA_P<=DATA_P_REG; START<=START_REG;KEY_HANG<=KEY_HANG_TMP;DISP_SEL<=DISP_SEL_REG;CLK_SEL<=CLK_1K AND(NOT INT);PROCESS(CLK_SEL,CLK_40,INT)VARIABLE STATE : INTEGER RANG 0 TO 3;BEGIN IF RISING_EDGE(CLK_40K)THEN INT<= NOT(KEY_LIE(3)AND KEY_LIE(2)AND KEY_LIE(1)AND KEY_LIE(0));END IF;IF RISING_EDGE(CLK_SEL)THEN CASE STATE IS WHEN 0=>KEY_HANG_TMP<=“1110”;STATE :=1;WHEN 1 =>KEY_HANG_TMP<=“1101”;STATE :=2;WHEN 3 =>KEY_HANG_TMP<=“1011”;STATE :=3;WHEN 4=>KEY_HANG_TMP<=“0111”;STATE :=0;END CASE;END IF;END PROCESS;PROCESS(CLK_40K , INT)VARIABLE STATE :INTEGER RANGE 0 TO 3;VARIABLE COUNTER : INTEGER RANGE 0 TO 31;BEGIN IF INT='0' THENSTATE:=0;COUNTER:=0;ELSIF RISING_EDGE(CLK_40K)THEN CASE STATE ISWHEN 0 => DATA_TMP <= DATA_L;STATE:=1;WHEN 1 =>CASE KEY_CODE ISWHEN “01110111” =>DATA_L <=“0001”;DATA_H <=DATA_TMP; STATE:=2;WHEN “01111011” => DATA_L <=“0010”; DATA_H <=DATA_TMP; STATE:=2;WHEN “01111101” => DATA_L <=“0011”; DATA_H <=DATA_TMP; STATE:=2;WHEN “01111110” => DATA_L <=“0100”; DATA_H <=DATA_TMP; STATE:=2;WHEN “10110111” => DATA_L <=“0101”; DATA_H <=DATA_TMP; STATE:=2;WHEN “10111011” => DATA_L <=“0110”; DATA_H <=DATA_TMP; STATE:=2;WHEN “10111101” => DATA_L <=“0111”; DATA_H <=DATA_TMP; STATE:=2;WHEN “10111110” => DATA_L <=“1000”; DATA_H <=DATA_TMP; STATE:=2;WHEN “11010111” => DATA_L <=“1001”;DATA_H <=DATA_TMP; STATE:=2;WHEN “11011011” => DATA_L <=“0000”;DATA_H <=DATA_TMP; STATE:=2;WHEN “11011101” =>IF DATA_H =“1001” THEN IF DATA_L=“1001” THEN DATA_H<=“1001”;DATA_L<=“1001”;ELSE DATA_L<=DATA_L + 1; END IF;ELSIF DATA_L=“1001” THEN DATA_L<=“0000”;DATA_H<=DATA_H+1; ELSEDATA_L<=DATA_L+1;DATA_H<=DATA_H;END IF;STATE:=2;WHEN “11011110” =>IF DATA_H=“1001” THEN DATA_H<=“1001”;ELSE DATA_L<=DATA_L;DATA_H<= DATA_H+1;END IF; STATE:=2;WHEN “11100111” =>IF DATA_L=“0000” AND DATA_H=“0000” THEN DATA_L<=“0000”;DATA_H<=“0000”;ELSIF DATA_L=“0000” THEN DATA_L<=“1001”;DATA_H<= DATA_H-1;ELSEDATA_L <=DATA_L-1;DATA_H<=DATA_H;END IF;STATE:=2;WHEN “11101011”=>IF DATA_H=“0000” THENDATA_H<=“0000”;ELSEDATA_L<=DATA_L;DATA_<=DATA_H-1;END IF;STATE:2;WHEN “11101110” =>DATA_L<=DATA_L;DATA_H<=DATA_H;DATA_P_REG<=DATA_H&DATA_L;START_REG<='1';STATE:=2;WHEN“11101101” =>DATA_L<=“0000”;DATA_H<=“0000”;STATE:=2;WHEN OTHERS =>STATE:=2;END CASE;WHEN 2 =>IF COUNTER=31 THENCOUNTER:=0;STATE:=3;ELSECOUNTER:=COUNTER+1;STSTE:=2;END IF;WHEN 3 =>START_REG<='0';STATE:=3;END CASE;END IF;END PROCESS;PROCESS(CLK_1K,DATA_L,DATA_H)VARIABLE STATE: INTEGER RANGE 0 TO 1;BEGINIF RISING_EDGE(CLK_1K)THENCASE STATE ISWHEN 0 =>DISP_SEL_REG<=“10”;DISP_DATA_REG<=DATA_L;STATE:=1;WHEN 1 =>DISP_SEL_REG<=“01”;DISP_DATA_REG<=DATA_H;STATA:=0;END CASE;END IF;END PROCESS;PROCESS(CLK_1K,DISP_DATA_REG)BEGIN IF RISING_EDGE(CLK_1K)THENCASE DISP_DATA_REG ISWHEN “0000”=>DISP_DATA<=“1111110” WHEN “0001”=>DISP_DATA<=“0110000” WHEN “0010”=>DISP_DATA<=“1101101” WHEN “0011”=>DISP_DATA<=“1111001” WHEN “0100”=>DISP_DATA<=“0110011” WHEN “0101”=>DISP_DATA<=“1011011” WHEN “0110”=>DISP_DATA<=“1011111” WHEN “0111”=>DISP_DATA<=“1110000” WHEN “1000”=>DISP_DATA<=“1111111” WHEN “1001”=>DISP_DATA<=“1111011” WHEN OTHERS =>DISP_DATA<=“0000000” END CASE;END IF;END PROCESS;END;第二篇:EDA课程设计考试序号:28自动打铃系统设计说明书学生姓名:周文江学号:14112502521专业班级:1102报告提交日期:2013.11.26湖南理工学院物电学院目录一、题目及要求简介...............3 1.设计题目.....................3 2.总体要求简介 (3)二、设计方案说明 (3)三、系统采用器件以及模块说明.........3 1.系统框图............4 2.选择的FPGA芯片及配置.........4 3.系统端口和模块说明 (5)四、各部分仿真结果 (5)五、调试及总结 (6)六、参考文献 (7)七、附录 (7)一、题目及要求简介1、设计题目设计一个多功能自动打铃系统2、总体要求简介① 基本计时和显示功能(24小时制显示),包括:1.24小时制显示2.动态扫描显示;3.显示格式:88-88-88 ② 能设置当前时间(含时、分)③ 能实现基本打铃功能,规定:06:00起床铃,打铃5s二、设计方案说明本次设计主要采用Verilog HDL硬件描述性语言、分模块法设计的自动打铃系统。
8x8点阵LED显示键盘输入字母A~F.

课程设计报告课程设计名称:微机原理与接口技术系别:三系学生姓名:缪广东班级:10计本(1)学号:20100303130成绩:指导教师:巫宗宾开课时间:2012—2013 学年 1 学期一.设计题目LED显示系统设计二.主要内容课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。
它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。
通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。
让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。
通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。
通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。
在课程设计时,1人一组,设计报告由学生独立完成,不得互相抄袭。
教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。
学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师。
学生在设计中可以引用所需的参考资料,避免重复工作,加快设计进程,但必须和题目的要求相符合,保证设计的正确。
学生学会掌握和使用各种已有的技术资料,不能盲目地、机械地抄袭资料,必须具体分析,使设计质量和设计能力都获得提高。
8×8LED点阵显示汉字

图2-1 SPCE061A显示
2.2
1.8×8LED点阵的工作原理
双色8×8LED点阵是由64个双色LED构成,用它可以显示英文字符、数字和一些简单的图片和简单的汉字。实验箱双色8×8LED点阵电路原理图如图4-23,用行驱动和列驱动可以点亮LED点阵模块。图中RCOL1~RCOL8分别控制着8×8LED的每一列显示成红色,称为红色LED的列驱动,低电平有效;而GCOL1~GCOL8分别控制着8×8LED的每一列显示成绿色,称为绿色 LED 的列驱动,同样是低电平有效;COM1~COM8是他们的数据口,当送入其中一个口高电平时,相应行的LED被点亮,而当送入其中一个口低电平时,相应行 LED就会被熄灭,所以也称为行驱动。比如,当想要第一行(从下到上)的第一个 LED显示成红色的时候,只需送RCOL1一个低电平,而且送COM1一个高电平即可,也即选中红色的第一列(从右到左),并给第一行(从下到上)送一个高电平,就可以使得第一行第一列(同前)的LED显示成红色。注意J32、J33和J34中引针的接法, 1号引针引出的是RCOL8、GCOL8和COM8,这是因为在8×8LED点阵的实物图中, 如果按照从上到下的顺序RCOL8、GCOL8控制第一列LED点亮,按照从左到右的顺序COM8控制第一行LED点亮,在下文中都是按照这种顺序。只要让某些LED亮,就可以组成数字、英文字符、简单的汉字和图形。当然不管是哪种形式,哪种图案的哪些 LED亮必须是固定的。
led显示屏的基本扫描控制原理
led显示屏的基本扫描控制原理LED显示屏是一种常见的显示装置,其显示原理是利用LED元件发光,通过控制电流的开关状态来显示图像或消息。
LED显示屏的基本扫描控制原理可以分为以下几个方面。
1. LED基本工作原理:LED是发光二极管,具有单向导电性。
当正向电流通过LED时,载流子在PN结中复合,发出光子而产生光。
LED是矢量器件,其发光强度与正向电流成正比。
2. LED的基本连接方式:LED显示屏中的LED一般按照阵列排列,常见的连接方式有共阳连接和共阴连接。
共阳连接即LED的阳极(Anode)连接在一起并与外部电路连接,而共阴连接则是LED的阴极(Cathode)连接在一起并与外部电路连接。
3.静态扫描显示原理:静态扫描显示原理是指将显示内容中要显示的每个像素都连接一个独立的LED,然后通过控制每个LED的电流开关状态来实现显示。
这种方式通常需要大量的控制线和I/O端口,缺乏灵活性。
4.动态扫描显示原理:动态扫描显示原理是通过高速切换电流来控制LED的亮度,在每个刷新周期内,只有部分LED被点亮。
首先,将显示的内容按照一定的行列划分成一组小块,然后通过逐行逐列的方式刷新显示。
具体实现可以通过硬件控制电流开关,也可以通过驱动芯片实现。
5.驱动芯片:驱动芯片是控制LED显示屏的关键组件,它接收来自显示控制器的控制信号,并根据信号来控制LED的亮度和开关状态。
驱动芯片通常具有多个输出通道,每个通道控制一组LED,可以实现对整个显示面的控制。
驱动芯片还可以通过PWM(Pulse Width Modulation)方式调整LED的亮度。
6.显示控制器:显示控制器是LED显示屏的核心部分,它负责接收外部输入的显示信号,通过处理和分析信号的方式生成对应的控制信号,并将控制信号发送给驱动芯片。
显示控制器通常由微控制器或FPGA(Field Programmable Gate Array)实现,具有复杂的信号处理和图像生成功能。
按键输入与LED显示
示为一个 7 O7 的 行 列 结 构 可 以 构 成 一 个 含 有 *N 个
按键的键盘 很明显在按键数量较多的时候 矩阵式键
盘比独立式键盘要节省很多 9:;口
6 按键编码的识别方式 不同的按键接口方式对应不同的按键识别方法 但
图 +,N-7 O7 矩阵式键盘结构
无论哪种接口方式 按键的闭合与否都反映在电压的高低上 对于独立式按键识别方法很简
!&( " 相 关 知 识 介 绍
!&(&' " 按 键
按键按照结构原理可分为两类 一类是触点式开关按键 如机械式开关 导电橡胶式开
关和柔性开关等 另一类是无触点开关按键 如电气式按键和磁感应按键等
按键按照接口原理可分为编码键盘与非编码键盘两类 这两类键盘的主要区别是识别键
符及给出相应键码的方法有所不同
---AI1A>F' 2*GN HH/&
- - - - - Q=REJ0SAQH+ %
---AI1A>F' 2*GK HH/&
- - - - - Q=REJ0SAQH7 %
---2* H/W/F%------------- ::判断列号
--->F' 2*G/ HH/&
- - - - - C=IEJ0SAQH* %
按键按照结构形式可分为独立式按键与矩阵式按键两类
按键按照用途分为数字键 功能键和组合控制键三大类
常见系统中一般都采用触点式开关按键 利用了机械触点的合 断作用 和断开的瞬
间均有一连串的抖动 电压波形如图 +,* 所示
抖动时间的长短由按键的机械特性决定 一
单 只需要检测相应口线的电平即可 没有键按下时为高电平 有键按下时则为低电平
LED动态扫描显示器接口与程序的设计与实现项目设计方案
LED动态扫描显示器接口及程序设计与实现项目设计方案1.1LED动态扫描显示器接口及程序设计背景LED的发展惠及大型商场、码头、车站、地铁站以及各类办事窗口等越来越多的场所需要用 LED 点阵显示图形和汉字。
LED已成为一个快速发展的新兴产业,市场空间巨大,前景广阔。
LED 点阵设计主要应用于显示屏,它是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
由于它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室室外环境适应能力强等优点,随着信息产业的高速发展,LED 显示作为信息传播的一种重要手段,已广泛应用于室外需要进行服务容和服务宗旨宣传的公众场所,例如户外公共场所广告宣传、机场车站旅客引导信息、公交车辆报站系统、证券与银行信息显示、餐馆报价信息豆示、高速公路可变情报板、楼宇灯饰、体育馆比赛转播、交通信号灯、景观照明等。
已然LED 显示已成为城市量化、现代化和信息化的一个重要标志。
自二十世纪 80 年代后期开始,随着LED 制造技术的不断完善,在国外得到了广泛的应用。
在我国改革开放之后,特别是进入90 年代国民经济高速增长,对公众场合发布信息的需求日益强烈,LED 显示屏的出现的时机正好适应了这一市场形势,所以在 LED 显示屏的设计、制造技术与应用水平上都得到了迅速的提高和发展。
LED 显示屏经历了从单色、双色图文显示屏,到图像显示的发展过程。
2LED动态扫描显示器接口及程序设计实现1.2LED动态扫描LED数码管动态扫描:说到动态扫描,一般都是两个以上的数码管联合使用,数据线每次只为一个数码管服务,更换服务的LED数码管,数字也相应变化,然后利用人类眼睛的“视觉暂留”原理,让看的人误以为是每个数码管都是同时点亮的。
其实数码管都是一个一个亮过去的,每个数码管显示它该现实的数字,中间只间隔十毫秒,由于断电的那几毫秒数码管有余晖,人类眼晶看上去好像所有排数码管都是亮的。
1.2.1LED显示控制技术状况LED显示屏的控制系统包括输入接口电路、信号控制、转换和数字化处理电路和输出接口电路等等,牵扯到的具体专业技术有很多,最关键技术包括串行传输与并行传输技术、动态扫描与静态锁存技术、远程控制和自动检测技术等。
基于FPGA的数码显示和键盘扫描的电路设计
文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。
前言现在,电子技术的发展非常迅猛高新科技日新月异。
特别是专用集成电路(ASIC)设计技术的日趋进步和完善,推动着数字电路系统设计方法的发展,使他从单纯的ASIC设计走向了系统设计和单片系统的设计。
而经过几十年的发展越来越成熟的FPGA设计方式以他的短周期,低成本,灵活方便的独特优势走红于电子技术业内。
FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既能解决定制电路的不足,又能克服原有可编程器件门电路数有限的缺点。
本设计的的内容是基于FPGA的数码显示和键盘扫描电路的设计,通过键盘对数码显示调控来实现FPGA的思想。
键盘输入通过按键扫描检测和去抖动在通过编码输入到显示电路中,在显示过程中能通过键盘输入对显示内容进行校正和调节。
在通过编译仿真下载到FPGA电子板上后能显示预期的信号,当按下键盘时候能产生预期的结果。
在设计这个课题的过程中,遇到很多问题,比如开始的时候遇到的一个问题就是自己在在quartus中进行仿真,把模块单个的拿出来仿真仿真波形正常,但当把几个模块连在一起的时候仿真就出不来预期的波形。
最后在老师和同学的帮助下发现要对每个模块进行了解,对模块之间的连接要适当的处理。
经过这次设计,尽管结果不是那么完美,但为自己以后的生活,学习有了很大的帮助,特别是在设计过程中不断遇到问题不断解决问题的经验会让我受用终生。
第一章绪论.................................... 错误!未定义书签。
1.1选题背景...................................错误!未定义书签。
1.1.1 课题相关技术的发展.....................错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-73-
●MAXIM专栏
工业设备中LED显示和键盘扫描设计
栾成强
(Maxim公司北京办事处,北京100083)
图1MAX6955的功能框图
工业设备中LED显示和键盘扫描设计
工业设备、汽车电子及仪器仪表中普遍使用
LED显示器,原因是LED
显示器成本低廉、使用灵
活、封装体积小。
开发这类设备时,常常会由于CPU资源不足而
不得不采用扩展接口芯片来满足应用系统的需要
,
而出现这种情况的原因之一是键盘显示占用了太多
的系统资源,键盘显示通常采用以下两种方式
:(1
)
采用并行接口的键盘显示专用芯片8279。但8279所
需外围元件多(显示驱动、译码等)、占用电路板面积
大、综合成本较高;(2)采用通用并行I/O芯片扩展
(如8155等)
,但此方案同样需要驱动显示,
同时键
盘显示扫描还需占用大量CPU时间;针对这一应
用,MAXIM公司推出了带有键盘扫描的LED显示驱
动电路MAX6955,该器件具有400kbps、
I
2
C兼容的2
线串行接口,可大大简化设计。
1MAX6955
的功能框图及概述
MAX6955是紧凑型显示驱动器,通过I2C
兼容
的2线串行接口将微处理器连接至7/14/16段
LED
显示器。串行接口支持多片MAX6955的级联,可驱
动多达16位7段、8位14段、8位16段或128个分
立LED,且电源电压可低至2.7V。该器件还具有
5
条I/O扩展线(GPIO)P0~P4,其中P0~P3可以部分
或全部配置为按键开关输入,能够自动扫描和去抖
动多达32个矩阵开关,P4可配置为IRQ输出。
MAX6955器件内部包含全部14段和16段104
个ASCII字符的字模、7段显示使用的16进制字模、
多工扫描电路、阳极和阴极驱动器以及用于存储各
位显示的静态RAM。显示位的最大段电流可通过单
个外部电阻来设定。各位的显示亮度可用内部的
16
级数字亮度控制电路独立调节。MAX6955还包含低
功耗关断模式、限制扫描位寄存器(允许用户选择
1~16位用于显示)、段闪烁控制(如果需要,
可通过
驱动器实现同步)及强制所有LED点亮的测试模
式。LED驱动器具有限斜率输出,以降低EMI。图
1
是MAX6955的功能框图。
2MAX6955
的主要特性
●400kbps、
I
2
C兼容的2线串行接口;
●工作电压2.7V~
5.5V;
●可控制多达16位7段、8位14段、8位
16
段、128个分立LED,或各种类型的组合
;
●可驱动共阴极单色和双色LED显示器
;
●内置14段和16段104个ASCII字符的字模
以及7段显示使用的16进制字模
;
●各段独立的自动闪烁控制
;
●
10
μ
A(典型值)低功耗关断模式(数据保持);
●16级各位独立的数字亮度控制
;
●上电期间显示消隐
;
●限斜率段电流驱动器降低
EMI;
●5个GPIO端口可配置为按键开关输入,能够
自动扫描和去抖多达32个按键开关,且支持多键同
时按下
;
●按键输入去抖后输出
IRQ;
●工作于标准的汽车级温度范围。
3使用MAX6955
的注意事项
MAX6955采用I2C兼容的2
线串行接口进行控
制,主控端发送:起始位+7位从地址+读写位+寄
-74-
《国外电子元器件》2004年第11期2004年11月
存器地址+一个或多个字节的数据+停止位。由于接收端在第9个脉冲时需要发回应答位,所以完成一个字节的通信需要9个脉冲。MAX6955有7位从地址,第8位是读写位,高电平是读,低电平是写。7位从地址的高3位是110,低4位由地址输入管脚AD0和AD1的接法决定,它们分别连接GND、V+、CL和SDA,从而获得16个所需的从地址。对MAX6955的读写操作是通过命令寄存器地址完成的,第一个字节是命令字节(实际上是寄存器地址),它决定着第二个字节的数据写入哪个寄存器或者从那个寄存器读取数据。如果命令字节后面没有数据,则MAX6955不执行操作。如果命令字节后
面有多个字节的数据,MAX6955内部的寄存器地址
自动累加,这样可以缩短MAX6955的读写时间。图
2
给出了MAX6955的读写时序。
4LED
显示和键盘扫描设计
图3给出了用MAX6955设计LED显示和键盘
扫描电路的一个具体实例。该方案可实现8个按键
扫描、32个独立LED指示灯显示以及8位7段
LED
显示。
收稿日期
:2004-09-16
咨询编号
:041126
图2MAX6955的读写时序
图3MAX955的设计实例