
本項制作直接利用STC12C5A60S2單片機自帶的AD轉換器。能夠測試0-5V電壓的數字電壓表表頭,并有OLED模塊顯示數值。正好手頭有這兩個小東西,尋思著可以做個什么小東西玩玩。
這是STC12模塊
這是OLED模塊
測試效果
測量模塊GND電壓

測量模塊3.3V電壓

測量模塊5V電壓(用電壓表實際測試電壓為4.5V)
主程序
#include#include#include "oled.h"float V = 0;u32 L = 0;u8 d[5];/*********************************************************************************************/*********************************************************************************************/u32 Read(u32 CHA){u8 AD_FLAG = 0;/**************************************************************************/CHA &= 0x07;ADC_CONTR = 0x40;_nop_();ADC_CONTR |= CHA;_nop_();ADC_CONTR |= 0x80;delay_ms(3);/****************************************************************************/ADC_CONTR |= 0x08;_nop_();_nop_();_nop_();_nop_();while(AD_FLAG == 0){AD_FLAG = (ADC_CONTR & 0x10);}ADC_CONTR &= 0xe7;return(ADC_RES*4+ADC_RESL);}/*********************************************************************************************//*********************************************************************************************/*********************************************************************************************/void transfer(void){V = Read(0x00)*4.321;L=V;d[1] = L / 1000;L = L % 1000;d[2] = L / 100;L = L % 100;d[3] = L / 10;d[4] = L % 10;}/*********************************************************************************************/void main(void){AUXR = 0x00;P1M0 = 0xff;P1M1 = 0x00;P1ASF = 0xff;OLED_Init();OLED_Clear();OLED_Clear();OLED_ShowCHinese(18,0,0);OLED_ShowCHinese(36,0,1);OLED_ShowCHinese(54,0,2);OLED_ShowCHinese(72,0,3);OLED_ShowCHinese(90,0,4);while (1){transfer();OLED_ShowCHinese(5,4,5);OLED_ShowCHinese(23,4,6);OLED_ShowCHinese(41,4,7);OLED_ShowChar(59,4,58);OLED_ShowNum(67,4,d[0],1,16);OLED_ShowNum(75,4,d[1],1,16);OLED_ShowChar(83,4,46);OLED_ShowNum(91,4,d[2],1,16);OLED_ShowNum(99,4,d[3],1,16);OLED_ShowNum(107,4,d[4],1,16);OLED_ShowChar(115,4,86);OLED_ShowString(20,6,"2017/11/21");delay_ms(500);}}
備注: 在檢測外部電壓的時候要共地。
END

活動時間:5月18日-7月31日
獎項設置:
一等獎(1名):大疆 DJI Mini 2 SE 航拍機(¥ 2388)
二等獎(2名):京東卡500元
三等獎(2名):京東卡300元
鼓勵參與獎(10名):京東卡50元
活動要求:
可以是單純的拆解過程、也可以是單純的DIY、也可以是拆解+改造。
點擊閱讀原文,參加活動!