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

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

關(guān)于77e58的雙串口問題?

作者:ysnow2000 欄目:單片機(jī)
關(guān)于77e58的雙串口問題?
各位道友:

我的硬件電路是用77e58設(shè)計(jì)的一個雙串口的中繼器,在軟件設(shè)計(jì)的時候,仿真的時候顯示正確,但燒錄的片中之后就顯示不對,到底是怎么回事??

在軟件設(shè)計(jì)時,對77e58還有什么特殊的要求嗎?麻煩分析一下下面的程序。

/***********************中繼器程序*************************/
#include<77e58.h>
#define uint unsigned int
#define uCHAR unsigned CHAR

sbit DERE0=P1^6;
sbit DERE1=P1^5;
sbit WDOG=P1^4;
uint time_count1;

/********************串口及定時器初始化*************/
void serial_init(void)
{
TMOD=0x21;
TH0=(65536-50000)/256;           //t0延時時間為50ms
TL0=(65536-50000)%256;


TH1=0xfd;        //定時器t1設(shè)置,串口1設(shè)置波特率9600
TL1=0xfd;
SCON1=0x50;      //串口1工作在方式1
PCON=0x00;
EA=1;
ET0=1;            //定時器0中斷允許
TR0=1;            //啟動定時器
T2CON=0x30;      //用定時器2做串口0的波特率發(fā)生器
RCAP2H=0xff;     // 11.0592M晶振下,baud rate=9600
RCAP2L=0xd9;
TH2=0xff;
TL2=0xd9;
SCON0=0x50;
TR1=1;            //啟動定時器1
TR2=1;            //啟動定時器2

}

/************定時器t0中斷,喂狗程序???????***************/
void time0(void) interrupt 1
{
  EA=0;
  TR0 = 0;
  time_count1++;
  if(time_count1 == 30)            //共1.5s時間
  {
   WDOG=!WDOG;                     //喂狗
   time_count1 = 0;
   }
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;
  EA=1;
  TR0=1;

}
/*******************主程序************************/
void main()
{
  time_count1=0;
//DS12887_init();
serial_init();
DERE0=0;
DERE1=0;
while(1)
/*用查詢的方法進(jìn)行判斷***********/
{
  if(RI==1)
  {
   RI=0;
   ACC=SBUF;
   SBUF1=ACC;
   DERE0=1;
   DERE1=1;
   }
  else if(TI==1)
  {
   TI=0;
   DERE0=0;
   DERE1=0;
   }

  else if(RI1==1)
  {
   RI1=0;
   ACC=SBUF1;
   SBUF=ACC;
   DERE0=1;
   DERE1=1;
   }
  else if(TI1==1)
  {
   TI1=0;
   DERE1=0;
   DERE0=0;
   }
  }
}


2樓: >>參與討論
mcu_xray
re:
T2 定時器設(shè)錯了。應(yīng)該是TH2=0xff;
TL2=0xdc.

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
有沒有可以存儲5分鐘時間的示波器?
幫忙推薦一款CDMA模塊,要求內(nèi)置TCP/IP協(xié)議棧
RDC的16bit和32bit的MCU
各位高手,小弟郁悶的問題!
什么是硬斷點(diǎn)設(shè)置?什么是軟斷點(diǎn)?
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號