600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 基于STM32F103C8T6的充电桩计费系统(程序+原理图+PCB+论文)

基于STM32F103C8T6的充电桩计费系统(程序+原理图+PCB+论文)

时间:2020-08-12 21:09:19

相关推荐

基于STM32F103C8T6的充电桩计费系统(程序+原理图+PCB+论文)

本设计:

基于STM32F103C8T6的充电桩计费系统(程序+原理图+PCB+论文)

原理图:Altium Designer

程序编译器:keil 5

编程语言:C语言

编号C0019

下载链接

【腾讯文档】C0019 网盘链接/doc/DS2NVbkhWZG9GQnd2

本设计采用单相互感式计量模块检测交流用电量,利用 RC522 射频模块完

成刷卡计费系统设计。STM32F103C8T6 通过 Modbus 串行传输通信协议与计量

模块进行通信,获得实时电压,实时电流和累计用电量。整个电量检测模块使用电流互感器和光耦隔离,对使用者和控制电路板进行保护。利用 RC522 射频

模块对不同 IC 卡进行读写操作,完成充值,查询和扣费操作,HMI 串口触摸

屏同步显示操作步骤信息。IC 卡号可以储存在 EEPROM 中,保留用户信息。

电参数信息可通过蓝牙发送到其他蓝牙设备上,通过跳线选择 RS232 通信将信

息传输到串行设备上。系统完成硬件电路和程序设计,适合在汽车充电桩上作

为计费系统使用。

STM32F103C8T6 作为中央控制芯片,其它模块包括:AMS1117- 3.3V 稳压电源、、HMI 串口显示屏、晶振与复位电路、RS232 通信模块、RFID-RC522 射频模块、LED 显示、EEPROM 模块和隔离模块。

原理图(提供源文件):

PCB(提供源文件):

源程序(提供源文件):

int main(void){char showBuff[80];GPIO_InitTypeDef GPIO_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// ÉèÖÃÖжÏÓÅÏȼ¶·Ö×é2delay_init();//ÑÓʱº¯Êý³õʼ»¯ uart1_init(9600);uart2_init(9600);uart3_init(4800);LED_Init(); //³õʼ»¯ÓëLEDÁ¬½ÓµÄÓ²¼þ½Ó¿ÚKEY_Init();//°´¼ü³õʼ»¯//TIM2_Int_Init(4999,71); //(1000*72/72(Mhz))us=1ms//TIM3_Int_Init(999,71);AT24CXX_Init();//IIC³õʼ»¯ InitRc522();power_ClearValue();while(1){Charge_GetValue();memset(showBuff,0,sizeof(showBuff));snprintf(showBuff,sizeof(showBuff),"V:%.2fV,I:%.2fA,E:%.2fkW-h\r\n", control.V,control.I,control.E);UsartPrintf(USART2,showBuff);switch(TFT_Command){case TFT_CommandMain:memset(showBuff,0,sizeof(showBuff));snprintf(showBuff,sizeof(showBuff),"main.t0.txt=\"µçѹ:%.2fV\"", control.V);UsartPrintf(USART1,showBuff);UsartPrintf(USART1,sendEnd);memset(showBuff,0,sizeof(showBuff));snprintf(showBuff,sizeof(showBuff),"main.t1.txt=\"µçÁ÷:%.2fA\"", control.I);UsartPrintf(USART1,showBuff);UsartPrintf(USART1,sendEnd);getRFID=0;break;case TFT_CommandStart:memset(showBuff,0,sizeof(showBuff));snprintf(showBuff,sizeof(showBuff),"start.t0.txt=\"µçѹ:%.2fV\"", control.V);UsartPrintf(USART1,showBuff);UsartPrintf(USART1,sendEnd);memset(showBuff,0,sizeof(showBuff));snprintf(showBuff,sizeof(showBuff),"start.t1.txt=\"µçÁ÷:%.2fA\"", control.I);UsartPrintf(USART1,showBuff);UsartPrintf(USART1,sendEnd);memset(showBuff,0,sizeof(showBuff));snprintf(showBuff,sizeof(showBuff),"start.t2.txt=\"µçÁ¿:%.2fkW-h\"", control.E);UsartPrintf(USART1,showBuff);UsartPrintf(USART1,sendEnd);memset(showBuff,0,sizeof(showBuff));snprintf(showBuff,sizeof(showBuff),"start.t3.txt=\"½ð¶î:%.1fÔª\"", control.E*Unit_price);UsartPrintf(USART1,showBuff);UsartPrintf(USART1,sendEnd);break;case TFT_CommandQuery:if(!RFID_find()){UsartPrintf(USART1,"vis g0,0");//¹Ø±Õ¹ö¶¯Îı¾UsartPrintf(USART1,sendEnd);temp_money=Read_overage();memset(showBuff,0,sizeof(showBuff));snprintf(showBuff,sizeof(showBuff),"query.t0.txt=\"Óà¶î:%.1lfÔª\"", temp_money);UsartPrintf(USART1,showBuff);UsartPrintf(USART1,sendEnd);}break;case TFT_CommandRecharge:if(!RFID_find() && getRFID==0){UsartPrintf(USART1,"page recharge");UsartPrintf(USART1,sendEnd);getRFID=1;}if(alterInfo.rev_idle){temp_money=alterInfo.alterBuf[4]+Read_overage();RFID_find();write_overage(temp_money);UsartPrintf(USART1,"page main");UsartPrintf(USART1,sendEnd);TFT_Command=TFT_CommandMain;alterInfo.rev_idle=0;}break;case TFT_CommandConsume:if(!RFID_find()){UsartPrintf(USART1,"vis g0,0");//¹Ø±Õ¹ö¶¯Îı¾UsartPrintf(USART1,sendEnd);//µ÷ÊÔtemp_money=Read_overage()-control.E*Unit_price;test=(Read_overage()-control.E*Unit_price)*10;temp_money=(double)test/10;memset(showBuff,0,sizeof(showBuff));snprintf(showBuff,sizeof(showBuff),"consume.t0.txt=\"Óà¶î:%.1lfÔª\"", temp_money-10);UsartPrintf(USART1,showBuff);UsartPrintf(USART1,sendEnd);delay_ms(1000);RFID_find();write_overage(temp_money-10);power_ClearValue();//Çå³ýµçÁ¿TFT_Command=TFT_CommandMain;//±ÜÃâÖظ´¿Û·Ñ}break;default:break;}}}

论文报告部分目录:

资料清单如下:

温馨提示:

1、拿到压缩包文件之后先解压,再运行!!压缩名称带有特殊符号的,要把特殊符号删除再解压,例如⭐;

2、单片机芯片是通用的,无论51还是52、无论stc还是at都一样,引脚功能都是一样的,程序也是一样的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片;

3、仿真原理图和硬件原理图会有着些许区别,如果要做硬件请参照硬件原理图,硬件原理图中的. Sch .pcb等格式要用altium designer 打开;

4、如果没有装KEIL软件:.c .h结尾的文件即为程序,可以选择记事本、Notepad++、Source Insight 4.0、或其他C语言软件打开,打开的就是程序了。其他后缀的文件是写程序编译时自动生成的,没什么用的,不用管;

5、仿真时请打开“.pdsprj”工程文件或“.DSN”工程文件,“.pdsprj”是proteus8版本画的,“.DSN”是proteus7版本画的,版本是向上兼容的,理论上proteus8可以打开“.DSN”工程文件,proteus7打不开“.pdsprj”工程文件;

6、后缀.hex结尾的文件为烧录文件,仿真时一定要记得烧录程序(.hex)。

注:

请大家将keil安装在默认路径,C:\Keil,不要安装在其他盘

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。