久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4298|回復: 1
打印 上一主題 下一主題
收起左側

51單片機信號接收問題。。。高手幫看下~~~~

[復制鏈接]
跳轉到指定樓層
樓主
ID:34774 發表于 2012-2-23 13:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
 #include <c8051f020.h>
#include <intrins.h>

#define uint unsigned int
#define uchar unsigned char
sbit SPEAKER=P3^3;
sbit SLEEP=P3^1;
sbit WX_RST=P3^2;
unsigned char warning_flag;
unsigned char chaomx_flag;
unsigned char flag;
unsigned char k;
unsigned int idata c_timer0;            //計時器
unsigned char data I2C_RAM[16];        //I2C數據交換RAM
unsigned char data bat_count;      //電池采樣計數
unsigned char code *pointer;
unsigned char idata uart0_se;            //uart0口接收開始同步字和結束符個數
unsigned char idata uart0_num;            //uart0口接收、發送字符個數
unsigned char idata battery_volt;        //電池電壓 battery_volt=60*(battery_ad÷battery_base)
unsigned char idata battery_base[3];    //電池標稱ad值和標稱時的電壓
unsigned int idata battery_ad;            //電池當前ad值
unsigned int idata battery_sampling[4]; //電池采樣周期瞬時值

void main(void)
{
//*************************************************************
//******系統初始化*********************************************
 /*初始化------------------------------*/ 
     P1MDIN=0xFF;
    EMI0CF=0x03;
    XBR0=0x04; //00000100B       /* UART0*/
//    XBR1=0x04; //00000100B       /* INT0 */
    XBR2=0x42; //01000010B       /* 弱上拉允許,允許交叉開關,UART1不連到端口 */
//UART0初始化
    TL1=0xfd;            
    TH1=0xfd;            //定時器T1裝載值  FDH(9600), FAH(4800), F4H(2400), E8(1200)
    SCON0=0x50;          //設串口UART0為模式1(用于無線通信或PC通信)  (用T1)
    SCON1=0x50;
    //定時器設定
    CKCON=0x00;          //T0,T1,T2,T4使用SYSCLK的12分頻
    T2CON=0x04;           //T1為UART0串口波特率發生器,啟動T2
    TMOD=0x21;            //T0為定時方式1,T1為8位自動裝載為UART0串口波特率發生器
    TR1=1;                //啟動T1
//DAC0設置
    
    P0MDOUT=0x01; //00000001B     /*P0配置*/
    P1MDOUT=0xff;                 /*P1*/
    P2MDOUT=0xff;                 /*P2*/
    P3MDOUT = 0xff; //11111111B  P3口配置 /*各個端口輸入時配置為漏極開路,輸出時配置為推挽方式*/ 
    P74OUT=0x00;
    P4=P4&0xd3;                   /*ALE=0,A16=0(P4.3),LCDE=0(P4.2)*/               
    WDTCN=0xde;                   /*暫時禁止看門狗定時器*/
    WDTCN=0xad;
    SCON1=SCON1&0xfc;    //清TI1,RI1 

//外部中斷設置
    
    IE0=0;  /* 清中斷標志 */
    ES0=1;            //開放串口UART0中斷
    EA=1;         //開總中斷
    AMX0SL=0x07;
//初始化

        P5=P5&0xfd;        //開機點亮工作燈
         while (1);


}
void uart0_rt(void) interrupt 4 
 {
           k=0;
        if( _testbit_(RI0)) 
        {
        k=SBUF0;
        }
        
 }



程序如上,不明白為啥接收數據總是不對,能接收。。。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:7485 發表于 2012-2-24 12:43 | 只看該作者
不能正確接收的原因比較多。波特率要正確,誤差不能太大。一般使用11.0592或22.1184比較好。通信雙方波特率要一致。單片機串口工作模式要正確。等等
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美一区二区三区在线 | 国产高清精品一区二区三区 | 久在线| 一区视频在线 | 欧美在线观看网站 | 羞羞视频在线观看网站 | 一区二区在线免费观看 | 欧美亚洲综合久久 | 日韩精品免费一区二区在线观看 | www.99热.com | 亚洲欧美一区二区三区在线 | 欧美 日韩 国产 成人 在线 91 | 免费影视在线观看 | www精品美女久久久tv | www.av在线 | 久久久99精品免费观看 | 久久综合狠狠综合久久综合88 | 亚洲精品一区二区网址 | 久久免费观看视频 | 作爱视频免费观看 | 久久久91精品国产一区二区三区 | 国产精品大片 | 在线观看视频91 | 国产欧美日韩精品在线观看 | 在线看免费| 亚洲在线免费观看 | 福利视频一二区 | 日韩在线一区二区三区 | 国产精品视频网 | 四季久久免费一区二区三区四区 | 天天综合永久 | 99中文字幕| 天天天操操操 | 色本道 | 国产精品久久久久久久久久妇女 | av在线免费观看网站 | 日韩欧美专区 | 久久免费小视频 | 福利社午夜影院 | 成人免费三级电影 | 国产999精品久久久 日本视频一区二区三区 |