单片机教学课件_第1页
单片机教学课件_第2页
单片机教学课件_第3页
单片机教学课件_第4页
单片机教学课件_第5页
已阅读5页,还剩127页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目三信号采集、控制系统学习内容:AD、DA与单片机的接口、编程与调试;串行通信方式、控制,无线通信设计、调试。(在proteus界面上仿真电路,完成C51程序的编制与功能调试。)任务一数字电压计任务二波形发生器任务三红外遥控器项目三信号采集、控制系统学习内容:AD、DA与单片机的接1相关知识与实践一模数转换

1AD转换(概念

集成芯片

典型应用任务)2DA转换(概念

集成芯片

典型应用任务)二串行通信

1

基本概念

2

MCS-51串行技术(及串行中断)

典型应用

3

RS232、RS422、RS485协议

典型应用4遥控原理

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

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

*速度控制—波特率、发送/接收时钟;

(2)通信协议—如何处理信号线上的信号*数据识别—异步串行通信协议;

*数据正确性—抗干扰、检验码编码技术。2、串行通信的相关问题(1)通信原理—通信过程中相关因素(27串行通信方式

通信方向TRTRTRRTTR单工方式半双工方式全双工方式单工方式:数据仅按一个固定方向传送;半双工方式:数据可实现双向传送,但不能同时进行;全双工方式:允许双方同时进行数据双向传送;多工方式:在同一线路上实现资源共享。串行通信方式通信方向TRTRTRRTTR单工方式8波特率单位时间内传送二进制数据的位数,以位/秒(b/s)表示,也称为数据位速率。它是衡量串行通信速率的重要指标。波特率是指每秒钟传送信号的数量,单位为波特(Baud)。比特率每秒钟传送二进制数的信号数(即二进制数的位数),单位是bps(bitpersecond)或写成b/s(位/秒)。在单片机串行通信中,传送的信号是二进制信号,波特率与比特率数值上相等。单位采用bps。波特率波特率是指每秒钟传送信号的数量,单位为波特(Baud)9同步方式:数据传送使用同一个时钟.优点是数据传输速率较高,缺点是要求发送时钟和接收时钟保持严格同步。异步方式:数据传送不使用同一个时钟.优点是不需要传送同步脉冲,可靠性高,所需设备简单;缺点是字符帧中因包含有起始位和停止位而降低了有效数据的传输速率。异步方式:数据传送不使用同一个时钟.10MCS-51串行口MCS-51内部有一个可编程的全双工串行通信接口,该串行口有4种工作方式,以供不同场合使用。波特率可由软件设置,由片内的定时器/计数器产生。接收、发送均可工作在查询方式或中断方式。MCS-51串行口MCS-51内部有一个可编程的全双工串行通11 串行口的结构与控制MCS-51单片机内部的串行口有两个物理上独立的接收、发送缓冲器SBUF,可同时接收和发送数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。两个缓冲器占用同一个地址(99H)。控制MCS-51单片机串行口的控制寄存器共有两个,即特殊功能寄存器SCON和PCON。 串行口的结构与控制MCS-51单片机内部的串行口有两个物理12串行口控制寄存器SCONSM0、SM1:控制串行口的工作方式。SM2:允许方式2和方式3进行多机通信控制位。REN:允许串行接收控制位。REN=1,允许接收。TB8:是工作在方式2和方式3时要发送的第9位数据,根据需要由软件置位和复位。RB8:是工作在方式2和方式3时接收到的第9位数据。TI:发送中断标志位。必须由软件清零。RI:接收中断标志位。必须由软件清零。串行口控制寄存器SCONSM0、SM1:控制串行口的工作方式13.特殊功能寄存器PCONSMOD:波特率倍增位。当SMOD=1时,波特率加倍;当SMOD=0时,波特率不加倍。GF1、GF0:两个通用标志位,用户使用。PD、IDL:电源控制.特殊功能寄存器PCONSMOD:波特率倍增位。当SMOD=14 串行口的工作方式串行接口的工作方式有四种,由SCON中的SM0、SM1定义,编码及功能如下表。在这四种工作方式中,串行通信只使用方式1,方式2,方式3。方式0主要用于用串口扩展并行口。 串行口的工作方式串行接口的工作方式有四种,由SCON中的S15当SCON中的SM0、SM1=00时,串行口以工作方式0工作,串行口为同步移位寄存器输入/输出方式,其波特率固定不变为fosc/12。数据由RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.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相同。低位在先。当SCON中的SM0、SM1=00时,串行口以工作方式0工作16 波特率的计算注:若SMOD=0,则K=1;若SMOD=1,则K=2

波特率的计算17常用的波特率及计算器初值

常用的波特率及计算器初值18MCS-51串行口初始化在使用串行口之前,应对它进行编程初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下:1)确定定时器1的工作方式——编程TMOD寄存器;2)计算定时器1的初值——装载TH1、TL1;3)启动定时器1——编程TCON中的TR1位;4)确定串行口的控制——编程SCON;5)串行口在中断方式工作时,设置IE寄存器。MCS-51串行口初始化在使用串行口之前,应对它进行编程初始19MCS-51的中断系统——中断寄存器TF1

TR1TF0

TR0IE1IT1IE0IT0TCON

T1溢出中断标志(TCON.7):

T1启动计数(TR1=1)后,计满溢出由硬件置位TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。(同样T0在TR0=1,TF0的状态处理)76543210TCON寄存器——T0和T1控制寄存器SFRMCS-51的中断系统——中断寄存器TF1TR1TF20TMODD7D6D5D4D3D2D1D0GATA

M1M0GATAM1M0←T1方式字段→←T0方式字段→GATE——门控位。GATE=0启动不受/INT0或/INT1的控制;GATE=1启动受/INT0或/INT1的控制。

C/T——外部计数器/定时器方式选择位C/T=0定时方式;C/T=1计数方式。

M1M0——

工作模式选择位(编程可决定四种工作模式)。

SFRTMODD7D6D5D4D3D2D1D0GATAM21

51单片机有两个中断优先级——高级和低级专用寄存器IP为中断优先级寄存器,用户可用软件设定相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中断源被设置为低优先级系统复位时,均为低优先级

PSPT1PX1PT0PX0MCS-51的中断系统——中断寄存器

IP

76543210IP寄存器——中断优先级寄存器SFR51单片机有两个中断优先级——高级和低级PS22MCS-51的中断系统——中断寄存器

IE

EA

ESET1EX1ET0EX0IE寄存器——中断允许寄存器EA中断允许总控位ES串行通讯中断允许ET1、ET0定时/记数1、0溢出中断允许EX1、EX0外部中断1、0允许76543210SFRMCS-51的中断系统——中断寄存器IE23例如//串口初始化程序voidInitSystem(void){TMOD=0x20;/*T1工作于方式2*/TH1=0xf3;/*通信速率2400bps*/TL1=0xf3;PCON=0x00;/*SMOD=0*/SCON=0x52;/*允许接收*/IE=0X90;/*开串口中断,关闭定时器中断*/TCON=0x40;/*启动定时器1*/}例如//串口初始化程序24串口编程1串口初始化(SCON,TMOD,IE,TCON,TH1,TL1,PCON,IP)2查询RI或TI(或中断中判)3发送数据->SBUF或接收数据<-SBUF清TI(或RI)2,3重复过程串口编程1串口初始化25部分源程序voidmain(void){InitSystem();while(1){ Delay();TI=0; SBUF=Temperature;/*发送温度数据*/ while(!TI);

CollectData();/*采集温度数据*/

}}部分源程序voidmain(void)26部分源程序/*串行中断服务程序*/voidComm(void)interrupt4using0{RI=0;/*清接收标志*/Temperature=SBUF;/*保存数据*/}部分源程序/*串行中断服务程序*/271、RS-232EIARS-232C总线标准与接口电路

EIARS-232C是异步串行通信中应用最广泛的标准总线,是美国EIA(ElectronicIndustriesAssociation,电子工业联合会)开发公布的通信协议。适合于数据传输速率在0~20kb/s范围内的通信,包括了按位串行传输的电气和机械方面的规定。在微机通信接口中被广泛采用。其特点为:(1)采取不平衡传输方式,是为点对点(即只用一对收、发设备)通信而设计的;(2)采用负逻辑。(3)适用于传送距离不大于15m,速度不高于20kb/s的本地设备之间通信的场合。1、RS-232EIARS-232C总线标准与接口电路28RS-232C电气特性(1)信号电平在±(5~15)V之间

数据信号控制信号逻辑“1”逻辑“0”有效(ON)无效(OFF)信号电平<-3V>+3V<-3V>+3V(2)信号电平与TTL电平的转换

RS-232C接口标准采用的是负逻辑,与TTL电平不一致,必须进行电平转换。+5V400kΩ5kΩOUTINOUTINTTLRS-232电平转换芯片:

MAX232和MAX232A;单端发送/单端接收。

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

RS-232C采用负逻辑,为了能够同计算机接口或终端的TTL器件连接,必须在RS-232C与TTL电路之间进行电平和逻辑关系的变换。常用的转换器件是MAX232CPE(16),(完成TTL到EIA的双向电平转换)。MAX232芯片是Maxim公司生产的低功耗、单电源、双RS-232发送/接收器,可实现TTL到EIA的双向电平转换。其引脚排列如下图所示。

MAX232芯片内部有一个电荷泵,可以把+5V电源变换成±10V电压,所以采用此芯片的串行通信系统只需要单一的+5V电源就可以。这也是它最大的优点。

RS-232电平转换常用芯片MAX232芯32

EIARS-232C与单片机系统的接口

RS-232C与单片机系统的接口电路如图下所示。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相连接。EIARS-232C与单片机系统的接口所以,T1332、RS-422A特点:⑴平衡/非平衡发送、平衡接收;⑵1个发送器、多个接收器(必须有地址);⑶A非反向输出,B反向输出;⑷逻辑电平:VA’-VB’>200mV为逻辑“1”,VA’-VB’<-200mV为逻辑“0”;⑸信号不需要调制与解调。2、RS-422A特点:⑴平衡/非平衡发送、平衡接收;343、RS-485特点:⑴平衡发送、平衡接收,抗干扰能力强;⑵多个发送器、多个接收器,发送/接收器小于32对,所有发送/接收器必须有地址;⑶逻辑电平:与RS-422A相同;⑷需要终端匹配电阻2×120Ω(可能有变化);⑸信号不需要调制与解调。Rt=120ΩRt=120ΩDTDTDTDTDT3、RS-485特点:Rt=120ΩRt=120ΩDTD35RS485(1)RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。(2)RS-485的数据最高传输速率为10Mbps。(3)RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。(4)RS-485接口的最大传输距离可达1500米以上。(5)RS-485接口在总线上是允许连接多达32对收发器。

因RS-485接口具有良好的抗干扰性,长的传输距离和多站能力等优点就使其成为首选的串行接口。因为RS485接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),RS485编程串口协议只是定义了传输的电压,阻抗等,编程方式和普通的串口编程一样。RS485(1)RS-485的电气特性:逻辑“136红外遥控原理红外线又称红外光波,在电磁波谱中,光波的波长范围为0.01um~1000um。根据波长的不同可分为可见光和不可见光,波长为0.38um~0.76um的光波可为可见光,依次为红、橙、黄、绿、青、蓝、紫七种颜色。光波为0.01um~0.38um的光波为紫外光(线),波长为0.76um~1000um的光波为红外光(线)。红外光按波长范围分为近红外、中红外、远红外、极红外4类。红外线遥控是利用近红外光传送遥控指令的,波长为0.76um~1.5um。用近红外作为遥控光源,是因为目前红外发射器件(红外发光管)与红外接收器件(光敏二极管、三极管及光电池)的发光与受光峰值波长一般为0.8um~0.94um,在近红外光波段内,二者的光谱正好重合,能够很好地匹配,可以获得较高的传输效率及较高的可靠性。红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射雕红外光转换为相应的电信号,再送后置放大器。红外遥控原理红外线又称红外光波,在电磁波谱中,光波的波长范围37A/D转换器(AnalogtoDigitalConverter)则相反,它能把模拟量转换成相应数字量。D/A转换器(DigitaltoAnalogConverter)是一种能把数字量转换成模拟量的电子器件。A/D转换器(AnalogtoDigitalCo38调整A/D转换器及接口技术

A/D转换器(AnalogToDigitConverter):将模拟量转换为与之成比例的数字量的器件称为A/D转换器,常用ADC表示。A/D转换器的性能指标

(1)分辨率:分辨率是指输出数字量变化一个相邻数码所需输入模拟电压的变化量。A/D转换器的分辨率定义为满刻度电压与2n之比值,其中n为ADC的位数。

调整A/D转换器及接口技术A/D转换器(Analo39(2)转换速率与转换时间:转换速率是指A/D转换器每秒钟转换的次数。转换时间是指完成一次A/D转换所需的时间(包括稳定时间)。转换时间是转换速率的倒数。(3)量化误差:有限分辨率A/D的阶梯状转移特性曲线与理想无限分辨率A/D的转移特性曲线(直线)之间的最大偏差称为量化误差。通常是1个或半个最小数字量的模拟变化量,表示为1LSB,1/2LSB。(4)线性度:实际A/D转换器的转移函数与理想直线的最大偏差。不包括量化误差、偏移误差(输入信号为零时,输出信号不为零的值)和满刻度误差(满度输出时,对应的输入信号与理想输入信号值之差)三种误差。(5)量程:量程是指A/D能够转换的电压范围,如0~5V,-10~+10V等。(6)其他指标:内部/外部电压基准、失调(零点)温度系数、增益温度系数,以及电源电压变化抑制比等性能指标。

(2)转换速率与转换时间:转换速率是指A/D转换器每秒钟转换40AD0808/0809内部结构AD0808/0809内部结构41ADC0808/0809引脚功能

IN0—IN7:8通道模拟量输入端

2-8—2-1:8位数字量输出端C、B、A:接地址锁存器的低三位地址ALE:地址锁存允许控制信号START:清0内寄存器,启动转换OE:允许读A/D结果,高有效CLK:时钟输入端,范围为10kHz~1200kHz,典型值640kHzEOC:转换结束时为高Vcc:+5VVref+:参考电压,+5VVref-:0VAD0808系列:0808和0809(区别是最大不可调误差1/2和1LSB)ADC0808/0809引脚功能IN0—IN7:8通道模42ADC0808、0809时序图ADC0808、0809时序图43ADC0808/0809与单片机连接:转换数据的传送:①定时传送方式;(不需接EOC脚)②查询方式;(测试EOC脚的状态)③中断方式。(EOC脚接INT脚)注:(1)不能用无条件方式;(2)2个ALE不能相接。涉及2个问题:(1)8路模拟信号通道选择;(2)A/D转换完成后转换数据的传送。ADC0808的口地址:FEFFH;8路模拟通道的地址:FEF8H~FEFFH。IN0~7AD0~7ALEINTWRP2.0RDD0~7ADDABC

CLKEOCSTARTALEOE≥11MCS-51ADC080883≥1ADC0808/0809与单片机连接:转换数据的传送:涉及44D/A转换概述D/A(DigittoAnalog)转换器:为把数字量转换成模拟量D/A转换概述D/A(DigittoAnalog)转换器45性能指标:1、分辨率(Resolution)是指D/A转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制位数。

2、建立时间(EstablishingTime)是描述D/A转换速度的快慢。3、转换精度(ConversionAccuracy)指满量程时DAC的实际模拟输出值和理论值的接近程度。

4、偏移量误差(OffsetError)偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。

5、线性度(Linearity)线性度是指DAC的实际转换特性曲线和理想直线之间的最大偏移差。性能指标:1、分辨率(Resolution)是指D/A转换器46

DAC0830系列均为DIP20封装,且管脚完全兼容,DAC0832的引脚如下图所示。引脚功能如下:D0—D7:8位数字量输入端

CS:

片选端,低有效ILE:数据锁存允许

WR1

:写控制信号1WR2:写控制信号2

XFER

:数据传送控制信号Iout1:电流输出端1Iout2:电流输出端2RFB:内置反馈电阻端VREF:参考电压源(-10V~+10V)

DGND:数字量地AGND:模拟量地Vcc:+5~+15V单电源供电端DAC0830系列均为DIP20封装,且管脚完全兼容47表2-5工作寄存器组选择控制表表2-5工作寄存器组选择控制表48一、内部结构:DAC0832:8位双缓冲器结构的D/A转换器。D/A转换芯片DAC0832DAC0832内部结构框图DI0~7:转换数据输入(8位);CS:片选信号(输入);ILE:数据锁存允许信号(输入);XFER:数据传送控制信号(输入);WR1:第一写信号(输入),与ILE共同控制输入寄存器是数据直通方式还是数据锁存方式;WR2:第2写信号(输入),与XFER共同控制DAC寄存器是数据直通方式还是数据锁存方式;8位DACDAC寄存器输入寄存器-+IOUT2IOUT1RfbVODI0~7AGNDILECS与与与WR1WR2XFERLE1LE2LE1(LE2)=0:锁存;1:直通。一、内部结构:DAC0832:8位双缓冲器结构的D/A转换49直通方式:

输入寄存器和DAC寄存器始终输出,输入数据在控制信号WR作用下(或与单片机并口直接联结,无需WR),直接进入DAC寄存器中;

适用:只有一路模拟信号输出或几路模拟信号非同步输出。直通方式:

输入寄存器和DAC寄存器始终输出,输入数据在控制50单缓冲方式:

输入寄存器和DAC寄存器共用一个地址,同时选通输出,输入数据在控制信号作用下,直接进入DAC寄存器中;

WR1和WR2同时进行,并且与CPU的WR相连,CPU对0832执行一次写操作,将数据直接写入DAC寄存器中。

适用:只有一路模拟信号输出或几路模拟信号非同步输出。单缓冲方式:

输入寄存器和DAC寄存器共用一个地址,同51双缓冲器方式:

输入寄存器和DAC寄存器分配有各自的地址,可分别选通用同时输出多路模拟信号。

适用:同时输出几路模拟信号的场合,可构成多个0832同步输出电路。双缓冲器方式:

输入寄存器和DAC寄存器分配有各自的地52DAC0832用作波形发生器

源程序如下:#pragmadboesb#include<reg51.h>#include<absacc.h>#defineDAC0832XBYTE[0x7fff]/*定义DAC0832端口地址*/#defineucharunsignedcharvoiddelay(uchart){/*延时函数*/while(t--);}DAC0832用作波形发生器53关键源程序voidsaw(void){/*锯齿波发生函数*/uchari;for(i=0;i<255;i++){DAC0832=i;}}voidsquare(void){/*方波发生函数*/DAC0832=0x00;delay(0x10);DAC0832=0xff;delay(0x10);}关键源程序voidsaw(void){54红外遥控器红外遥控器55任务二波形发生器任务二56单片机教学课件57单片机教学课件58任务一数字电压计任务一59

#include<AT89X51.H>#defineucharunsignedcharsbitADDA=P3^7;sbitADDB=P3^6;sbitADDC=P3^5; sbitSTART=P3^2;sbitOE=P3^1;sbitEOC=P3^0;sbitALE=P3^4;unsignedcharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedchardispbitcode[]={0xfe,0xfd,0xfb};unsignedchardispbuf[3];uchari;voiddisplay()interrupt1{TH0=0xfe;TL0=0x40;if(i==3)i=0;P2=0xff;//关闭所有显示 P0=dispcode[dispbuf[i]]; P2=dispbitcode[i];i++; }voiddelay(ucharnum)//延时函数{ while(--num);}voidmain(void){ uchartemp;TH0=0xfe;TL0=0x40;TMOD=0x01;IE=0x82;TCON=0x10;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);START=0; while(!EOC);OE=1; temp=P1; dispbuf[0]=temp/100;dispbuf[1]=temp%100/10;dispbuf[2]=temp%10; }}C51程序:#include<AT89X51.H>C51程序:60单片机教学课件61单片机教学课件62单片机教学课件63任务三红外遥控器任务三64单片机教学课件65#include<reg51.h>codeunsignedcharled[]={'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'}; //"WelcometoNanjingInstituteOfIndustryTechnology";bitBJ;voidser_sev()interrupt4{if(TI==1)TI=0;BJ=1;}voidmain(){unsignedcharI;TH1=0xfd;TL1=0xfd;//9600b/s,11.059MHz SCON=0x52;TMOD=0x20;IE=0x90;TCON=0x40;BJ=1; I=0; while(I<=50){ while(BJ!=1);SBUF=led[I]; I++; BJ=0; }} while(1); }#include<reg51.h>66项目三信号采集、控制系统学习内容:AD、DA与单片机的接口、编程与调试;串行通信方式、控制,无线通信设计、调试。(在proteus界面上仿真电路,完成C51程序的编制与功能调试。)任务一数字电压计任务二波形发生器任务三红外遥控器项目三信号采集、控制系统学习内容:AD、DA与单片机的接67相关知识与实践一模数转换

1AD转换(概念

集成芯片

典型应用任务)2DA转换(概念

集成芯片

典型应用任务)二串行通信

1

基本概念

2

MCS-51串行技术(及串行中断)

典型应用

3

RS232、RS422、RS485协议

典型应用4遥控原理

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

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

*速度控制—波特率、发送/接收时钟;

(2)通信协议—如何处理信号线上的信号*数据识别—异步串行通信协议;

*数据正确性—抗干扰、检验码编码技术。2、串行通信的相关问题(1)通信原理—通信过程中相关因素(273串行通信方式

通信方向TRTRTRRTTR单工方式半双工方式全双工方式单工方式:数据仅按一个固定方向传送;半双工方式:数据可实现双向传送,但不能同时进行;全双工方式:允许双方同时进行数据双向传送;多工方式:在同一线路上实现资源共享。串行通信方式通信方向TRTRTRRTTR单工方式74波特率单位时间内传送二进制数据的位数,以位/秒(b/s)表示,也称为数据位速率。它是衡量串行通信速率的重要指标。波特率是指每秒钟传送信号的数量,单位为波特(Baud)。比特率每秒钟传送二进制数的信号数(即二进制数的位数),单位是bps(bitpersecond)或写成b/s(位/秒)。在单片机串行通信中,传送的信号是二进制信号,波特率与比特率数值上相等。单位采用bps。波特率波特率是指每秒钟传送信号的数量,单位为波特(Baud)75同步方式:数据传送使用同一个时钟.优点是数据传输速率较高,缺点是要求发送时钟和接收时钟保持严格同步。异步方式:数据传送不使用同一个时钟.优点是不需要传送同步脉冲,可靠性高,所需设备简单;缺点是字符帧中因包含有起始位和停止位而降低了有效数据的传输速率。异步方式:数据传送不使用同一个时钟.76MCS-51串行口MCS-51内部有一个可编程的全双工串行通信接口,该串行口有4种工作方式,以供不同场合使用。波特率可由软件设置,由片内的定时器/计数器产生。接收、发送均可工作在查询方式或中断方式。MCS-51串行口MCS-51内部有一个可编程的全双工串行通77 串行口的结构与控制MCS-51单片机内部的串行口有两个物理上独立的接收、发送缓冲器SBUF,可同时接收和发送数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。两个缓冲器占用同一个地址(99H)。控制MCS-51单片机串行口的控制寄存器共有两个,即特殊功能寄存器SCON和PCON。 串行口的结构与控制MCS-51单片机内部的串行口有两个物理78串行口控制寄存器SCONSM0、SM1:控制串行口的工作方式。SM2:允许方式2和方式3进行多机通信控制位。REN:允许串行接收控制位。REN=1,允许接收。TB8:是工作在方式2和方式3时要发送的第9位数据,根据需要由软件置位和复位。RB8:是工作在方式2和方式3时接收到的第9位数据。TI:发送中断标志位。必须由软件清零。RI:接收中断标志位。必须由软件清零。串行口控制寄存器SCONSM0、SM1:控制串行口的工作方式79.特殊功能寄存器PCONSMOD:波特率倍增位。当SMOD=1时,波特率加倍;当SMOD=0时,波特率不加倍。GF1、GF0:两个通用标志位,用户使用。PD、IDL:电源控制.特殊功能寄存器PCONSMOD:波特率倍增位。当SMOD=80 串行口的工作方式串行接口的工作方式有四种,由SCON中的SM0、SM1定义,编码及功能如下表。在这四种工作方式中,串行通信只使用方式1,方式2,方式3。方式0主要用于用串口扩展并行口。 串行口的工作方式串行接口的工作方式有四种,由SCON中的S81当SCON中的SM0、SM1=00时,串行口以工作方式0工作,串行口为同步移位寄存器输入/输出方式,其波特率固定不变为fosc/12。数据由RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.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相同。低位在先。当SCON中的SM0、SM1=00时,串行口以工作方式0工作82 波特率的计算注:若SMOD=0,则K=1;若SMOD=1,则K=2

波特率的计算83常用的波特率及计算器初值

常用的波特率及计算器初值84MCS-51串行口初始化在使用串行口之前,应对它进行编程初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下:1)确定定时器1的工作方式——编程TMOD寄存器;2)计算定时器1的初值——装载TH1、TL1;3)启动定时器1——编程TCON中的TR1位;4)确定串行口的控制——编程SCON;5)串行口在中断方式工作时,设置IE寄存器。MCS-51串行口初始化在使用串行口之前,应对它进行编程初始85MCS-51的中断系统——中断寄存器TF1

TR1TF0

TR0IE1IT1IE0IT0TCON

T1溢出中断标志(TCON.7):

T1启动计数(TR1=1)后,计满溢出由硬件置位TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。(同样T0在TR0=1,TF0的状态处理)76543210TCON寄存器——T0和T1控制寄存器SFRMCS-51的中断系统——中断寄存器TF1TR1TF86TMODD7D6D5D4D3D2D1D0GATA

M1M0GATAM1M0←T1方式字段→←T0方式字段→GATE——门控位。GATE=0启动不受/INT0或/INT1的控制;GATE=1启动受/INT0或/INT1的控制。

C/T——外部计数器/定时器方式选择位C/T=0定时方式;C/T=1计数方式。

M1M0——

工作模式选择位(编程可决定四种工作模式)。

SFRTMODD7D6D5D4D3D2D1D0GATAM87

51单片机有两个中断优先级——高级和低级专用寄存器IP为中断优先级寄存器,用户可用软件设定相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中断源被设置为低优先级系统复位时,均为低优先级

PSPT1PX1PT0PX0MCS-51的中断系统——中断寄存器

IP

76543210IP寄存器——中断优先级寄存器SFR51单片机有两个中断优先级——高级和低级PS88MCS-51的中断系统——中断寄存器

IE

EA

ESET1EX1ET0EX0IE寄存器——中断允许寄存器EA中断允许总控位ES串行通讯中断允许ET1、ET0定时/记数1、0溢出中断允许EX1、EX0外部中断1、0允许76543210SFRMCS-51的中断系统——中断寄存器IE89例如//串口初始化程序voidInitSystem(void){TMOD=0x20;/*T1工作于方式2*/TH1=0xf3;/*通信速率2400bps*/TL1=0xf3;PCON=0x00;/*SMOD=0*/SCON=0x52;/*允许接收*/IE=0X90;/*开串口中断,关闭定时器中断*/TCON=0x40;/*启动定时器1*/}例如//串口初始化程序90串口编程1串口初始化(SCON,TMOD,IE,TCON,TH1,TL1,PCON,IP)2查询RI或TI(或中断中判)3发送数据->SBUF或接收数据<-SBUF清TI(或RI)2,3重复过程串口编程1串口初始化91部分源程序voidmain(void){InitSystem();while(1){ Delay();TI=0; SBUF=Temperature;/*发送温度数据*/ while(!TI);

CollectData();/*采集温度数据*/

}}部分源程序voidmain(void)92部分源程序/*串行中断服务程序*/voidComm(void)interrupt4using0{RI=0;/*清接收标志*/Temperature=SBUF;/*保存数据*/}部分源程序/*串行中断服务程序*/931、RS-232EIARS-232C总线标准与接口电路

EIARS-232C是异步串行通信中应用最广泛的标准总线,是美国EIA(ElectronicIndustriesAssociation,电子工业联合会)开发公布的通信协议。适合于数据传输速率在0~20kb/s范围内的通信,包括了按位串行传输的电气和机械方面的规定。在微机通信接口中被广泛采用。其特点为:(1)采取不平衡传输方式,是为点对点(即只用一对收、发设备)通信而设计的;(2)采用负逻辑。(3)适用于传送距离不大于15m,速度不高于20kb/s的本地设备之间通信的场合。1、RS-232EIARS-232C总线标准与接口电路94RS-232C电气特性(1)信号电平在±(5~15)V之间

数据信号控制信号逻辑“1”逻辑“0”有效(ON)无效(OFF)信号电平<-3V>+3V<-3V>+3V(2)信号电平与TTL电平的转换

RS-232C接口标准采用的是负逻辑,与TTL电平不一致,必须进行电平转换。+5V400kΩ5kΩOUTINOUTINTTLRS-232电平转换芯片:

MAX232和MAX232A;单端发送/单端接收。

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

RS-232C采用负逻辑,为了能够同计算机接口或终端的TTL器件连接,必须在RS-232C与TTL电路之间进行电平和逻辑关系的变换。常用的转换器件是MAX232CPE(16),(完成TTL到EIA的双向电平转换)。MAX232芯片是Maxim公司生产的低功耗、单电源、双RS-232发送/接收器,可实现TTL到EIA的双向电平转换。其引脚排列如下图所示。

MAX232芯片内部有一个电荷泵,可以把+5V电源变换成±10V电压,所以采用此芯片的串行通信系统只需要单一的+5V电源就可以。这也是它最大的优点。

RS-232电平转换常用芯片MAX232芯98

EIARS-232C与单片机系统的接口

RS-232C与单片机系统的接口电路如图下所示。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相连接。EIARS-232C与单片机系统的接口所以,T1992、RS-422A特点:⑴平衡/非平衡发送、平衡接收;⑵1个发送器、多个接收器(必须有地址);⑶A非反向输出,B反向输出;⑷逻辑电平:VA’-VB’>200mV为逻辑“1”,VA’-VB’<-200mV为逻辑“0”;⑸信号不需要调制与解调。2、RS-422A特点:⑴平衡/非平衡发送、平衡接收;1003、RS-485特点:⑴平衡发送、平衡接收,抗干扰能力强;⑵多个发送器、多个接收器,发送/接收器小于32对,所有发送/接收器必须有地址;⑶逻辑电平:与RS-422A相同;⑷需要终端匹配电阻2×120Ω(可能有变化);⑸信号不需要调制与解调。Rt=120ΩRt=120ΩDTDTDTDTDT3、RS-485特点:Rt=120ΩRt=120ΩDTD101RS485(1)RS-485的电气特性:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。(2)RS-485的数据最高传输速率为10Mbps。(3)RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。(4)RS-485接口的最大传输距离可达1500米以上。(5)RS-485接口在总线上是允许连接多达32对收发器。

因RS-485接口具有良好的抗干扰性,长的传输距离和多站能力等优点就使其成为首选的串行接口。因为RS485接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),RS485编程串口协议只是定义了传输的电压,阻抗等,编程方式和普通的串口编程一样。RS485(1)RS-485的电气特性:逻辑“1102红外遥控原理红外线又称红外光波,在电磁波谱中,光波的波长范围为0.01um~1000um。根据波长的不同可分为可见光和不可见光,波长为0.38um~0.76um的光波可为可见光,依次为红、橙、黄、绿、青、蓝、紫七种颜色。光波为0.01um~0.38um的光波为紫外光(线),波长为0.76um~1000um的光波为红外光(线)。红外光按波长范围分为近红外、中红外、远红外、极红外4类。红外线遥控是利用近红外光传送遥控指令的,波长为0.76um~1.5um。用近红外作为遥控光源,是因为目前红外发射器件(红外发光管)与红外接收器件(光敏二极管、三极管及光电池)的发光与受光峰值波长一般为0.8um~0.94um,在近红外光波段内,二者的光谱正好重合,能够很好地匹配,可以获得较高的传输效率及较高的可靠性。红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射雕红外光转换为相应的电信号,再送后置放大器。红外遥控原理红外线又称红外光波,在电磁波谱中,光波的波长范围103A/D转换器(AnalogtoDigitalConverter)则相反,它能把模拟量转换成相应数字量。D/A转换器(DigitaltoAnalogConverter)是一种能把数字量转换成模拟量的电子器件。A/D转换器(AnalogtoDigitalCo104调整A/D转换器及接口技术

A/D转换器(AnalogToDigitConverter):将模拟量转换为与之成比例的数字量的器件称为A/D转换器,常用ADC表示。A/D转换器的性能指标

(1)分辨率:分辨率是指输出数字量变化一个相邻数码所需输入模拟电压的变化量。A/D转换器的分辨率定义为满刻度电压与2n之比值,其中n为ADC的位数。

调整A/D转换器及接口技术A/D转换器(Analo105(2)转换速率与转换时间:转换速率是指A/D转换器每秒钟转换的次数。转换时间是指完成一次A/D转换所需的时间(包括稳定时间)。转换时间是转换速率的倒数。(3)量化误差:有限分辨率A/D的阶梯状转移特性曲线与理想无限分辨率A/D的转移特性曲线(直线)之间的最大偏差称为量化误差。通常是1个或半个最小数字量的模拟变化量,表示为1LSB,1/2LSB。(4)线性度:实际A/D转换器的转移函数与理想直线的最大偏差。不包括量化误差、偏移误差(输入信号为零时,输出信号不为零的值)和满刻度误差(满度输出时,对应的输入信号与理想输入信号值之差)三种误差。(5)量程:量程是指A/D能够转换的电压范围,如0~5V,-10~+10V等。(6)其他指标:内部/外部电压基准、失调(零点)温度系数、增益温度系数,以及电源电压变化抑制比等性能指标。

(2)转换速率与转换时间:转换速率是指A/D转换器每秒钟转换106AD0808/0809内部结构AD0808/0809内部结构107ADC0808/0809引脚功能

IN0—IN7:8通道模拟量输入端

2-8—2-1:8位数字量输出端C、B、A:接地址锁存器的低三位地址ALE:地址锁存允许控制信号START:清0内寄存器,启动转换OE:允许读A/D结果,高有效CLK:时钟输入端,范围为10kHz~1200kHz,典型值640kHzEOC:转换结束时为高Vcc:+5VVref+:参考电压,+5VVref-:0VAD0808系列:0808和0809(区别是最大不可调误差1/2和1LSB)ADC0808/0809引脚功能IN0—IN7:8通道模108ADC0808、0809时序图ADC0808、0809时序图109ADC0808/0809与单片机连接:转换数据的传送:①定时传送方式;(不需接EOC脚)②查询方式;(测试EOC脚的状态)③中断方式。(EOC脚接INT脚)注:(1)不能用无条件方式;(2)2个ALE不能相接。涉及2个问题:(1)8路模拟信号通道选择;(2)A/D转换完成后转换数据的传送。ADC0808的口地址:FEFFH;8路模拟通道的地址:FEF8H~FEFFH。IN0~7AD0~7ALEINTWRP2.0RDD0~7ADDABC

CLKEOCSTARTALEOE≥11MCS-51ADC080883≥1ADC0808/0809与单片机连接:转换数据的传送:涉及110D/A转换概述D/A(DigittoAnalog)转换器:为把数字量转换成模拟量D/A转换概述D/A(DigittoAnalog)转换器111性能指标:1、分辨率(Resolution)是指D/A转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制位数。

2、建立时间(EstablishingTime)是描述D/A转换速度的快慢。3、转换精度(ConversionAccuracy)指满量程时DAC的实际模拟输出值和理论值的接近程度。

4、偏移量误差(OffsetError)偏移量误差是指输入数字量为零时,输出模拟量对零的偏移值。

5、线性度(Linearity)线性度是指DAC的实际转换特性曲线和理想直线之间的最大偏移差。性能指标:1、分辨率(Resolution)是指D/A转换器112

DAC0830系列均为DIP20封装,且管脚完全兼容,DAC0832的引脚如下图所示。引脚功能如下:D0—D7:8位数字量输入端

CS:

片选端,低有效ILE:数据锁存允许

WR1

:写控制信号1WR2:写控制信号2

XFER

:数据传送控制信号Iout1:电流输出端1Iout2:电流输出端2RFB:内置反馈电阻端VREF:参考电压源(-10V~+10V)

DGND:数字量地AGND:模拟量地Vcc:+5~+15V单电源供电端DAC0830系列均为DIP20封装,且管脚完全兼容113表2-5工作寄存器组选择控制表表2-5工作寄存器组选择控制表114一、内部结构:DAC0832:8位双缓冲器结构的D/A转换器。D/A转换芯片DAC0832DAC0832内部结构框图DI0~7:转换数据输入(8位);CS:片选信号(输入);ILE:数据锁存允许信号(输入);XFER:数据传送控制信号(输入);WR1:第一写信号(输入),与ILE共同控制输入寄存器是数据直通方式还是数据锁存方式;WR2:第2写信号(输入),与XFER共同控制DAC寄存器是数据直通方式还是数据锁存方式;8位DACDAC寄存器输入寄存器-+IOUT2IOUT1RfbVODI0~7AGNDILECS与与与WR1WR2XFERLE1LE2LE1(LE2)=0:锁存;1:直通。一、内部结构:DAC0832:8位双缓冲器结构的D/A转换115直通方式:

输入寄存器和DAC寄存器始终输出,输入数据在控制信号WR作用下(或与单片机并口直接联结,无需WR),直接进入DAC寄存器中;

适用:只有一路模拟信号输出或几路模拟信号非同步输出。直通方式:

输入寄存器和DAC寄存器始终输出,输入数据在控制116单缓冲方式:

输入寄存器和DAC寄存器共用一个地址,同时选通输出,输入数据在控制信号作用下,直接进入DAC寄存器中;

WR1和WR2同时进行,并且与CPU的WR相连,CPU对0832执行一次写操作,将数据直接写入DAC寄存器中。

适用:只有一路模拟信号输出或几路模拟信号非同步输出。单缓冲方式:

输入寄存器和DAC寄存器共用一个地址,同117双缓冲器方式:

输入寄存器和DAC寄存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论