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

正文內(nèi)容

片機(jī)定時(shí)鬧鐘課程設(shè)計(jì)(編輯修改稿)

2025-07-12 22:36 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 0 分為基準(zhǔn)計(jì)算)的顯示,有外中斷 0 和五個(gè)開關(guān)實(shí)現(xiàn)校時(shí),鬧鐘功能。其中程序的晶振 頻率為12MHz,最小計(jì)時(shí)單位為 1/20 秒。 主芯片 輸出數(shù)據(jù)到 LCD 數(shù)據(jù)總線, 輸出 LCD 控制信號(hào), 輸出聲音信號(hào), . 輸入外部控制信號(hào),整個(gè)軟件系統(tǒng)也是根據(jù)這個(gè)關(guān)系連接成一個(gè)完整的系統(tǒng)。 主函數(shù)的設(shè)計(jì) 本 LCD 電子鬧鐘的的主程序流程圖如圖 所示: 圖 程序初始化 8 在系統(tǒng)開始上電時(shí),需要 .首先初始化液晶: void TimeInit() { write_(0x01)。 //初始化 1602 液晶 write_(0x80)。 //設(shè)置現(xiàn)實(shí)初始坐標(biāo) for(num=0。num9。num++) //顯示年月日 { write_date(table[num])。 delay(5)。 } write_(0x80+0x40+6)。 //寫出時(shí)間顯示部分的兩個(gè)冒號(hào) write_date(39。:39。)。 delay(5)。 write_(0x80+0x40+9)。 write_date(39。:39。)。 delay(5)。 write_sfm(4,shi)。 //分別送去液晶顯示 write_(0x80+0x40+4)。 write_sfm(7,fen)。 write_(0x80+0x40+7)。 write_sfm(10,miao)。 write_(0x80+0x40+10) 鬧鐘的實(shí)現(xiàn) 鬧鐘功能的實(shí)現(xiàn)涉及到兩個(gè)方面: 鬧鈴時(shí)間設(shè)定和是否鬧鈴判別與相應(yīng)處理。鬧鈴時(shí)間設(shè)定模塊的設(shè)計(jì)可參照時(shí)間設(shè)定模塊,這里著重闡述鬧鈴判別與處理模塊的設(shè)計(jì)問題。鬧鈴判別與 .鬧鈴處理的關(guān)鍵在于判別何時(shí)要進(jìn)行鬧鈴。當(dāng)時(shí)十位、時(shí)個(gè)位、分十位、分個(gè)位中任一位發(fā)生改變(進(jìn)位)時(shí),就必須進(jìn)行鬧鈴判別。程序設(shè)計(jì)思想如圖 。 9 圖 顯示程序 顯示程序包括時(shí)鐘顯示和定時(shí)顯示程序。具體程序見附錄。 液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示 不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表 是 TC1602EL 液晶模塊的內(nèi)部顯示地址。 表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 10 附錄 1 定時(shí)鬧鐘仿真電路圖 11 附錄 2 定時(shí)鬧鐘的控制程序代碼 include define uint unsigned int define uchar unsigned char sbit key1=P1^0。 sbit key2=P1^1。 sbit key3=P1^2。 sbit key4=P1^3。 sbit lcden=P2^2。 sbit lcdrs=P2^0。 sbit lcdrw=P2^1。 sbit jdq=P2^3。 sbit led=P2^4。 sbit sound=P2^5。 int a,b,i,min,hour,minge,minshi,hourge,hourshi,amin,ahour,aminge,aminshi,ahourge,ahourshi,sec,secshi,secge。 //unsigned char code x[]={0xFF,0xC7,0x83,0x01,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF,0xFF}。 //unsigned char code z[]={0xFF,0xE3,0xC1,0x80,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0x7F,0xFF,0xFF}。 uchar code table1[]={39。039。,39。139。,39。239。,39。339。,39。439。,39。539。,39。639。,39。739。,39。839。,39。939。}。 uchar code table2[]=Time:00:00:00 。 uchar code Alarm_1[]=Alarm:00:00 。 uchar code nul[]= 。 uchar num1,num2。 bit flag=0。 12 void delay(unsigned int xms) //延時(shí)程序 { uint i,j。 for(i=xms。i0。i) for(j=124。j0。j)。 } void write_(uchar ) //LCD 命令控制,寫指令函數(shù) { delay(5) 。 lcdrs=0。 P0=。 delay(5)。 lcden=1。 delay(5)。 lcden=0。 } void write_data(uchar date) //LCD 數(shù)據(jù)控制,寫數(shù)據(jù)函數(shù) { delay(5)。 lcdrs=1。 P0=date。 delay(5)。 lcden=1。 delay(5)。 lcden=0。 } void time() //設(shè)置時(shí)間函數(shù) { 13 while(1) { if(key1==0) { delay(10)。 if(key1==0) { if(hour==23) //時(shí) 設(shè)置 hour=0。 else hour++。 hourge=hour%10。 hourshi=hour/10。 write_(0x0f)。 delay(2)。 write_(0x80+6)。 write_data(table1[hourge])。 //時(shí) 個(gè)位寫入 LCD 第二行第 6 位 delay(5)。
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1