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

正文內(nèi)容

基于51單片機(jī)電子鬧鐘或萬(wàn)年歷的設(shè)計(jì)課程設(shè)計(jì)-閱讀頁(yè)

2025-03-23 06:56本頁(yè)面
  

【正文】 *************************/ void delay1ms() { unsigned char i,j。i10。j33。 } /***************************************************** 函數(shù)功能:延時(shí)若干毫秒 入口參數(shù): n ***************************************************/ void delaynms(unsigned char n) { unsigned char i。in。 } /****蜂鳴器程序 *****/ void beep(){ unsigned char t。t200。 delaynus(500)。 delaynus(500)。 result=1,忙碌 。 RS=0。 E=1。 //空操作 _nop_()。 _nop_()。 //將忙碌標(biāo)志電平賦給 result E=0。 } 武漢理工大學(xué)《單片機(jī)原理與應(yīng)用課程設(shè)計(jì)》 28 /***************************************************** 函數(shù)功能:將模式設(shè)置指令或顯示地址寫入液晶模塊 入口參數(shù): dictate ***************************************************/ void WriteInstruction (unsigned char dictate) { while(BusyTest()==1)。 //根據(jù)規(guī)定, RS 和 R/W 同時(shí)為低電平時(shí),可以寫入指令 RW=0。 //E 置低電平 ,寫指令時(shí), E 為高脈沖, // 就是讓 E 從 0 到 1 發(fā)生正跳變,所以應(yīng)先置 0 _nop_()。 //空操作兩個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 P0=dictate。 _nop_()。 _nop_()。 //E 置高電平,寫指令 _nop_()。 _nop_()。 //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=0。 //顯示位置的確定方法規(guī)定為 80H+地址碼 x } /***************************************************** 函數(shù)功能:將數(shù)據(jù) (字符的標(biāo)準(zhǔn) ASCII 碼 )寫入液晶模塊 入口參數(shù): y(為字符常量 ) ***************************************************/ void WriteData(unsigned char y) { while(BusyTest()==1)。 //RS 為高電平, RW 為低電平時(shí),可以寫入數(shù)據(jù) RW=0。 //E 置低電平 ,寫指令時(shí), E 為高脈沖, // 就是讓 E 從 0 到 1 發(fā)生正跳變,所以應(yīng)先置 0 P0=y。 _nop_()。 _nop_()。 //E 置高電平 ,寫數(shù)據(jù) _nop_()。 _nop_()。 //空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 武漢理工大學(xué)《單片機(jī)原理與應(yīng)用課程設(shè)計(jì)》 29 E=0。 //延時(shí) 15ms,首次寫指令時(shí)應(yīng)給 LCD 一段較長(zhǎng)的反應(yīng)時(shí)間 WriteInstruction(0x38)。 //延時(shí) 5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x38)。 //延時(shí) 5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x38)。 //延時(shí) 5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x0c)。 //延時(shí) 5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x06)。 //延時(shí) 5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 WriteInstruction(0x01)。 //延時(shí) 5ms ,給硬件一點(diǎn)反應(yīng)時(shí)間 } /************************************************************** 以下是 1302 數(shù)據(jù)的顯示程序 **************************************************************/ /***************************************************** 函數(shù)功能:顯示秒 入口參數(shù): x ***************************************************/ void DisplaySecond(unsigned char x) { unsigned char i,j。//取十位 j=x%10。 //寫顯示地址 ,將在第 2 行第 10 列開始顯示 WriteData(digit[i])。 //將十位數(shù)字的字符常量寫入 LCD delaynms(50)。 //j,k 十位和個(gè)位 i=x/10。//取個(gè)位 WriteAddress(0x46)。 //將百位數(shù)字的字符常量寫入 LCD WriteData(digit[j])。 //延時(shí) 1ms 給硬件一點(diǎn)反應(yīng)時(shí)間 } /***************************************************** 函數(shù)功能:顯示小時(shí) 入口參數(shù): x ***************************************************/ void DisplayHour(unsigned char x) { unsigned char i,j。//取十位 j=x%10。 //寫顯示地址 ,將在第 2 行第 4 列開始顯示 WriteData(digit[i])。 //將十位數(shù)字的字符常量寫入 LCD delaynms(50)。 //j,k 十位和個(gè)位 i=x/10。//取個(gè)位 WriteAddress(0x0c)。 //將十位數(shù)字的字符常量寫入 LCD WriteData(digit[j])。 //延時(shí) 1ms 給硬件一點(diǎn)反應(yīng)時(shí)間 } /***************************************************** 函數(shù)功能:顯示月 入口參數(shù): x ***************************************************/ void DisplayMonth(unsigned char x) { unsigned char i,j。//取十位 j=x%10。 //寫顯示地址 ,將在第 1 行第 10 列開始顯示 WriteData(digit[i])。 //將個(gè)位數(shù)字的字符常量寫入 LCD delaynms(50)。 //j,k 分別儲(chǔ)存十位和個(gè)位 i=x/10。//取個(gè)位 WriteAddress(0x06)。 //將十位位數(shù)字的字符常量寫入 LCD WriteData(digit[j])。 //延時(shí) 1ms 給硬件一點(diǎn)反應(yīng)時(shí)間 } /*******************************顯示時(shí)間 *************/ void showTime(){ unsigned char second,minute,hour,day,month,year。 //儲(chǔ)存從 1302 讀取的數(shù)據(jù) WriteAddress(0x01)。D39。 //將字符常量寫入 LCD WriteData(39。)。T39。 //將字符常量寫入 LCD WriteData(39。)。:39。 //將字符常量寫入 LCD WriteAddress(0x08)。39。 //將字符常量寫入 LCD WriteAddress(0x0b)。39。 //將字符常量寫入 LCD WriteAddress(0x45)。:39。 //將字符常量寫入 LCD WriteAddress(0x48)。:39。 //將字符常量寫入 LCD ReadValue = ReadSet1302(0x81)。0x70)4)*10 + (ReadValueamp。//將讀出數(shù)據(jù)轉(zhuǎn)化 DisplaySecond(second)。 //從分寄存器讀 minute=((ReadValueamp。0x0F)。 //顯示分 ReadValue = ReadSet1302(0x85)。0x70)4)*10 + (ReadValueamp。 //將讀出數(shù)據(jù)轉(zhuǎn)化 DisplayHour(hour)。 //從日寄存器讀 day=((ReadValueamp。0x0F)。 //顯示日 ReadValue = ReadSet1302(0x89)。0x70)4)*10 + (ReadValueamp。 //將讀出數(shù)據(jù)轉(zhuǎn)化 DisplayMonth(month)。 //從年寄存器讀 year=((ReadValueamp。0x0F)。 //顯示年 } /******************功能設(shè)置按鍵 ******************************/ void adjustTime(){ unsigned char ReadValue。//延時(shí) 10ms,用于消抖 if(K1==0) { delaynms(10)。 while(settime){ /* switch(settime) { case 0: WriteInstruction(0x0c)。 break。 WriteInstruction(0xff)。 case 2: WriteAddress(0x0a)。 break。 WriteInstruction(0xff)。 case 4: WriteAddress(0x44)。 break。 WriteInstruction(0xff)。 case 6: WriteAddress(0x4b)。 break。 if(K2==0) { delaynms(10)。 ReadValue = ReadSet1302(0x8d)。0xf0)4)*10 + (ReadValueamp。 //將讀出數(shù)據(jù)轉(zhuǎn)化 ReadValue = ReadSet1302(0x89)。0x70)4)*10 + (ReadValueamp。 //將讀出數(shù)據(jù)轉(zhuǎn)化 ReadValue = ReadSet1302(0x87)。0x70)4)*10 + (ReadValueamp。 //將讀出數(shù)據(jù)轉(zhuǎn)化 ReadValue = ReadSet1302(0x85)。0x70)4)*10 + (ReadValueamp。 //將讀出數(shù)據(jù)轉(zhuǎn)化 ReadValue = ReadSet1302(0x83)。0x70)4)*10 + (ReadValueamp。 //將讀出數(shù)據(jù)轉(zhuǎn)化 ReadValue = ReadSet1302(0x81)。0x70)4)*10 + (ReadValueamp。//將讀出數(shù)據(jù)轉(zhuǎn)化 switch(settime) { case 0: showTime()。 case 1: nian++。 break。 if(yue==13)yue=1。 case 3: tian++。 break。 if(shi==24)shi=0。 case 5: fen
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1