msp430写的ads1115代码Word文档格式.docx
- 文档编号:17307581
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:16
- 大小:17.22KB
msp430写的ads1115代码Word文档格式.docx
《msp430写的ads1115代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《msp430写的ads1115代码Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
lcd_init();
while
(1)
{
if(Confige1115(channel_0))
result=read1115();
//result=read1115();
display();
}
第二个文件iic.h
#include<
//typedefunsignedcharuchar;
//typedefunsignedintuint;
#defineSCL_HP2OUT|=BIT3
#defineSCL_LP2OUT&
=~BIT3
#defineSDA_HP2OUT|=BIT4
#defineSDA_LP2OUT&
=~BIT4
#defineSDA_inP2DIR&
=~BIT4//SDA改成输入模式
#defineSDA_outP2DIR|=BIT4//SDA变回输出模式
#defineSDA_valP2IN&
BIT4//SDA的位值
#defineTRUE1
#defineFALSE0
/*******************************************
函数名称:
delay
功能:
延时约15us的时间
参数:
无
返回值:
********************************************/
voiddelay(void)
uchari;
for(i=0;
i<
15;
i++)
_NOP();
}
start
完成IIC的起始条件操作
voidstart(void)
SCL_H;
SDA_H;
delay();
SDA_L;
SCL_L;
stop
完成IIC的终止条件操作
voidstop(void)
mack
完成IIC的主机应答操作
voidmack(void)
_NOP();
mnack
完成IIC的主机无应答操作
voidmnack(void)
/**********检查应答信号函数******************/
/*如果返回值为1则证明有应答信号,反之没有*/
check
检查从机的应答操作
从机是否有应答:
1--有,0--无
ucharcheck(void)
ucharslaveack;
SDA_in;
slaveack=SDA_val;
//读入SDA数值
SDA_out;
if(slaveack)returnFALSE;
elsereturnTRUE;
write1
向IIC总线发送一个1
voidwrite1(void)
write0
向IIC总线发送一个0
voidwrite0(void)
write1byte
向IIC总线发送一个字节的数据
wdata--发送的数据
voidwrite1byte(ucharwdata)
for(i=8;
i>
0;
i--)
if(wdata&
0x80)write1();
elsewrite0();
wdata<
<
=1;
}
read1byte
从IIC总线读取一个字节
读取的数据
ucharread1byte(void)
ucharrdata=0x00,i;
ucharflag;
8;
SDA_H;
delay();
SCL_H;
flag=SDA_val;
rdata<
if(flag)rdata|=0x01;
SCL_L;
returnrdata;
第三个文件ads1115.h
#include"
IIC.h"
#defineaddress0x90
#defineconfig0x01
#defineconversion0x00
#defineLsiwei0xE3
#definechannel_00//表示选择通道0
#definechannel_11//表示选择通道1
#definechannel_22//表示选择通道2
#definechannel_33//表示选择通道2
delay_10ms
延时约6ms,等待EEPROM完成内部写入
voiddelay_10ms(void)
uinti=1000;
while(i--);
ucharConfige1115(ucharchannel)
uchara_channel;
switch(channel)
case0:
a_channel=0xC2;
break;
case1:
a_channel=0xD2;
case2:
a_channel=0xE2;
case3:
a_channel=0xF2;
default:
break;
start();
write1byte(address);
if(check())
write1byte(config);
else
return0;
write1byte(a_channel);
write1byte(Lsiwei);
stop();
delay_10ms();
//等待EEPROM完成内部写入
return1;
uintread1115()
ucharresult_l,result_h;
uintresult;
write1byte(conversion);
write1byte(address+1);
result_h=read1byte();
mack();
result_l=read1byte();
mnack();
result=result_h*256+result_l;
returnresult;
voidad_init()
{P2DIR|=0x18;
第四个文件12864.h
typedefunsignedcharuchar;
typedefunsignedintuint;
#defineLCD_DataInP3DIR=0x00//数据口方向设置为输入
#defineLCD_DataOutP3DIR=0xff//数据口方向设置为输出
#defineLCD2MCU_DataP3IN
#defineMCU2LCD_DataP3OUT
#defineLCD_CMDOutP3DIR|=0x07//P3口的低三位设置为输出
#defineLCD_RS_HP4OUT|=BIT3//P3.0
#defineLCD_RS_LP4OUT&
=~BIT3//P3.0
#defineLCD_RW_HP4OUT|=BIT2//P3.1
#defineLCD_RW_LP4OUT&
=~BIT2//P3.1
#defineLCD_EN_HP4OUT|=BIT1//P3.2
#defineLCD_EN_LP4OUT&
=~BIT1//P3.2
constuchardis1[]={"
普中科技"
};
constuchardis2[]={"
自学单片机第一站"
constuchardis3[]={"
"
//ucharcodedis4[]={"
TEL:
755-29325187"
延时
voiddelay1(uintn)
uinti,j;
for(i=n;
for(j=150;
j>
j--)
Write_Cmd
向液晶中写控制命令
cmd--控制命令
voidwrite_cmd(ucharcmd)
ucharlcdtemp=0;
LCD_RS_L;
LCD_RW_H;
LCD_DataIn;
do//判忙
{
LCD_EN_H;
_NOP();
lcdtemp=LCD2MCU_Data;
LCD_EN_L;
while(lcdtemp&
0x80);
LCD_DataOut;
LCD_RW_L;
MCU2LCD_Data=cmd;
LCD_EN_L;
Write_Data
向液晶中写显示数据
dat--显示数据
voidwrite_dat(uchardat)
lcdtemp=LCD2MCU_Data;
LCD_RS_H;
MCU2LCD_Data=dat;
Ini_Lcd
初始化液晶模块
voidlcd_init()
LCD_CMDOut;
//液晶控制端口设置为输出
P6DIR|=BIT3;
P6OUT|=BIT3;
P4DIR|=0x0e;
//Delay_Nms(500);
write_cmd(0x30);
//基本指令集
delay1
(1);
write_cmd(0x0c);
//整体显示打开,游标关闭
write_cmd(0x01);
//清除显示
write_cmd(0x80);
//设置显示位置为第一行
i=0;
while(dis1[i]!
='
\0'
)
write_dat(dis1[i]);
i++;
write_cmd(0x90);
//设置显示位置为第二行
while(dis2[i]!
write_dat(dis2[i]);
write_cmd(0x88);
//设置显示位置为第三行
while(dis3[i]!
write_dat(dis3[i]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- msp430 ads1115 代码