版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务6双单片机通信计数器教学规划
知识重点:
知识难点:教学方式:(1)字符帧格式与波特率(2)串行口结构(3)串行口控制寄存器(4)串行口的4种工作方式及波特率设置串行口结构及应用以任务入手,通过完成双单片机通信计数器这个任务让学生掌握串行口的结构以及应用。6.1串行通信的基本知识6.2单片机串行口结构工作6.3串行通信的波特率6.4串行口的初始化案例9单片机扩展口控制流水灯目录案例10双单片机控制流水灯案例11双单片机通信计数器6.1串行通信的基本知识1.串行通信的概念CPU和外部通信有两种通信方式:并行通信和串行通信。
计算机1GND
计算机2GND并行通信
计算机1GND
计算机2GND发送接收串行通信并行通信,即数据的各位同时传送;串行通信,即数据一位一位顺序传送。2.串行通信的分类按照串行数据的时钟控制方式,串行通信可分为同步通信和异步通信两类。1)同步传输方式去掉了这些起始位和停止位,只在传输数据块时先送出一个同步头(字符)标志即可,如图6-2所示。同步字符1同步字符2数据1数据2….数据n校验字符校验字符
图6-2同步通信帧的格式2)异步通信:数据通常是以字符帧格式由发送端一帧一帧地发送,通过传输线为接收设备一帧一帧地接收。发送端和接收端可以有各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。Ж字符帧和波特率(baudrate)是异步通信的两个重要指标。字符帧——也叫数据帧起始位、数据位、奇偶校验位、停止位。第n-1字符帧10D0D1D2D3D4D5D6D70/111110D08位数据奇偶校验空闲位停起止始位位停止位起始位第n字符帧第n+1字符帧插入了3个空闲位的帧波特率即每秒钟传送的二进制位数,其单位为bps(bitspersecond),是衡量串行数据速度快慢的重要指标。波特率越高,数据传输速度越快。例如:数据传送的速率是120字符/秒,而每个字符如上述规定包含10数位(1个起始位,8个数据位和1个停止位组成一帧),则其传送波特率为:10bit×120字符/s=1200波特。3、串行通信的传输方式常用于串行通信的传输方式有单工、半双工、全双工。A站发送器B站接收器单工A站B站发送器发送器接收器接收器半双工A站B站发送器接收器接收器发送器全双工6.2单片机串行口结构及工作方式MCS-51系列单片机内部有一个可编程的全双工(能同时进行发送和接收)通信接口。该串行接口电路主要由串行口控制寄存器SCON、发送和接收电路等三部分组成。单片机串行口结构串行口控制寄存器SCONSM0SM1工作方式功能说明波特率00方式08位同步移位寄存器常用于扩展I/O口fosc/1201方式110位UART起始位、8位数据、结束位可变(取决于定时器1溢出率)10方式211位UART起始位、8位数据、奇偶校验位、终止位fosc/64或fosc/3211方式311位UART可变(取决于定时器1溢出率)②SM2:多机通信控制位。③REN:串行口接收允许控制位。由软件置1或清除。
REN=1,允许串行口接收
REN=0,禁止串行口接收④TB8:发送数据有关,由软件进行置1或清0。
TB8=0,代表从CPU发送出来的是数据信号。
TB8=1,代表从CPU发送出来的是地址信号。⑤RB8:接收数据有关,由软件进行置1或清0。
RB8=0,代表CPU接收到的是数据信号。
RB8=1,代表CPU接收到的是地址信号。⑥TI:发送中断标志位。在方式0中,当发送完第8位数据时,由硬件置1在其他方式中,在发送停止位前,由硬件置1。
TI=l时,申请中断,CPU响应中断后,发送下一帧数据。该位必须由软件清0。⑦RI:接收中断标志位。在方式0中,接收第8位结束时,由硬件置1;在其他方式中,在接收停止位的中间时刻,由硬件置1。
RI=1时,申请中断,要求CPU取走数据。该位必须由软件清0。1.方式0
——
8位同步移位寄存器方式波特率固定为fosc/12串行数据从RXD(P3.0)端输入或输出,同步移位脉冲由TXD(P3.1)送出。常用于扩展I/O口,也可外接同步输入/输出设备。3.方式2和方式3方式2和方式3都是11位为一帧的UART方式1个起始位,9个数据位和一个停止位。第9位数据位既可作奇偶校验位也可作控制位,发送之前应先在SCON的TB8位中准备好。方式3和方式2除波特率不同之外,其它的性能完全一样,两种工作方式的通信过程完全相同。方式2的波特率只有fosc/32和fosc/64两种而方式3的波特率是可变的,由用户根据需要在程序中设定,这一点与方式1相同。6.3串行通信的波特率1、方式0的波特率
固定为fosc/12,即每个机器周期移位一次。2、方式2的波特率当SMOD=1时,波特率为1/32fosc;当SMOD=0时,波特率为1/64fosc。3.方式1、3的波特率T1溢出率=T1计数率/产生溢出所需的周期数,指在1秒钟内溢出的次数。产生溢出所需周期与定时器T1的工作方式、T1的预置值有关。设T1的初值为X,则T1工作于方式0:溢出所需周期数=8192-XT1工作于方式1:溢出所需周期数=65536-XT1工作于方式2:溢出所需周期数=256-X
对定时/计数器来说,T1作为波特率发生器最典型的用法是使用T1工作在定时方式2状态,则其波特率为:则初值计算公式为:
表6-1定时器T1产生的常用波特率C/T波特率/b/s(方式1、3)foscSMOD定时器T1工作方式初值62.5K12102FFH(255)19.2K11.0592102FDH(253)960011.0592002FDH(253)480011.0592002FAH(250)240011.0592002F4H(244)120011.0592002E8H(232)6.4串行口的初始化其初始化过程如下:设定SCON的SM0、SM1两位二进制编码。对于工作方式2或3,应根据需要在TB8中写入代发送的第9位数据。若选定的工作方式不是方式0,还需设定接收/发送的波特率。设定SMOD的状态,以控制波特率是否加倍。若选定工作方式1或3,则应对定时器T1进行初始化以设定其溢出率。如果用到中断的,还必须设定IE或IP。串行通信的编程有两种方式:查询方式和中断方式。由于串行发送、接收标志硬件不能自动清除,所以不管是中断方式还是查询方式编程时都必须用软件方式清除TI、RI。案例9.用单片机的扩展口控制流水灯用串行口外接CD4094扩展8位并行输出口,各位都接一个发光二极管,要求发光二极管自右向左以一定速度依次显示,呈流水灯状态。CD4094是一种8位串行输入(D端)并行输出的同步移位寄存器,采用CMOS工艺制成。CLK为同步脉冲输入端STB为控制端:若STB=0,则8位并行数据输出端关闭,但允许串行数据从D输入;若STB=1,则D输入端关闭,但允许8位数据并行输出。#include<reg51.h>sbitp10=P1^0;voidmain(){unsignedcharsdata=0xfe;
int
i;SCON=0;//串行口初始化为方式0
p10=0;//避免LED产生“暗红”现象
while(1)
{SBUF=sdata;//开始串行输出while(TI==0)
;
//一个字节没有输出完则继续检测TI
TI=0;
//输出完,清TI标志,以备下次发送p10=1;//打开并行口输出for(i=10000;i>0;i--)
;延时sdata<<=1;//左移一位
sdata|=1;//最低位补1if(sdata==0xff)sdata=0xfe;p10=0;//关闭并行输出
}}查询方式!中断方式!#include<reg51.h>sbitp10=P1^0;voidisr_serial();unsignedcharsdata=0xfe;voidmain(){SCON=0;p10=0;SBUF=sdata;
EA=1;ES=1;while(1);延时等待中断到来}voidisr_serial()interrupt4{inti;p10=1;
//4094从Q端输出数据for(i=10000;i>0;i--);sdata<<=1;sdata|=1;if(sdata==0xff)sdata=0xfe;p10=0;SBUF=sdata;
TI=0;}案例10双单片机控制流水灯两个单片机利用串口相连,实现从一个单片机U1发送数据让另一外单片机U2所连接的发光二极管实现流水灯效果。设置U1使用的晶振频率是11.0592MHz,U2使用的晶振频率也是11.0592MHz,U1的TXD接U2的RXD,U2的P0口连接8个发光二极管分析:使用串行口通信时,必须将双方的“地”线相连以使其具有相同的电压参考点。U1使用晶振频率是11.0592MHz,U2使用晶振频率是11.0592MHz,假设串行口波特率统一为240bit/sU1以工作方式1发送,U2以工作方式1接收。U1方式1工作时初值:∵此时T1工作在定时方式2∴=256-11×106×20/384×240=256-120=136
同理U2方式1工作时初值X=256-120=136U1和U2特别注意要分两个工程项目来建。U1发送程序:#include<reg51.h>unsignedcharsdata=0xfe;voidisr_uart();voidmain(){TMOD=0X20;TH1=136;TL1=136;SCON=0X40;PCON=0;TR1=1;EA=1;ES=1;
SBUF=sdata;while(1);}voidisr_uart(
)interrupt4{sdata<<=1;sdata|=1;if(sdata==0xff)sdata=0xfe;SBUF=sdata;
TI=0;}U2接收程序#include<reg51.h>unsignedcharsdata;voidisr_uart();voidmain(){TMOD=0X20;TH1=136;TL1=136;SCON=0X50;PCON=0;TR1=1;EA=1;ES=1;while(1);}voidisr_uart(
)interrupt4{RI=0;sdata=SBUF;P0=sdata;}案例11.双单片机通信计数器要求在一个单片机的INT0(3.2)接一按钮,另一个单片机的P2口接两位BCD数码等,要求实现按一次按钮,另一个单片机所接数码管会加1,(按钮次数超过99会从零开始)。对U1编写的程序如下:#include<reg51.h>;unsignedchara=0;voidisr_int0();voidisr-uart();voidmain(){
TMOD=0x20;
TH1=136;TL1=136;
SCON=0x40;//发送方串行口工作于方式1
PCON=0;
TR1=1;IT0=1;
EA=1;ES=1;EX0=1;
While(1);}voidisr_int0(
)interrupt0{
a++;}voidisr-uart(
)interrupt4{
SBUF=a;
TI=0;}对U2编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子商务平台营销策略优化与效果评估方案
- 超市管理制度1
- 前处理岗位试题及答案
- 公务员体育试题及答案
- 2025年临床执业医师《药理学》模拟练习卷
- 药品短缺监测预警管理培训试题及答案
- 医保住院管理政策培训试题及答案
- 医疗保险服务规范考核试题及答案
- 门窗设计考试题及答案
- 乳腺外科三基三严考试题库及答案
- 《当前保密工作面临的新形势、新任务》课件
- 食品微生物学基础课程标准(一)
- 国家职业技术技能标准 6-11-01-04 制冷工 人社厅发2018145号
- 承插型盘扣式钢管脚手架安全技术标准JGJT231-2021规范解读
- 2025年齐齐哈尔市高三语文3月一模考试卷附答案解析
- 环卫清扫保洁服务方案投标文件(技术方案)
- 生命教育与心理健康教育的融合路径研究
- 新概念英语第一册随堂练习-Lesson127~128(有答案)
- 2024-年全国医学博士外语统一入学考试英语试题
- 车辆运营服务合同模板
- 个人合作开店合同范例
评论
0/150
提交评论