找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4651|回复: 0
打印 上一主题 下一主题
收起左侧

单灯闪烁 单片机程序源码

[复制链接]
跳转到指定楼层
楼主
单灯闪烁程序


  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.         }
复制代码


下载:
单灯闪烁.rar (15.07 KB, 下载次数: 11)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表