音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

問(wèn)個(gè)C51串口程序問(wèn)題,多謝看貼

作者:keven9527 欄目:單片機(jī)
問(wèn)個(gè)C51串口程序問(wèn)題,多謝看貼
C程序如下:
問(wèn)題1;編譯后仿真沒(méi)有問(wèn)題,可以看到P1口有變化。但uvision2下編譯出來(lái)只有487字節(jié)的hex代碼,燒到89C2051放到板子上面沒(méi)有任何作用,板子硬件沒(méi)有問(wèn)題。為何?

問(wèn)題2:?jiǎn)尾秸{(diào)試的時(shí)候,在串口中斷程序中的讀取SBUF存到c里面(unsigned CHAR 型),為什么c的值一直都是0?


#include <REG51.H>               

#include <stdio.h>           



sbit p1_2=P1^2;
sbit p1_3=P1^3;
sbit p1_4=P1^4;
sbit p1_5=P1^5;
sbit p1_6=P1^6;



void init_serialcom(void);

void delay_1s(void);


void serial () interrupt 4 using 0
{

     if (RI)
      {
            unsigned CHAR c,ch;
              ch=SBUF;
            c=ch;
             RI = 0;
          
     SBUF=ch;
    while(TI==0);
    TI=0;

         

            
            if (c!=0)
            {
                    
                p1_3=0;
                c--;
                delay_1s();
                p1_3=1;    
                delay_1s();
                
             }

      }
        


    
}



void main (void)
{
        P1=0x00;
                        delay_1s();
        P1=0xff;
                        delay_1s();
                                P1=0x00;
                        delay_1s();
        P1=0xff;
                        delay_1s();
        init_serialcom();
      

      for(;;)
    {
                  p1_2=1;
                delay_1s();
                p1_2=0;    
                delay_1s();
            
      }




}


void init_serialcom(void)
{
    SCON  = 0x50;       //SCON: serail mode 1, 8-bit UART, enable ucvr
    TMOD |= 0x20;       //TMOD: timer 1, mode 2, 8-bit reload
    PCON |= 0x00;       //SMOD=0;
    TH1   = 0xFD;       //Baud:9600  fosc=11.0592MHZ
    IE   |= 0x90;       //Enable Serial Interrupt
    TR1   = 1;          // timer 1 run
    TI=1;
   
}







void delay_1s(void)
{


  unsigned CHAR i,j,k;

  for(k=100;k>0;k--)

      for(i=20;i>0;i--)

          for(j=248;j>0;j--);



}

2樓: >>參與討論
wj8389
希望一起交流
我現(xiàn)在也正在做串行口這方面的東西!我用的是485通信協(xié)議!
關(guān)于你的問(wèn)題,我認(rèn)為可能出現(xiàn)在硬件上,如果仿真器里面的數(shù)據(jù)狀態(tài)能夠顯示出正確的接收數(shù)據(jù),那么燒好的片子不工作,你就得檢查是不是,上電復(fù)位電路和振蕩電路的問(wèn)題了。仿真時(shí)你可能沒(méi)有用用戶板上的電源和晶振。再就是保證每一個(gè)元器件都是好的。程序我沒(méi)有看,不知道有無(wú)問(wèn)題,不好意思!
有共同的話題,希望一起交流!

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
AT89S52,這個(gè)程序是不是錯(cuò)誤百出。
有誰(shuí)知道串行接口的RAM芯片???????
急求:程序編不來(lái),大哥們幫幫忙
問(wèn)一個(gè)小問(wèn)題,請(qǐng)解答,謝謝!
新手求教!還是P0口。
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)