单片机原理应用与Proteus仿真教学教程兰建军9单元单片机系统接口扩展及应用演示文稿.ppt

单片机原理应用与Proteus仿真教学教程兰建军9单元单片机系统接口扩展及应用演示文稿.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
D/A转换器内部主要包含:电阻解码网络、基准电源、二进制电子开关和运算放大器等, 4位D/A转换器内部基本结构框图 3、利用DAC0832实现锯齿波信号发生器 #include reg51.h #include absacc.h #define uchar unsigned char #define uint unsigned int #define DACADDR XBYTE[0X7FFF] //定义DAC0832地址7FFFH main() { uchar x,j; x=0X00; while(1) { DACADDR=x; for (j=0;j50;j++) ; x++; }} 4、A/D转换器概述 分辨率 输出二进制末位变化时,需要的最小模拟电压对满刻度电压的比值,取决于A/D转换器的位数。 接口方式 并行接口,串行接口,如I2C和SPI等。 转换精度 转换精度可以用绝对精度来衡量,绝对精度是实际输入电压和理论输入电压之差。 转换时间 指A/D转换器完成一次A/D转换所需要的时间。 5、利用ADC0808实现模拟量采集 IN0~IN7:模拟量输入信号端。 D7~D0:数据输出线、三态。 ADDA、ADDB、ADDC:通道地址信号输入端。 ALE:地址锁存允许信号。 START:上升沿时复位;下降沿启动A/D转换;转换期间,START应保持低电平。 OE:输出允许信号。 CLK:时钟信号,最佳频率为500KHz。 EOC:转换结束标志信号。 Vref:参考电源Vref(+)=+5V,Vref(-)=0V #include reg51.h #define uchar unsigned char #define ADCADDR XBYTE[0X7F00] //设置ADC0808的端口地址 sbit led1=P1^0 ; uchar ad_data, disstr[3]; uchar ddseg[12]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01, 0x09}; //数字0-9的段码 void disp(uchar *p1,uchar k) //显示子程序 { uchar i,j; for (i=0;ik;i++) { j=*p1; SBUF=ddseg[j]; p1++; while (!TI) { ; } TI=0; }} void int0() interrupt 0//外部中断0服务子程序 { uint xy; 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;xy5000;xy++)//延时保证显示效果 ; ADCADDR =ad_data; //启动新一轮A/D转换 } main() { uchar x; EX0=1; //中断允许设置 EA=1; SCON=0X00; //控制串行口工作在方式0 x=0X00; adcadrr=x; //启动A/D转换 } 9.1 键盘接口扩展 非编码式键盘接口扩展 1、按键识别与处理 由于键盘的机械特性,键盘在按下和松开的过程中存在抖动过程,为了消除干扰,必须采取措施消除抖动。 (1)硬件电路消除法 通常采用单稳态电路或者采用施密特触发器,对脉冲进行整形,得到标准脉冲。 (2) 软件延时法 当判定按键按下时,用软件延时10ms-20ms,等待键稳后重新再判一次,以躲过触点抖动期。 2、独立式键盘原理与接口 应用最多,特点是一个按键对应一根I/O口线,各键相互独立,采用电压跳变检测方式来判断。 S1 S4 S3 S2 P1.0 P1.1 P1.2 P1.3 8051 +5V uchar Key_Scan() { if( ( P1 0xff ) != 0xff ) //判断是否有键按下 { Delay5ms(4); //调20ms延时消抖子程序, if( ( P1 0xff )

文档评论(0)

精品课件 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档