【变废为宝DIY】自制一个OLED简易数字电压表(附程序)
来源:电子工程专辑发布时间:2023-06-041883浏览
询问 AI
活动时间:5月18-7月31日奖项设置:一等奖(1名):大疆 DJI Mini 2 SE 航拍机(¥ 2388)二等奖(2名):京东卡500元三等奖(2名):京东卡300元鼓励参与奖(10名):京东卡50元本项制作直接利用STC12C5A60S2单片机自带的AD转换器。能够测试0-5V电压的数字电压表表头,并有OLED模块显示数值。正好手头有这两个小东西,寻思着可以做个什么小东西玩玩。


这是STC12模块

这是OLED模块
测试效果

测量模块GND电压

测量模块3.3V电压

测量模块5V电压(用电压表实际测试电压为4.5V)
主程序
#include <STC12C5A60S2.H>#include <intrins.h>#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、也可以是拆解+改造。
点击阅读原文,参加活动!
新闻来源:电子工程专辑,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。

