找回密码
 立即注册

QQ登录

只需一步,快速开始

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

想实现0-59循环的单片机秒表,以下主程序该怎么改呢?

[复制链接]
跳转到指定楼层
楼主
  1. #include<reg52.h>
  2. #include <intrins.h>
  3. typedef unsigned int a1;
  4. typedef unsigned char b2;
  5. unsigned char code DuanMa[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  6. unsigned char Dis_dat[];
  7. unsigned char sec=00;

  8. void delay(a1 i)
  9. {
  10.   while(i--);
  11. }

  12. void DisplaySMGwei(b2 pos)
  13. {
  14.   P2=(P2&0x1f)|0xc0;
  15.   P0=0x01<<pos;
  16. }
  17. void DisplaySMGdat(b2 dat)
  18. {
  19.   P2=(P2&0x1f)|0xe0;
  20.   P0=dat;
  21. }

  22. void datapros()
  23. {
  24.   if(sec<60)
  25.   {
  26.     sec++;
  27.   }
  28.   else
  29.   {
  30.     sec=00;
  31.   }
  32. Dis_dat[0]=DuanMa[sec/10];
  33. Dis_dat[1]=DuanMa[sec%10];
  34. }

  35. void SMG_Dynamic()
  36.   {         
  37.      b2 i;
  38.      for(i=0;i<2;i++)
  39.          {
  40.             switch(i)
  41.                 {
  42.                   case 0:DisplaySMGwei(0);break;
  43.                   case 1:DisplaySMGwei(1);break;
  44.                 }
  45.            DisplaySMGdat(Dis_dat[i]);
  46.            delay(500);
  47.          }
  48.   }

  49. void Delay100ms()                //@12.000MHz
  50. {
  51.         unsigned char i, j, k;

  52.         _nop_();
  53.         _nop_();
  54.         i = 5;
  55.         j = 144;
  56.         k = 71;
  57.         do
  58.         {
  59.                 do
  60.                 {
  61.                         while (--k);
  62.                 } while (--j);
  63.         } while (--i);
  64. }

  65. void main()
  66. {
  67.   a1 x=50;
  68.   while(1)
  69.   {
  70.             datapros();
  71.         Delay100ms();
  72.          while(x--)
  73.          {
  74.           SMG_Dynamic();
  75.          }
  76.   }
  77. }
复制代码

212335lral9g19br7779dy.png (132.59 KB, 下载次数: 55)

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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