MSP430電池電壓采集仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
1587963708.jpg (47.33 KB, 下載次數: 96)
下載附件
2020-4-27 13:04 上傳
1587963770(1).jpg (44.77 KB, 下載次數: 88)
下載附件
2020-4-27 13:04 上傳
單片機源程序如下:
- #include <MSP430x24x.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar const table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, //共陰數碼管段選碼表,無小數點
- 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
- uchar table_volt[4] = {0}; //數組,存儲電壓值
- uchar Index; //變量
- //*******延時函數************//
- void Delay_ms(unsigned int t)
- {
- unsigned int num;
- while(t--)
- for(num=1330;num>0;num--);
- }
- //ADC管腳定義
- #define ADCST0 P5OUT &= ~BIT4
- #define ADCST1 P5OUT |= BIT4
- #define ADCALE0 P5OUT &= ~BIT5
- #define ADCALE1 P5OUT |= BIT5
- #define ADCEOC0 P5OUT &= ~BIT6
- #define ADCEOC1 P5OUT |= BIT6
- #define ADCOE0 P5OUT &= ~BIT7
- #define ADCOE1 P5OUT |= BIT7
- #define ADC_Channel0 P5OUT &= ~BIT0
- #define ADC_Channel1 P5OUT |= BIT0
- unsigned int ADC1 = 0; //變量,采集電池電壓值
- //*******ADC采集啟動函數************//
- void ADC_START(void)
- {
- ADCALE1;
- ADCST1;
- Delay_ms(1);
- ADCALE0;
- ADCST0;
- Delay_ms(1);
- }
- //*******ADC采集時序實現函數************//
- unsigned int ADC_READ(void)
- {
- unsigned int data;
- data=0x00;
- Delay_ms(1);
- ADCOE1;
- ADC_START();
- Delay_ms(5);
- data=P4IN; //讀取數據
- ADCOE0;
- return data; //返回數據
- }
- //*******主函數************//
- void main(void)
- {
-
- WDTCTL=WDTPW + WDTHOLD; // 關閉看門狗
- P2DIR=0xFF; // 設置方向
- P2SEL=0; // 設置為普通I/O 口
-
- P3DIR=0xFF; // 設置方向
- P3SEL=0; // 設置為普通I/O 口
-
- P2OUT=0x00;
- P3OUT=0xFF;
-
- P5SEL = 0x00;
- P5DIR |= BIT0+BIT4+BIT5+BIT6; //ADC芯片接口
-
-
-
- while(1)
- {
-
- P3OUT=0xFF;
- if( Index == 0 ) //如果第一個數碼管顯示,加入小數點
- {
- P2OUT=table[table_volt[Index]]+0x80;//小數點
- }
- else //其他不加
- {
- P2OUT=table[table_volt[Index]]; //顯示電壓值
- }
- P3OUT=~(1<<Index);
- if(++Index==4) Index=0;
- Delay_ms(1); //延時
-
- ADC1 = ADC_READ()*20-80; //ADC電池電壓采集,放大
- table_volt[0] = ADC1/1000; //千位
- table_volt[1] = ADC1%1000/100; //百位
- table_volt[2] = ADC1%100/10; //十位
- table_volt[3] = ADC1%10; //個位
-
- }
-
- }
復制代碼
所有資料51hei提供下載:
電池電壓檢測仿真.zip
(439.18 KB, 下載次數: 47)
2020-4-27 13:04 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|