首页 第9章节 单片机系统接口扩展跟运用

第9章节 单片机系统接口扩展跟运用

举报
开通vip

第9章节 单片机系统接口扩展跟运用第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum9.1键盘接口扩展非编码式键盘接口扩展1、按键识别与处理由于键盘的机械特性,键盘在按下和松开的过程中存在抖动过程,为了消除干扰,必须采取措施消除抖动。断开断开稳定期20ms20ms闭合第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum(1)硬件电路消除法通常采用单稳态电路或者采用施密特触发器,对脉冲进行整形,得到标准脉冲。(2)软件延时法当判定按键按下时,用软...

第9章节 单片机系统接口扩展跟运用
第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum9.1键盘接口扩展非编码式键盘接口扩展1、按键识别与处理由于键盘的机械特性,键盘在按下和松开的过程中存在抖动过程,为了消除干扰,必须采取措施消除抖动。断开断开稳定期20ms20ms闭合第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum(1)硬件 电路 模拟电路李宁答案12数字电路仿真实验电路与电子学第1章单片机复位电路图组合逻辑电路课后答案 消除法通常采用单稳态电路或者采用施密特触发器,对脉冲进行整形,得到 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 脉冲。(2)软件延时法当判定按键按下时,用软件延时10ms-20ms,等待键稳后重新再判一次,以躲过触点抖动期。第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum2、独立式键盘原理与接口应用最多,特点是一个按键对应一根I/O口线,各键相互独立,采用电压跳变检测方式来判断。第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleumucharKey_Scan(){if((P1&0xff)!=0xff)//判断是否有键按下{Delay5ms(4);//调20ms延时消抖子程序,if((P1&0xff)!=0xff)//不全为高有键按下{switch(P1&0xff)//判断何键按下,获取键值{case0xfe:return1;case0xfd:return2;case0xfb:return3;case0xf7:return4; default:returnnull;}}}returnnull;}第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum3、行列式键盘原理与接口行列式键盘也称为矩阵式键盘,通常应用于按键数目较多的场合,由行线和列线组成。P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V列1列3列2列4行11行3行25.1KΩ*4行44589121316第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum(1)扫描法检测首先判断是否有键按下,有键按下后进行、列扫描,找出按下键所在的行和列,从而获取键值。 所有输出口输出“0”,读入输入口状态; 低4位如果全为“1”,无键按下,否则至少有一个键按下,开始行列扫描; 令第1列输出“0”,其他列输出“1”,记录列值(N),读入输入口状态, 无键按下,令下一列输出“0”;有键按下,进行行扫描,记录行号(M)。第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum(2)反转法检测原理先让行线作为输出口,列线作为输入口。令输出口输出“0”,读入输入口状态;之后线路反转,令列线作为输出口,行线作为输入口,输出口输出“0”,再读入输入口状态,通过两次读入的数据就能识别出何健按下。7按下P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V15.1KΩ*44589121316+5V第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum 数据 输出口 输入口 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 输出1 1 1 1 1 0 0 0 0 输入1 1 0 1 1 × × × × 输出2 0 0 0 0 1 1 1 1 输入2 × × × × 1 1 0 1 组合 1 0 1 1 1 1 0 1第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum 键号 特征码 键号 特征码 键号 特征码 键号 特征码 1 0XEE 5 0XED 9 0XEB 13 0XE7 2 0XDE 6 0XDD 10 0XDB 14 0XD7 3 0XBE 7 0EBD 11 0XBB 15 0XB7 4 0X7E 8 0X7D 12 0X7B 16 0X77第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum4、利用独立式按键实现4路抢答器功能: 具有4路抢答功能; 具有抢答开始和屏蔽控制功能; 抢答成功后能屏蔽其他人的抢答的功能。(1)接口电路 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 系统采用中断方式实现,将I/O口状态连接一个4输入与门,与门的输出连接到单片机的外部中断1引脚。在中断服务子程序中屏蔽外部1中断,保证有选手抢答成功后屏蔽其他人的抢答。第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum(2)程序设计#include<REG51.h>#defineucharunsignedcharucharqnumber;voidint1()interrupt2{ucharx;EX1=0; //屏蔽外部1中断x=P1; //读取P1口状态,获取抢答信息x=x&0xf0;//抢答信息处理,只判断低4位switch(x){case0x70:qnumber=0x01;break;//处理选手编号…… case0xe0:qnumber=0x04;break;}}main(){EX1=1; //打开外部1EA=1; //打开总中断IT0=1; //采用边沿触发while(1){;}}第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum9.2显示接口扩展介绍LED数码管和较为常用的LCD显示器和单片机的接口设计。1、LED数码管工作原理(1)7段LED结构comabcdefgdpcomabcdefgdpabcdefgdpabcdefgdpcomcom第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum(2)段码计算涉及连接关系、数码管类型(共阳、阴极) 显示字符 D7 D6 D5 D4 D3 D2 D1 D0 段码 dp g f e d c b a “1” 1 1 1 1 1 0 0 1 F9H第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum2、LED数码管显示接口(1)静态显示接口特点: 每位LED的8个段都配有独立的I/O口线,公共端直接接地或者接VCC。优点: 每一位显示输出后能够保持显示不变,直至重新送入新的数据。缺点: 当显示位数较多时,占用的I/O口较多。abcdefgdpcomabcdefgdpD0~D7I/O(1)D0~D7I/O(n)abcdefgdpabcdefgdpcom…LED1第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum(2)动态显示接口特点: 把所有数码管的段线并联在一起,每个数码管的公共端由独立的I/O口进行控制。定时对各显示器进行扫描,显示器件分时轮流工作,每次只允许一个器件显示。优点: 使用硬件少占用I/O口少。缺点: 占用机时长,只要不执行显示程序,就立刻停止显示。abcdefgdpcomabcdefgdpLED1a~dp…LEDnI/O(1)D0~D7I/O(i)D0~D7abcdefgdpcom第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum3、利用74LS164实现2位静态显示电路第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum#include"reg51.h"#defineucharunsignedchar#defineuintunsignedintucharddseg[12]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09,0x30};//定义段码voiddisp(uchar*p1,uchark)//显示子程序,显示位数为k,数组首地址为*p1{uchari,j;for(i=0;i<k;i++){j=*p1; //取出要显示数据SBUF=ddseg[j];//取出段码数据送串口缓冲区p1++;第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleumwhile(!TI) //判断数据是否发送完成{;}TI=0; //清除标志位,准备下次发送数据}}main(){uchardisstr[2]; //显示数据存放数组disstr[0]=2; //初始化显示数据disstr[1]=1;SCON=0X00; //方式0,同步移位寄存器工作方式disp(disstr,2); //调用显示子程序,}第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum4、利用MAX7219实现4位动态显示电路(1)MAX7219引脚功能DIN:串行数据输入端,数据传输在时钟上升沿有效。DOUT:串行数据输出端,用于多片MAX7219级连扩展使用。LOAD:装载数据输入端,上升沿锁存数据。CLK:串行时钟输入端。DIG0~DIG7:8位LED位选线,从共阴极数码管中吸入电流。SEGA~SEGDP:7段驱动和小数点驱动端,用于传送段码数据。ISET:通过一个10k电阻和Vcc相连,可以设置流过每个段的电流大小。V+、GND:芯片工作电源输入端。第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum(2)控制寄存器 译码控制寄存器(地址:×9H) 译码方式 寄存器数据 命令代码 D7 D6 D5 D4 D3 D2 D1 D0 0-7位均不译码 0 0 0 0 0 0 0 0 00H 位0不译码,位1-7采用B译码 0 0 0 0 0 0 0 1 01H 0-3位B译码,4-7位不译码 0 0 0 0 1 1 1 1 0FH 0-7位均采用B译码 1 1 1 1 1 1 1 1 FFH第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum 扫描界限寄存器(×BH) 扫描个数 寄存器数据 命令代码 D7 D6 D5 D4 D3 D2 D1 D0 只驱动数码管0 × × × × × 0 0 0 ×0H 驱动数码管0、1 × × × × × 0 0 1 ×1H 驱动数码管0、1、2 × × × × × 0 1 0 ×2H … … 驱动所有数码管 × × × × × 1 1 1 ×7H第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum 亮度控制寄存器(×AH)共有16级亮度可选择,用于设置LED数码管的显示亮度,数据值分别为:×0H~×FH。 关断模式寄存器(×CH)MAX7219共有两种模式选择,一是关断状态,只需要把最低位D0设置为0即可;另一是正常工作状态,把最低位D0设置成1即可。 显示测试寄存器(×FH)用于判断MAX7219处于测试状态还是正常工作状态,如果为测试状态,最低位D0=1,所有数码管全亮;如果是正常工作状态,最低位数据D0=0。第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum5、LCD液晶显示模块概述(1)点阵字符型液晶显示模块VSS12345678910111213141516LCD1602VCCV0RSR/WEDB0DB1DB2DB3DB4DB5DB6DB7BLABLK第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum(2)点阵图形型液晶显示模块第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum6、应用实例:基于单片机的秒表设计(1)设计要求 利用8051设计一个秒表,只考虑秒十位和个位; 启动计时后,秒表从00秒开始计时,每秒钟加1; 到了99秒后,又从00秒重新开始计时,周而复始; 按下暂停键后,停止计时; 再次按下暂停键,计时继续。第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum(2)基本思路时间要从00-99变化,时间数据每隔1秒钟加1,之后进行显示。暂停只需设置一个按键,令TR0取反即可实现暂停、继续交互功能。(1)00-99一字节组合BCD码存于内部RAM50H单元;(2)1秒一次溢出时间无法满足,多次溢出实现。12MHZ晶振,50mS一次,20次可达一秒-中断方式准;(3)加150H送A后加1,进行DAA调整,保存至50H;(3)显示时间数据先拆分,取段码送显示;(4)按键独立式,中断方式取反TR0,接/INT0引脚。第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum外部中断0子程序:取反TR0中断返回(4)软件设计主程序中断服务子程序普通子程序开始初始化等待中断定时器0中断子程序:结束普通子程序:加1子程序BCD拆分子程序显示子程序第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum程序编写:(1)中断入口地址配置;(2)串口、定时计数器工作方式初始化;(3)定时计数器赋初值、20次计数器赋初值;(4)时间赋初值00H;(5)时间数据处理、送显示;(6)逐级开放中断;(7)死循环等待中断。(8)编写相应中断服务子程序(T0、INT0)普通子程序(加法、BCD码拆分、显示)第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum(5)程序清单;***中断子程序入口设置*********ORG0000H AJMPSTART ORG0003H AJMPWB0 ORG000BH AJMPDS0 ORG0030H;**********主程序开始**********START: MOVSCON,#00H MOVTMOD,#01H MOVTH0,#3CH MOVTL0,#0B0H MOV50H,#00H MOVR6,#10;?20 LCALLCHULI LCALLDISP SETBEX0 SETBET0 SETBIT0;??? SETBEA AJMP$第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleumJIA:MOVA,50HADDA,#01HDAAMOV50H,ARETCHULI:MOVA,50HANLA,#0FHMOV51H,AMOVA,50HSWAPAANLA,#0FHMOV52H,ARETDS0:DJNZR6,MDAOMOVR6,#10LCALLJIALCALLCHULILCALLDISPMDAO:MOVTH0,3CHMOVTL0,#0B0HRETIWB0:CPLTR0RETI第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleumDISP: MOVR0,#51H MOVR7,#02HNEXT:MOVA,@R0 MOVDPTR,#DDSEG MOVCA,@A+DPTR MOVSBUF,A JNBTI,$ CLRTI INCR0 DJNZR7,NEXT RETDDSEG:DB03H,9FH,25H,DB0DH,99H,49H,DB41H,1FH,01H,09HEND第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum(6)涉及 知识点 高中化学知识点免费下载体育概论知识点下载名人传知识点免费下载线性代数知识点汇总下载高中化学知识点免费下载 (定时器、中断、键盘、显示)(7)扩展要求(思考 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 )※1)具备正计时和倒计时功能(增加按键选择);2)倒计时具备初值在线任意设定功能;3)具备毫秒级数值显示功能(0.1或0.01秒);第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum9.3模拟量输入/出接口扩展1、模拟量输入/出接口概述第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum2、D/A转换器概述选型时考虑的参数: 输出形式输出形式:电压输出形式,电流输出形式。 接口方式接口方式:并行接口,串行接口,如I2C、SPI。 分辨率衡量D/A转换器对输入量变化敏感程度的描述,反映D/A转换器对信号的分辨能力,其与输入数字量的位数有关,通常用最低有效位LSB表示。第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleumD/A转换器内部主要包含:电阻解码网络、基准电源、二进制电子开关和运算放大器等,4位D/A转换器内部基本结构框图+-2R2R2R2R2RRRRRfbD0D1D2D301010101VREFI0I1I2I3I0I1I2I3IVOIi第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum3、利用DAC0832实现锯齿波信号发生器8位输入寄存器8位DAC寄存器8位D/A转换电路&&&D0~D7ILEVREFIOUT1IOUT2RfbAGNDDGNDVCCDAC0832Rfb第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum#include"reg51.h"#include<absacc.h>#defineucharunsignedchar#defineuintunsignedint#defineDACADDRXBYTE[0X7FFF] //定义DAC0832地址7FFFHmain(){ucharx,j;x=0X00;while(1){DACADDR=x;for(j=0;j<50;j++);x++;}}第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum4、A/D转换器概述 分辨率输出二进制末位变化时,需要的最小模拟电压对满刻度电压的比值,取决于A/D转换器的位数。 接口方式并行接口,串行接口,如I2C和SPI等。 转换精度转换精度可以用绝对精度来衡量,绝对精度是实际输入电压和理论输入电压之差。 转换时间指A/D转换器完成一次A/D转换所需要的时间。第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum5、利用ADC0808实现模拟量采集IN0~IN7:模拟量输入信号端。D7~D0:数据输出线、三态。ADDA、ADDB、ADDC:通道地址信号输入端。ALE:地址锁存允许信号。START:上升沿时复位;下降沿启动A/D转换;转换期间,START应保持低电平。OE:输出允许信号。CLK:时钟信号,最佳频率为500KHz。EOC:转换结束标志信号。Vref:参考电源Vref(+)=+5V,Vref(-)=0V第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum#include"reg51.h"#defineucharunsignedchar#defineADCADDRXBYTE[0X7F00]//设置ADC0808的端口地址sbitled1=P1^0;ucharad_data,disstr[3];ucharddseg[12]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09};//数字0-9的段码voiddisp(uchar*p1,uchark) //显示子程序{uchari,j;for(i=0;i<k;i++){j=*p1;SBUF=ddseg[j];p1++;while(!TI){;}TI=0;}}第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleumvoidint0()interrupt0//外部中断0服务子程序{uintxy;ad_data=ADCADDR; //读取A/D转换结果disstr[2]=ad_data/100;//处理A/D转换结果,将十六进制转换成BCD码disstr[1]=ad_data%100/10;disstr[0]=ad_data%100%10;disp(disstr,3); //转换结果进行数字显示led1=!led1; //状态指示灯for(xy=0;xy<5000;xy++)//延时保证显示效果;ADCADDR=ad_data; //启动新一轮A/D转换}第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleummain(){ucharx;EX0=1; //中断允许设置EA=1;SCON=0X00; //控制串行口工作在方式0x=0X00;adcadrr=x; //启动A/D转换}第9章单片机系统接口扩展ShengliCollegeChinaUniversityofPetroleum
本文档为【第9章节 单片机系统接口扩展跟运用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
Mar思诺
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:交通与物流
上传时间:2018-12-02
浏览量:2