12896|4

337

帖子

0

TA的资源

裸片初长成(中级)

楼主
 

AD+串口程序 [复制链接]

#i nclude<pic.h> __CONFIG(0x1832); union adres {int y1; unsigned char adre[2]; }adresult; int AD_Value; bit sci_Sign,js=0; int Order[3]; int buf[4]; void adinitial(void); void sciint(void); void ad_Collect(void); void sci(int); //*SCI部件接收初始化子程序*/ void sciint() { TRISC7= 1 ;// |= 0xc0;//设置为输入 TRISC6= 1 ; BRGH = 1 ; //高波特率选择位 SPBRG = 25 ; //((20000000/9600)/16)-1 SYNC = 0 ;//异步 SPEN = 1 ;//串口使能 RCIE = 1 ;// USART数据接收中断使能位 TXIE = 0 ;//USART数据发送中断使能位 TXEN = 1 ;//发送 CREN = 1 ;//连续接收使能位 PEIE= 1 ; //开中断 } //A/D 转换初始化子程序 void adinitial() { ADCON0=0X41;// ADCON1=0X8E; TRISA0=1; } void ad_Collect() { float temp; ADGO=1; while(!ADIF); ADIF=0; adresult.adre[0]=ADRESL;//读取AD转换的结果到联合体数组. adresult.adre[1]=ADRESH; // AD_value="/ADRESH;// temp=(float)adresult.y1;//*5)/1023)*1000; temp=((temp*5)/1023)*100; AD_Value=(int)(temp*5);//adresult.y1;//(int)temp; } void" sci(int tran) { while(!TXIF); TXREG=tran; //*发出一个字符*/ TXIF=0; } void interrupt SCI_Admit(void) { // sci_Sign=1; int temp; if(RCIF) //判断是否是接收中断 { if(js) { if(Order[0]=='$') { temp++; Order[temp]=RCREG; if(temp==2) { js=0; sci_Sign=1; temp=0; } } else js=0; // RCIF=0; } else { Order[0]=RCREG; js=1; temp=0; } RCIF=0; } } /* if(js) { if(Order[1]=='R') { Order[2]=RCREG; sci_Sign=1; js=0; } else { Order[1]=RCREG; } temp++; Order[temp]=RCREG; if(temp==2) js=0; }*/ void int_to_asc(int dat) { int temp; buf[0]=(dat/1000)+'0'; temp=dat%100; buf[1]=((dat%1000)/100)+'0'; buf[2]=((dat%1000)%100)/10+'0'; buf[3]=((dat%1000)%100)%10+'0'; } void main() { int temp='V'; adinitial(); sciint(); //*SCI部件初始化*/ sci_Sign=0; ei(); TXEN = 1 ;//发送 CREN = 1 ;//连续接收使能位 while(1) { // ad_Collect(); if(sci_Sign) { if(Order[0]=='$') { if(Order[1]=='R'&&Order[2]=='V') { ad_Collect(); //AD_value="/123; //sci(AD_Value); int_to_asc(AD_Value); sci(temp); if(buf[0]!='0') sci(buf[0]); sci(buf[1]); sci('."'); sci(buf[2]); sci(buf[3]); Order[0]=0; Order[1]=0; Order[2]==0; } // sci(temp); } sci_Sign=0; } } }
此帖出自单片机论坛

最新回复

很好,可是看起来有些乱啊  详情 回复 发表于 2009-6-14 09:22
点赞 关注
 

回复
举报

229

帖子

0

TA的资源

纯净的硅(高级)

沙发
 

回复:AD+串口程序

此帖出自单片机论坛
 
个人签名作人随心、做事随缘。世间凡事岂能尽如人意。不求无怨无悔、但求无愧于心。
 

回复

1583

帖子

0

TA的资源

五彩晶圆(高级)

板凳
 

回复:AD+串口程序

我也来学学C的~~~~
此帖出自单片机论坛
 
个人签名
 
 

回复

1759

帖子

0

TA的资源

裸片初长成(高级)

4
 

回复:AD+串口程序

很好
此帖出自单片机论坛
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

5
 
很好,可是看起来有些乱啊
此帖出自单片机论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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