欣欣工作室——带你走进单片机世界

         
累计访问3895707
当前在线83
首   页 | 常用器件 | 问答集萃 | 技术文摘 | 在线学习 | 共享工程 | 资料下载 | 网友交流

 
Web xinworks
 学习板概述
 安装keil C51软件
 在线烧写程序
 keil C51使用入门
 使用keil C51仿真调试
 使用标准输入输出设备
 点灯程序
 跑马灯程序
 LED数码管扫描显示程序
 键盘扫描程序
 键盘数码管联合扫描
 计时秒表程序
 蜂鸣器发声程序
 产生音阶程序
 字符LCD控制程序
 Flash读写程序
 使用ADC检测模拟量程序
 相关软件与文档



单片机/C51学习板

使用ADC检测模拟量程序


注:

本实验是针对 欣欣工作室单片机/C51学习板 设计的,如选用其它开发板实现,部分内容需做调整。有关 单片机/C51学习板 的详细说明,参见 欣欣工作室 主页:http://www.xinworks.com

程序代码如下:


#include        /* special function register declarations   */
#include       /* for the intended 8051 derivative         */

#include        /* prototype declarations for I/O functions */

sbit ADCLK=P4^2;
sbit ADCS=P4^0;
sbit ADDO=P4^1;

unsigned int i,j;

unsigned char timer1=0;

unsigned char read_ADC(void);

void main (void)  
{                                 /* execution starts here after stack init   */

  SCON  = 0x50;                   /* SCON: mode 1, 8-bit UART, enable rcvr    */
  TMOD |= 0x21;                   /* TMOD: timer 1, mode 2, 8-bit reload      */
  TH1   = 0xfd;                   /* TH1:  reload value for 19200 baud        */
  TR1   = 1;                      /* TR1:  timer 1 run                        */
  TH0   = 0xff;
  TR0   = 1; 
  TI    = 1;                      /* TI:   set TI to send first char of UART  */
  IE    = 0x82;
  
 
  while (1) {  
    while(1){ 
      i=read_ADC();
      printf("Current light is %d\r\n",i);
      i=0;
      while(i<5){
        timer1=0;
        while(timer1<200){}
        i++;
      } 
    } 
  }                              
}                               

dir() interrupt 1
{
  static unsigned char i;
  TL0=0xcd;
  TH0=0xf8;
  timer1++;
}

unsigned char read_ADC(void)
{
  unsigned char i,j;
  ADCLK=0;
  ADCS=0;
  for(i=0;i<8;i++){
    ADCLK=1;
    ADCLK=1;
    ADCLK=0;
    ADCLK=0;
  } 
  ADCS=1;
  for(i=0;i<20;i++);
  ADCS=0;
  j=0;
  for(i=0;i<8;i++){
    ADCLK=1;
    ADCLK=1;
    ADCLK=0;
    ADCLK=0;
    j<<=1;
    if(ADDO){
      j+=1;
    }
  }
  ADCS=1;
  return j;   
}

                  
                






粤ICP备06035157号