標題: 譯碼器控制數(shù)碼管 為什么這個程序,無法把ledbuff[]的值賦給P0? [打印本頁]

作者: 歐陽小美    時間: 2017-3-23 09:56
標題: 譯碼器控制數(shù)碼管 為什么這個程序,無法把ledbuff[]的值賦給P0?

為什么這個程序,無法把ledbuff[]的值賦給P0?

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
uchar ledbuff[8]={
0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00};
sbit SA=P1^0;
sbit SB=P1^1;
sbit SC=P1^2;
uint time=0;
ulong sec=0;
uchar i=0;                                
void main()
{        TMOD=0x01;
    TH0=(65536-1000)/256;
    TL0=(65536-1000)%256;
    TR0=1;
        while(1)
         {
          if(TF0==1)
            {
                         TF0=0;
                        TH0=(65536-2000)/256;
            TL0=(65536-2000)%256;
                        time++;
                        if(time>=1000)
                          {
                                   time=0;
                                sec++;
                                ledbuff[0]=table[sec%10];
                                ledbuff[1]=table[sec/10%10];
                                ledbuff[2]=table[sec/100%10];
                                ledbuff[3]=table[sec/1000%10];
                                ledbuff[4]=table[sec/10000%10];
                                ledbuff[5]=table[sec/100000%10];
                                ledbuff[6]=table[sec/1000000%10];
                                ledbuff[7]=table[sec/10000000%10];
                          }
                         switch(i)
                                {case 0:SC=1;SB=1;SA=1;P0=ledbuff[0];break;
                                 case 1:SC=1;SB=1;SA=0;P0=ledbuff[1];break;
                                 case 2:SC=1;SB=0;SA=1;P0=ledbuff[2];break;
                                 case 3:SC=1;SB=0;SA=0;P0=ledbuff[3];break;
                                 case 4:SC=0;SB=1;SA=1;P0=ledbuff[4];break;
                 case 5:SC=0;SB=1;SA=0;P0=ledbuff[5];break;
                                 case 6:SC=0;SB=0;SA=1;P0=ledbuff[6];break;
                             case 7:SC=0;SB=0;SA=0;P0=ledbuff[7];break;        
                             default :break;           
                        }                             
                }        

         }

}



作者: admin    時間: 2017-3-23 19:00
現(xiàn)在程序運行有什么效果?

作者: zl2168    時間: 2017-3-23 21:05
極簡單的功能,極復(fù)雜的程序!不知老師是怎么教的,學(xué)生是怎么學(xué)的?
作者: ouwei663    時間: 2017-3-23 21:07
看到頭暈 。有點亂

作者: 歐陽小美    時間: 2017-3-30 16:07
admin 發(fā)表于 2017-3-23 19:00
現(xiàn)在程序運行有什么效果?

發(fā)現(xiàn)錯誤了,就是switch里面的的錯誤,改成外部循環(huán)就行了




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