2051温控器c语言程序,2051电子钟C程序.doc
2051電子鐘C程序
/***************************************/
//clock.c
//單片機電子鐘C語言程序 XSCLK V1.0
//MCU:AT89C2051 晶振頻率:12MHZ
//編寫:舒新生 日期:2007-11-23
/***************************************/
//***************************************/
#include //頭文件包含
#define uchar unsigned char//宏定義
#define uint unsigned int
#define ON 0//定義0為打開
#define OFF 1//定義1為關閉
#define LEDBus P1//定義p1口為數碼管段碼口
sbit MIAO =P1^2;//秒點
sbit HOU_S=P3^0;//時十位位選
sbit HOU_G=P3^1;//時個位位選
sbit MIN_S=P3^2;//分十位位選
sbit MIN_G=P3^3;//分個位位選
sbit H_KEY=P3^4;//時調整鍵
sbit M_KEY=P3^5;//分調整鍵
bit SHAN;//閃爍標志位
uchar second,minute,hour;//定義秒、分、時寄存器
uchar code LEDTab[]={0x14,0xd7,0x4c,//數碼管段碼表0--9
0x45,0x87,0x25,0x24,0x57,0x04,0x05};
void delay(uchar t);//延時函數
void init();//初始化函數
void display();//顯示函數
void min_tiao();//分調整函數
void hou_tiao();//時調整函數
/***************************************
函 數 名:main
功 能:主函數
說 明:
入口參數:無
返 回 值:無
****************************************/
void main()
{
init();//調用初始化函數
while(1)//主程序循環
{
if(!H_KEY) hou_tiao();//如果時調整鍵按下(為0),調用時調整函數
if(!M_KEY) min_tiao();//如果分調整鍵按下(為0),調用分調整函數
display();//調用顯示函數
}
}
/***************************************
函 數 名:init
功 能:初始化函數
說 明:初始化定時器及中斷
入口參數:無
返 回 值:無
***************************************/
void init()
{
TMOD=1;TH0=0X3C;TL0=0XB0;//定時器0模式1,50毫秒
ET0=1;TR0=1;EA=1;//開定時器0中斷、啟動定時器0、開總中斷
}
/***************************************
函 數 名:display
功 能:顯示函數
說 明:
入口參數:無
返 回 值:無
***************************************/
void display()
{
LEDBus=LEDTab[minute%10];//分個位送數碼管顯示
MIAO=SHAN;//秒點閃爍
MIN_G=ON;//打開分個位位選
delay(1);//顯示1毫秒
MIN_G=OFF;//關閉分個位位選
LEDBus=LEDTab[minute/10];//分十位送數碼管顯示
MIAO=SHAN;//秒點閃爍
MIN_S=ON;//打開分十位位選
delay(1);//顯示1毫秒
MIN_S=OFF;//關閉分十位位選
LEDBus=LEDTab[hour%
總結
以上是生活随笔為你收集整理的2051温控器c语言程序,2051电子钟C程序.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux生成表格文件大小,如何为lin
- 下一篇: 数码显示实验报告C语言,数码问题C语言A