請教基於AT89C51或者C52微控制器的數字時鐘設計完整的電路圖和程式

我發了~~總共有3個程式,一次為修改之後的,註釋都很清楚,用5152都可以,程式已經很完善功能有1、時鐘模式在其他模式下,長按k2鍵,均可進入時鐘模式,數碼管顯示“12-00-00”(時間),“-”每秒閃爍一次本時鐘為24小時進位制系統時間為12-00-00,每次掉電重啟後均更新為預設值當時小於10,數碼管第一位不顯示0,即不出現0x的時位顯示短按k

  我發了~~總共有3個程式,一次為修改之後的,註釋都很清楚,用51 52都可以,程式已經很完善

  功能有1、時鐘模式

  在其他模式下,長按k2鍵,均可進入時鐘模式,數碼管顯示“12-00-00”(時間),“-”每秒閃爍一次

  本時鐘為24小時進位制

  系統時間為12-00-00,每次掉電重啟後均更新為預設值

  當時小於10,數碼管第一位不顯示0,即不出現0x的時位顯示

  短按k1鍵,可進入螢幕保護模式

  短按k2鍵,可進入節電模式

  長按k1鍵進入時間設定模式

  長按k2鍵無效

  當鬧鐘鬧鈴時,在該模式下,短按k1或k2鍵均可停止鬧鐘

  2、時間設定模式

  每次掉電重啟後均進入時間設定模式;在時鐘模式下,長按k1鍵,也可進入時間設定模式

  數碼管顯示“c□12.00.00”(□代表該位無顯示,下同),其中,“12”、“00”閃爍

  系統預設時間為12-00-00,每次掉電重啟後均更新為預設值

  短按k1鍵,可遞增調整時鐘時

  短按k2鍵,可遞增調整時鐘分,分、時之間有進位

  長按k1鍵,進入鬧鐘設定模式

  長按k2鍵,進入時鐘模式

  3、鬧鐘設定模式

  在時間設定模式下,長按k1鍵,即進入鬧鐘設定模式,數碼管顯示“12.00□off”,其中,“12”閃爍

  鬧鐘預設時間是12.00(即12時00分),狀態為關閉(off),每次掉電重啟後均更新為預設值

  短按k1鍵,可依次對12(鬧鐘時)、00(鬧鐘分)、off(鬧鐘開關)選中,選中項閃爍。每次進入該模式預設為12(鬧鐘時)選中

  當選中項為12(鬧鐘時)時,短按k2鍵,可遞增調整鬧鐘時

  當選中項為00(鬧鐘分)時,短按k2鍵,可遞增調整鬧鐘分。分、時之間無進位

  當選中項為off(鬧鐘開關)時,短按k2鍵,可開啟鬧鐘,再次短按k2鍵即關閉

  鬧鐘每響過一次後自動關閉

  當鬧鐘鬧鈴時,在時鐘模式下,短按k1或k2鍵均可停止鬧鐘。其他模式下無此功能

  長按k1鍵進入秒錶模式

  長按k2鍵進入時鐘模式

  4、秒錶模式

  在鬧鐘設定模式下,長按k1鍵,即進入秒錶模式,數碼管顯示“□00-00.00”

  秒錶預設為歸零,即00(分)-00(秒).00(毫秒),每次啟動均為預設值,退出時自動清零

  短按k2鍵開始計時,再次短按k2鍵停止計時,再次短按k2鍵繼續計時

  當計時超過99分59秒99後,秒錶歸零溢位,數碼管第一位閃爍“e”(error)字,提示溢位錯誤,即“e00-00.00”

  在秒錶停止計時時,短按k1鍵清零。正在計時時,該鍵無效,按下無操作

  長按k1或k2鍵均進入時鐘模式,並自動清零

  5、螢幕保護模式

  在時鐘模式下,短按k1鍵,即可進入螢幕保護模式,數碼管流水迴圈顯示“hello□”

  短按k1或k2鍵、長按k1或k2鍵,均返回時鐘模式

  當鬧鐘鬧鈴時,在該模式下,短按k1或k2鍵均可停止鬧鐘,並返回時鐘模式

  6、節電模式

  在時鐘模式下,短按k2鍵,即可進入節電模式,數碼管全部關閉,僅留最後一個小數點每5秒閃爍一次,作為電源指示。系統時鐘正常走時

  節電模式下的功率消耗比正常模式低4—5倍

  短按k1或k2鍵、長按k1或k2鍵,均返回時鐘模式

  當鬧鐘鬧鈴時,在該模式下,短按k1或k2鍵均可停止鬧鐘,並返回時鐘模式

  7、其他

  按鍵按下後,0.05s—0.5s內放開,認為是短按;0.5s—2s內放開,認為是無效操作;2s後放開,認為是長按

  一次按下2s以上只算作一次長按,次數不隨時間累加

  你好 想要什麼樣子的都有

  http://hi.baidu.com/lyzhangxiang/blog/item/0c316e238af80ca84623e883.html

  請教基於at89c51或者c52微控制器的數字時鐘設計完整的電路圖、設計方法和程式

  #include

  #define uchar unsigned char#define uint unsigned intuchar code tab=;

  uchar count,sec,min,hour;

  bit flag;

  void delay(uint ms)

  void main() }

  }}p2=0xfe; //位碼

  p0=tab[hour/10];//段碼

  delay(5); //保持亮度

  p2=0xfd;

  p0=tab[hour%10];

  delay(5);

  p2=0xfb;

  p0=tab[10];

  delay(5);

  p2=0xf7;

  p0=tab[min/10];

  delay(5);

  p2=0xef;

  p0=tab[min%10];

  delay(5);

  p2=0xdf;

  p0=tab[10];

  delay(5);

  p2=0xbf;

  p0=tab[sec/10];

  delay(5);

  p2=0x7f;

  p0=tab[sec%10];

  delay(5);} }

  void time0() interrupt 1}

  彭華哥哥 網上** 是不是 把 東西的 款式 你說是什麼**啊