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

正文內(nèi)容

基于日歷時(shí)鐘芯片的作息時(shí)間控制器的設(shè)計(jì)-在線瀏覽

2025-03-07 14:32本頁(yè)面
  

【正文】 DB1 H/L 數(shù)據(jù)19 DB2 H/L 數(shù)據(jù)210 DB3 H/L 數(shù)據(jù)311 DB4 H/L 數(shù)據(jù)412 DB5 H/L 數(shù)據(jù)513 DB6 H/L 數(shù)據(jù)614 DB7 H/L 數(shù)據(jù)715 PSB H/L 并/串行接口選擇:H并行;L串行16 NC 空腳17 /RET H/L 復(fù)位 低電平有效18 NC 空腳19 LED_A 背光源正極(LED+5V)20 LED_K 背光源負(fù)極(LEDOV)圖36 液晶顯示電路 硬件原理圖:(見(jiàn)附錄1) PCB圖:(見(jiàn)附錄2)第3章 元件清單 元件清單表31 元件清單參數(shù)名稱(chēng)注釋1KR15KRSCL5KRSDA10KR310KR610KR510KR422μFC330PC1Y2103JR20排阻9AT89S52DIP40BELLDS1307LCD12864HDR1X20PNP 90121KR8SWPB10KR19WR12MY1第4章 系統(tǒng)的軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)可以分為幾個(gè)部分,首先是各個(gè)模塊的底層驅(qū)動(dòng)程序編寫(xiě),而后是系統(tǒng)聯(lián)機(jī)調(diào)試,編寫(xiě)上層系統(tǒng)程序。系統(tǒng)的軟件流程圖如圖下:圖41 主程序流程圖如上圖所示程序開(kāi)始后進(jìn)入定時(shí)初始化,然后進(jìn)入是否調(diào)時(shí)間、是否響鈴和顯示的死循環(huán)。數(shù)字鍵,鍵處理程序返回判是否有鍵按下?開(kāi)始鍵處理散轉(zhuǎn)地址判確有鍵按下?調(diào)延時(shí)子程序YYNN圖42 按鍵流程圖圖 如上圖所示此圖是處理按鍵程序的。調(diào)整時(shí)間流程圖如下圖所示,先判斷有鍵按下,有的話則進(jìn)入調(diào)整秒、分、時(shí)的循環(huán)直到有S1按下為止才退出。采用中斷方式進(jìn)行溢出次數(shù)累計(jì),計(jì)滿8次為秒計(jì)時(shí)(1秒),從秒到分和從分到時(shí)的計(jì)時(shí)是通過(guò)累加和數(shù)值比較實(shí)現(xiàn)。 打鈴程序如下圖所示,進(jìn)入程序先要判斷是否需要打鈴,也就是是否到了打鈴時(shí)間,如果到了則執(zhí)行打鈴程序,執(zhí)行完后跳出,等下次再判,再執(zhí)行。 //定義變量uchar pm[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}。 //定義位函數(shù)sbit k2=P3^4。sbit P1_5=P1^5。}//************中斷處理程序***************//pint0()interrupt 1 using 2 //采用中斷0方式{TH0=0x3c。 if(j!=0) //查詢(xún)計(jì)數(shù)次數(shù)是否滿20次 {j。 //重新設(shè)置計(jì)數(shù)次數(shù) st++。 //等于60秒,秒清0 mt++。 //等于60分,分清0 ht++。 //等于24,時(shí)清0 }}}}}//************顯示程序***************//xscl() {int a,b。 //設(shè)置數(shù)碼管顯示位,即秒個(gè)位 {P0=pm[stg]。//延時(shí) a=P21。 P2=a|b。//秒十位顯示值 delay(300)。 //左移一位顯示位,即無(wú)用位 b=P27。 P0=pm[10]。//延時(shí) a=P21。 P2=a|b。//分個(gè)位顯示值 delay(300)。 //左移一位顯示位,即分十位 b=P27。 P0=pm[mts]。 //延時(shí) a=P21。 P2=a|b。 //無(wú)用位顯示 delay(300)。 //左移一位顯示位,即時(shí)個(gè)位 b=P27。 P0=pm[htg]。 //延時(shí) a=P21。 P2=a|b。 //時(shí)十位顯示值 delay(300)。 b=P27。 }} //************顯示處理程序***************//xs() { sts=st/10。 //把秒緩沖值處理,分別給秒個(gè)位和十位 mts=mt/10。 //把分緩沖值處理,分別給分個(gè)位和十位 hts=ht/10。 //把時(shí)緩沖值處理,分別給時(shí)個(gè)位和十位 xscl()。 xs()。 while(1) {xs()。}//判斷鍵釋放 TR0=0。 //調(diào)顯示程序 if(k2==0) //判斷k2是否為0,即判斷S2是否按下 {xs()。//調(diào)顯示程序,即延時(shí) if(k2==0) //去抖動(dòng) {st++。 //等于60,秒清0 }}} if(k3==0) //判斷k3是否為0,即判斷S3是否按下 {xs()。//調(diào)顯示程序,即延時(shí) if(k2==0) //去抖動(dòng) {mt++。 //等于60,分清0 }}} if(k4==0) //判斷k2是否為0,即判斷S4是否按下 {xs()。//調(diào)顯示程序,即延時(shí) if(k4==0) //去抖動(dòng) { ht++。 //等于24,時(shí)清0 }}} if(k1==0) //判斷k2是否為0,即判斷S6是否按下 {xs()。//調(diào)顯示程序,即延時(shí) if(k1==0) //去抖動(dòng) {xs()。if(k1==1)break。 } //跳出調(diào)時(shí)間循環(huán)程序 }}} TR0=1。 temp=dat/10。 temp=dat%10+temp。 I2C_write_byte(0xD0)。 I2C_write_byte(add)。 I2C_write_byte(temp)。 I2C_stop()。}/*******************************************/unsigned char Read1307(unsigned char add){ unsigned char temp,dat。 I2C_write_byte(0xD0)。 I2C_write_byte(add)。 I2C_stop()。 I2C_write_byte(0xD1)。 dat=I2C_read_byte()。 I2C_stop()。 dat=dat%16。 return (dat)。 p=rtc_address。i7。 p++。 p=rtc_address。i7。 p++。 //串口發(fā)送一個(gè)字節(jié)void SendByte(unsigned char Dbyte){ unsigned char i 。i8 。 Dbyte=Dbyte1 。 //移出的位給SID SCK = 1 。 }} //串口接收一個(gè)字節(jié)//僅在讀取數(shù)據(jù)的時(shí)候用到//而讀出的數(shù)據(jù)是一次只能讀出4bit的unsigned char ReceiveByte(void){ unsigned char n,x,y 。 for(n=0 。n++) { x=x1 。 SCK = 1 。 if(SID)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1