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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6020|回復(fù): 3
收起左側(cè)

[求助]求教51單片機(jī)問題,高人指點(diǎn)!

[復(fù)制鏈接]
ID:17874 發(fā)表于 2009-10-7 01:01 | 顯示全部樓層 |閱讀模式
 電路的設(shè)想很簡單,就是用51控制ADC0809采集數(shù)據(jù),再將數(shù)據(jù)通過串口傳到電腦里。

附件是設(shè)計(jì)的電路圖,從網(wǎng)上載的,沒有串口那一塊電路(因?yàn)榇谀且宦繁容^簡單):



然后是根據(jù)電路圖寫的程序:
#include"regx52.h"
 
#define uchar unsigned char

sbit ST=P1^1;
sbit EOC=P1^0;
sbit OE=P1^2;
sbit CLK=P1^3;
sbit ADDCS=P1^4;
 
uchar AD_DATA/*,CHECKSEND,CHECKBACK*/;                  //保存IN0和IN1經(jīng)AD轉(zhuǎn)換后的數(shù)據(jù)
//uchar sendflag;                 //發(fā)送許可

xdata uchar sendstr;
 
/**********延時(shí)函數(shù)************/
void delay(uchar i)
{
 uchar j;
 while(i--)
 {
  for(j=125;j>0;j--)
  ;
 }
}
 
/*********系統(tǒng)初始化***********/
                       
void init()
{
  EA=1;                     //開總中斷
 
  TMOD=0x22;                //設(shè)定T0、T1定時(shí)器工作方式    
 
  TH0=0xff;                 //利用T0中斷產(chǎn)生CLK信號(hào)
  TL0=0xff;
  TR0=1;  
  ET0=1;                    //開啟T0中斷
 
  ST=0;
  OE=0;
 
  TH1=0xfa;                    //利用T1產(chǎn)生串口中斷  
  TL1=0xfa;
  TR1=1;                    
  ET1=1;                    //開啟T1中斷

  SCON=0x50;                //串行口工作在方式1
  PCON=0x40;                //bps增倍

  ES=0;                     //禁止串行中斷
  TI=0;                        //串行中斷發(fā)送禁用
  RI=0;                     //串行中斷接收禁用
//  sendflag=1;                //初始允許發(fā)送
}

/*****************通信函數(shù)************/
void send(uchar databuff)
{
  ES=1;  
  SBUF=databuff;            //發(fā)送數(shù)據(jù)
  while(!TI)
   ;                        //等待發(fā)送結(jié)束
  TI=0;
  ES=0;
}

/*void recieve(void)
{
  ES=1;
  CHECKBACK=SBUF;
  while(!RI)
   ;
  RI=0;
  ES=0;
} */

/***********AD轉(zhuǎn)換函數(shù)**********/
void AD()
{
 ST=0;
 ADDCS=0;                  //選擇通道IN0
 delay(5);
 ST=1;                    //啟動(dòng)AD轉(zhuǎn)換
 delay(5);
 ST=0;
 while(EOC==0)
   ;
 OE=1;
 AD_DATA=P2;
 OE=0;
}

/***********T0、T1中斷服務(wù)程序************/
void timer0(void) interrupt 1
{
  CLK=~CLK;
  AD();
}

void timer1(void) interrupt 2
{
//  recieve();
//  if(CHECKBACK^CHECKSEND==0)
//  {
//   sendflag=1;
//  }
    sendstr=AD_DATA;
    send(sendstr);                                                                                                                           
}


/*****************主函數(shù)**************/

void main()
{
 init();
 while(1)
 {
//   AD();
//   sendstr=AD_DATA;
//   if(sendflag){
//    sendflag=0;
//   send(sendstr);
//   }
/*   else
   {
    sendflag=0;
    send(CHECKSEND);
   }     */
 }
}
================================================
問題在于,上電后,ADC0809壓根不工作,所以c51傳給串口的都是一堆亂碼

不知道是什么原因,有人說是因?yàn)槎喑鰜淼拇谕ㄐ鸥淖兞藛纹瑱C(jī)某些端口的電平,但是還是一直很疑惑,不知道該怎么改電路...

請各位高人指點(diǎn)!

謝謝!
回復(fù)

使用道具 舉報(bào)

ID:18221 發(fā)表于 2009-10-18 16:11 | 顯示全部樓層

幫你頂一下

 

 

回復(fù)

使用道具 舉報(bào)

ID:18297 發(fā)表于 2009-10-20 11:04 | 顯示全部樓層
建議先仿真再搭電路
回復(fù)

使用道具 舉報(bào)

ID:18411 發(fā)表于 2009-10-23 09:49 | 顯示全部樓層
你采用的操作方式是靜態(tài)方式,很麻煩,還要注意時(shí)序的問題,而且速度慢,建議采用總線方式,就是獻(xiàn)給AD芯片用XBYTE[]定義一個(gè)地址XBYTE[。。。] = 。。。啟動(dòng)轉(zhuǎn)換,書上這種例子很多的
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品偷乱一区二区三区 | 日韩在线观看中文字幕 | 一级理论片| 日日干夜夜爽 | 丁香婷婷在线 | 911精品国产一区二区在线 | 免费高清av | 日本精品视频在线观看 | 国产伦精品一区二区三区四区 | 欧美亚洲一区 | 久久久久久久网 | 视频一区在线播放 | 久久性生活视频 | 免费特级毛片 | 欧美mv日韩mv国产 | 久久国产欧美 | 激情视频一区 | 一区二区三区四区视频在线观看 | 国产又粗又猛又黄又爽无遮挡 | 午夜性福利 | 精品国产va久久久久久久 | 黄色片www | 波多野结衣视频在线 | 国产一区二区自拍 | 在线国产一区 | 国产精品手机在线 | 男女啪啪免费网站 | 亚洲久热 | 色综合久久88色综合天天 | 日韩国产精品视频 | 亚洲成人免费在线观看 | 深夜免费福利 | 伊人久久在线 | 国产伦精品一区二区免费 | 9.1成人看片免费版 国产草草影院 | 久久久久久免费 | 一区二区三区四区在线播放 | 伊人久久久 | 免费激情网站 | 亚洲视频区 | 日韩免费大片 |