微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 74hc164和74hc165串口驱动程序对不?

74hc164和74hc165串口驱动程序对不?

时间:10-02 整理:3721RD 点击:
#include <reg52.h>   
sbit   LOAD=P1^6;            //用P1^6控制SH/LD管脚   
sbit   CLR=P1^7;             //用P1^7控制CLR  
//----------------------------------------------------------------------
// 函数名称:UART_init()   
// 功能说明:串口初始化,设定串口工作在方式0   
//----------------------------------------------------------------------
void UART_init(void)   
{
SCON =0x10;              //没串行口方式0,允许接收,启动接收过程  
ES=0;                    // 禁止串口中断   
}   
//----------------------------------------------------------------------  
//  函数名称:PA()  
//  输出参数:返回由并口输入的数据  
//  功能说明:接收八位串行数据   
//  函数名称:PA_out()
//  输入参数:PA_data,需要从74LS164并行口输出的数据
//  功能说明:发送八位串行数据至并口  
//----------------------------------------------------------------------  
unsigned char PA(void)   
{
unsigned char PA_data;            
LOAD=0;                   //当P1.6输出低电平,74LS165将并行数据置入寄存器中  
LOAD=1;                   //当P1.6输出高电平,74LS165将并行数据置入寄存器中  
UART_init();              //74LS165工作在时钟控制下的串行移位状态  
While(RI==0);           //循环等待  RI=0;   
PA_data=SBUF;   
return PA_data;              //返回并行输入的数据  
}
void  PA_out(unsigned char)  
{
CLR =0;                    //并口输出清零
CLR =1;                    //开始串行移位  
UART_init();               //74LS165工作在时钟控制下的串行移位状态
While(TI==0);            //循环等待
TI=0;  
SBUF=PA_data;
}


要求用74hc165输入并且用74hc164输出,这个驱动程序可以吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top