找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

單燈閃爍 單片機(jī)程序源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
單燈閃爍程序


  1. #include<reg52.h>

  2. sbit ADDRO=P1^0;
  3. sbit ADDRl=P1^1;
  4. sbit ADDR3=P1^3;
  5. sbit ENLED=P1^4;

  6. unsigned char code LedChar[] = {
  7.                 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
  8.                 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E
  9. };       
  10. unsigned char LedBuff[6] =
  11.                 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
  12. };

  13. void main()
  14.        
  15.         unsigned char i = 0;
  16.         unsigned int cnt = 0;
  17.         unsigned long sec =0;


  18.         ENLED = 0;
  19.         ADDR3 = 1;
  20.         TMOD = 0x01;
  21.         THO  = 0xFC;
  22.         TL0 = 0x67;
  23.         TR0   = 1;

  24.         while(1)
  25.                 {
  26.                         if(TF0 == 1)
  27.                         {
  28.                                 TF0 = 0;
  29.                                 TH0 = 0xFC;
  30.                                 TL0 = 0x67;
  31.                                 cnt++;
  32.                                 if(cnt>= 1000)
  33.                                 {
  34.                                         cnt = 0;
  35.                                         sec++;
  36.                                         LedBuff[0] = LedChar[ sec % 10];
  37.                                         LedBuff[1] = LedChar[ sec/10 % 10];
  38.                                         LedBuff[2] = LedChar[ sec/100 % 10];
  39.                                         LedBuff[3] = LedChar[ sec/1000 % 10];
  40.                                         LedBuff[4] = LedChar[ sec/10000 % 10];
  41.                                         LedBuff[5] = LedChar[ sec/100000 % 10];
  42.                                 }
  43.                                 switch(i)
  44.                                 {
  45.                                         case 0: ADDR2 = 0; ADDR1 = 0; ADDR0 = 0; i++; P0=LedBuff[0]; break;
  46.                                         case 1: ADDR2 = 0; ADDR1 = 0; ADDR0 = 0; i++; P0=LedBuff[1]; break;
  47.                                         case 2: ADDR2 = 0; ADDR1 = 0; ADDR0 = 0; i++; P0=LedBuff[2]; break;
  48.                                         case 3: ADDR2 = 0; ADDR1 = 0; ADDR0 = 0; i++; P0=LedBuff[3]; break;
  49.                                         case 4: ADDR2 = 0; ADDR1 = 0; ADDR0 = 0; i++; P0=LedBuff[4]; break;
  50.                                         case 5: ADDR2 = 0; ADDR1 = 0; ADDR0 = 0; i++; P0=LedBuff[5]; break;
  51.                                         default: break;
  52.                                 }
  53.                         }
  54.                 }
  55.         }
復(fù)制代碼


下載:
單燈閃爍.rar (15.07 KB, 下載次數(shù): 11)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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