首页 第4章 80C51人机接口技术

第4章 80C51人机接口技术

举报
开通vip

第4章 80C51人机接口技术*第4章80C51人机接口技术LED、数码管及蜂鸣器接口技术4.1按键及键盘接口技术4.2字符型LCD显示器接口技术4.3单片机最小系统AT89S52LED数码管蜂鸣器LCD按键键盘开关每根口线最大可吸收10mA的(灌)电流P0口吸收电流的总和不能超过26mAP1、P2和P3每个口吸收电流的总和限制在15mA4个口所有口线的吸收电流总和限制在71mA**4.1LED、数码管及蜂鸣器接口技术4.1.1LED接口LED的特性及其灌电流驱动LED典型工作点:1.75V,10mA。单个LED驱动特性如下图:多个LED并口直...

第4章  80C51人机接口技术
*第4章80C51人机接口技术LED、数码管及蜂鸣器接口技术4.1按键及键盘接口技术4.2字符型LCD显示器接口技术4.3单片机最小系统AT89S52LED数码管蜂鸣器LCD按键键盘开关每根口线最大可吸收10mA的(灌)电流P0口吸收电流的总和不能超过26mAP1、P2和P3每个口吸收电流的总和限制在15mA4个口所有口线的吸收电流总和限制在71mA**4.1LED、数码管及蜂鸣器接口技术4.1.1LED接口LED的特性及其灌电流驱动LED典型工作点:1.75V,10mA。单个LED驱动特性如下图:多个LED并口直接驱动限流与上拉电阻共享驱动**voidmain(void){uchari;P21=1;while(1){for(i=0;i<8;i++){DataPort=ScanCode[i];DelayMs(500);}}}【例4-1】**数码管4.1.2数码管接口**晶体三极管驱动**达林顿阵列驱动**常序相接时ucharcodeSegCode[]=//段码{0x3F,0x06,0x5B,0x4F};dpgfedcba00000110共阴极字形“1”编码示例:06H**ucharcodeSegCode[]=//段码{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};ucharcodeBitCode[]={0xfe,0xfd,0xfb,0xf7};//位码ucharDispBuf[4];//显示数字要先送入此缓冲数组voidBufToSeg(void){uchari;for(i=0;i<4;i++){P0=SegCode[DispBuf[i]];//送段码P2=BitCode[i];//送位码DelayMs(1);}}【例4-2】部分代码非常序相接时字形“1”常序编码:06HP07P06P05P04P03P02P01P00bgcdpfdea字形“1”该序编码:A0HucharcodeSegCode[]={0xAF,0xA0,0xC7,0xE5};ucharcodeBitCode[]={0x04,0x20,0x10,0x08};voidBufToSeg(void)不变!**蜂鸣器及其接口有源蜂鸣器:接额定电压就可连续发声无源蜂鸣器:接入变频方波,可得到不同音调的声音4.1.3蜂鸣器接口例:以频率800Hz发声,发声时间250ms,静音1000ms。while(1){for(j=400;j>0;j--)//发声250ms{BEEP=~BEEP;//取反及调用指令占用约3usd622us();//共延时625us,周期1250us,频率800Hz}for(j=400*4;j>0;j--)//静音1000ms{BEEP=1;//关闭蜂鸣器d622us();}}4.2.1独立按键接口按键及其消抖简单开关及输入接口4.2按键及键盘接口技术**开关闭合与断开时的抖动及去抖电路按键较少时:去抖电路按键较多时:软件延时,通常为10ms**矩阵键盘接口电路4.2.2键盘接口逐行扫描法判有无键按下。将列线设置为输出口,输出全0(所有列线为低电平),然后读行线状态,若行线状态不全为高电平,则可断定有键按下。判按下哪个键。先置列线C0为低电平,其余列线为高电平,读行线状态,如行线状态不全为“1”,则说明所按键在该列;否则所按键不在该列,再使C1列线为低电平,其它列为高电平,判断C1列有无按键按下。其余类推。获得相应键号。键号:键号=行首号+列号。行首号为行数乘以行号。根据键号就可以进入相应的键功能实现程序。线反转法例如按下“2”号键,先使列线输出全“0”,读行线,结果为E0H;再使行线输出全“0”,读列线,结果为0BH。将2次读到的结果拼成一个字节,即EBH,该值称为键值。4.3字符型LCD显示器接口技术4.3.1LCD1602模块的外形与引脚引脚01、02:VSS、VDD,接地和+5V引脚引脚03:VL,对比度调整端,接地时对比度最高引脚04:RS,1-数据寄存器/0-命令寄存器引脚05:RW,1-读/0-写引脚06:E,使能端引脚07~14:D0~D7,8位双向数据线引脚15、16:BLA、BLK,背光正、负极LCD1602模块组成4.3.2LCD1602模块的组成对于16x2字符的显示要增加HD44100驱动器HD44780本身可以驱动16x1字符或8x2字符HD44780HD44780由三部分构成:CGROM字符发生器,存储不同的点阵字符图形表,每个字符都有固定的代码。CGRAM自定义字符发生器,可定义8个字符图形。DDRAM显示缓冲区。例:代码41H显示字符“A”。CGROMCGRAM可以自定义8个字符:0—7或8--15CGRAM的内容:unsignedcharcodeWeekWord[]={}LoadCgram(WeekWord);DispChar(0,1,0);LoadCgram定义为:{WCmd(0x40);for(i=0;i<64;i++){WDat(ptcgram[i]);}}DDRAM有80个单元,但第1行仅用00H~0FH单元,第2行仅用40H~4FH单元4.3.3LCD1602模块的命令序号指令RSR/WD7D6D5D4D3D2D1D01清屏00000000012光标归位000000001*3输入模式设置00000001I/DS4显示与不显示设置0000001DCB5光标或屏幕内容移位选择000001S/CR/L**6功能设置00001DLNF**7CGRAM地址设置0001CGRAM地址8DDRAM地址设置001DDRAM地址9读忙标志和计数器地址设置01BF计数器地址10写DDRAM或CGROM10要写的数据11读DDRAM或CGROM11读出的数据4.3.4LCD1602模块的命令接口电路驱动程序sbitRS=P2^0;/*命令/数据选择*/sbitRW=P2^1;/*读/写选择*/sbitEN=P2^2;/*高到低使能*/ucharcodedis1[]={"WELCOMETO"};ucharcodedis2[]={"HUSTZDH"};ucharcodeWeekWord[]={0x18,0x18,0x07,0x08,0x08,0x08,0x07,0x00,//℃,代码0x000x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,//一,代码0x01----------------------------------------};voidWCmd(ucharcmd){Busy();RS=0;RW=0;EN=1;P0=cmd;D10us();EN=0;}写命令函数:写数据函数:voidWDat(uchardat){Busy();RS=1;RW=0;EN=1;P0=dat;D10us();EN=0;}voidInit(){DelayMs(10);WCmd(0x38);//功能设置:8位口,2行,5*7点阵DelayMs(10);WCmd(0x0c);//显示设置:开显示,关光标,无闪烁DelayMs(10);WCmd(0x06);//输入模式:右移一格,地址加1DelayMs(10);WCmd(0x01);//清显示DelayMs(10);}初始化函数:voidPos(ucharx,uchary){if(y==0x01)WCmd(x|0x80);//高位置1if(y==0x02)WCmd(x|0xc0);//高位置1,再加40H}位置设置及在指定位置显示字符函数:voidDispChar(ucharx,uchary,uchardat){Pos(x,y);WDat(dat);}voidWStr(ucharstr[]){ucharnum=0;while(str[num]){WDat(str[num++]);DelayMs(100);DelayMs(100);}}显示字符串函数:显示示例:Init();while(1){Pos(0,1);//第一行显示WStr(dis1);Pos(0,2);//第二行显示WStr(dis2);DelayMs(1000);LoadCgram(WeekWord);DispChar(0,1,0);DelayMs(3000);WCmd(0x01);//清显示内容DelayMs(2);}
本文档为【第4章 80C51人机接口技术】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
is_732362
暂无简介~
格式:ppt
大小:3MB
软件:PowerPoint
页数:36
分类:
上传时间:2022-03-06
浏览量:0