用单片机的串口驱动74LS165
扫描二维码
随时随地手机看文章
串行口是单片机与外界进行信息交换的工具, 利用单片机串口实现输入移位寄存器,只需用软件置REN=1(同时RI=0),即开始接收。数据字节在移位时钟脉冲的配合下,从低位至高位一位一位地接收下来并装入SBUF中,在启动接收过程(即写SCON,清RI位)开始后的第8个机器周期RI被置位。这一数据帧接收完毕,可进行下一帧的接收。
在模式0下,数据传输速率为fosc/12,fosc是时钟频率。时钟频率为12MHz时串行数据传输速率为lMbit/s,速度较快,故程序中对接收过程采取查询等待方式。如果有必要,应该用中断控制方式以提高程序速率。
需要特别注意,在工作模式0下,必须将SCON的SM2位清零。
单片机串口驱动74LS165的程序主要包括函数声明管脚定义部分、串口初始化函数以及数据接收函数。
(1)函数声明管脚定义。
函数声明管脚定义部分主要完成程序所涉及的库函数的声明及有关引脚的定义,一般置于程序的开头部分,代码如下:
(2)串口初始化函数UARTjnit()。
串口初始化函数UARTjnit()实现串口的初始化,包括工作方式选择和中断的开禁等功能,程序代码如下:
(3)数据接收函数PA()。
数据接收函数PA()完成8位串行数据的接收,代码如下: