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

正文內(nèi)容

基于aw60和pcf8563的電子萬(wàn)年歷畢業(yè)論文-資料下載頁(yè)

2025-07-27 05:29本頁(yè)面
  

【正文】 //RS、R/W=10,寫數(shù)據(jù)到DDRAM中 LCDctrl1 |=~(1LcdRW)。 for (i = 0。i 16。i++)//將要顯示在第1行上的16個(gè)數(shù)據(jù)逐個(gè)寫入DD RAM中 { LCDmand(str[i])。 } //3 顯示第2行16個(gè)字符 // 設(shè)置顯示首地址 LCDctrl1 amp。=~(1LcdRS)。 //RS、R/W=00,寫指令 LCDctrl1 amp。=~(1LcdRW)。 LCDmand(0b11000000)。 //后7位為DDRAM地址0x40 // 再寫16個(gè)數(shù)據(jù)到DD RAM LCDctrl1 |=1LcdRS。 //RS、R/W=10,寫數(shù)據(jù)到DDRAM中 LCDctrl1 amp。=~(1LcdRW)。 for (i = 16。i 32。i++) //將要顯示在第2行上的16個(gè)數(shù)據(jù)逐個(gè)寫入DD RAM中 { LCDmand(str[i])。 }}附錄B 鍵盤調(diào)用程序include ////*//函數(shù)名: KBInit //功 能: 初始化鍵盤模塊 //參 數(shù): 無(wú) //返 回: 無(wú) //說(shuō) 明: 無(wú) //*void KBInit(void){ KB_DP amp。= ~0b10001100。 //鍵盤口復(fù)位 // | || // | |+KBIP5 // | +KBIP6 // +KBIPD7 KB_GP amp。= ~0b00011111。 //鍵盤口復(fù)位 // ||||| // ||||+KBIP0 // |||+KBIP1 // ||+KBIP2 // |+KBIP3 // +KBIP4 KB_DD amp。= ~0b10001100。 //定義列線(KBIP7KBIP4位)為輸入 KB_GD amp。= ~0b00010000。 KB_DPUE |= 0b10001100。 //輸入引腳(列線)有內(nèi)部上拉電阻 KB_GPUE |= 0b00010000。 KB_GD |= 0b00001111。 //定義行線(KBIP3KBIP0位)為輸出 DisableKBint()。 //屏蔽鍵盤中斷(KBIE = 0) KBI1PE = (0 |KBI1PE_KBIPE7_MASK |KBI1PE_KBIPE6_MASK |KBI1PE_KBIPE5_MASK |KBI1PE_KBIPE4_MASK)。 //允許輸入引腳(列線)的中斷可進(jìn)入 KBI1SC = (0 |KBI1SC_KBACK_MASK)。 //清除鍵盤中斷請(qǐng)求(KBACK = 1)}//*//函數(shù)名: KBScanN //功 能: N次掃描鍵盤,消除抖動(dòng)問(wèn)題 //參 數(shù): N:掃描鍵盤的次數(shù) //返 回: 多次掃描鍵盤得到的鍵值 //說(shuō) 明: 調(diào)用KBScan1函數(shù) //*uint8 KBScanN(uint8 KB_count){ uint8 i,KB_value_last,KB_value_now。 //先掃描一次得到的鍵值,便于下面比較 if (0 == KB_count || 1 == KB_count) return KBScan1()。 KB_value_now = KB_value_last = KBScan1()。 //以下多次掃描消除誤差 for (i=0。 iKB_count1。 i++) { KB_value_now = KBScan1()。 if (KB_value_now == KB_value_last) return KB_value_now。 //返回掃描的鍵值 else KB_value_last = KB_value_now。 } //返回出錯(cuò)標(biāo)志 return 0xFF。}//鍵盤定義表const uint8 KBtable[] ={ 0xEE,39。139。,0xDE,39。239。,0xBE,39。339。,0x7E,39。A39。, 0xED,39。439。,0xDD,39。539。,0xBD,39。639。,0x7D,39。B39。, 0xEB,39。739。,0xDB,39。839。,0xBB,39。939。,0x7B,39。C39。, 0xE7,39。*39。,0xD7,39。039。,0xB7,39。39。,0x77,39。D39。, 0x00}。//*//函數(shù)名: KBDef //功 能: 鍵值轉(zhuǎn)為定義值 //參 數(shù): value:鍵值 //返 回: 鍵定義值 //說(shuō) 明: 無(wú) //*uint8 KBDef(uint8 valve){ uint8 KeyPress。 //鍵定義值 uint8 i。 i = 0。 KeyPress = 0xff。 while (KBtable[i] != 0x00) //在鍵盤定義表中搜索欲轉(zhuǎn)換的鍵值,直至表尾 { if(KBtable[i] == valve) //在表中找到相應(yīng)的鍵值 { KeyPress = KBtable[i+1]。//取出對(duì)應(yīng)的鍵定義值 break。 } i += 2。 //指向下一個(gè)鍵值,繼續(xù)判斷 } return KeyPress。}//*//函數(shù)名: KBScan1 //功 能: 掃描1次4*4鍵盤,返回讀取的鍵值 //參 數(shù): 無(wú) //返 回: 返回讀取的鍵值 //說(shuō) 明: 無(wú) //*uint8 KBScan1(void){ uint8 line,i,tmp,tmp1,tmp2。 line=0b11111110。 //使第一根行線為0(低電平) for (i = 1。 i = 4。 i++) //最多將掃描4根行線 { //當(dāng)前掃描的一行,輸出低電平 KB_GP = line。 //輸出開(kāi)始掃描 asm(NOP)。 asm(NOP)。 //讀取鍵盤口數(shù)據(jù)寄存器 tmp1 = KB_DP。 //輸入掃描結(jié)果 tmp2 = KB_GP。 //整合掃描結(jié)果,即鍵盤輸入引腳的4位 tmp = (tmp1 amp。 0x80)。 tmp1 amp。= 0x0C。 tmp1 = (tmp13)。 tmp |= tmp1。 tmp |= (tmp2 amp。 0x1f)。 //通過(guò)觀察4根列線中是否出現(xiàn)低電平來(lái)判斷當(dāng)前行有無(wú)按鍵 if ((tmp amp。 0xF0) != 0xF0)//當(dāng)前行有鍵按下 { break。 //退出循環(huán)不再掃描 } else //當(dāng)前行無(wú)按鍵,準(zhǔn)備掃描下一行 line = (line 1) | 0x01。 } if (i == 5) //無(wú)按鍵,以后將返回0xFF tmp = 0xFF。 return (tmp)。}附錄C 主程序源代碼include void main(void){ //1 主程序使用的變量定義 //定義初始顯示緩存并賦初值 uint8 g_DispalyInit[] = Wait Receiving..Soochow .。 uint32 mRuncount=0。 //運(yùn)行計(jì)數(shù)器uint8 Sec = 0xFF。 //記錄秒值 // 初始寫入PCF8563寄存器的值: CSR1, 2, 秒, 分鐘,小時(shí), 天, 星期,月, Uint WriteData[15] = {0x00,0x00,0x00,0x00,0x14,0x01,0x01,0x10, // 年, 分鐘報(bào)警,小時(shí)報(bào)警,日期報(bào)警,周報(bào)警,
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1