資源簡介
/*******************6604第一次作品(數字時鐘)~~~主講:伍修全*/
/**基本功能:1、顯示時間。2、可用按鍵調整時間。3、使用定時器**/
/**擴展功能:1、可設置鬧鈴。2、年、月、日顯示。3、倒計時功能。4、整點報時功能************/
/**程序設計:吳彬。~~2009-07-19**/
代碼片段和文件信息
/*******************6604第一次作品(數字時鐘)~~~主講:伍修全*/
/**基本功能:1、顯示時間。2、可用按鍵調整時間。3、使用定時器**/
/**擴展功能:1、可設置鬧鈴。2、年、月、日顯示。3、倒計時功能。4、整點報時功能************/
/**程序設計:吳彬。~~2009-07-19**/
#include?
#define?uchar?unsigned?char
#define?uint?unsigned?int
sbit?s5=P3^5;?? ?//s5按鍵設置調時
sbit?s3=P3^3;?? ?//s3按鍵加1
sbit?s4=P3^4;? //s4按鍵減1
sbit?s2=P3^2;? //s2按鍵切換顯示
sbit?fm?=?P1^7; ? //蜂鳴器
sbit?led1=P1^0;
sbit?led2=P1^1;
sbit?led3=P1^2;
sbit?led4=P1^3;
sbit?led5=P1^4;
uchar?code?tab[11]?=??? ???//數碼管編碼
{0x3f0x060x5b0x4f ???
?0x660x6d0x7d0x07
?0x7f0x6f0x40 };
uchar?code?scan[8]?=???????????//數碼管位選編碼
{0xfe0xfd0xfb0xf7
?0xef0xdf0xbf0x7f};
uchar?chunshu[8]?=?{0}; ???//存放時、分、秒 并初始化
uchar?table1[]={31312931303130313130313031};?//閏年
uchar?table2[]={31312831303130313130313031};?//非閏年
uchar?num;
//uint?DAO;
//uchar?DelayA;?//鬧鐘鬧的時間
//uchar?QIAN; ??//倒計時(倒計時的最大數位為:“千位”)的千、百、十、個位
//uchar?BAI;
//uchar?SIH;
//uchar?GE;
uchar?K;
uchar?t;
uchar?x;
uchar?index;
uchar?d_sec;???//調節倒計時的時、分、秒
uchar?d_hour;
uchar?d_min;
uchar?sec;
uchar?hour;
uchar?min;
uchar?i;
uchar?j;
uchar?nz_hour; ?//鬧鐘的時、分、秒
uchar?nz_min;
uchar?nz_sec;
uchar?day; //年、月、日
uchar?week;
uchar?mon;
uint?year;
uchar?set_2=1set_5=1;
void?delay(uchar?K);?????// ?????延時子程序
void?cshu();?????????????// ?????緩存區
//void?LED(); ? ?????????// ?????時間顯示子程序
void?turn();? ?????????// ?????調時子程序
void?init();?????????????//??????初始化子程序
void?key();?????????? ?//按鍵控制時、分、秒
void?key_change(); ?//切換顯示按鍵函數
void?key_set();? //設置時間按鍵函數
void?set_time(); ??//設置時間函數
void?set_mdw();? //設置月日星期函數
void?set_djshi(); //設置“倒計時”?
LED_RET_TIME(); //顯示“倒計時”
//void?LED_RET_TIMEdjshi();
void?LED_DATE(); ???//日期顯示函數
void?LED_KING();?? //鬧鐘顯示函數
void?LED_TIME(); ?//(時間顯示函數)顯示時、分、秒
void?zd_clock();????????//整點報時函數
void?nz_clock();??????//鬧鐘函數
uint?decone(uint?m); ??//減“1”函數
uint?incone(uint?n);???//加“1”函數
void?set_clock(); ???//設置鬧鐘函數
/****************************主程序**************************/
void?main()
{
init();
hour?=?12;???//給時分秒賦初值(要放在while?循環的外面),可以改變初值
min?=?59;
sec?=?50;
year?=?2009;?//給年、月、日賦初值
mon?=?11;
day?=?25;
nz_hour?=?12;//?給鬧鐘賦初值
nz_min?=?58;
nz_sec?=?50;
d_hour?=?12;???
d_min?=?0;
d_sec?=?0;
// DAO?=?0;//給倒計時賦初值
while(1)
{
//
// if(hour?==?nz_hour?&&?min?==?nz_min) //設置鬧鐘的條件
// {
// DelayA?=?30; //?(陸老師)中斷延時控制鬧鐘是否叫
// }
// chunshu[0]?=?(year/1000);?//月日-星期MM.DD.-W
// chunshu[1]?=?((year%1000)/100);
// chunshu[2]?=?((year%100)/10);
// chunshu[3]?=?(year%10);
// chunshu[4]?=?(mon/10);
// chunshu[5]?=?(mon%10);
// chunshu[6]?=?(day/10);
// chunshu[7]?=?(day%10);
// chunshu[0]?=?nz_hour/10;?//鬧鐘定時HH.MM.SS
// chunshu[1]?=?nz_hour%10;
// chunshu[2]?=?10;
// chunshu[3]?=?nz_min/10;
// chunshu[4]?=?nz_min%10;
// chunshu[5]?=?10;
// chunshu[6]?=?nz_sec/10;
// chunshu[7]?=?nz_sec%10; ??
key_change();
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4288??2009-07-17?13:37??第一次\最終程序\(完成)數字時鐘\1.hex
?????文件?????????53??2009-07-17?13:37??第一次\最終程序\(完成)數字時鐘\1.lnp
?????文件??????24392??2009-07-17?13:37??第一次\最終程序\(完成)數字時鐘\1.M51
?????文件????????441??2009-07-17?13:40??第一次\最終程序\(完成)數字時鐘\1.plg
?????文件??????19889??2009-07-19?10:37??第一次\最終程序\(完成)數字時鐘\10
?????文件???????4979??2009-07-19?10:37??第一次\最終程序\(完成)數字時鐘\10.hex
?????文件?????????54??2009-07-19?10:37??第一次\最終程序\(完成)數字時鐘\10.lnp
?????文件??????28919??2009-07-19?10:37??第一次\最終程序\(完成)數字時鐘\10.M51
?????文件????????320??2009-07-19?10:44??第一次\最終程序\(完成)數字時鐘\10.plg
?????文件??????20036??2009-07-19?11:21??第一次\最終程序\(完成)數字時鐘\11
?????文件???????5077??2009-07-19?11:21??第一次\最終程序\(完成)數字時鐘\11.hex
?????文件?????????54??2009-07-19?11:21??第一次\最終程序\(完成)數字時鐘\11.lnp
?????文件??????29030??2009-07-19?11:21??第一次\最終程序\(完成)數字時鐘\11.M51
?????文件???????5576??2009-07-19?11:22??第一次\最終程序\(完成)數字時鐘\11.plg
?????文件??????17173??2009-07-17?13:40??第一次\最終程序\(完成)數字時鐘\2
?????文件???????4497??2009-07-17?13:40??第一次\最終程序\(完成)數字時鐘\2.hex
?????文件?????????53??2009-07-17?13:40??第一次\最終程序\(完成)數字時鐘\2.lnp
?????文件??????24392??2009-07-17?13:40??第一次\最終程序\(完成)數字時鐘\2.M51
?????文件????????192??2009-07-17?13:43??第一次\最終程序\(完成)數字時鐘\2.plg
?????文件??????17152??2009-07-17?16:39??第一次\最終程序\(完成)數字時鐘\3
?????文件???????4360??2009-07-17?16:39??第一次\最終程序\(完成)數字時鐘\3.hex
?????文件?????????53??2009-07-17?16:39??第一次\最終程序\(完成)數字時鐘\3.lnp
?????文件??????24179??2009-07-17?16:39??第一次\最終程序\(完成)數字時鐘\3.M51
?????文件???????4992??2009-07-17?16:40??第一次\最終程序\(完成)數字時鐘\3.plg
?????文件??????19665??2009-07-19?09:33??第一次\最終程序\(完成)數字時鐘\4
?????文件???????4922??2009-07-19?09:33??第一次\最終程序\(完成)數字時鐘\4.hex
?????文件?????????53??2009-07-19?09:33??第一次\最終程序\(完成)數字時鐘\4.lnp
?????文件??????28386??2009-07-19?09:33??第一次\最終程序\(完成)數字時鐘\4.M51
?????文件????????599??2009-07-19?09:33??第一次\最終程序\(完成)數字時鐘\4.plg
?????文件??????19665??2009-07-19?09:52??第一次\最終程序\(完成)數字時鐘\5
............此處省略562個文件信息
評論
共有 條評論