在这里记录一下我四天的小小成果,也可供大家参考(能力有限,大佬勿喷)
应题目要求,充电桩部分主控板选用 MSP430expf5529 单片机,功耗较低,好操作
- #include "msp430f5529.h"
- #include"I2C_OLED.H"
- #include"zimo.h"
- #define CPU_F ((double)1000000)
- #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) //定义宏,延时
- void GO0(void) //oled显示 “准备充电”
- {
- I2C_OLED_Init();
- OLED_P16x16Ch(26,3,32);
- OLED_P16x16Ch(46,3,33);
- OLED_P16x16Ch(66,3,34);
- OLED_P16x16Ch(86,3,35);
- }
- void GO1(void) //oled显示 “充电完成”
- {
- I2C_OLED_Init();
- OLED_P16x16Ch(26,3,34);
- OLED_P16x16Ch(46,3,35);
- OLED_P16x16Ch(66,3,36);
- OLED_P16x16Ch(86,3,37);
- }
- void OFF(void) //继电器全断
- {
- P2OUT&=~BIT3;
- P2OUT&=~BIT6;
- P8OUT&=~BIT1;
- P8OUT&=~BIT2;
- }
- void ONB(void) //继电器开b
- {
- P2OUT|=BIT3;
- P2OUT&=~BIT6;
- P8OUT&=~BIT1;
- P8OUT&=~BIT2;
- }
- void ONA(void) //继电器开a
- {
- P2OUT&=~BIT3;
- P2OUT|=BIT6;
- P8OUT&=~BIT1;
- P8OUT&=~BIT2;
- }
- void ONC(void) //继电器开c
- {
- P2OUT&=~BIT3;
- P2OUT&=~BIT6;
- P8OUT|=BIT1;
- P8OUT&=~BIT2;
- }
- void OND(void) //继电器开d
- {
- P2OUT&=~BIT3;
- P2OUT&=~BIT6;
- P8OUT&=~BIT1;
- P8OUT|=BIT2;
- }
- int main(void)
- {
- WDTCTL = WDTPW+WDTHOLD; //关闭看门狗
- P2DIR|=(BIT0+BIT3+BIT6+BIT5+BIT7); //定义引脚为输出方向
- P8DIR|=(BIT1+BIT2);
- P1DIR|=BIT6;
- P2OUT|=BIT7; //定义引脚为高电平输出
- P1OUT|=BIT6;
- int a;
- a=60;
- OLED_CLC(); //oled清屏
- GO0();
- OFF();
- while(P2IN & BIT4); //启动开关被触发
- {
- P1OUT&=~BIT6; / /蜂鸣器模块响一下
- delay_ms(100);
- P1OUT|=BIT6;
- OLED_CLC();
- ONB();
- for (a; a>=0; a--) //60s倒计时 同时oled显示时间
- {
- show_Num(55,3,a,2,30);
- delay_ms(1000);
- }
- OFF();
- P1OUT&=~BIT6;
- delay_ms(100);
- P1OUT|=BIT6;
- OLED_CLC();
- GO1();
- }
- while (1)
- {
- if(P3IN & BIT7); //五个霍尔传感器的检测程序,当有信号时,打开相应的继电器
- else{
- ONA();
- }
- if(P1IN & BIT3);
- else{
- ONB();
- }
- if(P7IN & BIT4 );
- else{
- ONC();
- }
- if(P1IN & BIT4);
- else{
- ONC();
- }
- if(P1IN & BIT5);
- else{
- OND();
- }
- }
- }
复制代码
实现功能:屏幕倒计时显示,60s断电,发射线圈保证单一供电,A-B停,移动充电
引脚使用说明:
四路继电器,数字输出信号脚(P2.3\P2.6\P8.1\P8.2)
OLED iic信号脚(P4.1\P4.2)
五个霍尔模块,数字输入信号脚(P3.7\P1.3\P1.4\P1.5\P7.4)
蜂鸣器低电平触发模块,数字输出信号脚(P1.6)
光电开关(用于启动整体程序)(P2.4)
程序流程图
充电桩整体原理图
总结:
本充电桩方案可解决本题各项基本要求(不包括测距离题)使用简单,成型快,喜欢的小伙伴可以用于参考
|