C语言 24小时制时钟单片机程序源码

overme6个月前 (10-17)程序开发345
C语言 24小时制时钟单片机程序源码
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code dx[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  5. uchar code wx[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
  6. void timer();
  7. void display(uchar b,uchar c ,uchar d ,uchar e,uchar f,uchar g);
  8. uchar a,b,c,d,e,f,g;
  9. int h;
  10. void delay()
  11. {
  12. uchar a;
  13. for(a=0;a<=250;a++)
  14. ;
  15. }
  16. void main()
  17. {
  18.               timer();
  19.               while(1)
  20.               {
  21.                      if(a==20)
  22.                      {
  23.                      a=0;
  24.                      h++;
  25.                      g=h%3600%60%10;
  26.                      f=h%3600%60/10;
  27.                      e=h%3600/60%10;
  28.                      d=h%3600/60/10;
  29.                      c=h/3600%60;
  30.                      b=h/3600/60;
  31.                      }
  32.                      display(b,c,d,e,f,g);            
  33.               }
  34. }
  35. void timer()
  36. {
  37.               TMOD=0x01;
  38.               TH0=(65536-50000)/256;
  39.               TL0=(65536-50000)%256;
  40.               EA=1;
  41.               ET0=1;
  42.               TR0=1;
  43. }
  44. void timer0() interrupt 1
  45. {
  46.        TH0=(65536-50000)/256;
  47.        TL0=(65536-50000)%256;
  48.        a++;
  49. }
  50. void display(uchar b,uchar c ,uchar d ,uchar e,uchar f,uchar g)
  51. {
  52. P2=wx[2];
  53. P0=dx;
  54. delay();
  55. P2=wx[3];
  56. P0=dx[c];
  57. delay();
  58. P2=wx[4];
  59. P0=dx[d];
  60. delay();
  61. P2=wx[5];
  62. P0=dx[e];
  63. delay();
  64. P2=wx[6];
  65. P0=dx[f];
  66. delay();
  67. P2=wx[7];
  68. P0=dx[g];
  69. delay();
  70. }

复制代码

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。