欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 如何在這段程序中加入一些程序,讓他數(shù)碼管顯示數(shù)字是123 [打印本頁]

作者: 那么遠97    時間: 2018-12-23 18:30
標(biāo)題: 如何在這段程序中加入一些程序,讓他數(shù)碼管顯示數(shù)字是123
#include<at89x51.h>
#define uchar unsigned char
uchar code buff[ ] = {0xc0 ,0xf9 ,0xa4 ,0xb0 ,0x99 ,0x92 ,0x82 ,0xf8 ,0x80 ,0x90} ;
uchar numberl,number2,number3,display;
long number;
void main( void)
{
display =1;
TMOD = 0x01;
TH0=(65535- 50000)/256;
TL0=(65535- 50000)%256;
ET0=1;
EA=1;
TR0=1;
TMOD = TMOD|0x20;
TH1 = 0x73;
TL1 =0x73;
PCON =0;
TR1 =1;
SCON =0x00;
while(1 )
        {
    if(display==1)
     {
       numberl=number%10;
       number2=(number/10)%10;  
       number3=number/100;
       SBUF=buff[numberl];  
       while(TI==0);
       TI=0;  
       SBUF=(buff[number2]&0x7f);
       while(TI==0);  
       TI=0;
       SBUF=buff[number3];
       while(TI==0);
       TI=0;
       display =0;
     }
   }
}
void time0_int(void) interrupt 1
{
  static uchar time_nu=0;
  TR0=0;
  TH0=(65535-50000)/256;
  TL0=(65535-50000)%256;
  time_nu ++ ;
  if(time_nu==20)
    {
       display=1;
       time_nu=0;
       number++;
       if(number==1000)
       number=0;
    }
  TR0=1;
}

IMG_20181223_181747.jpg (892.61 KB, 下載次數(shù): 24)

IMG_20181223_181747.jpg

作者: ssk7793    時間: 2018-12-23 21:43
看我的貼,一位數(shù)碼管那個,你這個其實三個數(shù)碼管可以共用一個595芯片的
作者: 那么遠97    時間: 2018-12-24 09:33
ssk7793 發(fā)表于 2018-12-23 21:43
看我的貼,一位數(shù)碼管那個,你這個其實三個數(shù)碼管可以共用一個595芯片的

看不了你的貼
作者: zha    時間: 2018-12-24 11:16
http://m.raoushi.com/bbs/dpj-146402-1.html可以參考我之前發(fā)的那個貼
作者: robinsonlin    時間: 2018-12-24 20:43
從你的程序來看,你是想實現(xiàn)一個秒表計時的功能,一秒鐘數(shù)碼管自動加一。 但是程序確實有好大問題哦。
1.就說說最大的問題吧,你這個程序,大部分時間都在中斷。中斷,中斷,中斷。先搞清楚什么是中斷,如何使用。
2.你的板子沒有做串口接口啊,但是你的程序中卻有PCON、SCON的賦值,所以,寄存器,寄存器,寄存器。什么是寄存器,作用是什么,特別是要搞清楚控制寄存器的作用。
3.線路圖都沒有,怎么知道你IO口怎么定義的?累積了好久的Number值,最后賦值給了SBUF,給串口緩存又是幾個意思?
總結(jié):你這段代碼不能叫程序,可以叫天書。
建議:沒法改,你還是先熟悉一下基礎(chǔ)教程。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1