標(biāo)題:
基于51單片機(jī)的74HC595時(shí)鐘顯示程序
[打印本頁(yè)]
作者:
zlkj
時(shí)間:
2018-8-27 21:44
標(biāo)題:
基于51單片機(jī)的74HC595時(shí)鐘顯示程序
基于51單片機(jī)的74HC595時(shí)鐘顯示
單片機(jī)源程序如下:
#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;
}
}
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
基于51單片機(jī)的74HC595時(shí)鐘顯示程序.rar
(12.28 KB, 下載次數(shù): 48)
2018-8-27 21:44 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時(shí)間:
2018-8-27 23:01
補(bǔ)全原理圖即可獲得100+黑幣
作者:
515232
時(shí)間:
2021-12-11 22:50
有仿真圖參考嗎
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1