智能车制作

标题: 关于S12单片机的xs128ATD,求大神帮忙解决 [打印本页]

作者: youcanyouup    时间: 2015-7-2 19:12
标题: 关于S12单片机的xs128ATD,求大神帮忙解决
通过电位器从AN0输入变化的电压,将转换结果赋值给PORTA端口,A端口发光二极管,但是不管怎么调节电位器,八个二极管一直亮,求大神指导。程序如下:
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */

/*************************************************************************
//功    能:完成ATD模块初始化
//入口参数:无
//出口参数:无
*************************************************************************/
void ATD0_Init(void)
{
    ATD0DIEN = 0x00;                //禁止数字输入功能
    ATD0CTL1 = 0x00;                // A/D分辨率选择8位,且采样前不放电
    ATD0CTL2 = 0x40;                // A/D模块快速清零,禁止外部触发,禁止中断
    ATD0CTL3 = 0x88;                // A/D转换结果右对齐,每个序列1个通道,非FIFO模式
    ATD0CTL4 = 0x03;                //采样时间4个周期,PRS=3
    ATD0CTL5 = 0x20;                //对通道0单通道连续采样,同时启动A/D转换序列
//    ATD0DIEN = 0x00;                //禁止数字输入功能
}

/*************************************************************************
//功    能:读取A/D转换结果,送PORTB口控制LED灯显示
//入口参数:无
//出口参数:无
*************************************************************************/
void main(void)
{
    unsigned char AD_result;                        //定义变量,存储A/D转换结果
   ATD0_Init();
   DDRA  = 0xFF;                                                        //定义PORTA端口为输出口
    PORTA = 0x00;                                                //关闭所有LED灯

    for(;;)
    {
        while(!ATD0STAT2L_CCF0)
        {
            ;                                                                //等待A/D转换结束
        }     
        AD_result = ATD0DR0L;        
        PORTA =  AD_result;
    }
}



作者: 黑色枫夜    时间: 2015-7-3 13:42
你时钟啥的都不配置真的好么。。。




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2