单片机应用项目式教程-基于Keil和Proteus 第2版 课件 第4章 串行口应用_第1页
单片机应用项目式教程-基于Keil和Proteus 第2版 课件 第4章 串行口应用_第2页
单片机应用项目式教程-基于Keil和Proteus 第2版 课件 第4章 串行口应用_第3页
单片机应用项目式教程-基于Keil和Proteus 第2版 课件 第4章 串行口应用_第4页
单片机应用项目式教程-基于Keil和Proteus 第2版 课件 第4章 串行口应用_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

第4章串行口应用

——基于Keil和Proteus单片机应用项目式教程第4章目录

C51编程基础知识准备4.180C51串行口项目10串行输出控制循环灯任务10.1编制74HC164串行输出控制循环灯程序任务10.2编制CC4094串行输出控制花样循环灯程序任务10.3Keil编译调试和Proteus虚拟仿真项目11串行输入键状态信号任务11.1编制74HC165串行输入8位键状态程序任务11.2编制CC4021串行输入8位键状态程序任务11.3Keil编译调试和Proteus虚拟仿真项目12串行双机通信任务12.1编制串行双机通信方式1程序任务12.2Keil编译调试和Proteus虚拟仿真C51编程基础知识准备4.180C51串行口80C51系列单片机有一个全双工的串行口,既可实现串行异步通信,又可作为同步移位寄存器使用。⒈基本概念

计算机与外界的信息交换称为通信。并行通信是数据的各位同时发送或同时接收;优点是传送速度快;缺点是长距离传送时,价格较贵且不方便。串行通信是数据的各位依次逐位发送或接收。优点是长距离传送时,比较經济;缺点是传送速度较慢,异步通信依靠起始位、停止位保持通信同步;同步通信依靠同步字符保持通信同步。波特率定义:每秒传输数据的位数,即串行传输数据的速率。互相通信的甲乙双方必须具有相同的波特率。1波特=1位/秒(1bit/s或1bps)⒉串行口特殊功能寄存器

⑴串行数据缓冲器SBUF

①SM0SM1——串行口工作方式选择位。③REN——允许接收控制位。REN=0,禁止接收;REN=1,允许接收。④TB8/RB8——方式2和方式3中要发送或接受的第9位数据。⑥TI——发送中断标志,TI位必须由软件清0。⑦RI——接收中断标志,RI位必须由软件清0。⑶电源控制寄存器PCONSMOD是串行口波特率的倍增位,当SMOD=1时串行口波特率加倍。PCON寄存器不能进行位寻址,必须按字节整体读写。⒊串行工作方式⑴串行工作方式0在方式0下,串行口是作为同步移位寄存器使用。RXD(P3.0)作为数据移位的输入/输出端,TXD(P3.1)输出同步移位脉冲。移位数据的发送和接收以8位为一帧,不设起始位和停止位,无论输入/输出,均低位在前高位在后。波特率固定,波特率=fOSC/12,⑵串行工作方式1一帧10位的异步串行通信方式,包括1个起始位,8个数据位和一个停止位。波特率可变,由定时/计数器T1的计数溢出率决定。波特率=2SMOD×(T1溢出率)/32⑶串行工作方式2一帧11位的异步串行通信方式,即1个起始位,8个数据位,1个可编程位TB8/RB8和1个停止位,波特率是固定。波特率=2SMOD×fOSC/64⑷串行工作方式3一帧11位的异步串行通信方式,通信过程与方式2完全相同;波特率与方式2完全相同。⒋四种工作方式比较

⒌常用波特率极其产生条件

若波特率要求取1200、2400、4800、9600、…整数时,须采用11.0592MHz晶振。项目10串行输出控制循环灯

80C51串行口扩展并行输出时,要有“串入并出”的移位寄存器配合。例如74HC164、74HC595或CC4094等。任务10.1编制74HC164串行输出控制循环灯程序

⒈74HC164串入并出电路

74HC164为CMOS“串入并出”移位寄存器。移位脉冲(上升沿)从CLK端输入;移位数据信号从Q0移入,Q7移出;SA、SB同时为“1”时,移入“1”,否则移入“0”;CLR为输出清0端。⒉流水循环灯程序任务10.2编制CC4094串行输出控制花样循环灯程序

⒈CC4094串入并出电路

CC4094为CMOS4000系列“串入并出”移位寄存器,移位脉冲从CLK端输入;串行移位数据信号从DS端移入,从Q0~Q7并行输出。要求8个发光二极管按下列顺序要求(间隔0.5秒)运行。①全部点亮;②从左向右依次暗灭,每次减少一个,直至全灭;③从左向右依次点亮,每次亮一个;④从右向左依次点亮,每次亮一个;⑤从左向右依次点亮,每次增加一个,直至全亮;⑥返回②,不断循环。⒉花样循环灯程序任务10.3Keil编译调试和Proteus虚拟仿真

⒈Keil编译调试

编译连接并进入调试状态后,打开串口对话框,全速运行,可看到串口对话框中的SBUF数值按led[](亮灯数组)快速跳变,表明串口正在不断发送亮灯数据。⒉Proteus虚拟仿真

分别画出74HC164和CC4094“串入并出”的Proteus虚拟电路,装入Hex文件,全速运行,两种电路和程序均能达到题目所求。可打开本书配套的<单片机项目式教程仿真50例>任务10.1、10.2

,直接操作。项目11串行输入键状态信号

80C51串行口,不仅能实现串行输出,而且能实现串行输入。但须与“并入串出”移位寄存器配合,例如74HC165、CC4014/4021等。任务11.1编制74HC165串行输入8位键状态程序

⒈74HC165并入串出电路

74HC165为CMOS“并入串出”移位寄存器,

端为移位/置入端,当

=0时,从D0~D7并行置入数据。S/S/当

=1时,允许从SO端移出数据。S/74HC165的时钟脉冲输入端有两个:CLK和INH,功能可互换使用。一个为时钟脉冲输入(CLK功能),另一个为时钟禁止控制端(INH功能)。当其中一个为高电平时,该端履行INH功能,禁止另一端时钟输入;当其中一个为低电平时,允许另一端时钟输入,时钟输入上升沿有效。⒉74HC165串行输入8位键状态信号程序要求从165并行口输入K0~K7状态数据,并从80C51P1口输出(驱动发光二极管,以亮暗表示K0~K7状态)。需要说明的是,80C51串行传送(包括发送和接收)是低位在前、高位在后。因此,74HC165的D0~D7对应于80C51SBUF中的D7~D0,位秩序相反。任务11.2编制CC4021串行输入8位键状态程序

⒈CC4021并入串出电路

CC4014/4021为CMOS4000系列“并入串出”移位寄存器,并入串出功能与74HC165相似,但并入串出控制端控制电平不同。P/=1时,从D0~D7并行置入数据,=0时,允许从Q7端移出数据。P/P/⒉CC4021串行输入8位键状态信号程序任务11.3Keil编译调试和Proteus虚拟仿真

⒈Keil编译调试

在KeilC51中编译链接,查看有否语法错误,若无错,则自动生成Hex文件。⒉画Proteus虚拟仿真电路

⒊虚拟仿真运行

装入Hex文件,全速运行,可看到两种电路的8个LED亮暗状态均与K0~K7按键状态一一对应。鼠标左键单击按键小红点,改变K0~K7键状态,8个LED显示状态随之改变。可打开本书配套的<单片机项目式教程仿真50例>任务11.1、11.2

,直接操作。项目12双机串行通信

任务12.1编制双机串行通信方式1程序

设甲乙机以串行方式1进行数据传送,fOSC=11.0592MHz,波特率为1200b/s,SMOD=0。甲机发送16个数据(设为16进制数0~9、A~F的共阳字段码),发送后,输出到P1口显示;乙机接收后输出到P2口显示。串行方式1波特率取决于T1溢出率(定时器方式2),根据波特率计算T1定时初值:⑴甲机发送程序:⑵乙机接收程序:任务12.2Keil编译调试和Proteus虚拟仿真

⒈Keil编译调试

本例牵涉双机,发送和接收应分别编译调试,查看有否语法错误,若无错,分别生成发送和接收Hex文件。⒉Proteus虚拟仿真

画出Proteus虚拟仿真电路,分别装入发送和接收Hex文件,U1发送,U2接收。全速运行,可看到两个数码管分别依次显示串行发送和接收的数据,循环不断。可打开本书配套的<单片机项目式教程仿真50例>任务12.1,直接操作。项目10串行输出控制循环灯任务10.174HC164串行输出控制循环8灯练习题4.1074HC164串行输出控制循环16灯任务10.2CC4094串行输出控制花样循环8灯练习题4.11CC4094串行控制花样循环16灯项目11串行输入键状态信号任务11.174HC165串行输入8位键状态练习题4.12CC4014串行扩展8位键状态任务11.2CC4021串行输入8位键状态练习题4.1374HC165串行扩展16位键状态

温馨提示

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

评论

0/150

提交评论