版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-2-221第第4 4章章 80C5180C51人机接口技术人机接口技术LEDLED、数码管及蜂鸣器接口技术、数码管及蜂鸣器接口技术 4.1按键及键盘接口技术按键及键盘接口技术 4.2字符型字符型LCDLCD显示器接口技术显示器接口技术 4.3单片机单片机最小系统最小系统AT89S52AT89S52LEDLED数码管数码管蜂鸣器蜂鸣器LCDLCD按键按键键盘键盘开关开关n 每根口线最大可吸收每根口线最大可吸收10mA10mA的(灌)电流的(灌)电流n P0P0口吸收电流的总和不能超过口吸收电流的总和不能超过26mA26mA n P1P1、P2P2和和P3P3每个口吸收电流的总和限制在每
2、个口吸收电流的总和限制在15mA15mA n 4 4个口所有口线的吸收电流总和限制在个口所有口线的吸收电流总和限制在71mA71mA 2022-2-2234.1 LED、数码管及蜂鸣器接口技术、数码管及蜂鸣器接口技术4.1.1 4.1.1 LEDLED接口接口 LED LED的特性及其灌电流驱动的特性及其灌电流驱动LEDLED典型工作点:典型工作点:1.75V1.75V, ,10mA10mA。单个单个LEDLED驱动特性如下图:驱动特性如下图: 多个多个LEDLED并口直接驱动并口直接驱动 限流与上拉电阻共享驱动限流与上拉电阻共享驱动 2022-2-225void void main(void
3、main(void) ) ucharuchar i; i; P21 = 1; P21 = 1; while(1)while(1) for(ifor(i=0;i8;i+) =0;i8;i+) DataPortDataPort= = ScanCodeiScanCodei; DelayMs(500); DelayMs(500); 【例例4-14-1】 2022-2-226 数码管数码管4.1.2 4.1.2 数码管接口数码管接口 2022-2-227 晶体三极管驱动晶体三极管驱动2022-2-228 达林顿阵列驱动达林顿阵列驱动2022-2-229常序相接时常序相接时 ucharuchar code
4、 code SegCodeSegCode = / = / 段码段码0 x3F,0 x3F,0 x060 x06,0 x5B,0 x4F;,0 x5B,0 x4F;dpgfedcba0 0000110共阴极共阴极字形字形“1 1”编码示例:编码示例:0606H H2022-2-2210ucharuchar code code SegCodeSegCode = = / / 段码段码0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90; 0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0
5、 x80,0 x90; ucharuchar code code BitCodeBitCode= 0 xfe,0 xfd,0 xfb,0 xf7; = 0 xfe,0 xfd,0 xfb,0 xf7; / / 位码位码ucharuchar DispBuf4; DispBuf4; /显示数字要先送入此缓冲数组显示数字要先送入此缓冲数组 void void BufToSeg(voidBufToSeg(void) ) ucharuchar i; i; for(ifor(i = 0; i 4; i+) = 0; i 0; j-) for (j = 400; j 0; j-) /发声发声250ms250
6、ms BEEP = BEEP; BEEP = BEEP; /取反及调用指令占用约取反及调用指令占用约3us3us d622us(); d622us(); /共延时共延时625us625us,周期,周期1250us1250us,频率频率800Hz800Hz for (j = 400 for (j = 400* *4; j 0; j-) 4; j 0; j-) /静音静音1000ms1000ms BEEP = 1; / BEEP = 1; /关闭蜂鸣器关闭蜂鸣器 d622us(); d622us(); 4.2.1 4.2.1 独立按键接口独立按键接口 按键及其消抖按键及其消抖 简单开关及输入接口简
7、单开关及输入接口v4.2 按键及键盘接口技术按键及键盘接口技术2022-2-2215 开关闭合与断开时的抖动及去抖电路开关闭合与断开时的抖动及去抖电路 按键较少时:去抖电路按键较少时:去抖电路 按键较多时:软件延时按键较多时:软件延时, ,通常为通常为10ms10ms2022-2-2216 矩阵键盘接口电路矩阵键盘接口电路4.2.2 4.2.2 键盘接口键盘接口 逐行扫描法逐行扫描法 n 判有无键按下。判有无键按下。将列线设置为输出口,输出全将列线设置为输出口,输出全0 0(所有列线为低电平),然后读行线状态,若行线状(所有列线为低电平),然后读行线状态,若行线状态不全为高电平,则可断定有键按
8、下。态不全为高电平,则可断定有键按下。n 判按下哪个键。判按下哪个键。先置列线先置列线C0C0为低电平,其余列线为为低电平,其余列线为高电平,读行线状态,如行线状态不全为高电平,读行线状态,如行线状态不全为“1”1”,则,则说明所按键在该列;否则所按键不在该列,再使说明所按键在该列;否则所按键不在该列,再使C1C1列列线为低电平,其它列为高电平,判断线为低电平,其它列为高电平,判断C1C1列有无按键按列有无按键按下。其余类推。下。其余类推。n 获得相应键号。获得相应键号。键号:键号:键号键号 = = 行首号行首号+ +列号列号。行首。行首号为行数乘以行号。根据键号就可以进入相应的键功号为行数乘
9、以行号。根据键号就可以进入相应的键功能实现程序。能实现程序。 线反转法线反转法 例如按下例如按下“2”2”号键,号键,先使列线输出全先使列线输出全“0”0”,读行线,结果为,读行线,结果为E0HE0H;再使行线输出全;再使行线输出全“0”0”,读列线,结果为,读列线,结果为0BH0BH。将。将2 2次读到的结次读到的结果拼成一个字节,即果拼成一个字节,即EBHEBH,该值称为键值。,该值称为键值。 v4.3 字符型字符型LCD显示器接口技术显示器接口技术4.3.1 LCD16024.3.1 LCD1602模块的外形与引脚模块的外形与引脚 引脚引脚0101、0202:VSSVSS、VDDVDD,
10、接地接地和和+5V+5V引脚引脚引脚引脚0303:VLVL,对比度调整端,对比度调整端,接地接地时对比度最高时对比度最高引脚引脚0404:RSRS,1-1-数据寄存器数据寄存器/0-/0-命令寄存器命令寄存器引脚引脚0505:RWRW,1-1-读读/0-/0-写写引脚引脚0606:E E,使能端,使能端引脚引脚07071414:D0D0D7D7,8 8位双向数据线位双向数据线引脚引脚1515、1616:BLABLA、BLKBLK,背光,背光正、正、负负极极LCD1602LCD1602模块组成模块组成 4.3.2 LCD16024.3.2 LCD1602模块的组成模块的组成 对于对于16x216
11、x2字符的显示要增加字符的显示要增加HD44100HD44100驱动器驱动器 HD44780HD44780本身可以驱动本身可以驱动16x116x1字符字符或或8x28x2字符字符 HD44780 HD44780HD44780由三部分构成:由三部分构成: nCGRCGRO OM M 字符发生器,字符发生器,存储不同的点阵字符图形表,存储不同的点阵字符图形表,每个字符都有固定的代码。每个字符都有固定的代码。nCGRCGRA AM M 自定义字符发生器,自定义字符发生器,可定义可定义8 8个字个字符图符图形。形。nDDRAMDDRAM 显示缓冲区。显示缓冲区。 例:代码例:代码41H41H显示字符显
12、示字符“A A”。 CGRCGRO OM M CGRCGRA AM M 可以自定义可以自定义8 8个字符:个字符:n 07 07n 或或8-158-15 CGRAMCGRAM的内容:的内容: unsigned char code unsigned char code WeekWordWeekWord= = LoadCgram(WeekWordLoadCgram(WeekWord););DispChar(0,1,0);DispChar(0,1,0);LoadCgramLoadCgram定义为:定义为: WCmd(0 x40); WCmd(0 x40); for(ifor(i=0;i64;i+)
13、=0;i64;i+) WDat(ptcgramiWDat(ptcgrami); ); DDRAMDDRAM有有8080个单元,但个单元,但第第1 1行行仅用仅用00H00H0FH0FH单元,单元,第第2 2行行仅用仅用40H40H4FH4FH单元单元 4.3.3 LCD16024.3.3 LCD1602模块的命令模块的命令 序号序号指令指令RSR/WD7D6D5D4D3D2D1D01清屏清屏00000000012光标归位光标归位000000001*3输入模式设置输入模式设置00000001I/DS4显示与不显示设置显示与不显示设置0000001DCB5光标或屏幕内容移位光标或屏幕内容移位选择选
14、择000001S/CR/L*6功能设置功能设置00001DLNF*7CGRAM地址设置地址设置0001CGRAM地址地址8DDRAM地址设置地址设置001DDRAM地址地址9读忙标志和计数器地读忙标志和计数器地址设置址设置01BF计数器地址计数器地址10写写DDRAM或或CGROM10 要写的数据要写的数据11读读DDRAM或或CGROM11 读出的数据读出的数据4.3.4 LCD16024.3.4 LCD1602模块的命令模块的命令 接口电路接口电路 驱动程序驱动程序sbitsbit RS = P2 0; RS = P2 0; / /* *命令命令/ /数据选择数据选择* */ /sbits
15、bit RW = P2 1; RW = P2 1; / /* *读读/ /写选择写选择* */ /sbitsbit EN = P2 2; EN = P2 2; / /* *高到低使能高到低使能* */ /ucharuchar code dis1= WELCOME TO; code dis1= WELCOME TO;ucharuchar code dis2= HUST ZDH; code dis2= HUST ZDH; ucharuchar code code WeekWordWeekWord= = 0 x18,0 x18,0 x07,0 x08,0 x08,0 x08,0 x07,0 x00,
16、 /0 x18,0 x18,0 x07,0 x08,0 x08,0 x08,0 x07,0 x00, /,代码,代码 0 x00 0 x00 0 x00,0 x00,0 x00,0 x00,0 xff,0 x00,0 x00,0 x00, /0 x00,0 x00,0 x00,0 x00,0 xff,0 x00,0 x00,0 x00, /一,代码一,代码 0 x010 x01- - ; ; void void WCmd(ucharWCmd(uchar cmdcmd) ) Busy();Busy();RS = 0;RS = 0;RW = 0;RW = 0;EN = 1;EN = 1;P0= P
17、0= cmdcmd; ;D10us();D10us();EN = 0;EN = 0; 写命令函数:写命令函数:写数据函数:写数据函数:void WDat(uchar dat)void WDat(uchar dat) Busy(); Busy(); RS = 1;RS = 1;RW = 0;RW = 0;EN = 1;EN = 1;P0= dat;P0= dat;D10us();D10us();EN = 0;EN = 0; void Init()void Init() DelayMs(10);DelayMs(10);WCmd(0 x38); /WCmd(0 x38); /功能设置功能设置:8 8
18、位口,位口,2 2行,行,5 5* *7 7点阵点阵DelayMs(10);DelayMs(10);WCmd(0 x0c); /WCmd(0 x0c); /显示设置显示设置:开显示,关光标,无闪烁:开显示,关光标,无闪烁DelayMs(10);DelayMs(10);WCmd(0 x06); /WCmd(0 x06); /输入模式输入模式:右移一格,地址加:右移一格,地址加1 1DelayMs(10);DelayMs(10);WCmd(0 x01); /WCmd(0 x01); /清显示清显示DelayMs(10);DelayMs(10); 初始化函数:初始化函数:void void Pos(ucharPos(uchar x,ucharx,uchar y) y) if(yif(y=0 x01)=0 x01)WCmd(x|0 x80);/WCmd(x|0 x80);/高位置高位置1 1if(yif(y=0 x02)=0 x02)WCmd(x|0 xc0);/WCmd(x|0 xc0);/高位置高位置1 1,再加再加40H40H 位置设置及在指定位置显示字符函数:位置设置及在指定位置显示字符函数:void void DispChar(ucharDispChar(uchar
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 食品博士职业发展前景
- 学校防火管理制度
- AI计算器付费版功能对比
- 煤炭运输合同协议2026年时效性
- 高考培训试题答案大全及答案
- 营养师基础知识试卷及分析
- 眼科白内障试题及解析
- Web前端HTMLCSS试卷及详解
- 初中生物遗传变异题目及分析
- 波兰语真题及分析
- 2022海康威视DS-VM11S-B系列服务器用户手册V1.1
- 期末试卷(试题)-2023-2024学年四年级下册数学北师大版.3
- 中国共产主义青年团团员教育管理工作条例(试行)团课学习课件
- (DMTO)甲醇制烯烃基础理论知识培训
- (高清版)DZT 0064.2-2021 地下水质分析方法 第2部分:水样的采集和保存
- 广西科技大学毕业答辩模板
- GB/T 29349-2023法庭科学现场照相、录像要求
- 人教版一年级数学下册《第8单元 总复习 第1节 数与代数》课堂教学课件PPT小学公开课
- 2023年驾驶员技能竞赛实际操作项目及评分标准
- 特种加工技术课件第11章 高压水射流加工
- YS/T 96-2009散装浮选铜精矿中金、银分析取制样方法
评论
0/150
提交评论