找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3582|回复: 0
打印 上一主题 下一主题
收起左侧

msp430单片机的内部ADC芯片驱动模块c语言程序

[复制链接]
跳转到指定楼层
楼主
ID:51337 发表于 2013-7-14 16:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. //mod p5.3
  2. //wr p5.0
  3. //rd p5.1
  4. //ce p5.2
  5. #include "msp430x44x.h"
  6. #define uchar unsigned char
  7. #define uint unsigned int
  8. uint i=0;

  9. Out_com(uchar com)
  10. {P5OUT=0XF9;
  11. P1DIR=0x00;
  12. while((P1IN&0x03)!=0x03);
  13. P1DIR=0xff;
  14. P5OUT=0XFA;
  15. P1OUT=com;
  16. }

  17. Out_data(uchar dat)
  18. {P5OUT=0XF9;
  19. P1DIR=0x00;
  20. while((P1IN&0x03)!=0x03);
  21. P1DIR=0xff;
  22. P5OUT=0XF2;
  23. P1OUT=dat;
  24. }

  25. Out_data2_com(uchar dat1,uchar dat2,uchar com1)
  26. {Out_data(dat1);
  27. Out_data(dat2);
  28. Out_com(com1);
  29. }

  30. Chars_dis(uchar Line_num,uchar Rank_num,uchar *s)
  31. {uchar i;
  32. Out_data2_com(Line_num*16+Rank_num,0x00,0x24);
  33. Out_com(0xb0);
  34. for(i=0;s[i]!='\0';i++)
  35. Out_data(s[i]-0x20);
  36. Out_com(0xb2);
  37. }

  38. Chars_dic(uchar Line_num,uchar Rank_num,uint i)
  39. {uchar s[10]="0123456789";
  40. Out_data2_com(Line_num*16+Rank_num,0x00,0x24);
  41. Out_com(0xb0);
  42. Out_data(s[i/1000]-0x20);
  43. Out_data(s[i/100%10]-0x20);
  44. Out_data(s[i/10%10]-0x20);
  45. Out_data(s[i%10]-0x20);
  46. Out_com(0xb2);
  47. }

  48. Chars_dit(uchar Line_num,uchar Rank_num,uchar *s)
  49. {uchar m;
  50. for(m=0;m<32;m++)
  51.      {if(m%2==0)
  52.          {Out_com(0xb2);
  53.           Out_data2_com(2*Rank_num+16*m/2,0x04+Line_num,0x24);
  54.           Out_com(0xb0);
  55.           }
  56.       Out_data(s[m]);
  57.      }
  58. Out_com(0xb2);
  59. }

  60. Clear()
  61. {uint i;
  62. Out_data2_com(0x00,0x00,0x24);
  63. Out_com(0xb0);
  64. for(i=0;i<129;i++)
  65.     Out_data(0x00);
  66. Out_com(0xb2);
  67. Out_data2_com(0x00,0x04,0x24);
  68. Out_com(0xb0);
  69. for(i=0;i<1025;i++)
  70.     Out_data(0x00);
  71. Out_com(0xb2);
  72. }

  73. void main()
  74. {WDTCTL = WDTPW + WDTHOLD;
  75. P3OUT=0x00;
  76. P5DIR=0xff;
  77. Out_data2_com(0x00,0x00,0x40);
  78. Out_data2_com(0x10,0x00,0x41);
  79. Out_data2_com(0x00,0x04,0x42);
  80. Out_data2_com(0x10,0x00,0x43);
  81. Out_com(0x80);
  82. Out_com(0x9c);
  83. Clear();
  84. P6SEL|=0x07;
  85. ADC12CTL1=SHP+CONSEQ_1;
  86. ADC12MCTL0=INCH_0;
  87. ADC12MCTL1=INCH_1;
  88. ADC12MCTL2=INCH_2+EOS;
  89. ADC12CTL0=ADC12ON+ENC+MSC;
  90. while(1)
  91. {ADC12CTL0|=ADC12SC;
  92. while(~ADC12IFG & BIT2);
  93. Chars_dic(1,0,ADC12MEM0);
  94. Chars_dic(2,0,ADC12MEM1);
  95. Chars_dic(3,0,ADC12MEM2);
  96. }
  97. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表