|
做了一个stm32的万年历,具有温度显示,闹钟设置,可以通过感光播放音乐。- #include "delay.h"
- #include "sys.h"
- #include "rtc.h"
- #include "oled.h"
- #include "bmp.h"
- #include "key.h"
- #include "adc.h"
- #include "ds18b20.h"
-
- u8 timetemp=0;
- u8 Naozhonghour=0;
- u8 Naozhongminite=0;
- u16 MenueSlect = 0;//0正常,1、2、3、4年4位设置,5月设置,
- //6日设置, 7时设置, 8分设置, 9秒复位设置
- //闹钟设置,10时设置, 11分设置, 12闹钟开关设置
- //感光元件设置:13感光设置
- u8 SetFalg = 0; //1为设置状态
- u8 FirstFlag = 0;
- u8 NaozhongFlag = 0;//1为开状态
- u8 GanguangFlag = 0;//1为开状态
- u8 NaoxiangFlag = 0;
- u8 AllSetNumber = 0;
- //u8 Wendu = 0;
- short temperature = 0;
- u8 Bhour;
- u8 Bmin;
- u8 Bsec;
- //公历日月年周
- u16 Bw_year;
- u8 Bw_month;
- u8 Bw_date;
- u8 Bweek;
- u16 Number = 1;
- u16 NumberBuf1 = 1;
- u16 NumberBuf2 = 10;
- u16 ActNumber = 0;
- u16 ActNumbertemp = 0;
- u16 ActNumber1[3] ;
- u8 ActNumberLoop = 0;
- u16 ActNumberBuf1;
- u16 ADBuf;
- u16 ADBuf1;
- u16 ADBuf2;
- u8 NumberBuff[3];
- float Xielv =1;
- float B =1;
- u8 CheckFalg = 0;//0正常模式,1设置步骤1,2设置步骤2
- u8 FaultFalg = 0;
- u8 FirstFalg = 0;
- u8 OKFalg = 0;
- void Set_All(void);
- void MokuaiInit(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能B端口时钟
- GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_9;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz
- GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化GPIOD3,6
- GPIO_SetBits(GPIOB,GPIO_Pin_9);
-
-
- //RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能B端口时钟
- //GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_5;
- //GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //
- //GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化GPIOD3,6
- }
- void HexToAsc1(uint8_t HexData,uint8_t *p)
- {
- p[0] = HexData % 10 | 0x30;
- }
- //数值转换:3位HEX数(1字节)和ASC码转换
- void HexToAsc3(uint16_t HexData,uint8_t *p)
- {
- p[0] = HexData / 100 ;
- p[1] = HexData % 100 / 10 ;
- p[2] = HexData % 10 ;
- }
- void KeyLedHandle(void) //键盘和LED处理
- {
- static u8 KeyTemp1; //按键值临时缓存1
- static u8 KeyTemp2; //按键值临时缓存2
- static u8 KeyCount;
- static u8 KeyValue;
- u8 tempge =0,tempshi=0,tempbai=0,tempqian=0;
- u16 temp;
-
-
-
-
- KeyTemp1 =KEY_Scan(0);
-
-
- if(KeyTemp1 !=0) //其它按键按下,计数为5,执行相应的按键操作
- {
- //Music=!Music;
- if(NaoxiangFlag == 1)
- {
- NaoxiangFlag = 0;
- Music_OFF;
-
-
- }
- switch(KeyTemp1)
- {
- case KEY_UP: //上+
- LED0=!LED0;
- if(SetFalg == 1)
- {
- AllSetNumber++;
- if(MenueSlect == 1)//年第一位设置
- {
-
- if(AllSetNumber >=3)
- {
- AllSetNumber = 1;
- }
- }
- else if((MenueSlect ==2)||(MenueSlect ==3)||(MenueSlect ==4)) //年第二三四位设置
- {
- if(AllSetNumber >=10)
- {
- AllSetNumber = 0;
- }
- }
- else if(MenueSlect == 5)//月设置
- {
- if(AllSetNumber >=13)
- {
- AllSetNumber = 1;
- }
- }
- else if(MenueSlect == 6)//日设置
- {
- if(AllSetNumber >=32)
- {
- AllSetNumber = 1;
- }
- }
- else if(MenueSlect == 7)//时设置
- {
- if(AllSetNumber >=24)
- {
- AllSetNumber = 0;
- }
- }
- else if(MenueSlect == 8)//分设置
- {
- if(AllSetNumber >=60)
- {
- AllSetNumber = 0;
- }
- }
- else if(MenueSlect ==9 )//秒复位
- {
- AllSetNumber = 0;
- }
- else if(MenueSlect == 10)//闹钟时设置
- {
- if(AllSetNumber >=24)
- {
- AllSetNumber = 0;
- }
- }
- else if(MenueSlect == 11)//闹钟分设置
- {
- if(AllSetNumber >=60)
- {
- AllSetNumber = 0;
- }
- }
- else if(MenueSlect == 12)//闹钟开关设置
- {
- if(NaozhongFlag == 0 )
- {
- NaozhongFlag = 1;//1为开状态
- }
- else
- {
- NaozhongFlag = 0;//1为开状态
- }
-
- }
- else if(MenueSlect == 13)//感光元件开关设置
- {
- if(GanguangFlag == 0)
- {
- GanguangFlag = 1;//1为开状态
- }
- else
- {
- GanguangFlag = 0;//1为开状态
- }
-
- }
- else
- {
- }
- }
-
- break;
- case KEY_DOWN: //下-
- LED0=!LED0;
- if(SetFalg == 1)
- {
-
- if(MenueSlect == 1)//年第一位设置
- {
- if(AllSetNumber ==1)
- {
- AllSetNumber = 2;
- }
- else
- {
- AllSetNumber--;
- }
- }
- else if((MenueSlect ==2)||(MenueSlect ==3)||(MenueSlect ==4)) //年第二三四位设置
- {
- if(AllSetNumber ==0)
- {
- AllSetNumber = 9;
- }
- else
- {
- AllSetNumber--;
- }
- }
- else if(MenueSlect == 5)//月设置
- {
- if(AllSetNumber ==1)
- {
- AllSetNumber = 12;
- }
- else
- {
- AllSetNumber--;
- }
- }
- else if(MenueSlect == 6)//日设置
- {
- if(AllSetNumber ==1)
- {
- AllSetNumber = 31;
- }
- else
- {
- AllSetNumber--;
- }
- }
- else if(MenueSlect == 7)//时设置
- {
- if(AllSetNumber == 0)
- {
- AllSetNumber = 23;
- }
- else
- {
- AllSetNumber--;
- }
- }
- else if(MenueSlect == 8)//分设置
- {
- if(AllSetNumber ==0)
- {
- AllSetNumber = 59;
- }
- else
- {
- AllSetNumber--;
- }
- }
- else if(MenueSlect ==9 )//秒复位
- {
- AllSetNumber = 0;
- }
- else if(MenueSlect == 10)//闹钟时设置
- {
- if(AllSetNumber ==0)
- {
- AllSetNumber = 23;
- }
- else
- {
- AllSetNumber--;
- }
- }
- else if(MenueSlect == 11)//闹钟分设置
- {
- if(AllSetNumber ==0)
- {
- AllSetNumber = 59;
- }
- else
- {
- AllSetNumber--;
- }
- }
- else if(MenueSlect == 12)//闹钟开关设置
- {
- if(NaozhongFlag == 0 )
- {
- NaozhongFlag = 1;//1为开状态
- }
-
- else
- {
- NaozhongFlag = 0;//1为开状态
- }
-
- }
- else if(MenueSlect == 13)//感光元件开关设置
- {
- if(GanguangFlag == 0)
- {
- GanguangFlag = 1;//1为开状态
- }
- else
- {
- GanguangFlag = 0;//1为开状态
- }
-
- }
- else
- {
- }
- }
-
- break;
- case KEY_LEFT: //左,菜单切换+
- LED0=!LED0;
- if(SetFalg == 1)
- {
-
- if(MenueSlect == 13)
- {
- MenueSlect = 1;
- }
- else
- {
- MenueSlect++;
- }
- if(MenueSlect == 1)
- {
- AllSetNumber = Bw_year/1000;
- }
- else if(MenueSlect == 2)
- {
- AllSetNumber = (Bw_year%1000)/100;
- }
- else if(MenueSlect == 3)
- {
-
- AllSetNumber = ((Bw_year%1000)%100)/10;
- }
- else if(MenueSlect == 4)
- {
- AllSetNumber = ((Bw_year%1000)%100)%10;
-
- }
- else if(MenueSlect == 5)
- {
- AllSetNumber = Bw_month;
- }
- else if(MenueSlect == 6)
- {
- AllSetNumber = Bw_date;
- }
- else if(MenueSlect == 7)
- {
- AllSetNumber = Bhour;
- }
- else if(MenueSlect == 8)
- {
- AllSetNumber = Bmin;
- }
- else if(MenueSlect == 9)
- {
- AllSetNumber = Bsec;
- }
- else if(MenueSlect == 10)
- {
- AllSetNumber = Naozhonghour;
- }
- else if(MenueSlect == 11)
- {
- AllSetNumber = Naozhongminite;
- }
- else if(MenueSlect == 12)
- {
- AllSetNumber = (Bw_year%1000)/100;
- }
- else if(MenueSlect == 13)
- {
- AllSetNumber = (Bw_year%1000)/100;
- }
-
-
-
-
- }
- break;
- case KEY_RIGHT: //右,菜单切换-
- LED0=!LED0;
- if(SetFalg == 1)
- {
- if(MenueSlect == 1)
- {
- MenueSlect = 13;
- }
- else
- {
- MenueSlect--;
- }
-
- if(MenueSlect == 1)
- {
- AllSetNumber = Bw_year/1000;
- }
- else if(MenueSlect == 2)
- {
- AllSetNumber = (Bw_year%1000)/100;
- }
- else if(MenueSlect == 3)
- {
-
- AllSetNumber = ((Bw_year%1000)%100)/10;
- }
- else if(MenueSlect == 4)
- {
- AllSetNumber = ((Bw_year%1000)%100)%10;
-
- }
- else if(MenueSlect == 5)
- {
- AllSetNumber = Bw_month;
- }
- else if(MenueSlect == 6)
- {
- AllSetNumber = Bw_date;
- }
- else if(MenueSlect == 7)
- {
- AllSetNumber = Bhour;
- }
- else if(MenueSlect == 8)
- {
- AllSetNumber = Bmin;
- }
- else if(MenueSlect == 9)
- {
- AllSetNumber = Bsec;
- }
- else if(MenueSlect == 10)
- {
- AllSetNumber = Naozhonghour;
- }
- else if(MenueSlect == 11)
- {
- AllSetNumber = Naozhongminite;
- }
- else if(MenueSlect == 12)
- {
- AllSetNumber = (Bw_year%1000)/100;
- }
- else if(MenueSlect == 13)
- {
- AllSetNumber = (Bw_year%1000)/100;
- }
-
- }
-
-
-
-
- break;
- case KEY_SURE: //确定
- LED0=!LED0;
- if(SetFalg ==0)//1为设置状态
- {
- SetFalg = 1;
- FirstFlag = 1;
- MenueSlect = 1;
- Bw_year = calendar.w_year;
- AllSetNumber = Bw_year/1000;
-
- }
- else
- {
- SetFalg = 0;
- MenueSlect = 0;
- FirstFlag = 0;
- Set_All();
- }
- break;
- //case KEY_MENU: //菜单,设置ok
-
- // break;
- default:
- break;
-
- }
- }
-
-
- }
- void MainDisplay(void)
- {
- u8 t;
-
- //OLED_ShowPicture(0,0,128,8,BMP1);
- //delay_ms(500);
- OLED_Clear();
- //电(0) 子(1) 万(2) 年(3) 历(4) 时(5) 间(6) 闹(7) 钟(8) 感(9) 光(10) 状(11) 态(12) 开(13) 关(14)
-
-
- if(DS18B20_Init()) //DS18B20初始化
- {
- OLED_ShowString(16,16,"DS18B20 Error",16);//8*16
-
- //delay_ms(200);
- //OLED_Refresh();
- }
- else
- {
- OLED_ShowString(16,16,"DS18B20 OK",16);//8*16
- }
-
- //OLED_Clear();
- OLED_ShowChinese(0,1,0,16);//电
- OLED_ShowChinese(18,1,1,16);//子
- OLED_ShowChinese(36,1,2,16);//计
- OLED_ShowChinese(54,1,3,16);//万
- OLED_ShowChinese(72,1,4,16);//年
- //OLED_ShowChinese(90,1,5,16);//历
-
- OLED_Refresh();
- delay_ms(60000);
- delay_ms(60000);
- delay_ms(60000);
- OLED_Clear();
-
-
- //OLED_ShowChinese(0,16,5,16);//时
- //OLED_ShowChinese(18,16,6,16);//间
- OLED_ShowChinese(26,16,15,16);//℃
-
- OLED_ShowChinese(0,32,7,16);//闹
- OLED_ShowChinese(18,32,8,16);//钟
- //OLED_ShowChinese(90,32,13,16);// 开
- //OLED_ShowChinese(90,32,14,16);//关
- OLED_ShowChinese(0,48,9,16);//感
- OLED_ShowChinese(18,48,10,16);//光
- OLED_ShowChinese(36,48,11,16);//状
- OLED_ShowChinese(54,48,12,16);//态
- //OLED_ShowChinese(90,48,13,16);// 开
- //OLED_ShowChinese(90,48,14,16);//关
-
-
-
- //时间现实
- OLED_ShowString(2,0," - - ",12);//6*12
- OLED_ShowString(62,0,"Sunday ",12);
-
- OLED_ShowString(42,16," : : ",16);//8*16
-
- //闹钟显示
- OLED_ShowString(42,32," : ",16);//8*16
-
-
-
- OLED_ShowNum(2,0,calendar.w_year,4,12);
- OLED_ShowNum(32,0,calendar.w_month,2,12);
- OLED_ShowNum(50,0,calendar.w_date,2,12);
- OLED_ShowNum(8,16,temperature/10,2,16); //显示正数部分
- //OLED_ShowNum(0,16,Wendu,2,16); //8*16
- OLED_ShowNum(42,16,calendar.hour,2,16); //8*16
- OLED_ShowNum(66,16,calendar.min,2,16);
- OLED_ShowNum(90,16,calendar.sec,2,16);
-
-
- OLED_ShowNum(42,32,Naozhonghour,2,16); //8*16
- OLED_ShowNum(66,32,Naozhongminite,2,16);
-
- OLED_ShowChar(90,32,'N',16);//关
- OLED_ShowChar(90,48,'N',16);//关
- //OLED_ShowChar(90,32,"Y",16);//关
- //OLED_ShowChar(90,48,"Y",16);//关
-
- //OLED_ShowString(40,16,": 000",12);
- //OLED_ShowNum(40,16,Number,3,16);
- //OLED_ShowString(40,32,": 000",12);
- //OLED_ShowNum(40,32,ActNumber,3,16);
- //OLED_ShowString(0,48,"AD:0000",16);
- //OLED_ShowNum(24,48,ADBuf,4,16);
-
- /*OLED_ShowChar(48,48,t,16);//显示ASCII字符
- t++;
- if(t>'~')t=' ';
- OLED_ShowNum(103,48,t,3,16);
- OLED_Refresh();
- delay_ms(500);
- OLED_Clear();
- OLED_ShowChinese(0,0,0,16); //16*16 中
- OLED_ShowChinese(16,0,0,24); //24*24 中
- OLED_ShowChinese(24,20,0,32);//32*32 中
- OLED_ShowChinese(64,0,0,64); //64*64 中
- OLED_Refresh();
- delay_ms(500);
- OLED_Clear();
- OLED_ShowString(0,0,"ABC",12);//6*12 “ABC”
- OLED_ShowString(0,12,"ABC",16);//8*16 “ABC”
- OLED_ShowString(0,28,"ABC",24);//12*24 “ABC”
- OLED_Refresh();
- delay_ms(500);
- OLED_ScrollDisplay(11,4);*/
- OLED_Refresh();
- delay_ms(500);
- }
- void FunDataRun(void)
- {
-
- //PBout(5)=!PBout(5);
- //}
- if(SetFalg == 1)
- {
-
- u8 tempge =0,tempshi=0,tempbai=0,tempqian=0;
- u16 temp;
- if(FirstFlag == 1)
- {
- FirstFlag = 0;
- Bw_year = calendar.w_year;
- Bw_month = calendar.w_month;
- Bw_date = calendar.w_date;
- Bhour = calendar.hour;
- Bmin = calendar.min;
- Bsec = calendar.sec;
-
- }
- OLED_ShowNum(2,0,Bw_year,4,12);
- OLED_ShowNum(32,0,Bw_month,2,12);
- OLED_ShowNum(50,0,Bw_date,2,12);
- OLED_ShowNum(42,16,Bhour,2,16); //8*16
- OLED_ShowNum(66,16,Bmin,2,16);
- OLED_ShowNum(90,16,Bsec,2,16);
- OLED_ShowNum(42,32,Naozhonghour,2,16); //8*16
- OLED_ShowNum(66,32,Naozhongminite,2,16);
- if(NaozhongFlag == 1)
- {
- OLED_ShowChar(90,32,'Y',16);//开
- }
- else
- {
- OLED_ShowChar(90,32,'N',16);//关
- }
- if(GanguangFlag == 1)
- {
- OLED_ShowChar(90,48,'Y',16);//
- }
- else
- {
- OLED_ShowChar(90,48,'N',16);//
- }
-
-
-
- tempqian = Bw_year/1000;
- tempbai = (Bw_year%1000)/100;
- tempshi = ((Bw_year%1000)%100)/10;
- tempge = ((Bw_year%1000)%100)%10;
-
- if(MenueSlect == 1)//年第一位设置
- {
-
- tempqian = AllSetNumber;
- OLED_ShowNumKong(2,0,tempqian,1,12);
-
- }
- else if(MenueSlect == 2) //年第二三四位设置
- {
- tempbai = AllSetNumber;
- OLED_ShowNumKong(8,0,tempbai,1,12);
- }
- else if(MenueSlect == 3) //年第二三四位设置
- {
- tempshi = AllSetNumber;
- OLED_ShowNumKong(14,0,tempshi,1,12);
- }
- else if(MenueSlect == 4) //年第二三四位设置
- {
- tempge = AllSetNumber;
- OLED_ShowNumKong(20,0,tempge,1,12);
- }
- else if(MenueSlect == 5)//月设置
- {
- Bw_month = AllSetNumber;
-
- OLED_ShowNumKong(32,0,Bw_month,2,12);
- }
- else if(MenueSlect == 6)//日设置
- {
- Bw_date = AllSetNumber;
-
- OLED_ShowNumKong(50,0,Bw_date,2,12);
- }
- else if(MenueSlect == 7)//时设置
- {
- Bhour = AllSetNumber;
- OLED_ShowNumKong(42,16,Bhour,2,16); //8*16
-
- }
- else if(MenueSlect == 8)//分设置
- {
- Bmin = AllSetNumber;
- OLED_ShowNumKong(66,16,Bmin,2,16);
-
- }
- else if(MenueSlect ==9 )//秒复位
- {
- Bsec = AllSetNumber;
- OLED_ShowNumKong(90,16,Bsec,2,16);
- }
- else if(MenueSlect == 10)//闹钟时设置
- {
- Naozhonghour = AllSetNumber;
-
- OLED_ShowNumKong(42,32,Naozhonghour,2,16); //8*16
- }
- else if(MenueSlect == 11)//闹钟分设置
- {
- Naozhongminite = AllSetNumber;
- OLED_ShowNumKong(66,32,Naozhongminite,2,16);
- }
- else if(MenueSlect == 12)//闹钟开关设置
- {
- if(NaozhongFlag == 1)
- {
- OLED_ShowCharKong(90,32,'Y',16);//开
- }
- else
- {
- OLED_ShowCharKong(90,32,'N',16);//关
- }
-
- }
- else if(MenueSlect == 13)//感光元件开关设置
- {
- if(GanguangFlag == 1)
- {
- OLED_ShowCharKong(90,48,'Y',16);//
- }
- else
- {
- OLED_ShowCharKong(90,48,'N',16);//
- }
-
- }
- else
- {
- }
-
- Bw_year = (tempqian*1000)+(tempbai*100)+(tempshi*10)+tempge;
- //OLED_ShowNum(0,48,AllSetNumber,1,16);
- //OLED_ShowNum(32,48,Bw_year,4,16);
- //RTC_Set(Bw_year,Bw_month,Bw_date,Bhour,Bmin,Bsec); //设置时间
- //RTC_Set(2023,3,3,3,3,3); //设置时间
-
- }
- else
- {
-
- //if (RTC_GetITStatus(RTC_IT_SEC) != RESET)//秒钟中断
- //if(SetFalg == 0)
- //{
- // RTC_ClearITPendingBit(RTC_IT_SEC|RTC_IT_OW); //清闹钟中断
- RTC_Get();//更新时间
- //}
-
-
- //if(timetemp!=calendar.sec)
- //{
- //timetemp=calendar.sec;
- OLED_ShowNum(2,0,calendar.w_year,4,12);
- OLED_ShowNum(32,0,calendar.w_month,2,12);
- OLED_ShowNum(50,0,calendar.w_date,2,12);
-
- switch(calendar.week)
- {
- case 0:
- OLED_ShowString(62,0,"Sunday ",12);
- break;
- case 1:
- OLED_ShowString(62,0,"Monday ",12);
- break;
- case 2:
- OLED_ShowString(62,0,"Tuesday ",12);
- break;
- case 3:
- OLED_ShowString(62,0,"Wednesday",12);
- break;
- case 4:
- OLED_ShowString(62,0,"Thursday ",12);
- break;
- case 5:
- OLED_ShowString(62,0,"Friday ",12);
- break;
- case 6:
- OLED_ShowString(62,0,"Saturday ",12);
- break;
- }
- OLED_ShowNum(42,16,calendar.hour,2,16); //8*16
- OLED_ShowNum(66,16,calendar.min,2,16);
- OLED_ShowNum(90,16,calendar.sec,2,16);
- OLED_ShowNum(42,32,Naozhonghour,2,16); //8*16
- OLED_ShowNum(66,32,Naozhongminite,2,16);
- if(NaozhongFlag == 1)
- {
- OLED_ShowChar(90,32,'Y',16);//开
- if((calendar.hour == Naozhonghour)&&(calendar.min == Naozhongminite)&&(NaoxiangFlag == 0))
- {
- //if(NaoxiangFlag == 0)
- // {
- Music_ON;
- NaoxiangFlag = 1;
- //}
-
- }
- //else
- //{
- // NaoxiangFlag = 0;
- //}
- }
- else
- {
- OLED_ShowChar(90,32,'N',16);//关
- }
- if(GanguangFlag == 1)
- {
- OLED_ShowChar(90,48,'Y',16);//
- if(GanGuang == 0)
- {
- Music_ON;
- LED0=!LED0;
- }
- else if(NaoxiangFlag == 0)
- {
- Music_OFF;
- }
- }
- else
- {
- OLED_ShowChar(90,48,'N',16);//
- }
-
-
-
-
- }
-
- temperature=DS18B20_Get_Temp();
- if(temperature<0)
- {
- OLED_ShowChar(0,16,'-',16); //显示负号
- temperature=-temperature; //转为正数
- }else OLED_ShowChar(0,16,' ',16); //去掉负号
-
- OLED_ShowNum(8,16,temperature/10,2,16); //显示正数部分
- //OLED_ShowNum(60+40+32,150,temperature%10,1,16); //显示小数部分
-
-
-
-
-
- }
- void Naozhong_Set(void)
- {
- }
- void Set_All(void)
- {
- RTC_Set(Bw_year,Bw_month,Bw_date,Bhour,Bmin,Bsec); //设置时间
- Naozhong_Set();
-
- }
- void FunDataShow(void)
- {
- OLED_ShowNum(40,16,Number,3,16);
- OLED_ShowNum(40,32,ActNumber,3,16);
- OLED_ShowNum(24,48,ADBuf,4,16);
- }
- int main(void)
- {
-
- u8 t;
-
- delay_init();
- NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
- //usmart_dev.init(SystemCoreClock/1000000); //初始化USMART
- RTC_Init();
-
- //Adc_Init();
- OLED_Init();
- KEY_Init();
- MokuaiInit();
- OLED_ColorTurn(0);//0正常显示,1 反色显示
- OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示
-
- // OLED_DrawPoint(0,0);
- // OLED_DrawLine(20,0,50,60);
- // OLED_DrawCircle(64,32,20);
- OLED_Refresh();
- t=' ';
- LED_ON;
- //OLED_ShowString(72,0,"Sunday ",12);
- //OLED_Refresh();
-
- MainDisplay();
- while(1)
- {
- /*if(KEY_Scan(1) == KEY_UP)
- {
- OLED_ShowString(96,0,"HHH",16);//6*12
-
- }
- else
- {
- OLED_ShowString(96,0,"RRR",16);//6*12
- }
- OLED_ShowNum(0,16,KEY_Scan(1),1,16);
- OLED_ShowNum(16,16,KEY_Scan(1),1,16);
- OLED_ShowNum(32,16,KEY_Scan(1),1,16);
- OLED_ShowNum(48,16,KEY_Scan(1),1,16);
- OLED_ShowNum(64,16,KEY_Scan(1),1,16);
- OLED_ShowNum(80,16,KEY_Scan(1),1,16);*/
- /*if(FaultFalg == 0)
- {
- KeyLedHandle();
- }*/
- KeyLedHandle();
- //LinData();
- FunDataRun();
- //FunDataShow();
- OLED_Refresh();
-
-
- }
- }
复制代码
|
-
-
软件.7z
223.6 KB, 下载次数: 10, 下载积分: 黑币 -5
软件源码
|