STC12C5620AD.zip

  • 小小笑笑
    了解作者
  • C/C++
    开发工具
  • 75KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2021-04-07 02:35
    上传日期
STC单片机实现AD转换,中断方式以及查询方式,51单片机,C语言
STC12C5620AD.zip
  • 演示(ADC查询方式)
  • C
  • ADC.uvproj
    13.6KB
  • ADC.lnp
    38B
  • ADC
    5.3KB
  • ADC.plg
    361B
  • ADC_Opt.Bak
    1006B
  • ADC.M51
    6.1KB
  • ADC.LST
    7.1KB
  • ADC.uvopt
    5.7KB
  • ADC.c
    4.4KB
  • ADC.uvgui.Annie
    86KB
  • ADC.hex
    542B
  • ADC_Uv2.Bak
    2.1KB
  • ADC.OBJ
    5.8KB
  • ASM
  • ADC.uvproj
    13.6KB
  • ADC.lnp
    38B
  • ADC
    1KB
  • ADC.asm
    4.7KB
  • ADC.plg
    365B
  • ADC_Opt.Bak
    1014B
  • ADC.M51
    4.7KB
  • ADC.LST
    10.9KB
  • ADC.uvopt
    5.7KB
  • ADC.uvgui.Annie
    86.9KB
  • ADC.hex
    411B
  • ADC_Uv2.Bak
    2.1KB
  • ADC.OBJ
    1.1KB
  • 演示(ADC中断方式)
  • C
  • ADC.lnp
    38B
  • ADC
    4.5KB
  • ADC.plg
    1.3KB
  • ADC_Opt.Bak
    1008B
  • ADC.M51
    5.4KB
  • ADC.LST
    6.4KB
  • ADC.c
    3.9KB
  • ADC.hex
    920B
  • ADC_Uv2.Bak
    2.1KB
  • ADC.OBJ
    4.8KB
  • ADC.Uv2
    2.1KB
  • ADC.Opt
    1000B
  • ASM
  • ADC.lnp
    38B
  • ADC
    986B
  • ADC.asm
    4.1KB
  • ADC.plg
    534B
  • ADC_Opt.Bak
    1014B
  • ADC.M51
    4.4KB
  • ADC.LST
    9.9KB
  • ADC.hex
    358B
  • ADC_Uv2.Bak
    2.1KB
  • ADC.OBJ
    1KB
  • ADC.Uv2
    2.1KB
  • ADC.Opt
    1006B
内容介绍
/*------------------------------------------------------------------*/ /* --- STC MCU International Limited -------------------------------*/ /* --- STC 1T Series MCU A/D Conversion Demo -----------------------*/ /* --- Mobile: (86)13922805190 -------------------------------------*/ /* --- Fax: 86-755-82944243 ----------------------------------------*/ /* --- Tel: 86-755-82948412 ----------------------------------------*/ /* --- Web: www.STCMCU.com -----------------------------------------*/ /* If you want to use the program or the program referenced in the */ /* article, please specify in which data and procedures from STC */ /*------------------------------------------------------------------*/ #include "reg51.h" #include "intrins.h" #define FOSC 18432000L #define BAUD 9600 typedef unsigned char BYTE; typedef unsigned int WORD; /*Declare SFR associated with the ADC */ sfr ADC_CONTR = 0xC5; //ADC control register sfr ADC_RES = 0xC6; //ADC high 8-bit result register sfr ADC_LOW2 = 0xBE; //ADC low 2-bit result register sfr P1M0 = 0x91; //P1 mode control register0 sfr P1M1 = 0x92; //P1 mode control register1 /*Define ADC operation const for ADC_CONTR*/ #define ADC_POWER 0x80 //ADC power control bit #define ADC_FLAG 0x10 //ADC complete flag #define ADC_START 0x08 //ADC start control bit #define ADC_SPEEDLL 0x00 //420 clocks #define ADC_SPEEDL 0x20 //280 clocks #define ADC_SPEEDH 0x40 //140 clocks #define ADC_SPEEDHH 0x60 //70 clocks void InitUart(); void InitADC(); void SendData(BYTE dat); BYTE GetADCResult(BYTE ch); void Delay(WORD n); void ShowResult(BYTE ch); void main() { InitUart(); //Init UART, use to show ADC result InitADC(); //Init ADC sfr while (1) { ShowResult(0); //Show Channel0 ShowResult(1); //Show Channel1 ShowResult(2); //Show Channel2 ShowResult(3); //Show Channel3 ShowResult(4); //Show Channel4 ShowResult(5); //Show Channel5 ShowResult(6); //Show Channel6 ShowResult(7); //Show Channel7 } } /*---------------------------- Send ADC result to UART ----------------------------*/ void ShowResult(BYTE ch) { SendData(ch); //Show Channel NO. SendData(GetADCResult(ch)); //Show ADC high 8-bit result //if you want show 10-bit result, uncomment next line // SendData(ADC_LOW2); //Show ADC low 2-bit result } /*---------------------------- Get ADC result ----------------------------*/ BYTE GetADCResult(BYTE ch) { ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START; _nop_(); //Must wait before inquiry _nop_(); _nop_(); _nop_(); while (!(ADC_CONTR & ADC_FLAG));//Wait complete flag ADC_CONTR &= ~ADC_FLAG; //Close ADC return ADC_RES; //Return ADC result } /*---------------------------- Initial UART ----------------------------*/ void InitUart() { SCON = 0x5a; //8 bit data ,no parity bit TMOD = 0x20; //T1 as 8-bit auto reload TH1 = TL1 = -(FOSC/12/32/BAUD); //Set Uart baudrate TR1 = 1; //T1 start running } /*---------------------------- Initial ADC sfr ----------------------------*/ void InitADC() { P1 = P1M0 = P1M1 = 0xff; //Set all P1 as Open-Drain mode ADC_RES = 0; //Clear previous result ADC_CONTR = ADC_POWER | ADC_SPEEDLL; Delay(2); //ADC power-on and delay } /*---------------------------- Send one byte data to PC Input: dat (UART data) Output:- ----------------------------*/ void SendData(BYTE dat) { while (!TI); //Wait for the previous data is sent TI = 0; //Clear TI flag SBUF = dat; //Send current data } /*---------------------------- Software delay function ----------------------------*/ void Delay(WORD n) { WORD x; while (n--) { x = 5000; while (x--); } }
评论
    相关推荐
    • 各类STC单片机资料
      详细的各类STC单片机系列的资料,能更好的了解STC单片机的应用,
    • STC单片机烧写软件
      支持在win7 32位机下安装 STC单片机烧写软件 提供在部分Win7下无法安装的解决办法 方便快捷
    • STC单片机
      STC单片机三按键测试,测试说明,test
    • STC单片机
      STC单片机设计,导航按键,导航按键的使用测试说明等,导航按键test
    • STC单片机烧录软件
      STC单片机烧录软件,可以把你在keil中写的嵌入式c程序生成的hex文件烧录到单片机中运行
    • stc单片机烧写软件
      stc单片机是大家耳熟能详的单片机,这是stc单片机的一款烧写软件,非常实用,经过本人实测。使用简单。操作方便。启动stc烧写软件是,先要点击stc-isp-v4.83.bat这个程序,然后才能正常启动stc烧写软件。烧录时最好...
    • STC单片机下载工具
      STC单片机下载工具..和51一起用...把编好的程序烧写到单片机板子上
    • stc单片机补丁
      keil中的stc单片机型号补丁,安装就会出现stc单片机型号
    • 烧录STC单片机程序
      烧录STC单片机程序 程序单片机STC-ISP 单片机程序烧录软件.EXE,STC公司推出的一款软件,可以向单片机中烧录编号的软件。
    • stc 单片机
      stc单片机软件+usb驱动+烧录工具 一套