找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5901|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

51簡單電子秒表顯示器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:255802 發(fā)表于 2017-11-30 18:37 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
51單片機實現(xiàn)簡單的電子秒表顯示器
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include<reg51.h>
  2. #define LED P2

  3. char led_mod[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; //顯示字模

  4. sbit Ws = P3^0;          //十位碼管位選
  5. sbit Wg = P3^1;          //個位碼管位選

  6. bit Y = 0;                                 //長定時溢出標記
  7. unsigned char t = 0;        //定時溢出次數(shù)
  8. unsigned char count;        //60秒計數(shù)

  9. void Timeshow(void);                 //數(shù)碼管顯示函數(shù)聲明
  10. void delay(unsigned char time);                 //延時函數(shù)聲明

  11. void main()
  12. {
  13.         TMOD = 0x01;  //T0定時器方式1
  14.         TH0 = 0x3c;          //裝初值,定時50ms
  15.         TL0 = 0xb0;
  16.         ET0 = 1;          //開定時器0中斷
  17.         EA = 1;                  //開總中斷
  18.         TR0 = 1;          //啟動定時器

  19.         while(1)
  20.         {               
  21.                 if(Y)
  22.                 {
  23.                         Y = 0;                        //清溢出標志位
  24.                         count++;               
  25.                         if(count>=60)
  26.                         count = 0;        //計數(shù)至60時重新從0計起
  27.                 }
  28.                 Timeshow();
  29.         }
  30. }

  31. void Timeshow(void)
  32. {
  33.         unsigned char shi, ge;
  34. //        unsigned char j;
  35.         shi = count/10;                    //計數(shù)十位
  36.         ge = count%10;                        //計數(shù)個位
  37.         Ws = 0;
  38.         Wg = 1;                                        //個位數(shù)碼管使能
  39.         LED = ~led_mod[ge];
  40.                
  41.         delay(10);
  42. //        j = 10;                 //掃描間隔時間設(shè)定
  43. //  while(j--);
  44.         LED = 0xff;   //數(shù)碼管清零,消影作用
  45.         delay(10);


  46.         Ws = 1;                                        //十位數(shù)碼管使能
  47.         Wg = 0;
  48.         LED = ~led_mod[shi];

  49.         delay(10);
  50. //        j = 10;                 //掃描間隔時間設(shè)定
  51. //  while(j--);
  52. ……………………

  53. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
電子秒表顯示器.zip (60.28 KB, 下載次數(shù): 33)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表