📄 prog.c
字号:
#include "reg51.h"
#include "math.h"
#include "string.h"
#include "intrins.h"
#define uchar unsigned char
#define high 1/* 高电平 */
#define low 0 /* 低电平 */
//sbit Dat4094=P1^4;/* 4094A数据*/
// sbit En=P1^5; /* 使能 */
sbit ESS=P1^6;//数据脚
sbit clk=P1^3;//时钟
sbit storge=P1^1;//锁存
//uchar code LED_acess[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//LED段码0,1,2,3,4,5,6,7,8,9
uchar code LED_acess[10]={0x04,0x1f,0x22,0x0a,0x19,0x48,0x40,0x1e,0x00,0x08};//LED段码0,1,2,3,4,5,6,7,8,9
uchar idata a[6];
uchar time_NUM;
//uchar s ;
long int time_con;
long int time_T;
bit flag;
//函数申明
void Clock(void);
// void Sclock(void);
void Delay(uchar us);/*延时 us 微秒*/
void SendDate(uchar dat1);
void Init(void);
void show(void);
void Delay(uchar us)/*延时函数*/
{
uchar time;
for(time=us;time>0;time--);
}
void Clock(void) /*时钟上升沿函数*/
{
clk=low;
Delay(2);
clk=high;
Delay(2);
}
//void Sclock(void) /*锁存时钟上升沿函数*/
//{
// sclk=low;
// Delay(2);
// sclk=high;
// Delay(2);
//}
void SendData(uchar dat1) /*给74HC595发数据函数*/
{
uchar numBIT;
for(numBIT=0;numBIT<8;numBIT++)
{
if(dat1&0x80)
ESS=low;
else
ESS=high;
dat1= _crol_(dat1,1);
Clock();
}
}
void show(void) /*调LED显屏显示函数*/
{
uchar num;
storge=low;
for(num=0;num<6;num++)
{
if(flag)
SendData(LED_acess[a[num]]|0x80);
else
SendData(LED_acess[a[num]]);
}
storge=high;
}
void Time0(void) interrupt 1 using 0 /*定时器0中断*/
{
EA=0;
TH0=0x3c;/*五十毫秒*/
TL0=0xb0;
time_NUM++;
EA=1;
}
void Init(void) /*初始化函数*/
{
// WDTRST=0x1e;
IE=IE|0x82;
TMOD=TMOD|0x01;
TH0=0x3c;/*五十毫秒*/
TL0=0xb0;
TR0=1;
time_con=57600;
show();
P0=0Xfe;
/* CHPENR=0x87;
CHPENR=0x59;
CHPCON=CHPCON|0x10;
CHPENR=0X00; 片外存储器使能*/
}
void mul_time(void)
{
time_con++;
time_T=time_con;
a[5]=time_T%10;
time_T=time_T/10;
a[4]=time_T%6;
time_T=time_T/6;
a[3]=time_T%10;
time_T=time_T/10;
a[2]=time_T%6;
time_T=time_T/6;
a[1]=time_T%10;
a[0]=time_T/10;
}
void main(void) /*主函数*/
{
Init();
while(1)
{
if(time_NUM>=20)
{
time_NUM=0;
mul_time();
flag=!flag;
}
show();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -