找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1734|回復: 4
收起左側

單片機怎么在已顯示的靜態(tài)初值上進行動態(tài)顯示

[復制鏈接]
ID:837970 發(fā)表于 2020-11-2 20:58 來自手機 | 顯示全部樓層 |閱讀模式
設計一個數(shù)碼管動態(tài)顯示,顯示202.0,每過0.1秒,顯示內容加1
求如何開始顯示202.0
#include <reg51.h>
#define seg_bit P2                                       
#define seg_dat P3       
#define uint unsigned int                                        #define uchar unsigned char               
unsigned char code numtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char code bittab[]={0xfe,0xfd,0xfb,0xf7};
unsigned char t;
void delayms(uint);
uint num=0;
void main()
{ TMOD=0X01;                        TH0=(65536-50000)/256;                TL0=(65536-50000)%256;        EA=1;                                ET0=1;                                       
TR0=1;               
while(1)        {                                                   
P2=0Xfe;              
P3=numtab[num%10];                  delayms(5);                               
P3=0;                 
P2=0Xfd;                P3=numtab[(num/10)%10]|0x80;                          delayms(5);                               
P3=0;                                                                              P2=0Xfb;               
P3=numtab[(num/100)%10];                          delayms(5);                               
P3=0;                P2=0Xf7;                P3=numtab[(num/1000)%10];                          delayms(5);                                P3=0;                                                                   }                }       
void jishu() interrupt 1{                        TH0=(65536-50000)/256;                        TL0=(65536-50000)%256;                t++;                if(t==2)               
{t=0;num++;}                                                                                }
void delayms(uint xms)                 //延時程序{                        uint i,j;        for(i=xms;i>0;i--)                for(j=110;j>0;j--);}
回復

使用道具 舉報

ID:235200 發(fā)表于 2020-11-3 00:30 | 顯示全部樓層
把要顯示的內容存放在內存緩沖區(qū),更改緩沖區(qū)的數(shù)據(jù)實現(xiàn)實時顯示更新的內容
回復

使用道具 舉報

ID:213173 發(fā)表于 2020-11-3 06:29 | 顯示全部樓層
設num初值=2020即可。
  1. #include <reg51.h>
  2. #define seg_bit P2                                       
  3. #define seg_dat P3        
  4. #define uint unsigned int
  5. #define uchar unsigned char               

  6. uchar code numtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
  7. uchar code bittab[]={0xfe,0xfd,0xfb,0xf7};
  8. uchar data disbuf[4];
  9. uchar t,i;
  10. uint num=2020;

  11. void delayms(uint xms)//延時程序
  12. {
  13.         uint i,j;
  14.         for(i=xms;i>0;i--)
  15.                 for(j=110;j>0;j--);
  16. }

  17. void main()
  18. {
  19.         TMOD=0X01;
  20.         TH0=(65536-50000)/256;
  21.         TL0=(65536-50000)%256;
  22.         EA=1;
  23.         ET0=1;
  24.         TR0=1;
  25.         while(1)
  26.         {
  27.                 disbuf[0]=numtab[num%10];
  28.                 disbuf[1]=numtab[num/10%10]|0x80;
  29.                 disbuf[2]=numtab[num/100%10];
  30.                 disbuf[3]=numtab[num/1000%10];
  31.                 seg_dat=0x00;
  32.                 seg_bit=bittab[i];
  33.                 seg_dat=disbuf[i];
  34.                 i++;
  35.                 i%=4;
  36.                 delayms(1);
  37.         }
  38. }

  39. void jishu() interrupt 1
  40. {
  41.         TH0=(65536-50000)/256;
  42.         TL0=(65536-50000)%256;
  43.         t++;
  44.         if(t==2)
  45.         {
  46.                 t=0;
  47.                 num++;
  48.                 if(num>9999)
  49.                         num=2020;
  50.         }
  51. }
復制代碼
回復

使用道具 舉報

ID:837970 發(fā)表于 2020-11-4 15:40 來自手機 | 顯示全部樓層
wulin 發(fā)表于 2020-11-3 06:29
設num初值=2020即可。

謝謝,已經(jīng)實現(xiàn)并運行
回復

使用道具 舉報

ID:837970 發(fā)表于 2020-11-4 15:40 來自手機 | 顯示全部樓層
csmyldl 發(fā)表于 2020-11-3 00:30
把要顯示的內容存放在內存緩沖區(qū),更改緩沖區(qū)的數(shù)據(jù)實現(xiàn)實時顯示更新的內容

謝謝,加深了對單片機的理解
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

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

快速回復 返回頂部 返回列表