2019-01-05 并口中断定时器串口

P1口——纯粹的I/O

作用:

  • P1口只能可以直接作为输入口输出口使用

注意:P1口做输出口时,内部数据经过锁存器送到P1.0---P1.7上

  • 由于内部有上拉电阻,所以P1口作输出口使用时,不用外接上拉电阻

P2口——带半AB功能的I/O

作用:

  1. 外扩芯片时,P2口不再做I/O口使用,而是传送高8位地址
  2. 没有外扩芯片时,P2口可以直接作为输入口输出口使用

注意:P2口做输出口时,内部数据经过锁存器送到P2.0---P2.7上

  • 由于内部有上拉电阻,所以P2口作输出口使用时,不用外接上拉电阻

P0口——带DB和半AB的I/O

作用:

  1. 外扩芯片时,P0口不再做I/O口使用,而是先传送地址,后传送数据
  2. 没有外扩芯片时,P0口可以直接作为输入口输出口使用

注意: P0口做输出口时,内部数据经过锁存器送到P0.0---P0.7上。必须外接上拉电阻

P3口——多功能(CB、通信、计数和中断)I/O

作用:

  1. P3口可以直接作为输入口输出口使用,与P1口用法一致
  2. P3口的引脚又具有第二功能
  • P3.0(RXD)、 P3.1(TXD) 串口的收发信号
  • P3.2(INT0)、3.3(INT1) 外中断中断请求输入线
  • P3.4(T0)、P3.5(T1) 定时器的计数脉冲输入线
  • P3.6(/WR)、P3.7(/RD) 外扩RAM或I/O接口芯片的读写控制信号

I/O小结

中断系统的控制与实现

  • 中断响应时间

最少需要3个机器周期

  • 中断服务程序

在中断服务程序入口地址单元放一条长转移指令LJMP,这样中断服务程序能灵活地安排在64KB程序存储器的任何地方

中断服务程序的最后一条指令必须是中断返回指令RETI

  • 中断标志的清除

  • 中断服务程序的一般格式

对内部定时器的控制

串行通讯基础

每帧数据由4部分组成:起始位(占1位)数据位(占5~8位)奇偶校验位(占1位,也可以没有校验位)、停止位(占1或2位)
根据串行通信数据传输的方向,可将串行通信系统传输方式分为:单工方式半双工方式全双工方式

  • 3种方式中,全双工方式的效率最高
  • 半双工方式配置和编程相对灵活,传输成本较低
  • 串行通信设备常选用半双工方式
  • 波特率

波特率(Baud rate)即调制速率,指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数。单位是:符号/s
比特率(Bit rate)单位时间内传输或处理的比特的数量,单位是:(bps或kbps)

  • 当数据没有压缩、调制时,波特率等于比特率
    每秒传送240个字符,而每个字符格式包含10位这时的比特率为10位(bit)×240个/s =
    2400 bit/s,也可认为波特率为2400 bit/s
  • 串行接口的工作方式的设置

  • PCON的地址为97H,不能位寻址,需要字节传送
  • 由SCON中的SM0、SM1设置4种工作方式
  • 方式0

发送和接收均为8位数据,低位在先高位在后。波特率固定为
  • 方式0输出

当执行一条写SBUF的指令(MOV SBUF,A)时,就启动了串行接口的发送
当数据的最高位D7位移出后,停止发送数据和移位脉冲,就完成了1字节的输出,并把中断标志(TI)置“1”。再次发送,须用软件先将TI清“0”

  • 方式0输入

SCON中的接收允许位REN=1和 RI=0时,就会启动一次串行接口接收过程
当接收完一帧数据后,由硬件将输入移位寄存器中的内容写入SBUF,并把中断标志(RI)置“1”
如要再接收数据,就再用软件将RI清“0”

  • 方式1(重点掌握)

串行接口为波特率可变的8位数据的异步通信接口
传送1帧数据为10位,其中,1位起始位(0),8位数据位(低位在先),1位停止位(1)
方式1的波特率由定时器(T1)的溢出率SMOD的状态决定

  • 方式1输出

执行一条写SBUF的指令就启动了发送过程
1帧10位数据发送完后,将中断标志(TI)置“1”,向CPU申请中断
如要再发送下一字节数据,必须用软件先将TI清“0”

  • 方式1输入

软件使REN=1和RI=0时,就启动了接收过程
当RI=0,且SM2=0(或接收到的停止位为“1”)时,将接收到的9位数据的前8位数据装入接收SBUF,第9位(停止位)进入RB8,并置RI=1,向CPU请求中断。如要再接收数据,就再用软件将RI清“0”

  • 方式3与方式1 的区别只是帧格式不同
  • 方式2的波特率固定为晶振频率的1/64或1/32,方式3波特率由定时器(T1)的溢出率和SMOD的状态决定
  • 波特率的设计

  • 串口初始化

  • 串口发送

  • 串口接收

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 单片机STC89C52学习——19 串口通信 汇总:00 单片机STC89C52学习参考教程:普中科技 1 原理 ...
    aaa小菜鸡阅读 764评论 3 0
  • 51单片机采用中断方式的串口通信过程及程序分析: 所谓中断方式,就是串口收/发标志位出发中断后,在中断中执行既定操...
    緣來阅读 5,610评论 0 5
  • 本文集下的内容主要介绍stc89c51系列单片的基础知识(初学者看会感到乏味,建议培养兴趣爱好之后再来看) 本文主...
    keep1234quiet阅读 3,449评论 8 6
  • 前言 人类生存于世,少不了沟通。沟通使人类互相认知,传递信息,提升生活品质。但然单片机也需要,不然单单一个机器,无...
    风情云阅读 1,842评论 0 2
  • 目标:中断系统的理解 1.中断简介 中断 中断:cpu在正常执行程序的过程中,计算机内部或外部发生了另一件事请求c...
    飞向深空阅读 999评论 0 0