ImageVerifierCode 换一换
格式:PPT , 页数:41 ,大小:1.11MB ,
资源ID:15665281      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15665281.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LED显示、键盘操作及程序PPT文档格式.ppt)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

LED显示、键盘操作及程序PPT文档格式.ppt

1、j+);void main(void)/主程序主程序 while(1)/非非0为真,此为无限循环为真,此为无限循环 LED1=0;LED2=1;LED3=1;delayms(1000);LED1=1;LED2=0;LED3=0;电阻电阻R,其计算公式如下:,其计算公式如下:为电源电压,为电源电压,取取5V5V;为发光二极管压降,取为发光二极管压降,取1.2V1.2V-1.8V1.8V;为驱动器压降为驱动器压降,取取0.3V-0.5V,0.3V-0.5V,本例未使用本例未使用驱动器驱动器;为发光二极管工作电流为发光二极管工作电流,取取8mA-20mA8mA-20mA。发光二极管工作电流,其值越大

2、,二极管越亮。为了提高亮度,可减少限流电阻。也可以选用驱为了提高亮度,可减少限流电阻。也可以选用驱动器件以提供更大的电流,常用的驱动器件有动器件以提供更大的电流,常用的驱动器件有动器件以提供更大的电流,常用的驱动器件有动器件以提供更大的电流,常用的驱动器件有74LS0674LS0674LS0674LS06、74LS0774LS0774LS0774LS07、小功率三极管等。、小功率三极管等。5.2.2 LED显示显示(Light-Emitting Diode)共阳极共阳极共阴极共阴极外形图外形图8段段LED字型码(段码)字型码(段码)“1”的段码(共阳极):的段码(共阳极):“F9H”dp g

3、f e d c b aP1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 1 1 1 1 1 0 0 1“5”的段码(共阴极):的段码(共阴极):“6DH”dp g f e d c b aP1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 0 1 1 0 1 1 0 1共阳极段码:共阳极段码:0 1 2 3 4 5 6 7 8 9 A b “黑黑”C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H,88H,83H,FFH共阴极段码:共阴极段码:3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7F

4、H,6FH,77H,7CH,00H静态静态LEDLED显示显示显示显示0000,每秒钟加,每秒钟加1 1,至,至9999,如此循环不止。,如此循环不止。P1P1、P3P3各接一个数码管:各接一个数码管:#include uchar code dispcode=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xff;void main(void)/主程序主程序 uchar num=0;while(1)P1=dispcodenum/10;P3=dispcodenum%10;num+;if(num=100)num=0;常用简

5、化缩写来定义数据类型:#define uchar unsigned char#define uint unsigned int图图5.9 两位两位LED数码管动态显示数码管动态显示动态动态LEDLED显示显示例:显示例:显示“86”86”#include sbit LED1=P27;/十位十位sbit LED0=P26;/个位个位uchar code dispcode=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xff;void main(void)/主程序主程序 uchar num=86;LED11;LED0=0

6、;delayms(5);P1=dispcodenum%10;LED10;LED0=1;3 3 独立式键盘独立式键盘键盘处理程序任务键盘处理程序任务:*检查键盘是否有键被按下;检查键盘是否有键被按下;*确定被按键的键号确定被按键的键号,获取键号。获取键号。*硬件电路消除抖动或软件消除抖动。硬件电路消除抖动或软件消除抖动。按键抖动按键抖动 10ms10ms“1”“0”释放抖动释放抖动1010msms+5v稳定闭合稳定闭合1.1.独立式键盘电路独立式键盘电路延时等待延时等待10ms 仍有按键信号?仍有按键信号?Y 有按键信号?有按键信号?NYN键盘处理键盘处理 89c51 P1.0 P1.1 P1.

7、2/*-key.h头文件头文件功能:三独立键处理函数功能:三独立键处理函数-*/#ifndef _KEY_H_#define _KEY_H_#include#define uchar unsigned char#define UP 0 x01/定义键号定义键号#define DOWN 0 x02#define ENTER 0 x03sbit UP_key =P10;/键引脚,改正键引脚,改正sbit DOWN_key=P11;sbit ENTER_key=P12;/*-功能:毫秒延时函数功能:毫秒延时函数 参数:当晶振为参数:当晶振为11.0592MHz时,时,x为为ms数,数,误差为误差为1

8、6us;x1000为为1秒秒-*/void delayms(unsigned int x)uchar j;while(x-)for(j=0;功能:获取键号获取键号 返回:返回:key=键号键号1-3;key=0无键按下。无键按下。-*/uchar KeyscanNUM(void)uchar key=0;/key=0无键按下无键按下 UP_key=1;DOWN_key=1;ENTER_key=1;if(UP_key=0)delayms(10);if(UP_key=0)key=UP;else key=0;if(DOWN_key=0)delayms(10);if(DOWN_key=0)key=DOW

9、N;if(ENTER_key=0)delayms(10);if(ENTER_key=0)key=ENTER;return key;#endif#include key.h“sbit LED_RED =P32;/补充补充 sbit LED_YELLOW=P33;sbit LED_GREEN =P34;/键处理子函数键处理子函数 /功能:按功能:按UP键红灯亮,按键红灯亮,按ENTER键黄灯亮,键黄灯亮,/按按DOWN键绿灯亮,键绿灯亮,void KeyProc(uchar key)switch(key)case UP:LED_RED=0;LED_YELLOW=1;LED_GREEN=1;brea

10、k;case DOWN:LED_RED=1;LED_YELLOW=0;case ENTER:LED_GREEN=0;独立键处理演示程序独立键处理演示程序/*主程序主程序void main(void)uchar key;while(1)key=KeyscanNUM();if(key=UP|key=DOWN|key=ENTER)KeyProc(key);key=0;4 4行列式键盘模块行列式键盘模块独立式键盘只适合按键少的场合。独立式键盘只适合按键少的场合。按键较多时,常采用行列式键盘电路。行列式键盘的程序复杂,需采用键盘扫描技术。常用的键盘扫描方式有:扫描法、扫描法、反转法、反转法、状态矩阵法等

11、。状态矩阵法等。本节只介绍(线)反转法本节只介绍(线)反转法 Line-Reverse 原理如图原理如图5.125.12。反转法原理图反转法原理图反转法接线图反转法接线图 先从先从P1口的高口的高4位输出低电平(列),位输出低电平(列),低低4位输出高电平(行);位输出高电平(行);即即P1=0 x0f 0;从从P1口读取键盘状态:口读取键盘状态:低低4位中只要有一位出现位中只要有一位出现“0”,说明此行中有键按下。,说明此行中有键按下。各行有键按下的数值依次为各行有键按下的数值依次为 0EH 00001110 0DH 00001101 0BH 00001011 07H 00000111步骤步

12、骤1:再从再从P1口的低口的低4位输出低电平(行),位输出低电平(行),高高4位输出高电平(列);位输出高电平(列);即即P1=0 xf;高高4位中只要有一位出现位中只要有一位出现“0”,说明此行中有键按下。各列有键按下的数值依次为各列有键按下的数值依次为 E0H 1110 0000 D0H 1101 0000 B0H 1011 0000 70H 0111 0000 将两次读取的数值组合,得到将两次读取的数值组合,得到“键值的特征码键值的特征码”。步骤步骤2:步骤步骤3:/*-4x4KEY.h头文件头文件 功能:对功能:对4x4KEY.c函数的申明函数的申明 -*/#ifndef_4x4KEY

13、_H_#define_4x4KEY_H_#include#define uchar unsigned char#define Key_Port P1 /定义键盘接口定义键盘接口/*-检测按键函数检测按键函数 功能:消抖后判断是否真正有键按下功能:消抖后判断是否真正有键按下返回值:返回值:1有按键;有按键;0无按键无按键-*/uchar Key_Down(void);/*-获取键键号扫描函数获取键键号扫描函数 返回键号(返回键号(0 x000 x0f);无按键返回无按键返回0 xff;-*/uchar Key_Code(void);#endif/*-函数功能:函数功能:4x4KEY的驱动函数的驱动函数 -*/#include 4x4key.hvoid delayms(uint x)/省略省略 ./判断是否有键按下函数,为判断是否有键按下函数,为Key_Down服务的函数服务

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1