1、void delay(u8 i) /延时 while(i-);void main(void) u8 *p1=Hello,world.YSU; u8 *p2=Name u8 *p3=Date u8 *p4=Temp u8 *p5=Humi u8 *p6=Name: u8 *p7=Su Sheng u8 *p8=Humidity: u8 *p9=Temperature: u8 a=1; u8 b=1; u16 r; u8 time; u8 temp; u8 i,add; u16 t1,t2,f; u16 t=0; u8 bai,shi,ge; u8 wan1,qian1,bai1,shi1,ge1
2、; u16 Conversion_Value1 = 0; u16 Conversion_Value = 0; /依次为年:月,日,星期几,小时,分 Set1302(11,2,28,1,23,59); TIM2_ICInit(TIM2_CHANNEL_1, TIM2_ICPOLARITY_RISING, TIM2_ICSELECTION_DIRECTTI, TIM2_ICPSC_DIV1, 0); TIM2_Cmd(ENABLE); /使能TIM2计数 TIM2_ClearFlag(TIM2_FLAG_CC1); GPIO_Init(GPIOC, GPIO_PIN_1|GPIO_PIN_2|GP
3、IO_PIN_3,GPIO_MODE_OUT_PP_LOW_FAST ); GPIO_Init(GPIOB, (GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6 |GPIO_PIN_7 |GPIO_PIN_0), GPIO_MODE_OUT_PP_LOW_FAST );GPIO_Init(GPIOA, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_4|GPIO_PIN_5,GPIO_MODE_OUT_PP_HIGH_FAST );ADC1_DeInit();ADC1_Init(ADC1_CONVE
4、RSIONMODE_CONTINUOUS,ADC1_CHANNEL_9,ADC1_PRESSEL_FCPU_D18,ADC1_EXTTRIG_TIM,DISABLE,ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL9, DISABLE);ADC1_StartConversion(); lcd162a_Reset(); lcd162a_cls(); lcd162a_ePutstr(1,1,p1); delay_ms(240); while(1) if(GPIO_ReadInputData(GPIOA)&GPIO_PIN_1)=0) /左移 while(GPIO
5、_ReadInputData(GPIOA)&GPIO_PIN_1)=0); if(a=1)&(b=1) b=2; else if(a=1)&(b=2) b=1; if(a=1) a=8; else if(a=8) a=1; lcd162a_Reset(); delay_ms(1); if(GPIO_ReadInputData(GPIOA)&GPIO_PIN_2)=0) /右移GPIO_PIN_2)=0); if(a=8)& else if(a=8)& lcd162a_DispOneChar(b,a,239); /显示 lcd162a_ePutstr(1,3,p2); lcd162a_ePuts
6、tr(1,10,p3); lcd162a_ePutstr(2,3,p4); lcd162a_ePutstr(2,10,p5);if(GPIO_ReadInputData(GPIOA)&GPIO_PIN_4)=0) /姓名GPIO_PIN_4)=0);(b=1) if(a=1)& lcd162a_ePutstr(1,1,p6); lcd162a_ePutstr(2,5,p7); GPIO_PIN_5)=0) /姓名返回GPIO_PIN_5)=0); break; if(a=8)&(b=1) /万年历 lcd162a_cls(); lcd162a_DispOneChar(1,4,2); lcd16
7、2a_DispOneChar(1,5,0 /年 time =Read1302(YEAR); lcd162a_DispOneChar(1,6,48+(u8)(time/10); lcd162a_DispOneChar(1,7,48+(u8)(time%10); lcd162a_DispOneChar(1,8,45); /- /月 time =Read1302(MONTH); lcd162a_DispOneChar(1,9,48+(u8)(time/10); lcd162a_DispOneChar(1,10,48+(u8)(time%10); lcd162a_DispOneChar(1,11,45
8、); /天 time =Read1302(DATE); lcd162a_DispOneChar(1,12,48+(u8)(time/10); lcd162a_DispOneChar(1,13,48+(u8)(time%10); /小时 time =Read1302(HOUR); lcd162a_DispOneChar(2,4,48+(u8)(time/10); lcd162a_DispOneChar(2,5,48+(u8)(time%10); lcd162a_DispOneChar(2,6,58);:/分 time =Read1302(MINUTE); lcd162a_DispOneChar(
9、2,7,48+(u8)(time/10); lcd162a_DispOneChar(2,8,48+(u8)(time%10); lcd162a_DispOneChar(2,9,58); /秒 time =Read1302(SECOND); lcd162a_DispOneChar(2,10,48+(u8)(time/10); lcd162a_DispOneChar(2,11,48+(u8)(time%10); GPIO_PIN_5)=0)/万年历返回 if(a=8)&(b=2) while(TIM2-SR1 & TIM2_FLAG_CC1) != TIM2_FLAG_CC1); t1 = TIM
10、2_GetCapture1(); while(TIM2- t2 = TIM2_GetCapture1(); t=t2-t1; Conversion_Value1=2000000/t; Conversion_Value1=(100-(Conversion_Value1-(u32)6033)/(u16)13); bai=(Conversion_Value1%1000)/100; shi=(Conversion_Value1%100)/10; ge=(Conversion_Value1%10); lcd162a_DispOneChar(2,7,bai+48); lcd162a_DispOneChar
11、(2,8,shi+48); lcd162a_DispOneChar(2,9,ge+48); lcd162a_DispOneChar(2,10,37); TIM2_ClearFlag(TIM2_FLAG_CC1); while(TIM2- / Get CCR1 value /Get CCR1 value t2 = TIM2_GetCapture1(); t=t2-t1; Conversion_Value1=2000000/t; lcd162a_ePutstr(1,1,p8); delay_ms(200);/lcd162c中有定义 if(GPIO_ReadInputData(GPIOA)& if(
12、a=1)&(b=2)u8 i=10;unsigned long t;lcd162a_cls(); Conversion_Value=ADC1_GetConversionValue(); Conversion_Value=(u32)1024*(u32)10000)/Conversion_Value-10000); if(Conversion_Value=(u32)4160)&(Conversion_Value=(u32)4912)&(u32)6912) Conversion_Value=(u32)68637-(u32)4915*Conversion_Value)/1000);=(u32)6912
13、)&(u32)8944) Conversion_Value=(u32)58497-(u32)3429*Conversion_Value)/1000);=(u32)8944)&(u32)11637) Conversion_Value=(u32)50463-(u32)2546*Conversion_Value)/1000);=(u32)11637)&(u32)12094) Conversion_Value=(u32)40599-(u32)1740*Conversion_Value)/1000);=(u32)12094)&(u32)27372) Conversion_Value=(u32)25770
14、-(u32)939*Conversion_Value)/1000); wan1=(Conversion_Value/10000); qian1=(Conversion_Value%10000)/1000; bai1=(Conversion_Value%1000)/100; shi1=(Conversion_Value%100)/10; ge1=(Conversion_Value%10); / r=(100*(1024-t)/t)*100; lcd162a_ePutstr(1,1,p9); lcd162a_DispOneChar(2,4,wan1+48); lcd162a_DispOneChar(2,5,qian1+48); lcd162a_DispOneChar(2,6,46); lcd162a_DispOneChar(2,7,bai1+48); lcd162a_DispOneChar(2,8,shi1+48); lcd162a_DispOneChar(2,9,ge1+48); lcd162a_DispOneChar(2,10,67);GPIO_PIN_5)=0)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1