标题: 数码管动态显示单片机程序 [打印本页]

作者: 前313232    时间: 2017-6-27 21:17
标题: 数码管动态显示单片机程序
数码管动态显示数码管动态显示
动态显示.zip (35.23 KB, 下载次数: 10)
  1. #include <reg52.h>
  2. unsigned char code table[]={
  3. 0x3f,0x06,0x5b,0x4f,
  4. 0x66,0x6d,0x7d,0x07,
  5. 0x7f,0x6f,0x77,0x7c,
  6. 0x39,0x5e,0x79,0x71};
  7. unsigned char code tablewe[]={
  8. 0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
  9. sbit dula=P2^6;
  10. sbit wela=P2^7;
  11. unsigned int a,b,num,numdu,numwe;
  12. void delay(unsigned char);
  13. void main()
  14. {
  15.         numdu=0;
  16.         numwe=0;
  17.         num=0;
  18.         EA=1;
  19.         ET1=1;
  20.         TMOD=0x10;
  21.         TH1=(65536-1000)/256;
  22.         TL1=(65536-1000)%256;
  23.         TR1=1;
  24.         P0=table[0];
  25.         dula=1;
  26.         dula=0;
  27.         P0=tablewe[0];
  28.         wela=1;
  29.         wela=0;
  30.         while(1)
  31.         {
  32.                 if(num==1)
  33.                 {
  34.                         num=0;
  35.                         numdu++;
  36.                         if(numdu==6)
  37.                                 numdu=0;
  38.                         numwe++;
  39.                         if(numwe==6)
  40.                                 numwe=0;
  41.                         P0=table[numdu];
  42.                         dula=1;
  43.                         dula=0;
  44.                         P0=tablewe[numwe];
  45.                         wela=1;
  46.                         wela=0;
  47.                 }
  48.         }
  49. }
  50. void time1() interrupt 3
  51. {
  52.         TH1=(65536-1000)/256;
  53.         TL1=(65536-1000)%256;
  54.         num++;

  55. }
  56. void delay(unsigned char x)
  57. {
  58.         for(a=x;a>0;a--)
  59.                 for(b=100;b>0;b--);
  60. }
复制代码







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1