找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1519|回复: 0
收起左侧

一万秒带小数点计时单片机C程序+Proteus仿真

[复制链接]
ID:336397 发表于 2019-10-11 13:48 | 显示全部楼层 |阅读模式
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei截图20191011134557.png
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. uchar Count;
  6. sbit Dot = P0^7;
  7. uchar code DSY_CODE[]=
  8. {
  9.          0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
  10. };

  11. uchar Digits_of_6DSY[]={0,0,0,0,0,0};

  12. void DelayMS(uint x)
  13. {
  14.          uchar i;
  15.         while(--x)
  16.         {
  17.                  for(i=0;i<120;i++);
  18.         }
  19. }

  20. void main()
  21. {
  22.          uchar i,j;
  23.         P0 = 0x00;
  24.         P3 = 0xff;
  25.         Count =0;
  26.         TMOD = 0x01;
  27.         TH0  = (65535-50000)/256;
  28.         TL0  = (65535-50000)%256;
  29.         IE = 0x82;
  30.         TR0 = 1;
  31.         while(1)
  32.         {
  33.                  j = 0x7f;
  34.                 for(i=5;i!=-1;i--)
  35.                 {
  36.                          j=_crol_(j,1);
  37.                         P3 = j;
  38.                         P0 = DSY_CODE[Digits_of_6DSY[i]];
  39.                         if(i==1) P0 |= 0x80;
  40.                         DelayMS(2);
  41.                 }
  42.         }
  43. }

  44. void Time0() interrupt 1
  45. {
  46.          uchar i;
  47.         TH0  = (65535-50000)/256;
  48.         TL0  = (65535-50000)%256;
  49.         if(++Count !=2) return;
  50.         Count = 0;
  51.         Digits_of_6DSY[0]++;
  52.         for(i=0;i<=5;i++)
  53.         {
  54.                  if(Digits_of_6DSY[i] == 10)
  55.                 {
  56.                          Digits_of_6DSY[i] = 0;
  57.                         if(i != 5) Digits_of_6DSY[i+1]++;
  58.                 }
  59.                 else break;
  60.         }
  61. }
复制代码
全部资料51hei下载地址:
100000秒计时程序.zip (20.22 KB, 下载次数: 8)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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