美文网首页
2019-01-05 并口中断定时器串口

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

作者: Invoke_r | 来源:发表于2019-01-05 21:32 被阅读0次

    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的状态决定
    • 波特率的设计

    • 串口初始化

    • 串口发送

    • 串口接收

    相关文章

      网友评论

          本文标题:2019-01-05 并口中断定时器串口

          本文链接:https://www.haomeiwen.com/subject/iworrqtx.html