adc0809_1.c

来自「《Keil Cx51 V7.0单片机高级语言编程与uVision2应用实践》附盘」· C语言 代码 · 共 22 行

C
22
字号
#include <reg51.h>
    unsigned char xdata * ADC;         /* 定义ADC0809端口指针 */
    unsigned char xdata * ADCdata;     /* 定义ADC0809数据缓冲器指针 */
    unsigned char i;

    void main()   {
       ADC=0x7fff; ADCdata=0x1000;     /* 定义端口地址和数据缓冲器地址 */
       i=8;                            /* ADC0809有8个模拟输入通道 */
       EA=1; EX1=1;IT1=1;              /* 开中断 */
       *ADC=i;                         /* 启动ADC0809 */
       while(i);                       /* 等待8个通道A/D转换完毕 */
     }

    void int1() interrupt 2  {
       unsigned char tmp;
       tmp=*ADC;                       /* 读取A/D转换结果 */
       *ADCdata=tmp;                   /* 结果值存储到数据缓冲器 */
       ADCdata++;                      /* 数据缓冲器指针地址加1 */
       i--;                            
       *ADC=i;                         /* 启动下一个模拟输入通道A/D转换 */
     }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?