freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于51單片機的多功能電子鐘設計(畢業(yè)論文)(參考版)

2025-03-02 08:25本頁面
  

【正文】 } break。 } else { clock_year = 0x99。 default : break。 } else { 基于 51 單片機的多功能電子鐘設計 46 clock_minute_a = inc_bcd_value(clock_minute_a)。 } break。 case 6: if (clock_hour_a == 0x23) { clock_hour_a = 0x0。 } else { clock_week ++。 } break。 case 4: if (clock_minute == 0x59) { clock_minute = 0x0。 基于 51 單片機的多功能電子鐘設計 45 } else { clock_hour = inc_bcd_value(clock_hour)。 } break。 case 2: if (clock_day == 0x31) { clock_day = 0x1。 } else { clock_month = inc_bcd_value(clock_month)。 } break。 clock_year = 0。 基于 51 單片機的多功能電子鐘設計 44 clock_a = 0x20。 clock_minute_a = inc_bcd_value (clock_minute)。 clock_week = 07。 clock_minute = 0x46。 clock_day = 0x21。 //21 centruy clock_year = 0x10。 } void Set_default_calendar(void) { Set_calendar()。 //bcd,24 hour } void enable_alarm (void) { clock_b = 0x22。 } void Set_calendar (void) { clock_a = 0x70。 clock_a = 0x20。week_alarm_temperature[ALARM_MINUTE_POS])。:39。week_alarm_temperature[ALARM_HOUR_POS])。 week_alarm_temperature[ALARM_SIGN_POS] = ALARM_STATE。week_alarm_temperature[WEEK_POS], week[(clock_week amp。date_time[MINUTE_POS])。date_time[HOUR_POS])。date_time[DAY_POS])。date_time[MONTH_POS])。date_time[YEAR_POS])。date_time[CENTURY_POS])。 return 。 0x0F) + 39。039。 } return bcd 1。 0xF) == 0) { return ((bcdamp。 } return bcd + 1。 0xF) == 9) { return (bcd amp。 BYTE enable_play_song = 0。 BYTE cur_set_pos = 0。 void lcd_pos(BYTE pos)。 基于 51 單片機的多功能電子鐘設計 42 void lcd_init()。A39。} 。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。 BYTE week_alarm_temperature[16] ={39。539。339。:39。039。239。 39。739。139。/39。539。039。/39。139。139。039。239。 define CENTURY_POS 0 define YEAR_POS 2 define MONTH_POS 5 define DAY_POS 8 define HOUR_POS 11 define TIME_SIGN_POS 13 define MINUTE_POS 14 define WEEK_POS 0 define ALARM_SIGN_POS 4 define ALARM_HOUR_POS 5 define ALARM_MINUTE_POS 8 define clock_second XBYTE[0xff00] define clock_second_a XBYTE[0xff01] define clock_minute XBYTE[0xff02] define clock_minute_a XBYTE[0xff03] define clock_hour XBYTE[0xff04] define clock_hour_a XBYTE[0xff05] define clock_week XBYTE[0xff06] define clock_day XBYTE[0xff07] define clock_month XBYTE[0xff08] define clock_year XBYTE[0xff09] define clock_a XBYTE[0xff0a] define clock_b XBYTE[0xff0b] define clock_c XBYTE[0xff0c] define clock_century XBYTE[0xff32] define clock_ram_first XBYTE[0xff0e] define clock_ram_second XBYTE[0xff33] BYTE *week[7] = { SUN,MON, TUE, WED, THU, FRI, SAT}。 sbit key_up = P1^2。 } DS12887 模塊軟件實現(xiàn) DS12887 模塊子程序流程圖 圖 44 DS12887時間顯示流程圖 基于 51 單片機的多功能電子鐘設計 40 圖 45 DS12887時間設置流程圖 DS12887 模塊子程序代碼 include include include include include 基于 51 單片機的多功能電子鐘設計 41 include sbit key_tab = P1^0。 lcd_clear_line(0)。 lcd_wcmd(0x01)。 lcd_wcmd(0x06)。 lcd_wcmd(0x0c)。 } } void lcd_init() { lcd_wcmd(0x38)。 39。 i 16。 lcd_pos(line * 0x40)。 i ++) { lcd_wdat(line_data[i])。 line_data[i] != 39。 lcd_pos(line * 0x40)。 ep = 0。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 基于 51 單片機的多功能電子鐘設計 38 LCD_DATA = dat。 rw = 0。 } void lcd_wdat(BYTE dat) { while(lcd_bz())。 ep = 0。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 LCD_DATA = cmd。 _nop_()。 rw = 0。 } void lcd_wcmd(BYTE cmd) { while(lcd_bz())。 ep = 0。 result = (BOOL)(LCD_DATA amp。 _nop_()。 _nop_()。 rw = 1。 BOOL lcd_bz() { 基于 51 單片機的多功能電子鐘設計 37 BOOL result。 sbit rw = P1^5。 return rdtemp()。 return tt。1)* 。 t= tt*10+。 t = t|tplsb。 t=tpmsb。 tplsb=rdbyte()。 wrbyte(0xcc)。 rxwait()。 float point_val = 。 unsigned int t=0。 } float rdtemp(void) { unsigned char tplsb=0。 wrbyte(0xcc)。 基于 51 單片機的多功能電子鐘設計 35 rxwait()。i++。 dq=1。 i=8。 while (i0) i。 dq=1。 i++。 b=b1。j++) { btmp=bamp。 for(j=1。 uchar j。 } return(b)。i++){ j=rdbit()。 for(i=1。 基于 51 單片機的多功能電子鐘設計 34 } uchar rdbyte(void) { uchar i,j,b。 while(i0) i。 b=dq。 i++。 i++。 bit b。 while (i0) i。 while(~dq)。 } void rxwait(void) { uint i。 i=4。 while(i0) i。 dq=0。i125。 基于 51 單片機的多功能電子鐘設計 33 void delay_temperature(uint t) { uint i。 //延時 200ms flash_time_sign ()。 //時間的時和分之間顯示 ‘: ’ continue。 //延時 100ms date_time[TIME_SIGN_POS] = 39。 //更新設置的信息 display_calender_and_temp ()。 //顯 示日歷及溫度 if (enable_set) //設置使能 { delay (100)。 //禁止鈴聲 } 基于 51 單片機的多功能電子鐘設計 31 update_display_data ()。 //設置禁止 while(1) { if ( enable_play_song ) //鈴聲使能 { play_song()。 //日歷開啟 initial_irq ()。 主程序軟件實現(xiàn) 主程序流程圖 基于 51 單片機的多功能電子鐘設計 30 圖 41 主程序流程圖 主程序代碼 void main() { lcd_init()。 ( 2)同時按下 S1 鍵和 S2 鍵會將當前的時間恢復到程序中設定的默認時間。 [20] 系統(tǒng)中有四個按鍵,即:設置鍵 S切換鍵 S上調(diào)鍵 S下調(diào)鍵 S4。 首先對 STC89C5 DS1288 LCD160 DS18B20 進行初始化,日歷和溫度信息通過 LCD1602 顯示出來,當當前時間與設定的鬧鐘時間相同后, LCD1602 上顯示的時間停止,但,實際上芯片內(nèi)部的時間仍然在走。 報警模塊電路如圖 316所示。 基于 51 單片機的多功能電子鐘設計 27
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1