1949|0

6822

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

用msp430单片机的内部ADC芯片驱动模块c语言程序分享一下 [复制链接]

  • //mod p5.3
  • //wr p5.0
  • //rd p5.1
  • //ce p5.2
  • #include "msp430x44x.h"
  • #define uchar unsigned char
  • #define uint unsigned int
  • uint i=0;
  • Out_com(uchar com)
  • {P5OUT=0XF9;
  • P1DIR=0x00;
  • while((P1IN&0x03)!=0x03);
  • P1DIR=0xff;
  • P5OUT=0XFA;
  • P1OUT=com;
  • }
  • Out_data(uchar dat)
  • {P5OUT=0XF9;
  • P1DIR=0x00;
  • while((P1IN&0x03)!=0x03);
  • P1DIR=0xff;
  • P5OUT=0XF2;
  • P1OUT=dat;
  • }
  • Out_data2_com(uchar dat1,uchar dat2,uchar com1)
  • {Out_data(dat1);
  • Out_data(dat2);
  • Out_com(com1);
  • }
  • Chars_dis(uchar Line_num,uchar Rank_num,uchar *s)
  • {uchar i;
  • Out_data2_com(Line_num*16+Rank_num,0x00,0x24);
  • Out_com(0xb0);
  • for(i=0;s!='\0';i++)
  • Out_data(s-0x20);
  • Out_com(0xb2);
  • }
  • Chars_dic(uchar Line_num,uchar Rank_num,uint i)
  • {uchar s[10]="0123456789";
  • Out_data2_com(Line_num*16+Rank_num,0x00,0x24);
  • Out_com(0xb0);
  • Out_data(s[i/1000]-0x20);
  • Out_data(s[i/100%10]-0x20);
  • Out_data(s[i/10%10]-0x20);
  • Out_data(s[i%10]-0x20);
  • Out_com(0xb2);
  • }
  • Chars_dit(uchar Line_num,uchar Rank_num,uchar *s)
  • {uchar m;
  • for(m=0;m<32;m++)
  •      {if(m%2==0)
  •          {Out_com(0xb2);
  •           Out_data2_com(2*Rank_num+16*m/2,0x04+Line_num,0x24);
  •           Out_com(0xb0);
  •           }
  •       Out_data(s[m]);
  •      }
  • Out_com(0xb2);
  • }
  • Clear()
  • {uint i;
  • Out_data2_com(0x00,0x00,0x24);
  • Out_com(0xb0);
  • for(i=0;i<129;i++)
  •     Out_data(0x00);
  • Out_com(0xb2);
  • Out_data2_com(0x00,0x04,0x24);
  • Out_com(0xb0);
  • for(i=0;i<1025;i++)
  •     Out_data(0x00);
  • Out_com(0xb2);
  • }
  • void main()
  • {WDTCTL = WDTPW + WDTHOLD;
  • P3OUT=0x00;
  • P5DIR=0xff;
  • Out_data2_com(0x00,0x00,0x40);
  • Out_data2_com(0x10,0x00,0x41);
  • Out_data2_com(0x00,0x04,0x42);
  • Out_data2_com(0x10,0x00,0x43);
  • Out_com(0x80);
  • Out_com(0x9c);
  • Clear();
  • P6SEL|=0x07;
  • ADC12CTL1=SHP+CONSEQ_1;
  • ADC12MCTL0=INCH_0;
  • ADC12MCTL1=INCH_1;
  • ADC12MCTL2=INCH_2+EOS;
  • ADC12CTL0=ADC12ON+ENC+MSC;
  • while(1)
  • {ADC12CTL0|=ADC12SC;
  • while(~ADC12IFG & BIT2);
  • Chars_dic(1,0,ADC12MEM0);
  • Chars_dic(2,0,ADC12MEM1);
  • Chars_dic(3,0,ADC12MEM2);
  • }
  • }

 
点赞 关注

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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