找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3885|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)數(shù)碼管小程序:2組數(shù)碼管分別顯示加一和減一

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:79544 發(fā)表于 2016-1-2 08:53 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. /******************************************************
  2.         功能  :二組2位數(shù)碼管分別顯示1秒加一和減一
  3.                         
  4.         單片機(jī):STC12C5A60S2
  5.         晶振  :11.0582M
  6.         作者  :蘇義江
  7.         時(shí)間  :2016-1-2
  8.         注釋  :在大數(shù)碼管實(shí)驗(yàn)板實(shí)驗(yàn)通過(guò),用定時(shí)器0定時(shí)
  9. ****************************************************/
  10. #include <reg52.h>
  11. //#include <intrins.h>

  12. sbit  wei= P0^6;   //
  13. sbit  duan = P0^7;   //

  14. #define uchar unsigned char
  15. #define uint  unsigned int

  16. uchar code table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
  17. 0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xBF};//共陽(yáng)LED段碼表

  18. uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//位碼
  19. uchar t,a,b,c,d,shi=90,ge=0;//定義變量
  20. void delay(uint z)
  21. {
  22.         uint x,y;
  23.         for(x=z;x>0;x--)
  24.         for(y=610;y>0;y--);     
  25. }
  26. void init()//定時(shí)器0初始化
  27. {
  28.         TMOD=0X01;
  29.         TH0=0X4C;//11.0592M 50ms初值
  30.         TL0=0X00;
  31.         ET0=1;
  32.         TR0=1;
  33.         EA=1;
  34.         t=0;//計(jì)數(shù)初始為0
  35. }
  36. void display()//顯示函數(shù)
  37. {
  38.         a=ge/10;
  39.         b=ge%10;

  40.         c=shi/10;
  41.         d=shi%10;
  42.     wei=1;
  43.         P2=0xfe;
  44.         wei=0;
  45.         duan=1;
  46.         P2=table1[a];
  47.         duan=0;
  48.         delay(5);
  49.     P2=0xff;

  50.         wei=1;
  51.         P2=0xfd;
  52.         wei=0;
  53.         duan=1;
  54.         P2=table1[b];
  55.         duan=0;
  56.         delay(5);
  57.     P2=0xff;
  58.         wei=1;
  59.         P2=0xfb;
  60.         wei=0;
  61.         duan=1;
  62.         P2=table1[c];
  63.         duan=0;
  64.         delay(5);
  65.     P2=0xff;
  66.         wei=1;
  67.         P2=0xf7;
  68.         wei=0;
  69.         duan=1;
  70.         P2=table1[d];
  71.         duan=0;
  72.         delay(5);
  73.     P2=0xff;
  74. }

  75. void main()
  76. {
  77.         init();
  78.     while(1)
  79.    {
  80.                 display();                                
  81.    }
  82. }
  83. void t0() interrupt 1//定時(shí)器0中斷服務(wù)函數(shù)
  84. {
  85.         TH0=0X4C;
  86.         TL0=0X00;
  87.         t++;
  88.         if(t==20)//1秒到
  89.         {
  90.                 t=0;//計(jì)數(shù)清零
  91.                 ge++;
  92.                 shi--;
  93.                 if(ge==90)               
  94.                         ge=0;                                                               
  95.                  if(shi==0)
  96.                         shi=90;
  97.         }
  98. }
復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表