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

正文內(nèi)容

單片機(jī)萬年歷電子鐘設(shè)計(jì)報(bào)告含電路圖和源程序(編輯修改稿)

2025-08-30 01:42 本頁面
 

【文章內(nèi)容簡介】 ar ms)。 //延時(shí)程序bit lcd_busy()。 //測試LCD忙碌狀態(tài)程序void lcd_wcmd(char cmd)。 //寫入指令到LCD程序void lcd_wdat(char dat)。 //寫入數(shù)據(jù)到LCD程序void lcd_pos(char pos)。 //LCD數(shù)據(jù)指針位置程序void lcd_init()。 //LCD初始化設(shè)定程序void pro_timedate()。 //時(shí)間日期處理程序void pro_display()。 //顯示處理程序void pro_key()。 //按鍵處理程序void time_alarm()。 //定時(shí)報(bào)警功能(鬧鐘)unsigned char scan_key()。 //按鍵掃描程序unsigned char week_proc()。 //星期自動計(jì)算與顯示函數(shù)bit leap_year()。 //判斷是否為閏年void lcd_sef_chr()。 //LCD自定義字符程序void update_disbuf(unsigned char t1,unsigned char t2[],unsigned char dis_h,unsigned char dis_m,unsigned char dis_s)。 //更新顯示緩沖區(qū)函數(shù) // 延時(shí)程序void delay(unsigned char ms){ while(ms) { unsigned char i。 for(i = 0。 i i++) { _nop_()。 //執(zhí)行一條_nop_()指令為一個(gè)機(jī)器周期 _nop_()。 _nop_()。 _nop_()。 } }} //測試LCD忙碌狀態(tài)bit lcd_busy(){ bit result。 rs = 0。 rw = 1。 ep = 1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 result =(bit)(P0amp。0x80)。 //LCD的D0D7中,D7=1為忙碌,D7=0為空閑 ep = 0。 return result。 }//寫入指令到LCDvoid lcd_wcmd(char cmd){ while(lcd_busy())。 //當(dāng)lcd_busy為1時(shí),再次檢測LCD忙碌狀態(tài),lcdbusy為0時(shí),開始寫指令 rs = 0。 rw = 0。 ep = 0。 _nop_()。 _nop_()。 P0 = cmd。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 ep = 1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 ep = 0。 }//寫入數(shù)據(jù)到LCDvoid lcd_wdat(char dat) { while(lcd_busy())。 //當(dāng)lcd_busy為1時(shí),再次檢測LCD忙碌狀態(tài),lcdbusy為0時(shí),開始寫數(shù)據(jù) rs = 1。 rw = 0。 ep = 0。 P0 = dat。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 ep = 1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 ep = 0。 }//LCD數(shù)據(jù)指針位置程序void lcd_pos(char pos){ lcd_wcmd(pos|0x80)。 //數(shù)據(jù)指針=80+地址碼(00H~27H,40H~67H)}//設(shè)定二個(gè)自定義字符,(注意:LCD1602中自定義字符的地址為0x000x07,即可定義8個(gè)字符)//這里我們設(shè)定把一個(gè)自定義字符放在0x00位置(000),另一個(gè)放在0x01位子(001)void lcd_sef_chr(){ //第一個(gè)自定義字符 lcd_wcmd(0x40)。 //01 000 000 第1行地址 (D7D6為地址設(shè)定命令形式D5D4D3為字符存放位置(07),D2D1D0為字符行地址(07)) lcd_wdat(0x1f)。 //XXX 11111 第1行數(shù)據(jù)(D7D6D5為XXX,表示為任意數(shù)(一般用000),D4D3D2D1D0為字符行數(shù)據(jù)(1點(diǎn)亮,0熄滅) lcd_wcmd(0x41)。 //01 000 001 第2行地址 lcd_wdat(0x11)。 //XXX 10001 第2行數(shù)據(jù) lcd_wcmd(0x42)。 //01 000 010 第3行地址 lcd_wdat(0x15)。 //XXX 10101 第3行數(shù)據(jù) lcd_wcmd(0x43)。 //01 000 011 第4行地址 lcd_wdat(0x11)。 //XXX 10001 第4行數(shù)據(jù) lcd_wcmd(0x44)。 //01 000 100 第5行地址 lcd_wdat(0x1f)。 //XXX 11111 第5行數(shù)據(jù) lcd_wcmd(0x45)。 //01 000 101 第6行地址 lcd_wdat(0x0a)。 //XXX 01010 第6行數(shù)據(jù) lcd_wcmd(0x46)。 //01 000 110 第7行地址 lcd_wdat(0x1f)。 //XXX 11111 第7行數(shù)據(jù) lcd_wcmd(0x47)。 //01 000 111 第8行地址 lcd_wdat(0x00)。 //XXX 00000 第8行數(shù)據(jù) //第二個(gè)自定義字符 lcd_wcmd(0x48)。 //01 001 000 第1行地址 lcd_wdat(0x01)。 //XXX 00001 第1行數(shù)據(jù) lcd_wcmd(0x49)。 //01 001 001 第2行地址 lcd_wdat(0x1b)。 //XXX 11011 第2行數(shù)據(jù) lcd_wcmd(0x4a)。 //01 001 010 第3行地址 lcd_wdat(0x1d)。 //XXX 11101 第3行數(shù)據(jù) lcd_wcmd(0x4b)。 //01 001 011 第4行地址 lcd_wdat(0x19)。 //XXX 11001 第4行數(shù)據(jù) lcd_wcmd(0x4c)。 //01 001 100 第5行地址 lcd_wdat(0x1d)。 //XXX 11101 第5行數(shù)據(jù) lcd_wcmd(0x4d)。 //01 001 101 第6行地址 lcd_wdat(0x1b)。 //XXX 11011 第6行數(shù)據(jù) lcd_wcmd(0x4e)。 //01 001 110 第7行地址 lcd_wdat(0x01)。 //XXX 00001 第7行數(shù)據(jù) lcd_wcmd(0x4f)。 //01 001 111 第8行地址 lcd_wdat(0x00)。 //XXX 00000 第8行數(shù)據(jù)}//LCD初始化設(shè)定void lcd_init(){ lcd_wcmd(0x38)。 //設(shè)置LCD為16X2顯示,5X7點(diǎn)陣,八位數(shù)據(jù)借口 delay(1)。 lcd_wcmd(0x0c)。 //LCD開顯示及光標(biāo)設(shè)置(光標(biāo)不閃爍,不顯示) delay(1)。 lcd_wcmd(0x06)。 //LCD顯示光標(biāo)移動設(shè)置(光標(biāo)地址指針加1,整屏顯示不移動) delay(1)。 lcd_wcmd(0x01)。 //清除LCD的顯示內(nèi)容 delay(1)。}//閏年的計(jì)算bit leap_year(){ bit leap。 if((year%4==0amp。amp。year%100!=0)||year%400==0)//閏年的條件 leap=1。 else leap=0。 return leap。}//星期的自動運(yùn)算和處理unsigned char week_proc(){ unsigned char num_leap。 unsigned char c。 num_leap=year/4year/100+year/400。//自00年起到y(tǒng)ear所經(jīng)歷的閏年數(shù) if( leap_year()amp。amp。 mon
點(diǎn)擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1