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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

哪位大神幫忙看一下,我做的是TLC0834采集0-5V在數碼管上顯示兩位數,但現在只顯示0.0

[復制鏈接]
跳轉到指定樓層
樓主
ID:523543 發表于 2019-5-15 11:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/********************************* 包含頭文件 ********************************/
#include <reg52.h>
#include <intrins.h>
/********************************* 端口定義 **********************************/

#define uchar unsigned char
#define uint unsigned int

sbit CS = P1^4;
sbit Clk = P1^2;
sbit DATI = P1^3;
sbit DATO = P1^1;
sbit  AD_SARS = P1^6;

sbit led2 = P2^1;
sbit led3 = P2^2;


/******************************* 定義全局變量 ********************************/
unsigned char dat = 0x00; //AD 值
unsigned char count = 0x00; //定時器計數
unsigned char CH; //通道變量
unsigned char dis[] = {0x00, 0x00, 0x00}; //顯示數值
unsigned char c=0;
/******************************* 共陽 LED 段碼表 *******************************/
unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

/****************************************************************************
函數功能 :AD 轉換子程序
入口參數 :CH
出口參數 :dat
****************************************************************************/
unsigned char adc0834(unsigned char CH)
{
  unsigned char i,AI_data;
  CS = 1;
  _nop_();
  DATO = 1;
  _nop_();
  _nop_();
  Clk = 0;
  _nop_();
  CS = 0;
  _nop_();

  //Start BIT
  DATI = 1;
  _nop_();
  Clk = 1;
  _nop_();
  Clk = 0;
  _nop_();

  //SGL/DIF BIT
  DATI = 1;
  _nop_();
  Clk = 1;
  _nop_();
  Clk = 0;
  _nop_();
  
  //ODD/EVEN BIT   
  if((CH == 0x00) || (CH == 0x02))
  {
    DATI = 0;
  }
  if((CH == 0x01) || (CH == 0x03))
  {
    DATI = 1;
  }
  _nop_();
  Clk = 1;
  _nop_();
  Clk = 0;
  _nop_();

  //SELECT BIT
  if((CH == 0x00) || (CH == 0x01))
  {
    DATI = 0;
  }
  if((CH == 0x02) || (CH == 0x03))
  {
   DATI = 1;
  }
  _nop_();
  Clk = 1;
  _nop_();
  Clk = 0;
  _nop_();
  Clk = 1;
  _nop_();
  Clk = 0;
  _nop_();

  //讀取轉換的8位數據
  for(i=0;i<8;i++)
  {
    AI_data <<= 1;
        _nop_();
    AI_data+=(uchar)DATO;
    _nop_();
        Clk = 1;
        _nop_();
        Clk = 0;
        _nop_();
  }

  CS = 1;
  DATI = 1;
  return dat;
}

/****************************************************************************
函數功能 :將 0-255 級換算成 0.00-5.00 的電壓數值
入口參數 :i
出口參數 :
****************************************************************************/
void convdata(unsigned char i)
{
dis[0] = i/51; //個位
dis[1] = (i%51)*10/51*2; //小數點后第一位
dis[2] = ((i%51)*10%51)*10/51*2; //小數點后第二位
}
/****************************************************************************
函數功能 :數碼管顯示子程序
入口參數 :
出口參數 :
****************************************************************************/
void display(void)
{
        P0=0xff;
        switch(c)
        {
                case 0:led2=0;led3=1;c++;P0=tab[dis[0]]&0x7f;;break;
                case 1:led2=1;led3=0;c=0;P0=tab[dis[0]];break;
                default :break;
        }
}
/****************************************************************************
函數功能 :主程序
入口參數 :
出口參數 :
****************************************************************************/
void main(void)
{
        TMOD = 0x01; //設置中斷
        TH0=(65536-50000)/256;// 定時器 1 初值定時 50ms
        TL0=(65536-50000)%256;
        IE = 0x82;
        TR0 = 1;
        while(1) //主循環
        {
                dat = adc0834(CH);
                convdata(dat); //數據轉換
                display(); //顯示數值
        }
}
/****************************************************************************
函數功能 :定時器中斷延時程序 這一段的作用時隔一段時間抽樣一次 否側顯示的最后一位
會不穩定
入口參數 :
出口參數 :
****************************************************************************/
void timer0(void) interrupt 1
{
       
        TH0=(65536-50000)/256;// 定時器 1 初值定時 50ms
        TL0=(65536-50000)%256;
        count++;
        if (count == 0x01)
        {
                count = 0x00;
                dat = adc0834(CH);
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:517382 發表于 2019-5-15 15:04 | 只看該作者
可以用仿真軟件看一下
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品在线网站 | 日韩高清一区二区 | 午夜成人免费视频 | 国产在线中文字幕 | 日本午夜一区二区三区 | 久草精品视频 | 在线天堂免费中文字幕视频 | 黄色免费观看网站 | 欧美日韩电影一区 | 日韩精品久久一区二区三区 | 产真a观专区 | 欧美13videosex性极品 | 亚洲精品视频在线播放 | 亚洲综合久久久 | 日韩精品一区二区三区在线观看 | 午夜99| 91天堂| 一区二区国产精品 | 精品免费 | 日韩二区 | 亚洲一区二区三区高清 | 久色视频在线 | www日本在线播放 | 久久久亚洲一区 | 天天操综合网站 | 国产精品久久久久久久久久尿 | 国产在线观看一区二区三区 | 免费观看毛片 | www.99精品| 国产免费观看一区 | 91国语清晰打电话对白 | 高清av在线 | 久久久国产一区二区三区 | 视频一二区 | 一级欧美| 亚洲精品无 | 欧美午夜精品久久久久久浪潮 | 欧美一a一片一级一片 | 亚洲1区| 亚洲精品日韩综合观看成人91 | 久久69精品久久久久久久电影好 |