求解STC 12C5A60S2的编程问题,本人初次涉及单片机,对编程不太了解,编了个AD转化的小程序,求高手看下!
(本人已经纠结了很久了,求救呀!!!)
(程序是实现AD转化,通过不同的模拟量输入,控制灯泡是否亮?
如能解决,追加奖励!!!!!!)
程序如下:
#include<STC_12c5a.H>
#define uint unsigned int
#define uchar unsigned char

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 吞云吐雾

    19人对此回答表示赞同

    初始化不对

    void InitADC( )
    {
    P1ASF = 0xff;//将P1.0口全部设置为ad口
    ADC_RES = 0;//清除结果寄存器
    ADC_RESL = 0;//清除结果寄存器
    ADC_CONTR = ADC_START |ADC_POWER | ADC_SPEEDHH | (ch&0x07);//接通电源设置速度设置通道
    展开
    19
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 伦敦警察

    14人对此回答表示赞同

    用这个程序试试,我刚刚调试是可以的,但采样一次就做判断了,你可以自己改成采样十次再判断

    #include<STC_12c5a.H>

    typedef unsigned char BYTE;
    typedef unsigned int WORD;
    typedef bit BOOL ;

    sbit out=P2^0;

    /* ms级延时
    展开
    14
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 史蒂芬孙

    2人对此回答表示赞同

    我最近也在弄STC的单片机,看了下代码,觉得以下这段似乎有点问题
    for(i=0;i<10;i++)
    {
    tp=0;
    ADC_RES=0;
    ADC_RESL=0; //低两位清零
    ADC_CONTR|=0x08; //启动AD转换
    while(!tp) //判断AD转换是否完成
    {
    展开
    2
    0回复
    发布于 5年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部