久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: [原創(chuàng)][分享]新手寫的多功能電子鐘 [打印本頁]

作者: chenqw    時間: 2009-5-27 20:33
標題: [原創(chuàng)][分享]新手寫的多功能電子鐘

剛學的單片機,下面的程序是在學習中斷和定時器時寫的,已調(diào)試通過,
多功能電子鐘有如下功能:
1,可以用來做電子鐘
2,可以用做報警器(按P3.2時,用做報警)
3,可以用做鬧鐘(按P1.6時,用做鬧鐘)
4,可以顯示星期
程度當中還有好多的不妥之處,還請高手門幫忙指正.
程序如下:
(由于注解太多,所以沒有能寫出來,請見諒!!),制作成功后的圖片如附件.
內(nèi)容如下:

#include <AT89X51.H>
#define uchar unsigned char
#define uint unsigned int
uchar code dispcode[]={0x81,0x9f,0xa4,0x8c,0x9a,0xc8,0xc0,0x9d,0x80,0x88};
uchar code DATA[]={0xfc,0x92,0x98,0xac,0x89,0x01,0x5c,0x80,0x88};
uchar dispbitcode[]={0xfe,0xfd,0xfb,0xf7};
uchar dispbuf[8]={0,0,0,0};
uchar dispbitcnt;
uchar second,minite,hour,day;
uchar clockhour,clockminite;
uint tcnt;
uchar mstcnt;
uchar t;
uint a;
//上面的是定義各個變量和數(shù)碼管緩存
void yanshi(uint t)
{
for(;t>0;t--);
}//延時子程序

void beep()
{
while(hour<clockhour){
for(a=0;a<1000;a++)
{yanshi(5);
P1_4=~P1_4;}
for(a=0;a<1000;a++)
{yanshi(5);
P1_4=~P1_4;}
for(a=0;a<5000;a++)
{yanshi(6);
P1_4=~P1_4;}
if(P3_6==0){break;}}
while(minite<clockminite){
for(a=0;a<1000;a++)
{yanshi(5);
P1_4=~P1_4;}
for(a=0;a<1000;a++)
{yanshi(5);
P1_4=~P1_4;}
for(a=0;a<5000;a++)
{yanshi(6);
P1_4=~P1_4;}
if(P3_6==0){break;}}}//報警子程序(P1.4接的是BEEP,P3.6為O時跳出)

void baojing()
{
if(P1_7==0){
yanshi(500);
if(P1_7==0){
while(1){
if(P1_7==1){
while(1){
beep();
if(P3_6==0)
{break;}}}
if(P3_6==0){break;}}}}}//報警執(zhí)行子程序(用P1.7做信號檢測腳,同樣當P3.6為0時跳出)

void clock()
{
if(P3_3==0){yanshi(500);
if(P3_3==0){clockminite++;
if(clockminite==60)
{clockminite=0;}
dispbuf[3]=clockminite%10;
dispbuf[2]=clockminite/10;             
while(P3_3==0);}}
if(P3_6==0){yanshi(500);
if(P3_6==0){clockhour++;
if(clockhour==24){clockhour=0;}
dispbuf[1]=clockhour%10;
dispbuf[0]=clockhour/10;
while(P3_6==0);}}}//設(shè)定鬧鐘子程序

void key()
{
if(P3_6==0){yanshi(500);
if(P3_6==0){second++;
if(second==60){second=0;}           
while(P3_6==0);}}
if(P3_5==0){yanshi(1000);
if(P3_5==0){minite++;
if(minite==60){minite=0;}
dispbuf[3]=minite%10;
dispbuf[2]=minite/10;
while(P3_5==0);}}
if(P3_7==0){yanshi(500);
if(P3_7==0){hour++;
if(hour==24){hour=0;}
dispbuf[1]=hour%10;
dispbuf[0]=hour/10;
while(P3_7==0);}}
if(P3_4==0){yanshi(500);
if(P3_4==0){day++;
if(day==7){day=0; }
P2=DATA[day];
while(P3_4==0);}}
}//設(shè)定時間子程序

void laozhong()
{
if(hour==clockhour){
if(minite==clockminite){
for(a=0;a<1000;a++)
{yanshi(5);
P1_4=~P1_4;}
for(a=0;a<1000;a++)
{yanshi(5);
P1_4=~P1_4;}
for(a=0;a<5000;a++)
{yanshi(6);
P1_4=~P1_4;}}}}//鬧鐘子程序

void display()
{
dispbuf[3]=minite%10;
dispbuf[2]=minite/10;
dispbuf[1]=hour%10;
dispbuf[0]=hour/10;
P2=DATA[day];
}//顯示子程序

void displayclock()
{
dispbuf[7]=clockminite%10;
dispbuf[6]=clockminite/10;
dispbuf[5]=clockhour%10;
dispbuf[4]=clockhour/10;
}//鬧鐘顯示子程序

void time()
{
tcnt++;
if(tcnt==4000){tcnt=0;
second++;
if(second==60){second=0;
minite++;
if(minite==60){minite=0;
hour++;
if(hour==24){hour=0;
day++;
if(day==7){day=0;}}}}
display();}}//時間子程序

void t0(void) interrupt 1 using 0
{
mstcnt++;
if(mstcnt==4){mstcnt=0;
P0=dispcode[dispbuf[dispbitcnt]];
P1=dispbitcode[dispbitcnt];
P2=DATA[day];
dispbitcnt++;}
if(dispbitcnt==4){dispbitcnt=0;}
time();displayclock();}//中斷

void main(void)
{
TMOD=0x02;
TH0=0x06;
TL0=0x06;
TR0=1;
ET0=1;
EA=1;
while(1)
{
key();clock();
if(P1_6==0)
{while(1){laozhong();
if(P3_6==0){break;}}}
if(P3_2==0){yanshi(10000);
if(P3_2==0){while(1)
{baojing();
if(P3_6==0)
{break;}
}}}}}
//S1:啟動報警器(P3.2)
//S2: clock minite 加(P3.3)
//S3: 星期加(P3.4)
//S4:time minite 加(P3.5)
//S5: clock hour 加/退出報警器(P3.6)
//S6:time hour 加(P3.7)
//P1-7為信號檢測腳


[此貼子已經(jīng)被作者于2009-6-9 9:40:09編輯過]

作者: suzilong0    時間: 2009-5-28 08:56
不錯!!!
作者: suzilong0    時間: 2009-5-28 08:56
如果能用匯編寫就更有挑戰(zhàn)性了。
作者: happymmq    時間: 2009-5-28 15:48
來看看

作者: wkwswz123    時間: 2009-5-28 18:33
學習下

作者: gorgen    時間: 2009-5-28 20:52

新手想學習一下~謝謝了


作者: ab296345271    時間: 2009-5-28 23:07
學習學習
作者: wanzhigangvip    時間: 2009-5-29 10:28

好東西多傳傳啊


作者: huo_jiong_x    時間: 2009-5-29 14:04

好東西多傳傳啊


作者: zhaoyun    時間: 2009-5-29 17:03
拜讀一下
作者: zhaoyun    時間: 2009-5-29 17:11
提個建議好嗎;unsigned int 何不在前面先宏定義為
#define uint unsigned int
編程可以少寫字嘛
作者: soovee    時間: 2009-5-30 15:54
有我需要的部分,謝謝
作者: super1570    時間: 2009-5-30 16:22
學習了
作者: yunting    時間: 2009-5-30 17:27

學習了


作者: ymt    時間: 2009-5-30 21:07
看下,怎么樣。
作者: header    時間: 2009-5-30 21:38

不錯不錯


作者: firecely    時間: 2009-5-30 22:26

good


作者: 123456789    時間: 2009-5-31 08:23
學習中!!!
作者: usp    時間: 2009-5-31 21:43
學習一下
作者: wuchengnian    時間: 2009-5-31 21:55

我也是新手啊


作者: zhshg3928    時間: 2009-6-1 04:33
來看看~~~~~
作者: wangxin2731    時間: 2009-6-2 09:04

學習一下!


作者: jiejkjk    時間: 2009-6-5 15:33
也是新手,學學。
作者: yangyunze    時間: 2009-6-6 14:13
新手


作者: suzilong0    時間: 2009-6-7 14:15
不錯呀!!!
作者: qq307762001    時間: 2009-6-7 16:53
來看看咯
作者: yimajiadian    時間: 2009-6-8 16:28
很想學學
作者: yimajiadian    時間: 2009-6-8 19:19

美中不足:
  對于新手程序應(yīng)該有解釋,不能說每一句都要解釋,最起碼的要有,這個程序上 P1_4;P1_7;P3_3;P3_4;P3_5P3_6P3_7;以及P0;P1;P2;由于沒有電路原理圖,他們都是什么作用?應(yīng)該加以注釋;這樣會更好一些,便于初學者入門,哈哈!當讓行家一看就知道是怎么連接的


作者: keainiu    時間: 2009-6-8 21:25

看看,有實用先仿制


作者: wxl2083    時間: 2009-6-8 22:31
參考一下
作者: chenqw    時間: 2009-6-9 09:34
yimajiadian 
說的是,我當時是嫌麻煩,所以沒有寫上,我從新修改了下
作者: guijdewa    時間: 2009-6-9 19:53
以下是引用wuchengnian在2009-5-31 21:55:35的發(fā)言:

我也是新手啊


作者: lisony    時間: 2009-6-9 20:11

作者: 博悟    時間: 2009-6-9 23:40
 看一下
作者: fly07    時間: 2009-6-10 20:53
學習一下,看看是什么來著
作者: lq44199289    時間: 2009-6-11 08:44
212313113131
作者: Hebe    時間: 2009-6-11 11:20
來學習的

作者: sszx2007    時間: 2009-6-12 00:42

要學習學習!


作者: rayment1199    時間: 2009-6-12 09:25
來借鑒學習~~
作者: hawang    時間: 2009-6-12 12:42
來看看

作者: ZPX688    時間: 2009-6-14 23:25
采用了……學習……
作者: 陳亞軍    時間: 2009-6-15 08:55
看看
作者: 51蝦米    時間: 2009-6-15 11:26
回復一下看看
作者: weizhong    時間: 2009-6-15 11:31

ok


作者: 單行道    時間: 2009-6-15 15:08

學習一下


作者: 心無止境    時間: 2009-6-15 21:54

看一下學習學習.


作者: ageslang    時間: 2009-6-16 10:40

我系新手\


作者: adasfd    時間: 2009-6-16 12:35
看看
作者: jx555110    時間: 2009-6-16 15:11

看看


作者: l583289184    時間: 2009-6-16 15:23
呵呵呵呵呵呵
作者: denghu198810    時間: 2009-6-16 16:01
看一下


作者: 小鵬    時間: 2009-6-16 16:32
   很有誘惑性!
作者: ailu    時間: 2009-6-16 17:54

過來看看我也是學這個的。希望我們 以后常聯(lián)系!


作者: caihonghl    時間: 2009-6-16 20:42

作者: xionggege    時間: 2009-6-17 08:29
來交流一下
作者: chiqlong    時間: 2009-6-17 17:28

只為看不一下


作者: qinaisong66    時間: 2009-6-22 11:48

非常感謝了!!


作者: laibu88    時間: 2009-6-22 14:26
進來看看
作者: oyh499    時間: 2009-6-22 17:12
     學習一下
作者: webster    時間: 2009-6-23 19:42
學習一下啊
作者: haov000    時間: 2009-6-24 21:00

新手,來學習學習


作者: fxq53893    時間: 2009-6-24 21:53

看看


作者: 劉華    時間: 2009-6-25 12:35

看看學習先


作者: peter943    時間: 2009-6-25 15:41
拜讀一下

作者: jmzhou777    時間: 2009-6-26 08:20
看看
作者: wxx4190151    時間: 2009-6-26 17:33

支持


作者: hwppippo    時間: 2009-6-27 14:07
 新手想學習一下
作者: hylxt520    時間: 2009-6-27 22:03

來學習一下


作者: owenql    時間: 2009-6-29 10:38
我也看看,學習下

作者: libingsheng007    時間: 2009-6-29 16:26
拜讀一下

作者: xzhm1314    時間: 2009-6-29 21:29

作者: qiangwhut    時間: 2009-6-29 22:11

作者: weiyuming    時間: 2009-6-30 11:56
看一下

作者: wuyuh    時間: 2009-7-1 17:02
拜讀一下,謝謝啦
作者: lb1064    時間: 2009-7-2 13:26
好東西多傳傳啊
作者: shenhai123    時間: 2009-7-3 16:09
學習學習!!
作者: 學無涯    時間: 2009-7-3 19:12
我也看看
作者: wangbo11456    時間: 2009-7-4 18:38

作者: qq3727726    時間: 2009-7-4 23:38
好東西,值得研究!
作者: 熙風    時間: 2009-7-5 07:54

學習下


作者: a13758777532    時間: 2009-7-5 11:57
共享我的華為編程語法
作者: stenveny    時間: 2009-7-5 21:35
我也剛學
作者: nishibeitina    時間: 2009-7-6 07:41

很好


作者: nishibeitina    時間: 2009-7-6 07:42
有沒有匯編的
作者: wangqiang123    時間: 2009-7-6 12:14

作者: skypy68    時間: 2009-7-7 23:57
不錯 祝賀單片機入門了
作者: qyang263    時間: 2009-7-9 11:03
看一看
作者: a4496216    時間: 2009-7-13 12:04
看下~
作者: hbwuyi    時間: 2009-7-13 16:52

學習了


作者: liupg300    時間: 2009-7-13 17:03
ding
作者: zhouxinming    時間: 2009-7-13 20:39
新手!學習下!
作者: 資本家    時間: 2009-7-15 22:52
學習一下
作者: llm213    時間: 2009-7-16 11:38

拜讀


作者: scut-hqm    時間: 2009-7-17 10:42

學習下


作者: justing88    時間: 2009-7-17 14:40
 好
作者: 張川    時間: 2009-7-17 16:03

來看一下


作者: hayvane    時間: 2009-7-22 08:22
我也看Ian

作者: 死腦筋    時間: 2009-7-22 10:33



作者: tony569966    時間: 2009-7-22 11:04
學習
作者: z981203131    時間: 2009-7-22 11:31
看看




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩电影a | 中文字幕国产精品 | 久久精品一区 | 亚洲午夜视频在线观看 | 伊人久久麻豆 | 久久亚洲一区二区三区四区 | 国产高清精品一区二区三区 | 龙珠z国语版在线观看 | 91精品国产综合久久精品 | 三级黄视频在线观看 | 日韩欧美一区二区三区四区 | 9久久婷婷国产综合精品性色 | 特黄特色大片免费视频观看 | 九热在线 | 欧美精品在线播放 | 亚洲欧洲日韩精品 中文字幕 | 亚洲天堂久久新 | 美国av毛片 | 精品视频久久久久久 | 华人黄网站大全 | 伊人热久久 | 国产精品一区二区精品 | 久久久青草婷婷精品综合日韩 | 中文字幕亚洲无线 | 97精品国产一区二区三区 | 国产美女一区二区 | 一级国产精品一级国产精品片 | 欧美激情在线精品一区二区三区 | 国产精品视屏 | 国产精品国产三级国产aⅴ无密码 | 亚洲免费高清 | 日韩高清av | 成年人精品视频 | 国产高清精品一区二区三区 | 91在线视频播放 | 九九热在线精品视频 | 精品视频免费 | 污污免费网站 | 久久精品视频一区二区三区 | 999国产视频 | 久久精品电影 |