恒流源,直流数控电阻箱设计的完整论文下载(word格式 可编辑):
比赛.docx
(2.22 MB, 下载次数: 76)
单片机源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- #include "lcd.h"
- #include "key.h"
- #include "sram.h"
- #include "malloc.h"
- #include "usmart.h"
- #include "sdio_sdcard.h"
- #include "malloc.h"
- #include "w25qxx.h"
- #include "ff.h"
- #include "exfuns.h"
- #include "fontupd.h"
- #include "text.h"
- #include "adc.h"
- #include "dac.h"
- #include "value.h"
-
- int main(void)
- {
- // u16 adcx;
- // float temp;
- // u16 dacval=0;
- u8 key;
-
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
- delay_init(168); //初始化延时函数
- uart_init(115200); //初始化串口波特率为115200
- Adc_Init(); //adc初始化
- Dac1_Init(); //DAC通道1初始化
-
- LED_Init(); //初始化LED
- R_Init(); //电阻箱 输入变量,初始化
- LCD_Init(); //LCD初始化
- KEY_Init(); //按键初始化
- W25QXX_Init(); //初始化W25Q128
- usmart_dev.init(168); //初始化USMART
- my_mem_init(SRAMIN); //初始化内部内存池
- my_mem_init(SRAMCCM); //初始化CCM内存池
- exfuns_init(); //为fatfs相关变量申请内存
- f_mount(fs[0],"0:",1); //挂载SD卡
- f_mount(fs[1],"1:",1); //挂载FLASH.
- while(font_init()) //检查字库
- {
- UPD:
- LCD_Clear(WHITE); //清屏
- POINT_COLOR=RED; //设置字体为红色
- LCD_ShowString(30,50,200,16,16,"Explorer STM32F4");
- while(SD_Init()) //检测SD卡
- {
- LCD_ShowString(30,70,200,16,16,"SD Card Failed!");
- delay_ms(200);
- LCD_Fill(30,70,200+30,70+16,WHITE);
- delay_ms(200);
- }
- LCD_ShowString(30,70,200,16,16,"SD Card OK");
- LCD_ShowString(30,90,200,16,16,"Font Updating...");
- key=update_font(20,110,16,"0:");//更新字库
- while(key)//更新失败
- {
- LCD_ShowString(30,110,200,16,16,"Font Update Failed!");
- delay_ms(200);
- LCD_Fill(20,110,200+20,110+16,WHITE);
- delay_ms(200);
- }
- LCD_ShowString(30,110,200,16,16,"Font Update Success! ");
- delay_ms(1500);
- LCD_Clear(WHITE);//清屏
- }
- POINT_COLOR=RED;
- Show_Str(5,10,275,24,"2017长通杯电子竞赛",24,0);
- POINT_COLOR=BLACK ;
- Show_Str(30,50,200,24,"数控直流电阻箱",24,0);
- Show_Str(80,80,200,24,"-225实验室-",24,0);
- POINT_COLOR=BLUE;//设置字体为蓝色
- Show_Str(10,110,200,24,"端子电压:00.000V",24,0);
-
- POINT_COLOR=RED;
- // LCD_ShowxNum(118,110,rely_V,2,24,0); //显示电压值整数部分
- // rely_V=6;
- //LCD_ShowxNum(154,110,rely_V,1,24,0); //显示电压值整数部分
- LCD_DrawRectangle( 10,140,230,310 ); //矩形框
- while(1)
- {
- while(MODE==0)
- {
-
-
- LCD_Fill(50,180,74,204,GREEN);
- Show_Str(80,180,200,24,"跟随模式",24,0);
- LCD_Fill(50,210,74,234,RED);
- Show_Str(80,210,200,24,"锁定模式",24,0);
- delay_ms(1000);
-
- if(KEY10==0 &&KEY9==1)
- {
- MODE=2;
- }
- if(KEY9==0 && KEY10==1)
- {
- MODE=1;
- }
- if(key==U_P) goto UPD ;
- /////////////////跟随模式
- while(MODE==1)
-
- {
- LCD_Fill(15,145,225,305, WHITE);
- while(MODE==1)
- {
- Test_V();
- Get_resistance();
-
- Open_ELEC();
-
- if(KEY9==0&&KEY10==0)
- {
- MODE=0;
- }
-
- }
- }
- //////////////////锁定模式
- while( MODE==2)
- {
- LCD_Fill(15,145,225,305, WHITE);
-
- Test_V();
- while(MODE==2)
- {
-
- Get_resistance();
- Open_ELEC();
- if(KEY9==0&&KEY10==0)
- {
- MODE=0;
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
2017校内竞赛(直流电阻箱).7z
(1.72 MB, 下载次数: 90)
|