⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 74hc164.c

📁 Keilc下的ucosII操作实时系统
💻 C
字号:
#include <reg52.h>


sbit   CLR=P3^0;      //用P3^0控制CLR
sbit   CLK=P3^1;
sbit   DAT=P3^0;

unsigned char code tab[17]={0x11,0x7d,0x23,0x29,0x4d,0x89,0x81,0x3d,
                    //0,1,2,3,4,5,6,7,
                    0x01,0x09,0x05,0xc1,0xe3,0x61,0x83,0x87,0xff};
                    //8,9a,b,c,d,e,f,灭

//----------------------------------------------------------------------
//  函数名称:UART_init()
//  功能说明:串口初始化,设定串口工作在方式0
//----------------------------------------------------------------------
void UART_Init(void)
{
	SCON =0x00;              //没串行口方式0,允许发送,启动发送过程
	EA=0;                    // 禁止中断 
}
//---------------------------------------------------------------------
//  函数名称:out()
//  输入参数:dat,需要从74LS164并行口输出的数据
//	dat:要高位在前的传输
//  输出参数:无
//  功能说明:发送八位串行数据至并口
//---------------------------------------------------------------------
void HC164_Out(unsigned char dat)
{
	CLR =0;                    //并口输出清零
	CLR =1;                     //开始串行移位
	UART_Init();                //74LS164工作在时钟控制下的串行移位状态
	while(TI!=0);             //循环等待
	TI=0;
	SBUF=dat;
}
//不是用串口
void SendData(unsigned char dat)
{
	unsigned char num,i; 
    num=(tab[dat]|0x01);
    for(i=0;i<8;i++)
         {
			CLK=0;
			DAT=num&0x01;
			CLK=1;
			num>>=1;             
          }		
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -