标题:
基于51单片机的74HC595时钟显示程序
[打印本页]
作者:
zlkj
时间:
2018-8-27 21:44
标题:
基于51单片机的74HC595时钟显示程序
基于51单片机的74HC595时钟显示
单片机源程序如下:
#include <REGX51.H>
#define uint unsigned int
#define uchar unsigned char
sbit sda=P2^0;
sbit sclk=P2^2;
sbit rclk=P2^1;
uchar hou,min,sec;
uchar code table[]= { 0x84, 0xF5, 0x4C, 0x64, 0x35, 0x26, 0x06, 0xF4, 0x04, 0x24, 0x14, 0x07, 0x8E, 0x45, 0x0E, 0x1E, 0x7F, 0xFB, 0xFF };
void rck(void)
{
rclk=0;
rclk=1;
rclk=0;
}
void shift(uchar dat)
{
uchar i;
rclk=0;
dat=table[dat];
for(i=0;i<8;i++)
{
sclk=0;
sda=(dat<<i)&0x80;
sclk=1;
}
}
void init(void)
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
}
void main(void)
{ uchar sec1=255;
init();
while(1)
{
if(sec1!=sec)
{
shift(sec%10);
shift(sec/10);
shift(16);
shift(min%10);
shift(min/10);
shift(16);
shift(hou%10);
shift(hou/10);
rck();
sec1=sec;
}
}
}
void time0(void) interrupt 1
{
static uchar tcount;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
tcount++;
if(tcount==20)
{
tcount=0;
sec++;
if(sec==60)
{
sec=0;
min++;
if(min==60)
{
min=0;
hou++;
if(hou==24)
{
hou=0;
}
}
}
}
}
复制代码
所有资料51hei提供下载:
基于51单片机的74HC595时钟显示程序.rar
(12.28 KB, 下载次数: 48)
2018-8-27 21:44 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
admin
时间:
2018-8-27 23:01
补全原理图即可获得100+黑币
作者:
515232
时间:
2021-12-11 22:50
有仿真图参考吗
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1