久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
實用的單片機數(shù)碼管時鐘
[打印本頁]
作者:
himanzj
時間:
2016-12-19 10:02
標題:
實用的單片機數(shù)碼管時鐘
本時鐘用stc15w 系列和74hc04 加 3 個按鍵,實現(xiàn)了調(diào)整時間,定時,秒倒計時,速度 4個功能
下面是c 程序
#include <REG51.H>
#define USEC_SYS_CYCLE 2
#include "keybd.h"
#define uchar unsigned char
#define uint unsigned int
#define DSP_DOT 0xfb
#define DSP_NEG 0xfe
#define DOT 0x04
#define ST_CLOCK 0
#define ST_APPOINT 1
#define ST_CNTDWN 2
#define ST_SPEED 3
#define DSPLAY_P P3
unsigned char code DSPLAY[]={0x05,0x7D,0x46,0x54,0x3C,0x94,0x84,0x5D,
0x04,0x14,0x0C,0xA4,0x87,0x64,0x86,0x8E}; //0-f
#define up_hour(h) hour10= h/10;\
hour1= h%10
#define up_minute(m) minute10= m/10;\
minute1= m%10
#define up_speed hour10= 0xff;\
if(speed< 0) \
hour1= DSP_NEG;\
else \
hour1= 0xff;\
minute10= DSPLAY[speed/10];\
minute1=DSPLAY[speed%10]
uchar msec50= 0; //50 milisecond
uchar hour= 1, minute= 20;
uchar secs=0;
uchar app_hour=0, app_minute= 0;
uchar dwn_minute= 0, dwn_sec= 0;
char hour1,hour10;
char minute1,minute10;
char speed= 0;
char state= 0;
// the led display 0
sbit com_h10= P1^3; //the common of led bit
sbit com_h1= P1^0;
sbit com_m10= P1^1;
sbit com_m1= P1^2;
sbit btn_set= P1^7; //the set button
sbit btn_hup= P1^5; //the hour up button
sbit btn_mup= P1^6; //the minute up button
sbit p_sound= P1^4;
char abs(char x)
{
return (x<0 ? -x: x);
}
void tm0_inter() interrupt 1
{
TH0= 0x5b;
TL0= 0x70+ speed;
msec50++;
//every 0.5 sec inteval the second DOT
if( msec50> 10)
{
msec50 = 0;
secs++;
if(state== ST_CLOCK)
{
minute10^= DOT;
minute1^= DOT;
}
if(secs> 18)
{
minute++;
secs= 0;
if(minute> 59)
{
minute= 0;
hour++;
hour%= 24;
}
if(state== ST_CLOCK)
{
up_hour(hour);
up_minute(minute);
}
}
}
else
{
}
}
void main()
{
TMOD= 0x01; //set timer state,
TH0= 0x5b; //set counter init value: 65536- 50000us
TL0= 0xf4; //slow old is ed,fast old f8
ET0= 1; //enable interrupt fot timer 0.
EA= 1;
TR0= 1; //timer 0 run;
up_hour(hour);
up_minute(minute);
while(1)
{
DSPLAY_P= DSPLAY[hour10];
com_h10 = 1;
msDelay(4);
com_h10 = 0;
DSPLAY_P= DSPLAY[hour1];
com_h1 = 1;
msDelay(4);
com_h1 = 0;
DSPLAY_P= DSPLAY[minute10];
com_m10 = 1;
msDelay(4);
com_m10 = 0;
DSPLAY_P= DSPLAY[minute1];
com_m1 = 1;
msDelay(4);
com_m1 = 0;
//the button set pressed
KeyPress(btn_set,{
switch (state)
{
case ST_CLOCK:
{
up_hour(hour);
up_minute(minute);
state= ST_APPOINT;
break;
}
case ST_APPOINT:
{
up_hour(app_hour);
up_minute(app_minute);
state= ST_CNTDWN;
break;
}
case ST_CNTDWN:
{
up_hour(dwn_minute);
up_minute(dwn_sec);
if(dwn_minute && dwn_sec)
{
break;
}
else
{
state= ST_SPEED;
}
break;
}
case ST_SPEED:
{
up_speed;
state= ST_CLOCK;
break;
}
default:
state= ST_CLOCK;
up_hour(hour);
up_minute(minute);
break;
}
});
//the button hour up pressed
KeyPress(btn_hup,{
switch (state)
{
case ST_CLOCK:
{
hour++;
if(hour> 23)
hour= 0;
up_hour(hour);
break;
}
case ST_APPOINT:
{
app_hour++;
if(app_hour> 23)
app_hour= 0;
up_hour(app_hour);
break;
}
case ST_SPEED:
{
speed++;
if(speed> 60)
speed= 0;
break;
}
case ST_CNTDWN:
{
dwn_minute++;
if(dwn_minute> 59)
dwn_minute= 0;
break;
}
default:
break;
}
});
//the button minute up pressed
KeyPress(btn_mup,{
switch (state)
{
case ST_CLOCK:
{
minute++;
if(minute> 59)
minute= 0;
up_minute(minute);
break;
}
case ST_APPOINT:
{
app_minute++;
if(app_minute> 59)
app_minute= 0;
up_minute(app_minute);
break;
}
case ST_SPEED:
{
speed--;
if(speed< -60)
speed= 0;
break;
}
case ST_CNTDWN:
{
dwn_sec++;
if(dwn_sec> 59 )
dwn_sec= 0;
break;
}
default:
break;
}
});
}
}
screenshot.1.jpg
(374.58 KB, 下載次數(shù): 80)
下載附件
2016-12-19 10:00 上傳
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
www.欧美
|
中文在线а√在线8
|
久久国内
|
黄色在线观看国产
|
欧美在线播放一区
|
中文字幕在线第一页
|
91九色麻豆
|
日韩av免费看
|
亚洲一区精品在线
|
精品1区2区
|
亚洲精品久久区二区三区蜜桃臀
|
性天堂网
|
久久久www成人免费无遮挡大片
|
在线观看中文字幕视频
|
伊人影院在线观看
|
中文字幕乱码一区二区三区
|
久久i
|
四虎影院久久
|
久久精品国产一区二区三区
|
99精品视频一区二区三区
|
一级片在线观看
|
日韩av大片免费看
|
亚洲一区免费视频
|
亚洲午夜小视频
|
国产在线中文字幕
|
先锋资源吧
|
欧美综合国产精品久久丁香
|
亚洲一区二区三区在线播放
|
久久久久网站
|
国产精品国产三级国产aⅴ原创
|
精品电影
|
欧洲av在线
|
在线观看视频福利
|
国产一区二区精品在线观看
|
国产女人叫床高潮大片免费
|
日韩精品一区在线
|
高清一区二区视频
|
婷婷桃色网
|
国户精品久久久久久久久久久不卡
|
成人在线观看欧美
|
999久久久
|