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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

ADC0808兩路采集,LM016L總是閃爍,時而顯示正確的數,時而顯示錯誤的數,有人知道...

[復制鏈接]
跳轉到指定樓層
樓主
#include"at89x51.h"
#include"absacc.h"


#define uchar unsigned char
#define uint unsigned int
#define IN7 XBYTE [0x7fff]//設置ADC0808的通道0的地址
#define IN0 XBYTE [0x7ff8]

sbit RS = P3 ^ 0;
sbit RW = P3 ^ 1;
sbit E = P3 ^ 5;


uchar ad_data;
uchar ad_dataa;
uint volt100,volt1000;
uchar bai, shi, ge;
uchar j;
uchar code welcode[] = {"--DC VOLTMETER--"}; //歡迎屏幕
uchar code number[] = {"0123456789"};
void delay(uchar i)
{
  while(i--);
}
//寫指令
void wr_cmd(uchar cmd)
{
  E = 0;
  RS = 0;
  RW = 0;
  P1 = cmd;
  E = 1;
  E = 0;
}
//寫數據
void wr_data(uchar dat)
{
  E = 0;
  RS = 1;
  RW = 0;
  P1 = dat;
  E = 1;
  E = 0;
}
//判忙
void  busy_lcd(void)
{
start:             //語句符號
  E = 0;       //使能端為低電平
  RS = 0;      //選擇指令寄存器
  RW = 1;      //讀操作
  P1 = 0xff;   //讀P口之前,應先將P口全部置一
  E = 1;       //使能端由低電平變為高電平,進行讀操作
  if (P1_7 == 0)
    return ;  //返回主調函數語句
  else
    goto start;//無條件跳轉到標號為start的語句
}
//初始化
void LCD1602_initialize()
{
  busy_lcd();
  wr_cmd(0x38);
  busy_lcd();
  wr_cmd(0x08);
  busy_lcd();
  wr_cmd(0x01);
  busy_lcd();
  wr_cmd(0x06);
  busy_lcd();
  wr_cmd(0x0c);
}
//顯示第一行
void disp_welcode(void)
{
  uchar i = 0;
  busy_lcd();
  wr_cmd(0x80);//送第一行地址
  while (welcode != '\0')
  {
    busy_lcd();
    wr_data(welcode);
    i++;
  }
}
//轉換后的BCD處理
void data_BCD()
{
  j = volt100 / 100;
  bai = j + 48;
  j = volt100 % 100 / 10;
  shi = j + 48;
  j = volt100 % 10;
  ge = j + 48;
  /*
    bai=number[volt100/100];
    shi=number[volt100%100/10];
    ge=number[volt100%10];
  */
  /*
    bai=volt/100+0x30;
    shi=volt%100/10+0x30;
    ge=volt%10+0x30;

  */
}
void data_BCDD()
{
  j = volt1000 / 100;
  bai = j + 48;
  j = volt1000 % 100 / 10;
  shi = j + 48;
  j = volt1000 % 10;
  ge = j + 48;
}
//轉換后的數據第二行顯示
void disp_data(void)
{
  busy_lcd();
  wr_cmd(0xc0);


  busy_lcd();
  wr_data(bai);


  busy_lcd();
  wr_data('.');


  busy_lcd();
  wr_data(shi);


  busy_lcd();
  wr_data(ge);


  busy_lcd();
  wr_data('V');
}
//轉換后的數據第二個第二行顯示
void disp_dataa(void)
{
  busy_lcd();
  wr_cmd(0xc7);


  busy_lcd();
  wr_data(bai);


  busy_lcd();
  wr_data('.');


  busy_lcd();
  wr_data(shi);


  busy_lcd();
  wr_data(ge);


  busy_lcd();
  wr_data('V');
}

void main(void)
{
  uchar i;
  LCD1602_initialize();//液晶初始化
  disp_welcode();//歡迎屏幕

  while (1)
  {
        IN7 = 0x07; //寫操作        
    while(P3_2==1);//等待ADC0808轉換結束
    ad_data = IN7; //讀ADC轉換后的數字量數據 IN0={0x00~0xff 即(0~255之間)}
          volt100 = ad_data * 100; //擴大至0~25500之間        
         volt100 = volt100 / 51;        
    data_BCD();
        disp_data();
        
        for(i=0;i<20;i++)
        delay(50000);

        IN0 = 0x00;        
    while(P3_2==1);//等待ADC0808轉換結束        
    ad_dataa = IN0; //讀ADC轉換后的數字量數據 IN0={0x00~0xff 即(0~255之間)}        
          volt1000 = ad_dataa * 100; //擴大至0~25500之間        
         volt1000 = volt1000 / 51;        
    data_BCDD();        
    disp_dataa();
        for(i=0;i<20;i++)
        delay(50000);
        
  }





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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一区二区三区在线观看 | 最近中文字幕在线视频1 | 久久亚洲视频网 | 亚洲欧美一区二区三区1000 | 黄色毛片免费看 | 国产成人综合网 | 日本在线视频不卡 | 欧美黄色网络 | 欧美精品久久久久 | 99精品欧美一区二区三区综合在线 | 久久三区 | 久久久久久成人 | 99re热精品视频国产免费 | 男人天堂久久 | 在线免费看黄 | 青娱乐自拍 | 久久精品国产一区二区三区 | 久久国产婷婷国产香蕉 | 国产精品99久久久精品免费观看 | 天堂网中文 | 国产综合精品一区二区三区 | 国产精品777一区二区 | 小川阿佐美pgd-606在线 | 一区二区日本 | 国产精品久久久久久吹潮 | 国产美女福利在线观看 | 国产一区二区三区在线免费观看 | 国产在线二区 | 久久久无码精品亚洲日韩按摩 | 国产福利视频 | 亚洲大片在线观看 | 男人天堂99 | 羞羞网站在线观看 | 中文字幕在线不卡播放 | 久草网址 | 国产精品国产精品国产专区不卡 | 精品av| 免费成人毛片 | 日韩欧美国产精品一区 | 日操夜操 | 午夜日韩|