2847|2

73

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求tlc549的简单程序。 [复制链接]

我见天看了AD转换,但是不会写程序。不知道怎么做,希望大家给个简单的程序,只要叫AD的变化,在数码管上显示就可以了。谢谢啊。p1^1控制io。 p3^2控制out。p1^0 .控制/cs(低电平有效)。

最新回复

#include "intrins.h" #define    Wait1us        _nop_(); #define    Wait2us        {_nop_();_nop_();} #define    Wait4us        {Wait2us;Wait2us;} #define    Wait8us        {Wait4us;Wait4us;} #define    Wait10us      {Wait8us;Wait2us;} #define    Wait30us      {Wait10us;Wait8us;Wait4us;Wait2us;} /************定义接口总线**************/ sbit Clock = P1 ^ 2; //时钟口线 sbit DataOut = P1 ^ 3; //数据输出口线 sbit ChipSelect = P1 ^ 4; //片选口线 /************接口总线定义结束**********/ /*********函数名称:ADCSelChannel******** * *功能:转换指定通道的模拟量为数字量 * *说明: * *位置:1 * ****************************************/ unsigned char ADCSelChannel(void) {       unsigned char ConvertValue = 0;       unsigned char i;       ChipSelect = 1; //芯片复位       ChipSelect = 0;       ChipSelect = 1;       Clock = 0;       Wait4us;       ChipSelect = 0; //芯片起始       Wait4us; //等待延时       for (i = 0; i < 8; i ++) //输入采样转换时钟       {             Clock = 1;             Clock = 0;       }       ChipSelect = 1; //开始转换       Wait10us; //等待转换结束       ChipSelect = 0; //读取转换结果       Wait4us;       for (i = 0; i < 8; i ++) //       {             Clock = 1;             ConvertValue   详情 回复 发表于 2009-12-17 20:34
点赞 关注

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
晚上 我给你传个程序吧。
QQ:94648103

到时有问题详聊
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
#include "intrins.h"

#define    Wait1us        _nop_();
#define    Wait2us        {_nop_();_nop_();}
#define    Wait4us        {Wait2us;Wait2us;}
#define    Wait8us        {Wait4us;Wait4us;}
#define    Wait10us      {Wait8us;Wait2us;}
#define    Wait30us      {Wait10us;Wait8us;Wait4us;Wait2us;}


/************定义接口总线**************/
sbit Clock = P1 ^ 2; //时钟口线
sbit DataOut = P1 ^ 3; //数据输出口线
sbit ChipSelect = P1 ^ 4; //片选口线
/************接口总线定义结束**********/


/*********函数名称:ADCSelChannel********
*
*功能:转换指定通道的模拟量为数字量
*
*说明:
*
*位置:1
*
****************************************/
unsigned char ADCSelChannel(void)
{
      unsigned char ConvertValue = 0;
      unsigned char i;
      ChipSelect = 1; //芯片复位
      ChipSelect = 0;
      ChipSelect = 1;
      Clock = 0;
      Wait4us;
      ChipSelect = 0; //芯片起始
      Wait4us; //等待延时
      for (i = 0; i < 8; i ++) //输入采样转换时钟
      {
            Clock = 1;
            Clock = 0;
      }
      ChipSelect = 1; //开始转换
      Wait10us; //等待转换结束
      ChipSelect = 0; //读取转换结果
      Wait4us;
      for (i = 0; i < 8; i ++) //
      {
            Clock = 1;
            ConvertValue <<= 1;
            if (DataOut)
            {
                   ConvertValue = 0x1;
            }
            Clock = 0;
      }
      ChipSelect = 1;
      return (ConvertValue); //返回转换结果
}

/************ADCSelChannel函数结束**********/

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表