2894|2

324

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

(msp430)单通道单次转换对内部温度传感器的操作 [复制链接]

msp430中的ADC12的通道10连接到内部模拟温度传感器上,可以测量msp430芯片温度,并且把温度显示在12864液晶上。
    下面是调试后的程序。


#include

unsigned int long temp;
unsigned int long TemperF;  //华氏温度
unsigned int long TemperC;    //摄氏温度

#define uchar unsigned char
#define uint unsigned int

uchar a[]={"华氏温度: "};
uchar b[]={"摄氏温度: "};

//省略12864部分的程序

void main()
{
        WDTCTL=WDTPW+WDTHOLD;
        uint i;
        initsys();//msp430 系统初始化
        PSB_0;//液晶串行
        init();//液晶初始化

        ADC12CTL0=SHT0_8+REFON+ADC12ON;//内部1.5v参考电压,打开adc12,设置采样保持时间
        ADC12CTL1=SHP;//使用采样定时器
        ADC12MCTL0=SREF_1+INCH_10;//参考电压和通道选择
        ADC12IE=BIT0;//ADC12MEM0  具有中断能力
        ADC12CTL0|=ENC;  //允许转换

        _EINT();  //开启系统中断
        while(1)
        {
                ADC12CTL0|=ADC12SC; //开启采样并AD转换


                TemperF=(temp-2519)*761;
                TemperF=TemperF/4096;  //简化的华氏温度
                TemperC=(temp-2692)*423;
                TemperC=TemperC/4096;//简化的摄氏温度

                send_com(0x80);
                for(i=0;i<10;i++)
                        send_data(a);
                display((uint)TemperF);//12864显示华氏温度
                send_com(0x90);
                for(i=0;i<10;i++)
                        send_data(b);
                display((uint)TemperC);//12864显示摄氏温度
        }
       
}

#pragma vector=ADC12_VECTOR
__interrupt void ADC12ISR(void)
{
        temp=ADC12MEM0;
}

最新回复

没有12864的程序  详情 回复 发表于 2012-8-19 08:38
 
点赞 关注

回复
举报

43

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

没有12864的程序

没有12864的程序

点评

如果贴上12864的程序,这样会比较长,不方便看,所以省略了。。。 这是显示函数 void display(uint a) { uint x,y; x=a/10; y=a%10; send_data(0x30+x); send_data(0x30+y); } 其他的比如写指令se  详情 回复 发表于 2012-8-19 09:06
 
 

回复

324

帖子

0

TA的资源

一粒金砂(高级)

板凳
 

回复 沙发 chen3bing 的帖子

如果贴上12864的程序,这样会比较长,不方便看,所以省略了。。。
这是显示函数
void display(uint a)
{
        uint x,y;
        x=a/10;
        y=a%10;
        send_data(0x30+x);
        send_data(0x30+y);
}

其他的比如写指令send_com,写数据send_data,12864液晶初始化init();可以通用,也就是把其他的相同12864程序复制过来就可以用。
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表