《片机教学改革》PPT课件.ppt

上传人:小飞机 文档编号:5550194 上传时间:2023-07-20 格式:PPT 页数:66 大小:645.50KB
返回 下载 相关 举报
《片机教学改革》PPT课件.ppt_第1页
第1页 / 共66页
《片机教学改革》PPT课件.ppt_第2页
第2页 / 共66页
《片机教学改革》PPT课件.ppt_第3页
第3页 / 共66页
《片机教学改革》PPT课件.ppt_第4页
第4页 / 共66页
《片机教学改革》PPT课件.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《《片机教学改革》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《片机教学改革》PPT课件.ppt(66页珍藏版)》请在三一办公上搜索。

1、项目三 信号采集、控制系统,学习内容:AD、DA与单片机的接口、编程与调试;串行通信方式、控制,无线通信设计、调试。(在proteus界面上仿真电路,完成C51程序的编制与功能调试。)任务一数字电压计任务二波形发生器任务三红外遥控器,相关知识与实践,一 模数转换 1 AD转换(概念 集成芯片 典型应用 任务)2 DA转换(概念 集成芯片 典型应用 任务)二 串行通信 1 基本概念 2 MCS-51串行技术(及串行中断)典型应用 3 RS232、RS422、RS485协议 典型应用 4 遥控原理 典型应用 5 任务,任务一 数字电压计,任务描述:利用单片机AT89S51与ADC0808设计完成数

2、字电压表,能够测量05V之间的直流电压,三位数码显示电压值。调整电位器,数码能正确显示调整数值。任务要求:1 设计电路原理图;2 编制驱动程序并调试;3 详细注释程序中的关键语句及各子程序功能。,任务二 波形发生器,任务描述:利用单片机AT89S51与ADC0832设计完成一台三角波与方波可选的信号发生器;输出波的幅值为5V,频率自定。任务要求:1 设计电路原理图;2 编制驱动程序并调试;3 详细注释程序中的关键语句及各子程序功能。,任务三 红外遥控器,任务描述:利用单片机AT89S51、红外发射管和PC机接口,设计完成串行通讯接口电路。波特率为9600,8位数据,无校验位。任务要求:1 设计

3、电路原理图;2 编制驱动程序并调试;3 详细注释程序中的关键语句及各子程序功能。,串行通信原理,1.通信基本概念 通信:单片机与外界进行信息交换统称为通信。通信方式有两种:并行通信:数据的各位(二进制)同时发送或接收。特点是传送速度快、效率高,但成本高。适用于短距离传送数据。计算机内部的数据传送一般均采用并行方式。串行通信:数据一位一位(二进制)顺序发送或接收。特点是传送速度慢,但成本低。适用于较长距离传送数据。计算机与外界的数据传送一般均采用串行方式。,2、串行通信的相关问题,(1)通信原理通信过程中相关因素*通信方式方向(单工/半双工/全双工)、连接(一对一/一对多/多对多)、同步串行/异

4、步串行;*速度控制波特率、发送/接收时钟;,(2)通信协议如何处理信号线上的信号*数据识别异步串行通信协议;*数据正确性抗干扰、检验码编码技术。,串行通信方式,通信方向,单工方式:数据仅按一个固定方向传送;,半双工方式:数据可实现双向传送,但不能同时进行;全双工方式:允许双方同时进行数据双向传送;多工方式:在同一线路上实现资源共享。,波特率 单位时间内传送二进制数据的位数,以位/秒(b/s)表示,也称为数据位速率。它是衡量串行通信速率的重要指标。,波特率是指每秒钟传送信号的数量,单位为波特(Baud)。比特率每秒钟传送二进制数的信号数(即二进制数的位数),单位是bps(bit per seco

5、nd)或写成b/s(位/秒)。在单片机串行通信中,传送的信号是二进制信号,波特率与比特率数值上相等。单位采用bps。,同步方式:数据传送使用同一个时钟.优点是数据传输速率较高,缺点是要求发送时钟和接收时钟保持严格同步。,异步方式:数据传送不使用同一个时钟.优点是不需要传送同步脉冲,可靠性高,所需设备简单;缺点是字符帧中因包含有起始位和停止位而降低了有效数据的传输速率。,MCS-51串行口,MCS-51内部有一个可编程的全双工串行通信接口,该串行口有4种工作方式,以供不同场合使用。波特率可由软件设置,由片内的定时器/计数器产生。接收、发送均可工作在查询方式或中断方式。,串行口的结构与控制,MCS

6、-51单片机内部的串行口有两个物理上独立的接收、发送缓冲器SBUF,可同时接收和发送数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。两个缓冲器占用同一个地址(99H)。控制MCS-51单片机串行口的控制寄存器共有两个,即特殊功能寄存器SCON和PCON。,串行口控制寄存器SCON,SM0、SM1:控制串行口的工作方式。SM2:允许方式2和方式3进行多机通信控制位。REN:允许串行接收控制位。REN=1,允许接收。TB8:是工作在方式2和方式3时要发送的第9位数据,根据需要由软件置位和复位。RB8:是工作在方式2和方式3时接收到的第9位数据。TI:发送中断标志位。必须由软件清零。R

7、I:接收中断标志位。必须由软件清零。,特殊功能寄存器PCON,SMOD:波特率倍增位。当SMOD=1时,波特率加倍;当SMOD=0时,波特率不加倍。GF1、GF0:两个通用标志位,用户使用。PD、IDL:电源控制,串行口的工作方式,串行接口的工作方式有四种,由SCON中的SM0、SM1定义,编码及功能如下表。在这四种工作方式中,串行通信只使用方式1,方式2,方式3。方式0主要用于用串口扩展并行口。,当SCON中的SM0、SM1=00时,串行口以工作方式0工作,串行口为同步移位寄存器输入/输出方式,其波特率固定不变为fosc/12。数据由RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3

8、.1)端输出,发送、接收的是8位数据,低位在先。当SM0、SM1=01时,串行口以工作方式1工作,此时串行口为8位数据异步通信接口。波特率可变,低位在先。当SM0、SM1=10时,串行口以工作方式2工作,发送和接收的一帧信息由11位组成,即1位起始位、8位数据位(低位在先)、1位可编程位(第9位数据位)和1位停止位。TB8根据需要设为0或1,作为多机通信中的地址数据标志位或数据的奇偶校验位。波特率固定不变(fosc/64或fosc/32),低位在先。当SM0、SM1=11时,串行口以工作方式3工作。波特率可变的9位数据异步通信方式,其余与方式2相同。低位在先。,波特率的计算,注:若SMOD=0

9、,则K=1;若SMOD=1,则K=2,常用的波特率及计算器初值,MCS-51串行口初始化,在使用串行口之前,应对它进行编程初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下:1)确定定时器1的工作方式编程TMOD寄存器;2)计算定时器1的初值装载TH1、TL1;3)启动定时器1编程TCON中的TR1位;4)确定串行口的控制编程SCON;5)串行口在中断方式工作时,设置IE寄存器。,MCS-51的中断系统中断寄存器,TCON,T1溢出中断标志(TCON.7):T1启动计数(TR1=1)后,计满溢出由硬件置位TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才

10、由硬件自动清0。也可用软件查询该标志,并由软件清0。(同样T0 在TR0=1,TF0的状态处理),TCON寄存器T0和T1控制寄存器,SFR,TMOD,SFR,51单片机有两个中断优先级高级和低级 专用寄存器IP为中断优先级寄存器,用户可用软件设定 相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中断源被设置为低优先级 系统复位时,均为低优先级,MCS-51的中断系统中断寄存器,IP,IP寄存器中断优先级寄存器,SFR,MCS-51的中断系统中断寄存器,IE,IE寄存器中断允许寄存器,EA 中断允许总控位ES 串行通讯中断允许ET1、ET0 定时/记数1、0溢出中断允许EX1、EX

11、0 外部中断1、0允许,SFR,例如,/串口初始化程序void InitSystem(void)TMOD=0 x20;/*T1工作于方式2*/TH1=0 xf3;/*通信速率2400bps*/TL1=0 xf3;PCON=0 x00;/*SMOD=0*/SCON=0 x52;/*允许接收*/IE=0X90;/*开串口中断,关闭定时器中断*/TCON=0 x40;/*启动定时器1*/,串口编程,1 串口初始化(SCON,TMOD,IE,TCON,TH1,TL1,PCON,IP)2 查询 RI 或TI(或中断中判)3 发送数据-SBUF 或 接收数据-SBUF 清 TI(或RI)2,3 重复过程,

12、部分源程序,void main(void)InitSystem();while(1)Delay();TI=0;SBUF=Temperature;/*发送温度数据*/while(!TI);CollectData();/*采集温度数据*/,部分源程序,/*串行中断服务程序*/void Comm(void)interrupt 4 using 0 RI=0;/*清接收标志*/Temperature=SBUF;/*保存数据*/,1、RS-232,EIA RS-232C总线标准与接口电路 EIA RS-232C是异步串行通信中应用最广泛的标准总线,是美国EIA(Electronic Industries

13、Association,电子工业联合会)开发公布的通信协议。适合于数据传输速率在020kb/s范围内的通信,包括了按位串行传输的电气和机械方面的规定。在微机通信接口中被广泛采用。其特点为:(1)采取不平衡传输方式,是为点对点(即只用一对收、发设备)通信而设计的;(2)采用负逻辑。(3)适用于传送距离不大于15m,速度不高于20kb/s的本地设备之间通信的场合。,RS-232C电气特性,(1)信号电平在(515)V之间,(2)信号电平与TTL电平的转换 RS-232C接口标准采用的是负逻辑,与TTL电平不一致,必须进行电平转换。,电平转换芯片:MAX232和MAX232A;单端发送/单端接收。,

14、连接器(1)DB-25连接器 DB-25型连接器的外形及信号线分配如图右所示。25芯RS-232C接口具有20mA电流环接口功能,用9,11,18,25针来实现。(2)DB-9连接器 DB-9连接器只提供异步通信的9个信号,其外形及信号线分配如图右所示。DB-25与DB-9型连接器的引脚分配信号完全不同。,RS-232C的接口信号RS-232C标准接口有25条线,其中常用的有如下几条:DSR:数据装置准备好;DTR:数据终端准备好;RTS:请求发送;CTS:允许发送;DCD:接收线信号检出;RI:振铃指示;TXD:发送数据;RXD:接收数据;SGND、PGND:地线,SGND(信号地)、PGN

15、D(保护地)。,RS-232电平转换常用芯片 RS-232C采用负逻辑,为了能够同计算机接口或终端的TTL器件连接,必须在RS-232C与TTL电路之间进行电平和逻辑关系的变换。常用的转换器件是MAX232CPE(16),(完成TTL到EIA的双向电平转换)。MAX232芯片是Maxim公司生产的低功耗、单电源、双RS-232发送/接收器,可实现TTL到EIA的双向电平转换。其引脚排列如下图所示。,MAX232芯片内部有一个电荷泵,可以把5V电源变换成10V电压,所以采用此芯片的串行通信系统只需要单一的5V电源就可以。这也是它最大的优点。,EIA RS-232C与单片机系统的接口 RS-232

16、C与单片机系统的接口电路如图下所示。MAX232外围的4个电解电容Cl,C2,C3,C4,是内部电源转换所需电容,其取值均为1F/25V,C5为0.1F的去耦电容。MAX232的引脚T1IN,T2IN,R1OUT,R2OUT为接TTL/CMOS电平的引脚,引脚T1OUT,T2OUT,R1IN,R2IN为接RS-232C电平的引脚。,所以,T1IN,T2IN引脚应与MCS-51的串行发送引脚TXD相连接。R1OUT,R2OUT应与MCS-51的串行接收引脚RXD相连接。T1OUT,T2OUT应与PC机的接收端RD相连接。R1IN,R2IN应与PC的发送端TD相连接。,2、RS-422A,特点:平

17、衡/非平衡发送、平衡接收;1个发送器、多个接收器(必须有地址);A非反向输出,B反向输出;逻辑电平:VA-VB200mV为逻辑“1”,VA-VB-200mV为逻辑“0”;信号不需要调制与解调。,3、RS-485,特点:平衡发送、平衡接收,抗干扰能力强;多个发送器、多个接收器,发送/接收器小于32对,所有发送/接收器必须有地址;逻辑电平:与RS-422A相同;需要终端匹配电阻2120(可能有变化);信号不需要调制与解调。,RS485,(1)RS-485的电气特性:逻辑“1”以两线间的电压差为+(26)V表示;逻辑“0”以两线间的电压差为-(26)V表示。(2)RS-485的数据最高传输速率为10

18、Mbps。(3)RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。(4)RS-485接口的最大传输距离可达 1500米以上。(5)RS-485接口在总线上是允许连接多达32对收发器。因RS-485接口具有良好的抗干扰性,长的传输距离和多站能力等优点就使其成为首选的串行接口。因为RS485接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),RS485编程串口协议只是定义了传输的电压,阻抗等,编程方式和普通的串口编程一样。,红外遥控原理,红外线

19、又称红外光波,在电磁波谱中,光波的波长范围为0.01um1000um。根据波长的不同可分为可见光和不可见光,波长为0.38um0.76um的光波可为可见光,依次为红、橙、黄、绿、青、蓝、紫七种颜色。光波为0.01um0.38um的光波为紫外光(线),波长为0.76um1000um的光波为红外光(线)。红外光按波长范围分为近红外、中红外、远红外、极红外4类。红外线遥控是利用近红外光传送遥控指令的,波长为0.76um1.5um。用近红外作为遥控光源,是因为目前红外发射器件(红外发光管)与红外接收器件(光敏二极管、三极管及光电池)的发光与受光峰值波长一般为0.8um0.94um,在近红外光波段内,二

20、者的光谱正好重合,能够很好地匹配,可以获得较高的传输效率及较高的可靠性。红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射雕红外光转换为相应的电信号,再送后置放大器。,A/D转换器(Analog to Digital Converter)则相反,它能把模拟量转换成相应数字量。D/A转换器(Digital to Analog Converter)是一种能把数字量转换成模拟量的电子器件。,调整A/D转换器及接口技术,A/D转换器(Analog To Digit Converter):将模拟量转换为与之成比例的数字

21、量的器件称为A/D转换器,常用ADC表示。A/D转换器的性能指标(1)分辨率:分辨率是指输出数字量变化一个相邻数码所需输入模拟电压的变化量。A/D转换器的分辨率定义为满刻度电压与2n之比值,其中n为ADC的位数。,(2)转换速率与转换时间:转换速率是指A/D转换器每秒钟转换的次数。转换时间是指完成一次A/D转换所需的时间(包括稳定时间)。转换时间是转换速率的倒数。(3)量化误差:有限分辨率A/D的阶梯状转移特性曲线与理想无限分辨率A/D的转移特性曲线(直线)之间的最大偏差称为量化误差。通常是1个或半个最小数字量的模拟变化量,表示为1LSB,1/2LSB。(4)线性度:实际A/D转换器的转移函数

22、与理想直线的最大偏差。不包括量化误差、偏移误差(输入信号为零时,输出信号不为零的值)和满刻度误差(满度输出时,对应的输入信号与理想输入信号值之差)三种误差。(5)量程:量程是指A/D能够转换的电压范围,如05V,-10+10V等。(6)其他指标:内部/外部电压基准、失调(零点)温度系数、增益温度系数,以及电源电压变化抑制比等性能指标。,AD0808/0809内部结构,ADC0808/0809引脚功能,IN0IN7:8通道模拟量输入端 2-82-1:8位数字量输出端C、B、A:接地址锁存器的低三位地址ALE:地址锁存允许控制信号START:清0内寄存器,启动转换OE:允许读A/D结果,高有效CL

23、K:时钟输入端,范围为10kHz1200kHz,典型值640kHzEOC:转换结束时为高Vcc:+5VVref+:参考电压,+5VVref-:0V,AD0808系列:0808和0809(区别是最大不可调误差1/2和1LSB),ADC0808、0809时序图,ADC 0808/0809与单片机连接:,涉及2个问题:(1)8路模拟信号通道选择;(2)A/D转换完成后转换数据的传送。,ADC0808的口地址:FEFFH;8路模拟通道的地址:FEF8HFEFFH。,IN07,D/A转换概述,D/A(Digit to Analog)转换器:为把数字量转换成模拟量,性能指标:,1、分辨率(Resoluti

24、on)是指D/A转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制位数。2、建立时间(Establishing Time)是描述D/A转换速度的快慢。3、转换精度(Conversion Accuracy)指满量程时DAC的实际模拟输出值和理论值的接近程度。4、偏移量误差(Offset Error)偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。5、线性度(Linearity)线性度是指DAC的实际转换特性曲线和理想直线之间的最大偏移差。,DAC0830系列均为DIP20封装,且管脚完全兼容,DAC0832的引脚如下图所示。引脚功能如下:D0D7:8位数字量输入端 CS:片选端,低

25、有效ILE:数据锁存允许 WR1:写控制信号1WR2:写控制信号2 XFER:数据传送控制信号Iout1:电流输出端1Iout2:电流输出端2RFB:内置反馈电阻端VREF:参考电压源(-10 V+10 V)DGND:数字量地AGND:模拟量地Vcc:+5+15V单电源供电端,表2-5 工作寄存器组选择控制表,一、内部结构:DAC 0832:8位双缓冲器结构的D/A转换器。,D/A转换芯片DAC0832,DAC 0832内部结构框图,直通方式:输入寄存器和DAC寄存器始终输出,输入数据在控制信号WR作用下(或与单片机并口直接联结,无需WR),直接进入DAC寄存器中;适用:只有一路模拟信号输出或

26、几路模拟信号非同步输出。,单缓冲方式:输入寄存器和DAC寄存器共用一个地址,同时选通输出,输入数据在控制信号作用下,直接进入DAC寄存器中;WR1和WR2同时进行,并且与CPU的WR相连,CPU对0832执行一次写操作,将数据直接写入DAC寄存器中。适用:只有一路模拟信号输出或几路模拟信号非同步输出。,双缓冲器方式:输入寄存器和DAC寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。适用:同时输出几路模拟信号的场合,可构成多个0832同步输出电路。,DAC0832用作波形发生器,源程序如下:#pragma db oe sb#include#include#define DAC0832

27、XBYTE0 x7fff/*定义DAC0832端口地址*/#define uchar unsigned charvoid delay(uchar t)/*延时函数*/while(t-);,关键源程序,void saw(void)/*锯齿波发生函数*/uchar i;for(i=0;i255;i+)DAC0832=i;void square(void)/*方波发生函数*/DAC0832=0 x00;delay(0 x10);DAC0832=0 xff;delay(0 x10);,红外遥控器,任务二波形发生器,任务一数字电压计,#include#define uchar unsigned char

28、 sbit ADDA=P37;sbit ADDB=P36;sbit ADDC=P35;sbit START=P32;sbit OE=P31;sbit EOC=P30;sbit ALE=P34;unsigned char code dispcode=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;unsigned char dispbitcode=0 xfe,0 xfd,0 xfb;unsigned char dispbuf3;uchar i;void display()interrupt 1 TH0=0 xfe;TL0=0

29、 x40;if(i=3)i=0;P2=0 xff;/关闭所有显示 P0=dispcodedispbufi;P2=dispbitcodei;i+;void delay(uchar num)/延时函数while(-num);void main(void)uchar temp;TH0=0 xfe;TL0=0 x40;TMOD=0 x01;IE=0 x82;TCON=0 x10;i=0;while(1)ADDA=1;ADDB=1;ADDC=1;ALE=0;delay(100);ALE=1;delay(100);ALE=0;START=0;delay(100);START=1;delay(100);ST

30、ART=0;while(!EOC);OE=1;temp=P1;dispbuf0=temp/100;dispbuf1=temp%100/10;dispbuf2=temp%10;,C51程序:,任务三红外遥控器,#include code unsigned char led=W,e,l,c,o,m,e,t,o,N,a,n,j,i,n,g,I,n,s,t,i,t,u,t,e,O,f,I,n,d,u,s,t,r,y,T,e,c,h,n,o,l,o,g,y;/Welcome to Nanjing Institute Of Industry Technology;bit BJ;void ser_sev()interrupt 4 if(TI=1)TI=0;BJ=1;void main()unsigned char I;TH1=0 xfd;TL1=0 xfd;/9600b/s,11.059MHz SCON=0 x52;TMOD=0 x20;IE=0 x90;TCON=0 x40;BJ=1;I=0;while(I=50)while(BJ!=1);SBUF=ledI;I+;BJ=0;while(1);,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号