本帖最后由 das 于 2015-4-18 04:22 編輯
main.c
- /************************
- 函數名:ads1115.h
- 功能:模數轉換
- 調用:SCL_H;
- SDA_H;
- SDA_out;
- while(1)
- {
- Udianya=go_1115(0);
- Vdianya=go_1115(1);
- Wdianya=go_1115(2);
- }
- ***************************/
- //開發板可直接用
- //3--GND 4--IN+ 5--IN- 8--3.3V 9--P2.3 10--P2.4
- #include<msp430x16x.h>
- #include"stdio.h"
- #include "12864.c"
- #include"ads117.h"
- #include"display.h"
- #include"caculate.h"
- #include"da.h"
- void current_adjust() //a值是電流的處理壓值
- {
-
- }
-
- uint data0,DA_voltage;
- void main()
- { uchar H=0,i=0;
- uint result_zz=0;
- uint result_z1=0;
- // int data0;
- //uchar temp[10];
- WDT_Init(); //關閉看門狗
- ADC12CTL0=REF2_5V+REFON;
- DAC12_0CTL =DAC12IR + DAC12AMP_5 + DAC12ENC ;
- DAC12_0DAT =1000;
- Clock_Init(); //系統時鐘初始化
- Port_init(); //I\O口初始化
- LCD_init(); //顯示初始化
- LCD_clear();
- LCD_Desk();
- inint_timera();
- key_inint();
- SCL_H;
- SDA_H;
- SDA_out;
-
- while(1)
- { P3OUT=H+i;
- DAC12_0DAT =1638+data0;
- result_z1=sample(50,2)*100;
- result_zz=sample(50,0)*100;
- display_voltage(result_zz*4);
- display_current(result_z1/2);
- //key();
- display_set();
- DisplayCgrom(0x90,"電壓:");
- display_caculate();
- caculate2();
- }
- }
- //測負電壓有待解決
復制代碼
caculate.h
- uchar jishu=0;
- uint zhongshu=0;
- uint pinjun=0;
- void caculate1(void)
- {uchar i;
- zhongshu=0;
- jishu=0;
- for(i=1;i<11;i++)
- {
- if(dianya[i]!=0)
- {
- zhongshu+=dianya[i];
- jishu++;
- }
- }
- pinjun=zhongshu/jishu;
- c=(long)((dianya[0]-pinjun)*100)/dianya[0];
- }
- void caculate2(void)
- {c=(long)((dianya[0]-dianya[a])*100)/dianya[0];
- }
復制代碼
|