找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机制作数码管代码

[复制链接]
ID:201801 发表于 2017-5-17 16:50 | 显示全部楼层 |阅读模式
2.png

  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #define DataPort P1
  4. unsigned char code table[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
  5. sbit SMG1=P3^4;//第一个数码管的位选
  6. sbit SMG2=P3^5;//第2个数码管的位选
  7. sbit SMG3=P3^6;//第3个数码管的位选
  8. sbit SMG4=P3^7;//第4个数码管的位选
  9. void  delayms(unsigned int t) //t ms
  10. {
  11.   unsigned int num,count;
  12.    for(num=t;num>0;num--)
  13.      for(count=200;count>0;count--)
  14.             {
  15.                         _nop_();
  16.                 }
  17. }
  18. //display(1234);
  19. void display(unsigned int num)
  20. {
  21.         DataPort=table[num/1000];
  22.         SMG1=1;          //第一个亮
  23.         delayms(5);
  24.         SMG1=0;

  25.         DataPort=table[num%1000/100];
  26.         SMG2=1;          //第二个亮
  27.     delayms(5);
  28.     SMG2=0;

  29.     DataPort=table[num%100/10];
  30.         SMG3=1;          //第3个亮
  31.     delayms(5);
  32.     SMG3=0;

  33.         DataPort=table[num%10];
  34.         SMG4=1;          //第4个亮
  35.     delayms(5);
  36.     SMG4=0;
  37. }
  38. void timer0_init()
  39. {
  40.         EA=1;//打开总中断
  41.         ET0=1;//打开定时器0的中断
  42.         TMOD|=0x01;//设置成工作方式1 16位定时器
  43.         TH0=(65535-10000)/256; //设置初值
  44.     TL0=(65535-10000)%256;
  45.     TR0=1;//打开定时器
  46. }
  47. unsigned char count;
  48. void main()
  49.   {
  50.    SMG1=SMG2=SMG3=SMG4=0;//数码管的
  51.    timer0_init();
  52.    while (1)
  53.    {
  54.     display(count);
  55.    }
  56.   }
  57. //中断服务函数
  58. void timer0_int()  interrupt 1
  59. {
  60.         static unsigned char num;
  61.         TH0=(65535-10000)/256; //设置初值
  62.     TL0=(65535-10000)%256;
  63.         num++;
  64.         if (num==100)
  65.         {
  66.          num=0;
  67.          count++;
  68.          if(count==60)
  69.          {
  70.           count=0;
  71.          }
  72.         }
  73. }  

复制代码
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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