標(biāo)題:
超級(jí)簡(jiǎn)單程序 單片機(jī)三條線 控制八位數(shù)碼管,帶仿真!74HC595數(shù)碼管
[打印本頁]
作者:
Yin89c52
時(shí)間:
2020-3-9 21:13
標(biāo)題:
超級(jí)簡(jiǎn)單程序 單片機(jī)三條線 控制八位數(shù)碼管,帶仿真!74HC595數(shù)碼管
51hei.png
(32.27 KB, 下載次數(shù): 57)
下載附件
2020-3-12 23:34 上傳
單片機(jī)源程序如下:
#include<reg52.h>
#include<intrins.h>
typedef unsigned char uchar;
typedef unsigned int uint;
#define date P0
#define count 50000
#define TH_0 (65536-count)/256
#define TL_0 (65536-count)%256
sbit ds=P0^1;
sbit sh_cp=P0^0;
sbit st_cp=P0^2;
uchar diss[8];
uchar code distab[17] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};
uint sec=0,min=0,hour=0;
void delay(uint iii)
{
while(iii--);
}
void hc595(uchar dat)
{
uchar i;
for(i=0;i<8;i++)
{
sh_cp=0;
_nop_();
_nop_();
ds=dat>>7;
dat=dat<<1;
sh_cp=1;
_nop_();
_nop_();
}
}
void ds_dat_txd()//鎖存發(fā)送
{
st_cp=0;
_nop_();
_nop_();
st_cp=1;
_nop_();
_nop_();
}
void display()
{
uchar i=0,dat=0;
for(dat=0xfe;dat!=0xff;dat=dat<<1|0x01)
{
hc595(dat);//先發(fā)送位碼
hc595(distab[diss[i++]]);//段碼,
ds_dat_txd(); //發(fā)送
if(i==8)i=0;
delay(100);
hc595(0x00); //消隱
ds_dat_txd();
}
}
void disss()
{
diss[0]=hour/10;
diss[1]=hour%10;
diss[2]=16;
diss[3]=min/10;
diss[4]=min%10;
diss[5]=16;
diss[6]=sec/10;
diss[7]=sec%10;
}
void timer0_init()
{
TMOD=0x01;
EA=1;ET0=1;TR0=1;
TH0=TH_0;TL0=TL_0;
}
void main()
{
timer0_init();
while(1)
{
display();
disss();
}
}
void timer0() interrupt 1
{
static uchar j;
TH0=TH_0;TL0=TL_0;
if(++j==20)
{
j=0;
sec++;
if(sec==60)
{
sec=0;
min++;
if(min==60)
{
min=0;
hour++;
if(hour==24)
{
hour=0;
}
}
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
三個(gè)IO控制八位數(shù)碼管.zip
(127.8 KB, 下載次數(shù): 68)
2020-3-9 21:12 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
sun5304
時(shí)間:
2020-3-29 09:08
新手正在學(xué)習(xí),感謝樓主提供!謝謝!
作者:
3wjkdhus
時(shí)間:
2024-11-8 19:37
如若需要顯示帶小數(shù)點(diǎn)該怎么弄
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1