音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

電子鬧鐘程序

作者:renhair 欄目:單片機(jī)
電子鬧鐘程序
用C51編寫的源程序:
#pragma db code
#include <reg51.h >                  /*包含器件配置文件*/
#define uCHAR unsigned CHAR
#define uint unsigned int
sbit P1_0=P1^0;                    /*定義P口*/
sbit P1_1=P1^1;                  
sbit P1_2=P1^2;                   
sbit P1_3=P1^3;                  
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit P1_6=P1^6;                 
sbit P1_7=P1^7;                 
sbit P3_0=P3^0;                    
sbit P3_1=P3^1;
sbit P3_2=P3^2;          
sbit P3_3=P3^3;          
sbit P3_4=P3^4;          
sbit P3_5=P3^5;  
sbit P3_6=P3^6;          
sbit P3_7=P3^7;

CHAR DATA_7SEG[10]={0xC0,0xF9,0xA4,0xB0,0x99, 0x92,0x82,0xF8,0x80,0x90};/*0~9的數(shù)碼管段碼*/
uCHAR hour=0,min=0,sec=0;                /*時、分、秒單元清零*/
uCHAR deda=0;                                  /*5mS計數(shù)單元清零*/
uCHAR t_hour=0,t_min=0;                   /*鬧時時、分單元清零*/
bit d_05s=0;                             /*0.5秒標(biāo)志*/
bit o_f=0;                                         /*鬧時啟/停標(biāo)志*/
uCHAR set=0;                                      /*模式設(shè)定標(biāo)志*/
uCHAR m=0;
uCHAR flag=0;                                     /*RAM掉電標(biāo)志*/
void delay(uint k);                              /*延時子函數(shù)*/
void conv();                                       /*走時單元轉(zhuǎn)換*/
void p_out();                                      /*判別鬧時到否子函數(shù)*/
void dirve();                                       /*走時時間輸出驅(qū)動子函數(shù)*/
void t_dirve();                                    /*鬧時時間輸出驅(qū)動子函數(shù)*/

/*鬧時啟/停子函數(shù)*/
void time1_of()                                  
{
uCHAR m;
       if(P3_7==0)delay(1);
       if(P3_7==0)o_f=1;
       for(m=0;m<30;m++)
              {
              t_dirve();
              P1=DATA_7SEG[t_min/10];P3=0xfd;delay(1);
              if(P3_1==0){if(o_f==1)P1_7=0;}else P1_7=1;
              delay(1);
              }
       if(P3_5==0)delay(1);
       if(P3_5==0) o_f=0;
       for(m=0;m<30;m++)
              {
              t_dirve();
              P1=DATA_7SEG[t_min/10];P3=0xfd;delay(1);
              if(P3_1==0){if(o_f==1)P1_7=0;else P1_7=1;}
              delay(1);
              }
}

/*走時函數(shù)*/
void time()
{
conv();                                              /*走時單元轉(zhuǎn)換*/
dirve();                                              /*走時時間輸出驅(qū)動子函數(shù)*/
p_out();                                             /*判別鬧時到否子函數(shù)*/
}

/*定時器T0  5mS初始化*/
void init_timer()
{
TMOD=0x01;
TH0=-(4800/256);
TL0=-(4800%256);
IE=0x82;
TR0=1;
}

/*掃描按鍵子函數(shù)*/
void scan_key()
{
delay(1);
if(P3_4==0)set++;
if(set>=4)set=0;
if(set==1)flag=0x55;
F0:if(P3_4==0)goto F0;                      /*按鍵未釋放,在此等候*/
}

/*延時子函數(shù)*/
void delay(uint k)
{uint i,j;
for(i=0;i<k;i++)
2樓: >>參與討論
xc_cz
貼這么長程序是什么意思?
是程序共享還是有問題討論?

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請推薦一能完成二分頻功能的芯片
51單片機(jī)課程設(shè)計
C語言
NAND FLASH忽悠記
看看行不行
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號