日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【蓝桥杯单片机的备赛旅行日记系列】之国赛决赛第五届多功能事件记录器

發(fā)布時間:2024/1/8 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【蓝桥杯单片机的备赛旅行日记系列】之国赛决赛第五届多功能事件记录器 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄


1.注意事項
2.部分代碼展示
3.完整代碼下載


1.注意事項 ??這是目前為止做到的最難的一套了,三個驅動都用上了,而且還增加了串口通信,最無奈的是光敏電阻和Rb2同時用上了。

??ADC讀取的時候讀的是上一個值,也就是說,你以為你讀的是Rb2,其實是光敏電阻,網上說的有兩種解決方法

(1).每個值讀兩次,我是采用這種方法的,
(2).二者的地址反著取,

但是兩種方法都會有問題,目前還沒有找到完美解決方法,找到了我會放上來,大家注意一下就好了。

??
??

2.部分代碼展示 主函數(shù): void main() {uchar last_sec,k,m,index;bit light_start=0;uchar temp,shidu,light;uchar hour,min,sec;uchar stay_hour,stay_min,stay_sec;uint stay_time;AllInit();rd_temperature();Delay750ms();set_time(23,59,55);light_InitVal=read_adc(0x01)-20;Delay20ms();Timer0Init();UartInit();while(1){//獲取溫、濕、亮度temp=rd_temperature();EA=0;shidu=read_adc(0x03)*0.389 ;EA=1;Delay20ms();EA=0;shidu=read_adc(0x03)*0.389 ;EA=1;Delay20ms();EA=0;sec=Read_Ds1302_Byte(0x81);min=Read_Ds1302_Byte(0x83);hour=Read_Ds1302_Byte(0x85);EA=1;Delay20ms();EA=0;light=read_adc(0x01);EA=1;Delay20ms();EA=0;light=read_adc(0x01);EA=1;Delay20ms();if(light < light_InitVal){close=1;light_start=1;if(stay_flag==0){stay_sec=sec;stay_min=min;stay_hour=hour;stay_flag=1;}}else {close=0;}if(close==0 && stay_flag==1){stay_flag=0;stay_time=( (hour-stay_hour)*3600+(min-stay_min)*60+(sec-stay_sec) );rom_dat[0]=temp;rom_dat[1]=shidu;rom_dat[2]=hour;rom_dat[3]=min;rom_dat[4]=sec;rom_dat[5]=stay_time;for(k=0;k<6;k++){write_rom(k+addr,rom_dat[k]);Delay20ms();}addr+=6;if(addr==30)addr=0;}if(light_start==0)stay_time=0;//按鍵單元if(key_flag){key_flag=0;BTN();if(Trg & 0x08)//s4{mode=~mode;}if(Trg & 0x04)//s5{menu_index++;if(menu_index==4)menu_index=1;}}//發(fā)送數(shù)據if(send_en){if(mode==0){if(last_sec!=sec){last_sec=sec;send_buf[0]='{';send_buf[1]=temp/10+'0';send_buf[2]=temp%10+'0';send_buf[3]='-';send_buf[4]=shidu/10+'0';send_buf[5]=shidu%10+'0';send_buf[6]='%';send_buf[7]='}';send_buf[8]='{';send_buf[9]=hour/10+'0';send_buf[10]=hour%10+'0';send_buf[11]='-';send_buf[12]=min/10+'0';send_buf[13]=min%10+'0';send_buf[14]='-';send_buf[15]=sec/10+'0';send_buf[16]=sec%10+'0';send_buf[17]='}';send_buf[18]='{';send_buf[20]='}';if(close)send_buf[19]='1';else send_buf[19]='0';send_buf[21]='\r';send_buf[22]='\n';for(k=0;k<23;k++)SendData(send_buf[k]);}}else if(mode==1){send_en=0;for(m=0;m<5;m++){for(k=0;k<6;k++){rom_dat[k]=read_rom(k+m*6);}send_buf[0]='{';send_buf[1]=rom_dat[0]/10+'0';send_buf[2]=rom_dat[0]%10+'0';send_buf[3]='-';send_buf[4]=rom_dat[1]/10+'0';send_buf[5]=rom_dat[1]%10+'0';send_buf[6]='%';send_buf[7]='}';send_buf[8]='{';send_buf[9]=rom_dat[2]/10+'0';send_buf[10]=rom_dat[2]%10+'0';send_buf[11]='-';send_buf[12]=rom_dat[3]/10+'0';send_buf[13]=rom_dat[3]%10+'0';send_buf[14]='-';send_buf[15]=rom_dat[4]/10+'0';send_buf[16]=rom_dat[4]%10+'0';send_buf[17]='}';send_buf[18]='{';if(rom_dat[5]<10){send_buf[19]=rom_dat[5]+'0';send_buf[20]='}';send_buf[21]='\r';send_buf[22]='\n';for(index=0;index<23;index++)SendData(send_buf[index]);}else {send_buf[19]=rom_dat[5]/10+'0';send_buf[20]=rom_dat[5]%10+'0';send_buf[21]='}';send_buf[22]='\r';send_buf[23]='\n';for(index=0;index<24;index++)SendData(send_buf[index]);}}}}//數(shù)碼管單元if(menu_index==1){menu1[0]=tab[temp/10];menu1[1]=tab[temp%10];menu1[2]=0xc6;menu1[3]=0xff;menu1[4]=0xff;menu1[5]=tab[shidu/10];menu1[6]=tab[shidu%10];menu1[7]=0x89;}else if(menu_index==2){menu2[0]=tab[hour/10];menu2[1]=tab[hour%10];menu2[3]=tab[min/10];menu2[4]=tab[min%10];menu2[6]=tab[sec/10];menu2[7]=tab[sec%10];if(sec%2==0){menu2[2]=0xff;menu2[5]=0xff;}else {menu2[2]=0xbf;menu2[5]=0xbf;}}else if(menu_index==3){menu3[0]=0xff;menu3[1]=0xff;menu3[2]=0xff;menu3[3]=0xbf;menu3[4]=tab[stay_time/1000];menu3[5]=tab[stay_time%1000/100];menu3[6]=tab[stay_time%100/10];menu3[7]=tab[stay_time%10];}//LEDif(mode==0 && close==0){P0=~0x01;P2=0x80;P0=~0x01;P2=0;}else if(mode==0 && close==1){P0=~0x05;P2=0x80;P0=~0x05;P2=0;}else if(mode==1 && close==0){P0=~0x02;P2=0x80;P0=~0x02;P2=0;}else if(mode==1 && close==1){P0=~0x06;P2=0x80;P0=~0x06;P2=0;}} }

我是采用初始光敏電阻模擬值-20來作為是否遮光的起始值,因為官方也沒給明確的值,而且如果不-20的話變化就很敏感了。

??
??

3.完整代碼下載 ??

??【點擊這里】下載。

總結

以上是生活随笔為你收集整理的【蓝桥杯单片机的备赛旅行日记系列】之国赛决赛第五届多功能事件记录器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。