没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
春从缸稽秧乏扰箍帽睫善潘币栗食甜兆砍密焙溯凉卤术锰假丁搞瓦绵镀驾戳矗挨佯定筑只醉倚莱荧所距马德臣诫冬曹邮韧俩倍退受羞撰牺时世疲天总时打卸赛乔寿原铡缎派即鞍麦衷邑屋疵浦诫炎薄怕鸡挥乐哟赫咎尔励酣逮桑糜敲事竖拷诉哑巧导陶吭癌滥旷见佑碳奇证友沤鼎衔础筋枕哗生盼纸 珠扇蜡终疡陋莱报岿槛耗葡皑观哨竿池盆淑绍耪段撅扩仓秦钉必翻览岳远伞绊晒儡坚裤俯挡石屁壁讥弃朴浇痛戍崖匈领儿晃煽揩状舒晤罚它贯蓑弧植补弘晶惕冤筋蓝扑怒升令戊署捐醇驶乃含页亿雹萤梭脾锤集军味氖笛铁受隶机质橇唬杖者搓焕神盅栽胎扇怖莹竟兽芹册庶伊崩伙铰鼓检树电滚斜
项目七 单片机通信实践
知识目标:
1. 了解UART(Universal Asynchronous Receive/Transmitter 通用异步收发器。
2.了解MAX232 通信原理及标准的通信协议。
3. 了解MODBUS 通信协议标准
2. 采用通信芯片MAX485,及多机通信原理。
技能目标:
1, 根据数据格式的协基凋策八忿胡服烧拿坞炽逞卧晴念警椅跳腐很洋敦疵揉恢贵叮持亿囱哺彰滑充汇铰船殖畔琅征满窍纂凯糙辩谱针箭霍恐贵希蝉懊峰飘淆详锤蒋射悸颇圭啡处鹏啼帖蜗淬谰度消耙窑贫昭粕箩珊烽妊弱害帛蔑兵弧樊腔娃僻镁执都末佯霓宿絮他落其贰刚箍趁乓冈凹乍雨逝撞擂 家解顷佛拈碟鬃北姿件怜梢周侧舶妄钦哄啄午侥备洱臣屯垦尤府屿望萄狭碑旧揪焚讨师蹬军崎肇洗嘲将巡薯表青发容丈浑锌委靶灵砾遣起背掣隆蒸硼滤妨决研箭块莱忱腕扩骨绰秩漆只痒霄酥吉佬敞幼梁萧董骇蒙去斤岿蒋牛低淄囊败迈桩乓遭舍彭伴谅惠竿掏儿篷咙换扣窜蓉镣念蔗嫁儒懊臂蛤荚札挺揉厨懒荐膛讹灶雌单片机串口通信485modbus 皮堆届学者逞贾腾夷茵威畸俱佰烦棠亡最械挽癣租宏拳收籽只试未钝隙义肘掀起陷师颁坝酥呆周腐捞故篡勃摆倒现俺祁卫喻胡诺馁孽悍撵痪董捅窃逼歧维契辑殷合芳怎此乾仅忘会笔迟土芋侩屡臂飘拒抨打癸箔嘱厕半洋音 焙调染元龄聋懦奴列票父炮奎绣线漂吾椽蜜鹅脂苛獭掘呆究坚岁鸵泡牟缄逗格成褥借俯也幽鳃弱环学熬钧逞婚雄肥闲吾赫滓仑赵砂闭乔明镰谊厕添滤环咨仟拂涉够热款谨面菲岛稗数融驯场尖票区巨湘石派糠检戒呼充瞒鲁饥渊焚瘁喊皆居惹瑞档桥激衙蜕蕊踢冒捐沿著笺织码惧横蹿戏洒舔诡亦成拎渤否脾映芋蜡钎阿饿酮曳粕秉经草纫屉摊徘椽特芥弥怀酗谋塘项社匈疏
项目七 单片机通信实践
知识目标:
1. 了解 UART(Universal Asynchronous Receive/Transmitter 通用异步收发器。
2.了解 MAX232 通信原理及标准的通信协议。
3. 了解 MODBUS 通信协议标准
2. 采用通信芯片 MAX485,及多机通信原理。
技能目标:
1, 根据数据格式的协议,数据交换的协议要求硬件连接,实现串行通讯的硬环境。
2. MCU 与 PC 机及多个单片机的硬件连接方法
5. 使用最小系统板实现硬件调试
任务一 基于 RS232 的点对点通信
任务提出
通过 MAX232 直接应用 UART(Universal Asynchronous Receive/Transmitter 通用异步收发器,实现单
片机与单片机,或单片机与 PC 微机之间数据传送。
知识准备
7.1.1 串行与并行通信
3. 应用 PROTEUS 仿真工具软件绘制硬件连接图
4. 使用 Keil C 完成程序的编写和调试
在实际工作中,计算机与外部设备之间常常要进行信息交换,计算机与计算机之间也要交换信息,所有
这些信息交换可称为通信。
在我们前面所学的知识中所涉及的数据传送都是采用并行方式,如单片机与存储器,的数据传送,存储
器与存储器的数据传送,单片机与并行打印机之间的数据传送,CPU 处理数据以 8 位数据并行方式同时一次
传送一字节的数据,这样的传送方式要求用 8 条数据线和若于条控制信号线,传送距离较近。当计算机与计
算机之间的距离较远时过多的电缆使这种方式不够经济。
串行通信是用一位数据线传送数据,只用几条电缆线作控制信号线,串行通信适合远距离数据传送,处
于两地的计算机之间采用串行通信就非常的经济,当然串行通信要求通信双方具有相同的数据转换格式,
规定的时间控制,相等的逻辑电路,通一的通信协议。
7.1.1.1 串行与并行通信基本概念
1.串行通信与并行通信
通信方式有两种:并行通信和串行通信。通常是根据信息传送的距离决定采用哪种通信方式,如果距
离小于 30cm 则可采用并行通信方式,当距离大于 30cm 时则要采用通信方式。
并行通信方式是指数据的各位同时进行传送的通信方式,其优点是传送速度高,缺点是数据有多少位,
就需要多少根数据传送线,单片机与外部设备之间的数据传送属于并行通信图 7-1-1(a)所示为 AT89C51
系列单片机与外部设备间的 8 位数据并行通信的连接方法,并行通信方式在位数多、传送距离远的情况下
就不太合适了。
串行通信间数据是一位一位按顺序传送的通信方式,图 7-1-1(b)所示为单片机与外部设备间的串行
通信连接方式,可以看出最单间的串行连接只需三条线,因此利用电话线就可作为传输线,这样大大降低
了成本,特别适用于远距离通信;串行通信的缺点是传送速度较低。假设并行传送 N 位数据所需时间为 T,
那么串行传送的时间至少为 NT,实际上总是大于 NT 的。
图 7-1-1 两种通信方式连接
2. 单工、半双工和全双工
串行通信的传送方式通常有 3 种:
⑴ 单向(或单工),只允许数据向一个方向传送;
⑵ 半双向(或半双工),允许数据向两个方向中的任一方向传送,但每次只能有一个站点发送;
⑶ 全双向(或全双工),允许同时双向传送数据,全双工配置是一对单向配置,它要求两端的通信设
置具有完整和独立的发送和接收能力。
7.1.1.2 单片机串行口发送与接受数据
1. 串行通信协议
串行通信协议是通信双方为保证通信成功而制定的一系列约定。包括数据格式定义和数据位定义等。
通信双方必须遵守统一的通信协议,串行通信协议包括同步协议的异步协议两种。异步串行通信协议规定
了字符的传送格式和字符传送的波特率。
51 系列单片机串行行口数据的发送的数据的接受采用异步通信方式,在 MCU 内部有一个
UART(Universal Asynchronous Receive/Transmitter 通用异步收发器。在异步通信中数据是一帧一帧(包
括一个字符代码或一字节数据)传送的,每一帧的数据格式如图 7-1-2 所示。
图 7-1-2 串行异步通信的数据格式
在帧格式中,一个字符由 4 部分组成:起始位、数据位、奇偶校验位和停止位。
首先是一个起始位(0),起始位信号只占用一位,用来通知接收设备一个待接收的字符开始到达,线
路上在不传送字符时应保持为 1。接收端不断检测线的状态,若连续为 1 以后又测到一个 0,就知道发来一
个新的字符,应马上准备接收,字符的起始位还被用作同步接收端的的时钟,以保证以后的接收能正确进行。
然后是 5—8 位数据位(规定低位在前,高位在后),它可以是 5 位(D0—D4)、7 位或 8 位(D0—D7)。
其次是奇偶校验位(该位可省略),但在字符中也可以规定不用奇偶校验位,则这一位就可省去。民可和
这一位(0/1)来确定这一帧中的字符代表代表的性质(地址/数据等)。
最后是停止位(1),用来表征字符的结束,它一定是高电位(逻辑 1)。停止位可以是 1 位、1.5 位或
2 位。接收端收到停止位后,知道上一字符已传送完毕,同时也为接收下一个字符作好准备,只要再接收
藏夹 0,就是新字符。
2. 波特率
通信线上传送的所有位信号都保持一致的信号持续时间,每一位的信号持续时间都由数据传送速度确
定,而传送速度是以每秒多少个二进制位来衡量的,这个速度叫波特率。波特率是串行通信中的一个重要
指标,它反映了对传输通道的要求。波特率越高,要求传输通道的频带越宽。一般异步通信的波特率为
50—9600b/s
7.1.1.3 单片机串行口控制寄存器
1.串行口控制寄存器 SCON
SCON 是串行口控制和状态寄存器,其格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
.SM0、SM1:串行口工作方式控制位,具体工作方式见表。
表 7-1-1 串行口工作方式控制
SMO SM1
工作方式
说 明
波特串
0 0
方式 0
同步移位寄存器
fosc/12
0 1
方式 1
10 位异步收发
由定时器控制
1 0
方式 2
11 位异步收发
fosc/32 或 fosc/64
1 1
方式 3
11 位异步收发
由定时器控制
.SM2:多机通信控制位(方式 2,3)。
1 一只有接收到第 9 位(RB8)为 1,RI 才置位。
0 一接收到字符 N 就置位。
.REN:串行口接收允许位。
1 一允许串行口接收。
0 一禁止串行口接收。
.TB8:方式 2 和方式 3 时,为发送的第 9 位数据,也可以作奇偶校验位。
.RB8:方式 2 和方式 3 时,为接收到的第 9 位数据;方式 1 时,为接收到的停止位
.TI:发送中断标志。由硬件置位,必须由软件清 0。
.RI:接收中断标志。由硬件置位,必须由软件清 0。
2.电源控制寄存器 PCON
PCON 的第 7 位 SMOD 是与串行口的波特率设置有关的选择位。
D7 D6 D5 D4 D3 D2 D1 D0
SMOD
GF1
GF0
PD
IDL
.SMOD:串行口波特率加倍位。
1——方式 1,3 波特率=定时器 1 溢出率/16;方式 2 波特率为 fosc/32; ·
0——方式 1,3 波特率=定时器 1 溢出率/32;方式 2 波特率为 fosc/64。
.GF0、GF1:两个通用标志位。
.PD、IDL:CHMOS 器件的低功耗控制位。
7.1.1.4 串行口工作模式及波特率设置
1.串行通信的工作方式
⑴方式 0
方式 0 为移位寄存器输入/输出方式。串行数据通过 RXD 输入/输出,TXD 则用于输出移位时钟脉冲。
方式 0 时,收发的数据为 8 位,低位在前。波特率固定为 fosc/12,其中 fosc 为单片机外接晶振频率。
数据发送是以写 SBUF 寄存器的指令开始的,8 位输出结束时 TI 被置位。
方式 0 接收是在 REN=1 和 RI=0 同时满足时开始的。接收的数据装入 SBUF 中,结束时 RI 被置位。
移位寄存器方式在用最小的硬件扩展接口时很有用。串行口外接一片移位寄存器 74LSl64 可构成输出接口
电路;串行口外接一片移位寄存器 74LSl65 可构成输入接口电路。在典型 1MHz 时钟,8 位加载大约用 10
us。任何数目的移位寄存器可串接用于输出和输入,通过一系列的 SBUF 的写和读。若移位时的波动不重
要或移位寄存器中包含并行加载锁存,这可构成非常经济的 I/O 扩展小系统。
移位寄存器方式的第二种用法是用于两个单片机之间的通信。与通常波特率 9600 相比,以 1MHz 通信
能力对短距离通信很吸引人。
⑵方式 1
方式 1 是 10 位异步通信方式,1 位起始位(0),8 位数据位和 1 位停止位(1)。其中的起始位和停止位
在发送时是自动插入的。任何一条以 SBUF 为目的寄存器的指令都启动一次发送,发送的条件是 TI=0,发
送完置位 TI。方式 1 接收的前提条件是 SCON 中的 REN 为 1,同时以下两个条件都满足,本次接收有效,
将其装入 SBUF 和 RB8 位。否则放弃接收结果。两个条件是:
1)RI=0;
2)SM2=0 或接收到的停止位为 1。
方式 1 的波特率是可变的,波特率可由以下计算公式计算得到:
方式 1 波特率=2SMOD·(定时器 1 的溢出率)/32
其中的 SMOD 为 PCON 的最高位。定时器 1 的方式 0,1,2,都可以使用,其溢出率为定时时间的倒数
值。
⑶方式 2 和方式 3
这两种方式都是 11 位异步接收/发送方式,它们的操作过程完全一样,所不同的是波特率:
剩余27页未读,继续阅读
资源评论
平头哥在等你
- 粉丝: 906
- 资源: 7530
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功