单片机常用按键电路

单片机常用按键电路
单片机常用按键电路

单片机常用按键电路

单片机组成的小系统中,有的需要人机交互功能,按键是最常见的输入方式。最常见的按键电路大致有,一对一的直接连接和动态扫描的矩阵式连接两种。

左右两个电路作用一样,区别是左边CPU的输入端常态为高电位,按下按键时为低电位;右边的常态为低电位,按下按键是高电位。这样的电路简单直接,一个按键独占一个端口,在按键数量较少端口数量富裕时可以直接使用。

很多场合需要的按键数比较多,要尽量少地占用端口就必须使用矩阵式的按键链接。如下图:

图中将按键按行列矩阵的方式排列,其中的每一行公用一根行线,每一列公用一根列线。以此图为例,16个按键,按一对一方式连接的话需要16个端口,而按这样的矩阵方式链接只需要8个端口,

图中的Px,Py为CPU的IO端口,在本例中可以使用不同的端口也可以使用同一个8位端口。上拉电阻不是必须,单片机IO 口内部有上拉电路时此处就可省略。

这个电路的工作原理是采用程序扫描的方式检测某个按键状态。比如将Px口的4位全置为低电平,这时如果没有任何按键按下的话,从Py口读回的4位应全为高,而如果有某一键按下,则对应按下键的那一列的位读回值将为低。这样就能知道按下键所在的列;接着确定按键所处行,把Py口的输入值作为输出,Px全部置高并读取输入,就能得到按键所在行位置,于是就确定了所按按键的行列位置。

扫描可以有两种实现的方法,一种是全行全列扫描,一种是逐行全列扫描。

上面的例子其实就是全行全列扫描方式,

其特点是,一个流程就能知道是否有按键按下,并能确定按下按检测行列值,检测步骤简单迅速。但作为行列接口的Px,Py 必须是双向的,亦即同时具有输入输出功能,单片机的端口基本都能满足。

换种检测方式,就是先给定行,再检测列。比如行端口Px每次输出不是全部,而是只有一位输出为低,也就是预先给定了行,那么对应行有按键按下时,Py读回的值就代表按键所在列。Px口按位逐一输出低,每次读回Py值,这样的处理方式,更贴近扫描的含义。因为按键是机械动作,相对单片机运行速度来说,一次扫描流程足够检测到按键按下的动作。这种扫描方式就是逐行全列扫描。

这种扫描方式的特点是逐行扫描,有多少行就扫多少次,当有按键按下时,行列数就确定了。虽然显得麻烦点,但好处是Px 只需是输出而Py只是输入,Px输出每次只有唯一的一位为低,这样的特点就可以对端口数进行简化,比如使用译码器。如图所示:

由图可以看出,同样按键数,增加一个138译码器之后,CPU 所用端口数就减为5了。

Px口的3位只需输出0到7,译码器输出就能得到和前面一样的行扫描信号。这时候的程序处理流程,和上面的略有不同,主要是行的表示上不同。上面是行数的对应位表示对应行,下面的是行数的对应值就是对应行。程序框图如所示。

逐行扫描还有另外一个用处,就是当系统中有需要动态扫描的装置比如LED数码管或点阵时,行扫描线就可以为其提供动态扫描信号,这样也是为了减少端口使用数量,达到信号复用并减少代码量的目的。

除了上面提到的几种按键电路,还有一种按键电路,使用更少的端口数量,如图

该电路同矩阵式按键电路一样,所不同的是行列端口使用的是同一个端口,并且矩阵的一条对角线上按键由二极管代替。如此图所示,

按键数Knum=Pnum*(Pnum-1),其中Pnum就是使用的端口数。以4个端口数为例,

一对一连接方式只能是4个按键;

不带译码器最多4个按键,

使用2-4译码器或3-8译码器方式最多8个按键

而这种电路可以达到12个按键。此电路程序部分和不带译码器的一样,只是注意对角线上被二极管替代的地方没有按键。

单片机常用模块电路大全

单片机常用模块电路大全 1. 双路232通信电路:3线连接方式,对应的是母头,工作电压5V,可以使用MAX202或MAX232。 2. 三极管串口通信:本电路是用三极管搭的,电路简单,成本低,但是问题,一般在低波特率下是非常好的。 3. 单路232通信电路:三线方式,与上面的三级管搭的完全等效。 4. USB转232电路:采用的是PL2303HX,价格便宜,稳定性还不错。 5. SP706S复位电路:带看门狗和手动复位,价格便宜(美信的贵很多),R4为调试用,调试完后焊接好R4。 卡模块电路(带锁):本电路与SD卡的封装有关,注意与封装对应。此电路可以通过端口控制SD卡的电源,比较完善,可以用于5V和。但是要注意,有些器件的使用,5V和是不一样的。 液晶模块(ST7920):本电路是常见的12864电路,价格便宜,带中文字库。可以通过PSB端口的电平来设置其工作在串口模式还是并行模式,带背光控制功能。

字符液晶模块(KS0066):最常用的字符液晶模块,只能显示数字和字符,可4位或8位控制,带背光功能。 9.全双工RS485电路(带保护功能):带有保护功能,全双工4线通信模式,适合远距离通信用。 半双工通信模块:可以通过选择端口选择数据的传输方向,带保护功率。此模块只能工作在5V. 11. ARM JTAG仿真接口电路:比较完善,可以应用在常规的ARM芯片下,具有有自动下载功能,可以用JLINK或ULINK. 电源模块:这个电路比较简单,如果用直插可以达到,如果用贴片的可以到达1A。 电源模块:可以到达800mA,价格非常便宜,也有相应的的芯片,可以直接替换。 常用开关电源电路 buck电源电路。 14.最常用的开关电源:

哈尔滨理工大学--单片机课程设计-程序+电路

《单片机原理及接口技术》课程设计报告 设计题目 班级 姓名 学号 指导教师 单片机课程设计任务书

题目:基于单片机的温度数据采集系统设计 一.设计要求 1.被测量温度范围:0~500℃,温度分辨率为0.5℃。 2.被测温度点:4个,每2秒测量一次。 3.显示器要求:通道号1位,温度4位(精度到小数点后一位)。 显示方式为定点显示和轮流显示。 4.键盘要求: (1)定点显示设定;(2)轮流显示设定;(3)其他功能键。 二.设计内容 1.单片机及电源管理模块设计。 单片机可选用AT89S51及其兼容系列,电源管理模块要实现高精密稳压输出,为单片机及A/D转换器供电。 2.传感器及放大器设计。 传感器可以选用镍铬—镍硅热电偶(分度号K),放大器要实现热电偶输出的mV级信号到A/D输入V级信号放大。 3.多路转换开关及A/D转换器设计。 多路开关可以选用CD4052,A/D可选用MC14433等。 4.显示器设计。 可以选用LED显示或LCD显示。 5.键盘电路设计。 实现定点显示按键;轮流显示按键;其他功能键。 6.系统软件设计。 系统初始化模块,键盘扫描模块,显示模块,数据采集模块,标度变换模块等。三.设计报告要求 设计报告应按以下格式书写: (1)封面; (2)设计任务书; (3)目录; (4)正文; (5)参考文献。 其中正文应包含以下内容: (1)系统总体功能及技术指标描述; (2)各模块电路原理描述; (3)系统各部分电路图及总体电路图(用PROTEL绘制); (4)软件流程图及软件清单; (5)设计总结及体会。 四、参考资料 1、李全利,单片机原理及接口技术,高等教育出版社,2004 2、于永,51单片机常用模块与综合系统设计实例精讲,电子工业出版社,2007 引言

电子元件知识单片机

电子元件知识单片机 一个单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。系统的扩展和配置应遵循以下原则:#1、尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础。#2、系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发。#3、硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会产生相互影响,考虑原则是:软件能实现的功能尽可能由软件实殃,以简化硬件结构。但必须注意,由软件实现的硬件功能,一般响应时间比硬件实现长,且占用CPU时间。#4、系统中的相关器件要尽可能做到性能匹配。如选用CMOS芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选择低功耗产品。#5、可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等。#6、单片机外围电路较多时,必须考虑其驱动能力。驱动能力不足时,系统工作不可靠,可通过增设线驱动器增强驱动能力或减少芯片功耗来降低总线负载。#7、尽量朝“单片”方向设计硬件系统。系统器件越多,器件之间相互干扰也越强,功耗也增大,也不可避免地降低了系统的稳定性。随着单片机片内集成的功能越来越强,真正的片上系统SoC已经可以实现,如ST公司新近推出的μPSD32××系列产品在一块芯片上集成了80C32核、大容量FLASH存储器、SRAM、A/D、I/O、两个串口、看门狗、上电复位电路等等。单片机系统硬件抗干扰常用方法实践影响单片机系统可靠安全运行的主要因素主要来自系统内部和外部的各种电气干扰,并受系统结构设计、元器件选择、安装、制造工艺影响。这些都构成单片机系统的干扰因素,常会导致单片机系统运行失常,轻则影响产品质量和产量,重则会导致事故,造成重大经济损失。 形成干扰的基本要素有三个:(1)干扰源。指产生干扰的元件、设备或信号,用数学语言描述如下:du/dt,di/dt大的地方就是干扰源。如:雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源。(2)传播路径。指干扰从干扰源传播到敏感器件的通路或媒介。典型的干扰传播路径是通过导线的传导和空间的辐射。(3)敏感器件。指容易被干扰的对象。如:A/D、D/A变换器,单片机,数字IC,弱信号放大器等。干扰的分类1干扰的分类干扰的分类有好多种,通常可以按照噪声产生的原因、传导方式、波形特性等等进行不同的分类。按产生的原因分:可分为放电噪声音、高频振荡噪声、浪涌噪声。按传导方式分:可分为共模噪声和串模噪声。按波形分:可分为持续正弦波、脉冲电压、脉冲序列等等。2干扰的耦合方式干扰源产生的干扰信号是通过一定的耦合通道才对测控系统产生作用的。因此,我有必要看看干扰源和被干扰对象之间的传递方式。干扰的耦合方式,无非是通过导线、空间、公共线等等,细分下来,主要有以下几种:(1)直接耦合:这是最直接的方式,也是系统中存在最普遍的一种方式。比如干扰信号通过电源线侵入系统。对于这种形式,最有效的方法就是加入去耦电路。从而很好的抑制。(2)公共阻抗耦合:这也是常见的耦合方式,这种形式常常发生在两个电路电流有共同通路的情况。为了防止这种耦合,通常在电路设计上就要考虑。使干扰源和被干扰对象间没有公共阻抗。(3)电容耦合:又称电场耦合或静电耦合。是由于分布电容的存在而产生的耦合。(4)电磁感应耦合:又称磁场耦合。是由于分布电磁感应而产生的耦合。(5)漏电耦合:这种耦合是纯电阻性的,在绝缘不好时就会发生。常用硬件抗干扰技术针对形成干扰的三要素,采取的抗干扰主要有以下手段。1抑制干扰源抑制干扰源就是尽可能的减小干扰源的du/dt,di/dt。这是抗干扰设计中最优先考虑和最重要的原则,常常会起到事半功倍的效果。减小干扰源的du/dt主要是通过在干扰源两端并联电容来实现。减小干扰源的di/dt则是在干扰源回路串联电感或电阻以及增加续流二极管来实现。

继电器控制电路模块及原理讲解

继电器控制电路模块及原理讲解 发布: 2011-9-8 | 作者: —— | 来源:huangguohai| 查看: 564次| 用户关注: 能直接带动继电器工作的CMOS集成块电路在电子爱好者认识电路知识的的习惯中,总认为CMOS 集成块本身不能直接带动继电器工作,但实际上,部分CMOS集成块不仅能直接带动继电器工作,而且工作还非常稳定可靠。本实验中所用继电器的型号为JRC5M-DC12V微型密封的继电器(其线圈电阻为750Ω)。现将CD4066CMOS集成块带动继电器的工作原理分析如下:CD4066是一个四双向模拟开关,集成块SCR1~SCR4为控制端,用于控制四双向模拟开关的 能直接带动继电器工作的CMOS集成块电路 在电子爱好者认识电路知识的的习惯中,总认为CMOS集成块本身不能直接带动继电器工作,但实际上,部分CMOS集成块不仅能直接带动继电器工作,而且工作还非常稳定可靠。本实验中所用继电器的型号为JRC5M-D C12V微型密封的继电器(其线圈电阻为750Ω)。现将CD4066CMOS集成块带动继电器的工作原理分析如下: CD4066是一个四双向模拟开关,集成块SCR1~SCR4为控制端,用于控制四双向模拟开关的通断。当SCR1接高电平时,集成块①、②脚导通,+12V→K1→集成块①、②脚→电源负极使K1吸合;反之当SCR1输入低电平时,集成块①、②脚开路,K1失电释放,SC R2~SCR4输入高电平或低电平时状态与SCR1相同。 本电路中,继电器线圈的两端均反相并联了一只二极管,它是用来保护集成电路本身的,千万不可省去,否则在继电器由吸合状态转为释放时,由于电感的作用线圈上将产生较高的反电动势,极容易导致集成块击穿。并联了二极管后,在继电器由吸合变为释放的瞬间,线圈将通过二极管形成短时间的续流回路,使线圈中的电流不致突变,从而避免了线圈中反电动势的产生,确保了集成块的安全。 低电压下继电器的吸合措施

单片机常用模块电路大全

单片机常用模块电路大全 转载:https://www.360docs.net/doc/e617462633.html,/作者: zhaojun_xf *********************************** 在我们设计单片机电子电路时,常用应用到一下比较常用的电路,每次都需要从新画,即费力又费神,还容易出错,所以本人将自己常用的电路设计成模块,每次使用直接负责即可。由于个人的力量有限,希望大家把自己常用的电路发上来分享。电路难免有错,希望大家指出。。。 电路的范围可以很广,但是希望都是通过实际使用过的电路,下面先上上我自己用的电路。。。 1. 双路232通信电路:3线连接方式,对应的是母头,工作电压5V,可以使用MAX202或MAX232。 2. 三极管串口通信:本电路是用三极管搭的,电路简单,成本低,但是问题,一般在低波特率下是非常好的。

3. 单路232通信电路:三线方式,与上面的三级管搭的完全等效。 4. USB转232电路:采用的是PL2303HX,价格便宜,稳定性还不错。

5. SP706S复位电路:带看门狗和手动复位,价格便宜(美信的贵很多),R4为调试用,调试完后焊接好R4。 6.SD卡模块电路(带锁):本电路与SD卡的封装有关,注意与封装对应。此电路可以通过端口控制SD卡的电源,比较完善,可以用于5V和3.3V。但是要注意,有些器件的使用,5V和3.3是不一样的。

7.LCM12864液晶模块(ST7920):本电路是常见的12864电路,价格便宜,带中文字库。可以通过PSB端口的电平来设置其工作在串口模式还是并行模式,带背光控制功能。 8.LCD1602字符液晶模块(KS0066):最常用的字符液晶模块,只能显示数字和字符,可4位或8位控制,带背光功能。

单片机实现触摸按键

感应按键电路分析 感应按键电路分析: 感应按键是刚刚在电磁炉上运用的一种新技术,其主要特点是使电磁炉易清洁,防水性能好。目前在电磁炉上用的感应按键主要有天线感应式及电容式,我们目前用的是利用人体电容的电容式感应按键 感应按键原理如下面的图式; 感应按键电路包括信号产生、信号整形2个单元:首先由信号产生单元产生约几百KHz的高电平占空比约50%的信号;然后信号整形单元对所产生的信号进行整形,整形过程类似于开关电源工作过程;最后将信号送至MCU 的AD口。 当有人体靠近感应按键时,将会形成一个对地的电容在信号整形的高电平期间分流一部分电流,致使整形后的信号下降,并在人体离开前一直维持在下降的电位上;而当人体离开后,整流后的信号又会上升到原来的电位水平。 由于存在电路耦合及寄生电容,所以一般用下降沿和上升沿来识别感应按键的响应动作。

*************************************************************************************************** *************************************************************************************************** *************************************************************************************************** *************************************************************************************************** *************************************************************************************************** *************************************************************************************************** *************************************************************************************************** ************************************************************************************************** 原理图:示意图1,按键AD每个单独检测,不用切换

实验三常用模块电路的设计

实验三常用模块电路的设计 一、实验目的: 1、掌握QuartusII宏功能模块的设计方法。 2、掌握VHDL设计ROM和RAM的方法。 3、掌握数控分频器的设计方法。 4、掌握4×4键盘扫描模块设计方法。 5、掌握PS2接口电路设计方法。 6、了解640×480VGA显示控制电路的原理和设计方法。 二、实验的硬件要求: 1、EDA/SOPC实验箱。 2、计算机。 三、实验原理 见各实验内容。 四、实验内容: 1、数控分频器的设计。 要求:将10KHz时钟信号分频,分别输出10Hz、1kHz、1250Hz时钟信号。 分频的原理与计数器差不多,需要定义一个信号量来控制计数范围为分频数,另外控制在一个计数周期内输出一段低电平“0”和另一段高电平“1”。 分频器部分源码如图3.1a、图3.1b所示:

图3.1a 数控分频器VHDL代码 如果用于计数的信号量定义为“std_logic_vector”类型的。如“Count10”,也可以将其最高位作为分频后的时钟输出:即使用语句“Clk_1kHz<=Count10(3);”,如图2.11b所示,此时输出时钟信号占空比是多少?是否可以改变?。 图3.1b 十分频的VHDL代码 如果分频数为2n,“n为整数”,如8分频,Count8定义为“std_logic_vector”类型,使用下图的语句序列实现,更加简洁: 图3.1c 分频数为2n时,代码可以更为简洁 同理,“Count8(1)”是几分频输出?“Count8(0)”是几分频输出? 2、4×4键盘扫描模块设计 ①图3.2是4×4键盘阵列电路原理图。行字符ROW[3..0]表示一行的状态,COL[3..0] 表

51单片机独立按键程序查询法和外部中断两种

//以下程序都是在VC++6.0 上调试运行过的程序,没有错误,没有警告。 //单片机是STC89C52RC,但是在所有的51 52单片机上都是通用的。51只是一个学习的基础平台,你懂得。 //程序在关键的位置添加了注释。 //用//11111111111111111代表第一个程序。//2222222222222222222222222代表第二个程序,以此类推 //1111111111111111111111111111111111111111111111111111111111111111111 //1111111111111111111111111111111111111111111111111111111111111111111 /****************************************************************************** * * 实验名: 左右流水灯实验 * 使用的IO : LED使用P2,键盘使用P3.1 * 实验效果: 按下K1键, * 注意: ******************************************************************************* / #include #include #define GPIO_LED P2 sbit K1=P3^1; void Delay10ms( ); //延时10ms /****************************************************************************** * * 函数名: main * 函数功能: 主函数 * 输入: 无 * 输出: 无 ******************************************************************************* / void main(void) { unsigned int i,j; j=0xfe; //1111_1110 while(1) { GPIO_LED=j; if(K1==0) //检测按键K1是否按下 { Delay10ms(); //消除抖动 if(K1==0) {

常见电路模块作用

电压比较器可以看作是放大倍数接近“无穷大”的运算放大器。 电压比较器的功能:比较两个电压的大小(用输出电压的高或低电平,表示两个输 入电压的大小关系): 当”+”输入端电压高于”-”输入端时,电压比较器输出为高电平; 当”+”输入端电压低于”-”输入端时,电压比较器输出为低电平; 电压比较器的作用:它可用作模拟电路和数字电路的接口,还可以用作波形产生和变换电路等。利用简单电压比较器可将正弦波变为同频率的方波或矩形波。 简单的电压比较器结构简单,灵敏度高,但是抗干扰能力差,因此我们就要对它进行改进。改进后的电压比较器有:滞回比较器和窗口比较器。 运放,是通过反馈回路和输入回路的确定“运算参数”,比如放大倍数,反馈量可以是输出的电流或电压的部分或全部。而比较器则不需要反馈,直接比较两个输入端的量,如果同相输入大于反相,则输出高电平,否则输出低电平。电压比较器输入是线性量,而输出是开关(高低电平)量。一般应用中,有时也可以用线性运算放大器,在不加负反馈的情况下,构成电压比较器来使用。 可用作电压比较器的芯片:所有的运算放大器。常见的有LM324 LM358uA741 TL081\2\3\4 OP07 OP27,这些都可以做成电压比较器(不加负反馈)。LM339、LM393是专业 ,切换速度快,延迟时间小,可用在专门的电压比较场合,其实它们也是一种运算放大器。 基本上电压比较器就是一个A/D转换器,但是这个A/D转换器只有一个比特的输出。电压比较器有两个输入端,当输入端A的电压为一定的时候(我们称它为参考电压Vref),另一输入端B电压若高于Vref,输出端就为高电平(1),输入端B电压若低于Vref,输出端则为低电平(0)。当然如果设定输入端B为参考电压,输入端A用做电压测试,输出电压的变化就相反。利用这一特性,电压比较器可以用于探测电压的变化,然后控制一个电路的开关。 电压比较器的作用:它可用作模拟电路和数字电路的接口,还可以用作波形产生和变换电路等。利用简单电压比较器可将正弦波变为同频率的方波或矩形波 电压比较器是集成运放非线性应用电路,他常用于各种电子设备中,那么什么是电压比较器呢?下面我给大家介绍一下,它将一个模拟量电压信号和一个参考固定电压相比较,在二者幅度相等的附近,输出电压将产生跃变,相应输出高电平或低电平。

单片机ADDA模块应用

单片微型计算机与接口技术 姓名:王义鹏 班级:15电气2班 学号:123220150058

第一题:ADDA 1.系统方案论证及方案选择 1.1 总体设计方案 题目要求使用AD转换模块,将模拟信号的值转换为数值并通过液晶屏显示;使用矩阵键盘为输入,使其能够设置报警电压,并能够与AD转换值进行比较;使用DA模块通过矩阵键盘能够产生方波,并且能够调节占空比; 1.2方案论证与选择 1.2.1 设计要求及思路 题目要求使用ADDA模块,将数字模拟量互相转换。我们的设计主要控制是用单片机,它将测得模拟量通过AD模块的转换,在用ASCIl换算成数据

显示在液晶屏上。加入矩阵键盘可以设置报警电压,一旦检测AD模块转换的电压高于报警电压,蜂鸣器发出警报,液晶屏显示“warning”。使用DA模块与矩阵键盘连接可以调试产生方波,且可以用按键设计占空比。 1.2.2方案论证与选择 芯片选择论证 方案一:PCF8591T PCF8591是一种具有I2C总线接口的8位A/D ,D/A转换芯片,在与CPU 的信息传输过程中仅靠时钟线SCL与数据线SDA就可以实现。I2C总线是飞利浦公司推出的串行总线,它与传统的通信方式相比具有读写方便,结构简单,可维护性好,易实现系统扩展,易实现模块化标准化设计,可靠性高等优点; 在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C 总线以串行的方式进行传输。PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。PCF8591的最大转化速率由I2C总线的最大速率决定。 方案二:ADC0809 ADC0809 是8 位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。三态输出锁存器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。 由于ADC0809芯片需要用到的引脚过多,单片机的接口不允许它占用这么多端口,而PCF8591芯片需要的端口较少并可长时间待机,所以我们选择方案一。

单片机按键连接方法

单片机按键连接方法总结(五种按键扩展方案详细介绍) 单片机在各种领域运用相当广泛,而作为人机交流的按键设计也有很多种。不同的设计方法,有着不同的优缺点。而又由于单片机I/O资源有限,如何用最少的I/O口扩展更多的按键是我所研究的问题。接下来我给大家展示几种自己觉得比较好的按键扩展方案,大家可以在以后的单片机电路设计中灵活运用。 1)、第一种是最为常见的,也就是一个I/O口对应一个按钮开关。 这种方案是一对一的,一个I/O口对应一个按键。这里P00到P04,都外接了一个上拉电阻,在没有开关按下的时候,是高电平,一旦有按键按下,就被拉成低电平。这种方案优点是电路简单可靠,程序设计也很简单。缺点是占用I/O资源多。如果单片机资源够多,不紧缺,推荐使用这种方案。 2)、第二种方案也比较常见,但是比第一种的资源利用率要高,硬件电路也不复杂。 这是一种矩阵式键盘,用8个I/O控制了16个按钮开关,优点显而易见。当然这种电路的程序设计相对也还是很简单的。由P00到P03循环输出低电平,然后检测P04到P07的状态。比方说这里P00到P03口输出1000,然后检测P04到P07,如果P04为1则说明按下的键为s1,如果P05为1则说明按下的是s2等等。为了电路的可靠,也可以和第一种方案一样加上上拉电阻。 3)、第三种是我自己搞的一种方案,可以使用4个I/O控制8个按键,电路多了一些二极管,稍微复杂了一点。 这个电路的原理很简单,就是利用二极管的单向导电性。也是和上面的方案一样,程序需要采用轮训的方法。比方说,先置P00到P03都为低电平,然后把P00置为高电平,接着查询P02和P03的状态,如果P02为高则说明按下的是s5,若P03为高则说明按下的是s6,然后再让P00为低,P01为高,同样检测P02和P03的状态。接下来分别让P02和P03为高,其他为低,分别检测P00和P01的状态,然后再做判断。这种方案的程序其实也不难。 4)这是我在一本书上看到的,感觉设计的非常巧妙,同样它也用到了二极管,不过比我的上一种方案的I/O利用率更高,他用4个I/O口控制了12个按键。我相信你了解了之后也会惊奇的。 首先好好品味一下这个方案吧,想想怎么来识别按键呢!

电子设计竞赛常用电路模块

全国大学生电子设计竞赛常用电路模块制作 《全国大学生电子设计竞赛常用电路模块制作》是为高等院校电子信息工程、通信工程、自动化和电气控制类专业学生编写的全国大学生电子设计竞赛常用电路模块制作训练的培训教材。《全国大学生电子设计竞赛常用电路模块制作》共8章,内容包括:微控制器电路模块制作,微控制器外围电路模块制作,放大器电路模块制作,传感器电路模块制作,电机控制电路模块制作,信号发生器电路模块制作,电源电路模块制作,系统设计与制作;所有电路模块都提供电路图和pcb图,以及元器件布局图。《全国大学生电子设计竞赛常用电路模块制作》的特点是以全同大学牛电子设计竞赛中所需要的常用电路模块为基础,以实际电路模块为模板,突出了电路模块的制作;叙述简洁清晰,工程性强,可以作为高等院校电子信息、通信工程、自动化和电气控制类等专业学生参加全同大学生电子设汁竞赛的培训教材,也可以作为参加各类电子制作、课程设计、毕业设计的教学参考书,以及电子工程技术人员进行电子电路设计与制作的参考书。《全国大学生电子设计竞赛常用电路模块制作》 第1章微控制器电路模块制作 1.1 at89s52单片机pack板 1.2 atmega128单片机pack板 1.3 atmega8单片机pack板 1.4 c8051f330/1单片机pack板 1.5 lm3s615 arm cortex tm—m3微控制器pack板 1.6 lpc2103 arm 7微控制器pack板 第2章微控制器外围电路模块制作 2.1 键盘及led数码管显示器模块 2.2 rs—485总线通信模块 2.3 can总线接口通信模块 2.4 基于ads930的8位30 mhz采样速率的adc模块 2.5 基于mcp3202的12位adc模块 2.6 基于dac904 14位165 msps的dac模块 2.7 基于ths5661 12位100 msps的dac模块 2.8 基于tlv5618双12位dac模块 第3章放大器电路模块制作 3.1 基于max4016十ths3902的放大器模块 3.2 基于ad624的信号凋理模块 .3.3 基于ad603的放大器模块 3.4 基于ad8055的放大器模块 3.5 基于ad811的放大器模块

开关电源电路组成及常见各模块电路分析

1.1 课题背景 1.1 开关电源的发展历史 开关稳压电源(以下简称开关电源)取代晶体管线性稳压电源(以下简称线性电源)已有30多年历史,最早出现的是串联型开关电源,其主电路拓扑与线性电源相仿,但功率晶体管了作于开关状态后,脉宽调制(PWM)控制技术有了发展,用以控制开关变换器,得到PWM开关电源,它的特点是用20kHz脉冲频率或脉冲宽度调制—PWM开关电源效率可达 65~70%,而线性电源的效率只有30~40%。在发生世界性能源危机的年代,引起了人们的广泛关往。线性电源工作于工频,因此用工作频率为20kHZ的PWM开关电源替代,可大幅度节约能源,在电源技术发展史上誉为20kHZ革命。随着ULSI芯片尺寸不断减小,电源的尺寸与微处理器相比要大得多;航天,潜艇,军用开关电源以及用电池的便携式电子设备(如手提计算机,移动电话等)更需要小型化,轻量化的电源。因此对开关电源提出了小型轻量要求,包括磁性元件和电容的体积重量要小。此外要求开关电源效率要更高,性能更好,可靠性更高等。 2 开关电源的基本原理 2.1 PWM开关电源的基本原理 开关电源的工作过程相当容易理解。在线性电源中,让功率晶体管工作在线性模式,与线性电源不同的是,PWM开关电源是让功率晶体管工作在导通和关断状态。在这两种状态中,加在功率晶体管上的伏安乘积总是很小的(在导通时,电压低,电流大;关断时,电压高,电流小)。功率器件上的伏安乘积就是功率半导体器件上所产生的损耗。 与线性电源相比,PWM开关电源更为有效的工作过程是通过“斩波”,即把输入的直流电压斩成幅值等于输入电压幅值的脉冲电压来实现的。脉冲的占空比是开关电源的控制器来调节。一旦输入电压被斩成交流方波,其幅值就可以通过变压器来生高或降低。通过增加变压器的二次绕组数就可以增加输出的电压组数。最后这些交流波形经过整流滤波后就得到直流输出电压。 控制器的主要目的式保持输出电压稳定,其工作过程与线性形式的控制器很

单片机参考书大全

1、51单片机及其C语言程序开发实例 2、51单片机C语言应用程序设计实例精讲 3、51单片机常用模块设计查询手册 4、51单片机典型系统开发实例精讲 5、51单片机开发应用从入门到精通 6、51单片机应用开发范例大全 7、51单片机应用系统典型模块开发大全 8、51单片机原理及应用--基于Keil C与proteus 9、AVR单片机嵌入式系统原理与应用实践 10、《LED驱动电路设计》温德尔(Steve Winder) 11、LCD驱动电路、驱动程序设计及典型应用 12、LED照明驱动电源优化设计 13、点阵LCD驱动显控原理与实践 14、基于51系列单片机的LED显示屏开发技术 15、最新LED及其驱动电路速查手册 16、MCS-51单片机应用开发实用子程序 17、8051单片机USB接口程序设计上册 18、USB应用开发技术大全 19、8051单片机USB接口VB程序设计 20、8051单片机USB接口程序设计下册 21、PDIUSBD12 USB固件编程与驱动开发 22、USB外围设备设计与应用 23、USB应用开发宝典 24、USB应用开发实例详解 25、单片机数据通信典型应用大全 26、电子信息类专业毕业设计指导与实例 27、电子信息类专业实践教程 28、单片机C语言程序设计实训100例:基于AVR+PROTEUS仿真 29、单片机技术课程设计与项目实例 30、单片机应用系统设计精讲 31、单片机与PC机网络通信技术 32、Visual Basic 串口通信工程开发实例导航 33、51单片机C语言常用模块与综合系统设计实例精讲 34、51单片机C语言应用与开发 35、51单片机应用开发范例大全 36、51单片机应用实例详解 37、51单片机应用系统开发实例精解C语言 38、51单片机自学笔记(完整北航版) 39、51系列单片机高级实例开发指南 40、51系列单片机设计实例(第2版) 41、8051系列单片机C程序设计完全手册 42、ATmega128单片机入门与提高 43、C51单片机C程序模板与应用工程实践 44、MP3MP4播放器维修技能实训精编教学版

电源电路设计模块图

电源电路单元 前面介绍了电路图中的元器件的作用和符号。一张电路图通常有几十乃至几百个元器件,它们的连线纵横交叉,形式变化多端,初学者往往不知道该从什么地方开始,怎样才能读懂它。其实电子电路本身有很强的规律性,不管多复杂的电路,经过分析可以发现,它是由少数几个单元电路组成的。好象孩子们玩的积木,虽然只有十来种或二三十种块块,可是在孩子们手中却可以搭成几十乃至几百种平面图形或立体模型。同样道理,再复杂的电路,经过分析就可发现,它也是由少数几个单元电路组成的。因此初学者只要先熟悉常用的基本单元电路,再学会分析和分解电路的本领,看懂一般的电路图应该是不难的。 按单元电路的功能可以把它们分成若干类,每一类又有好多种,全部单元电路大概总有几百种。下面我们选最常用的基本单元电路来介绍。让我们从电源电路开始。 一、电源电路的功能和组成 每个电子设备都有一个供给能量的电源电路。电源电路有整流电源、逆变电源和变频器三种。常见的家用电器中多数要用到直流电源。直流电源的最简单的供电方法是用电池。但电池有成本高、体积大、需要不时更换(蓄电池则要经常充电)的缺点,因此最经济可靠而又方便的是使用整流电源。 电子电路中的电源一般是低压直流电,所以要想从 220 伏市电变换成直流电,应该先把220 伏交流变成低压交流电,再用整流电路变成脉动的直流电,最后用滤波电路滤除脉动直流电中的交流成分后才能得到直流电。有的电子设备对电源的质量要求很高,所以有时还需要再增加一个稳压电路。因此整流电源的组成一般有四大部分,见图 1 。其中变压电路其实就是一个铁芯变压器,需要介绍的只是后面三种单元电路。 二、整流电路 整流电路是利用半导体二极管的单向导电性能把交流电变成单向脉动直流电的电路。 ( 1 )半波整流 半波整流电路只需一个二极管,见图 2 ( a )。在交流电正半周时 VD 导通,负半周时 VD 截止,负载 R 上得到的是脉动的直流电

4种常用的电路模块

4种常用的电路模块,收藏备用 玩转电子技术设计2018-05-28 15:02:39 1.三角波发生器: 电路设计思路:由电容的充电放电波形,可知去掉刚充电的一段时间和放电最后一段时间,得到的波形为三角波。利用比较器两输入端电压不同,输出端会输出高低电平,我们可以在输出端接一反馈电阻到输入端(正输入端),这样输入端电压会因反馈电阻的存在而发生变化,产生两个不同的电压值。 具体电路:12V经R1与R2串联后接地,在R1,R2间引一条线到比较器正输入端,比较器负输入端接一电容C1到地,从C1正端接一电阻R3到比较器输出端,因为比较器输出时为OC输出,所以要在输出端接一上拉10k电阻R4到12V上,最后在比较器的输出端接一反馈电阻R5,在比较器输出高低电平时产生不同的两个电压值。

电路分析:系统上电后,比较器正输入端为6V,比较器负输入端接一电容到地为0v,比较器输出高电平,12V经过R4,R3给C1充电。此时R5与R4串联后与R1并联,比较器的正输入端电压为9V,当C1电压高与8V以后比较器输出低,C1经过R3放电,同时反馈电阻R5与R2并联,比较器的正输入端电压变为4v,当C1放电小与4V 后比较器输出高,比较器正输入端电压又变为9V,这样比较器的输入端电压不断发生变化,电容不断充电放电产生类三角波。 2.精密恒压源 设计思路:根据运放的一些特性,输入电压与输出电压的关系,我们可以得到其输入与输出等大小的电压,因为运放输出电压有限,所以我们要在输出端一三级管提高电压源的输出能力。 具体电路:在运放的正输入端接我们想要制作的电压源的电压(输入端电压要稳定),输出端接一电阻后到三级管的基极,从三级管的发射极直接接到运放的负输入端。

单片机

湖南科技大学 信息与电气工程学院 《课程设计报告》 题目:多功能数字时钟 专业:通信工程 班级:一班 姓名:徐升炜 学号: 1254040128 指导教师:尹艳群 2015年 6 月 23 日

信息与电气工程学院 课程设计任务书 2014—2015 学年第二学期 专业:通信工程班级:一班学号: 1254040128 姓名:徐升炜 课程设计名称:单片机课程设计 设计题目:多功能数字时钟 完成期限:自 2015 年 6 月 8 日至 2015 年 6 月 19 日共 2 周 设计依据、要求及主要内容(可另加附页): 一、设计依据 本方案以STC15F2K60S2单片机作为主控核心,与时钟芯片、LED显示、按键等模块组成硬件系统,通过《单片机原理与应用》这门课的课程设计,学生应能对STC15系列单片机有一个全面的认识,掌握以STC15系列单片机为核心的电子电路的设计方法和应用技术。 二、要求 (1)利用STC15F2K60S2单片机作为主控器组成一个电子日历和电子钟。 (2)利用LED分别显示当前时间和日历。 (3)利用尽可能少的开关实现:校正日历和时间 (4)定制闹钟(时、分、表) 三、设计内容 该课程设计是利用STC15F2K60S2单片机内容的定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。设计的电子时钟通过数码管显示,并通过按键实现时间和暂停、启动控制等。我们选择的方法是单片机开发设计使用的传统方法,通过本次设计,可以了解整个单片机开发的流程。文章首先介绍了单片机的基本知识,然后同时给出了框图,流程图等。论文涵盖了从需求分析,系统设计,编程,原理图等产品开发的基本过程。 近几年,单片机在各个领域得到广泛的应用。从工业到人们的日常生活,大部分的科技产品都是通过单片机来控制。在它问世之前,自动控制设备不能被广泛的应用,这是因为控制设备的体积庞大,耗电量大,价格昂贵。在第一台微处理器成功研制不久,第一个单片机就问世了。因为其小巧的体积,低功耗,以及高效的性能,单片机受到了大家的欢迎。 指导教师(签字): 批准日期:年月日

第13讲51单片机按键电路

标题:键盘接口电路 教学目标与要求: 1.键盘去抖动和连接、控制方式 2.独立式按键及其接口电路 3.矩阵式键盘及其接口电路 授课时数:2 教学重点:.矩阵式键盘及其接口电路 教学内容及过程: 一、键盘接口概述 1、按键开关去抖动问题 机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图9-11所示,抖动时间的长短与开关的机械特性有关,一般为5 10 ms 在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施。这一点可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。在硬件上可采用在键输出端加R-S触发器(双稳态触发器)或单稳态触发器构成去抖动电路。图9-12是一种由R-S触发器构成的去抖动电路,当触发器一旦翻转,触点抖动不会对其产生任何影响。 软件上采取的措施是:在检测到有按键按下时,执行一个10 ms左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态。同理,在检测到该键释放后,也应采用相同的步 骤进行确认,从而可消除抖动的影响。

2.编制键盘程序 一个完善的键盘控制程序应具备以下功能: (1) 检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响。 (2) 有可靠的逻辑处理办法。每次只处理一个按键,其间对任何按键的操作对系统不产生影响,且无论一次按键时间有多长,系统仅执行一次按键功能程序。 (3) 准确输出按键值(或键号),以满足跳转指令要求。 二、独立式按键 单片机控制系统中,往往只需要几个功能键,此时,可采用独立式按键结构。 1. 独立式按键结构 独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图7.4所示。 独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。 2.矩阵式键盘 I/O端线分为行线和列线,按键跨接在行线和列线上,按键按下时,行线与列线发生短路。特点: ①占用I/O端线较少; ②软件结构教复杂。 适用于按键较多的场合。 3.键盘扫描控制方式 ⑴程序控制扫描方式 键处理程序固定在主程序的某个程序段。 特点:对CPU工作影响小,但应考虑键盘处理程序的运行间隔周期不能太长,否则会影响对键输入响应的及时性。 ⑵定时控制扫描方式 利用定时/计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描。 特点:与程序控制扫描方式的区别是,在扫描间隔时间内,前者用CPU工作程序填充,后者用定时/计数器定时控制。定时控制扫描方式也应考虑定时时间不能太长,否则会影响对键输入响应的及时性。 ⑶中断控制方式 中断控制方式是利用外部中断源,响应键输入信号。 特点:克服了前两种控制方式可能产生的空扫描和不能及时响应键输入的缺点,既能及时处理键输入,又能提高CPU运行效率,但要占用一个宝贵的中断资源。 三、独立式按键及其接口电路 1、按键直接与I/O口连接

单片机在电力系统中的应用设计

单片机在电力系统中的应用设计(创新) 专业:电气工程及其自动化 行政班:电气工程及其自动化2011-1 学号:201101100335 姓名:杨海波 指导老师:刘庆雪

基于MC9S12XS128单片机的单相电能表的设计 摘要本文主要是针对家庭用户设计了一单相电能计量电路。此电路采用一款高精度单相电能计量芯片ADE7755来采集用户所使用的电量,并使用高性能的单片机MC9S12XS128来作为整个电能采集电路的控制中心。文中给出了整个电能计量电路的组成框图、单相电能测量电路图以及软件流程图,最后介绍了试验情况并对试验结果进行了分析比较,通过实验表明该电能计量电路具有较高的测量精度。 关键词:电能计量;MC9S12XS128单片机;ADE7755芯片;硬件设计;软件设计

目录 前言 (1) 1 设计任务及要求 (2) 2 ADE7755简介 (2) 2.1功能概述 (2) 2.2功能特点 (2) 2.3 功能框图 (3) 2.4 极限参数 (3) 2.5 外部引脚及其功能说明 (3) 2.6 ADE7755工作原理 (6) 3 HCS12X系列单片简介 (7) 3.1 MC9S12XS128 性能述 (7) 3.2输入输出数字I/O接口 (8) 3.3输入输出端口功能和配置 (10) 3.4电源相关引脚 (13) 3.5其他引脚 (14) 3.6 XMC9S12XS128的存储器映射 (14) 4 电源模块设计 (17) 5 电能计量电路的基本成 (17) 6 软件设计 (19) 6.1编程软件codewarrior简介 (19) 6.2源程序 (22) 参考文献 (19) 附录 (20)

89C51单片机44键盘应用实例程序设计(含硬件仿真电路图)

89c51单片机4*4键盘应用实例硬件仿真电路图如下: 程序如下(编译成功): #include"reg51.h" #include"LCD1602.h" #include"hardware.h" char code tab[4][4]={ {'1','4','7','#'}, {'2','5','8','0'}, {'3','6','9','*'}, {'A','B','C','D'}}; //0到F的16个键植 void delay(unsigned char a) { unsigned char i; while(a--)

for(i=100;i>0;i--) ; } char kbscan() //键盘扫描 { unsigned char hang,lie,key; if(P3!=0x0f) delay(5); if(P3!=0x0f) { switch(P3&0x0f) { case 0x0e:lie=0;break; case 0x0d:lie=1;break; case 0x0b:lie=2;break; case 7:lie=3;break; } P3=0xf0; P3=0xf0; switch(P3&0xf0) { case 0xe0:hang=0;break; case 0xd0:hang=1;break; case 0xb0:hang=2;break; case 0x70:hang=3;break; } P3=0x0f; while(P3!=0x0f); key=tab[hang][lie]; } else key=0; return (key); } void main() { unsigned char temp; LCD_initial(); LCD_prints("piaoling"); P3=0x0f; P0=0xff; while(1)

相关文档
最新文档