您现在的位置: 主页 > MCU > 单片机技术应用 > 74HC595 数码管程序 -
本文所属标签:
为本文创立个标签吧:

74HC595 数码管程序 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]
74HC595数码管程序#include//51芯片管脚定义头文件#include//内部包含延时函数_nop_();#defineucharunsignedchar#defineuintunsignedintucharcodeDAT[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x

74HC595数码管程序

本文引用地址: http://www.21ic.com/app/mcu/201806/764882.htm

#include//51芯片管脚定义头文件
#include//内部包含延时函数_nop_();

#defineucharunsignedchar
#defineuintunsignedint

ucharcodeDAT[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//共阴数码管显示码


sbitHC595_SRCLR=P1^0;//清空移位寄存器
sbitHC595_sRCLK=P1^1;//寄存器输出时钟
sbitHC595_RCLK=P1^2;//移位时钟
sbitHC595_OE=P1^3;//并行输出使能
sbitHC595_sER=P1^4;//串行数据


uchartemp;

/********************************************************/
/*
/*延时子程序
/*
/*******************************************************/

voiddelay(intms)
{
intk;
while(ms--)
{
for(k=0;k<250;k++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}

/********************************************************/
/**/
/*将显示数据送入74HC595内部移位寄存器*/
/**/
/********************************************************/

voidWR_595(void)
{
ucharj;
for(j=0;j<8;j++)
{
temp=temp<<1;
HC595_sER=CY;
HC595_sRCLK=1;//上升沿发生移位
_nop_();
_nop_();
HC595_sRCLK=0;
}
}

/********************************************************/
/**/
/*将移位寄存器内的数据锁存到输出寄存器并显示*/
/**/
/********************************************************/

voidOUT_595(void)
{
HC595_RCLK=0;
_nop_();
_nop_();
HC595_RCLK=1;//上升沿将数据送到输出锁存器
_nop_();
_nop_();
_nop_();
HC595_RCLK=0;
}

/********************************************************
**
*主程序*
**
*********************************************************/

main()
{//////////////////////////////////////////////////
//以下为输出位初始化

HC595_OE=1;//并行输出为高阻状态

_nop_();
_nop_();

HC595_sRCLR=0;//清空移位寄存器

_nop_();

HC595_sER=0;//清零

_nop_();
_nop_();

HC595_RCLK=0;//移位时钟初始为低

_nop_();

HC595_sRCLK=0;//寄存器时钟初始为低

_nop_();

HC595_OE=0;//允许并行输出

_nop_();

HC595_sRCLR=1;//结束复位状态
////////////////////////////////////////////////


//循环显示0--9

while(1)
{
uchari;
for(i=0;i<10;i++)
{
temp=DAT[i];//取显示数据
WR_595();
OUT_595();
delay(200);
}


}
}



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 74HC595 数码管程序 -
 

网站地图

围观()