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

正文內(nèi)容

單片機(jī)課程設(shè)計—萬年歷-預(yù)覽頁

2025-07-20 04:02 上一頁面

下一頁面
 

【正文】 能,實現(xiàn)對時間、日期的操作,通過按鍵盤開關(guān)實現(xiàn)對時間、日期的調(diào)整。兩個方案工作原理大致相同,只有顯示模塊和時鐘電路不同。對比以上方案,結(jié)合設(shè)計技術(shù)指標(biāo)與要求我們選擇了方案二進(jìn)行設(shè)計。整個系統(tǒng)結(jié)構(gòu)緊湊,抗干擾能力強(qiáng),性價比高。 圖(3) 時鐘振蕩電路圖 圖(4) 復(fù)位電路復(fù)位電路復(fù)位電路由電阻和極性電容組成,如圖(4)所示,通過高電平使單片機(jī)復(fù)位,在時鐘電路開始工作后,當(dāng)高電平的時間超過大約2us時,即可實現(xiàn)復(fù)位。一般采用的辦法是在RST端和正電源Vcc之間接一個按鈕和一個電阻。當(dāng)Vcc2Vcc1+,由Vcc2向DS1302供電,當(dāng)Vcc2 Vcc1時,由Vcc1向DS1302供電;7: SCLK:串行時鐘,輸入;小時寄存器(85h、84h)的位7用于定義DS1302是運行于12小時模式還是24小時模式。在對任何的時鐘和RAM的寫操作之前,WP位必須為0。它不僅要向寄存器寫入控制字,還需要讀取相應(yīng)寄存器的數(shù)據(jù)。寫數(shù)據(jù):控制字總是從最低位開始輸出。圖(9) 按鍵電路顯示電路1602液晶也叫1602字符型液晶 它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊 它有若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符。LCD1602的各種指令不再一一說明。接著掃描鍵盤,在鍵盤程序里面是對時間、日期及鬧鐘的調(diào)整,最下面是時間的顯示。還有一個問題,在按鍵操作時有時會出現(xiàn)功能不穩(wěn)定,這是由于按鍵存在抖動,所以后來加個去抖動的延時后在判斷,基本就可以解決問題,整體電路與仿真結(jié)果分析:電子萬年歷硬件電路圖及仿真如圖(13)所示,系統(tǒng)由AT89C52單片機(jī),按鍵掃描電路、顯示電路、時鐘電路、晶振電路、復(fù)位電路及電源指示電路。更重要的是,在課程序設(shè)計里,我們學(xué)會了很多學(xué)習(xí)的方法,知道了理論和實踐的巨大差別。通過自己的努力,做出了一個萬年歷,對以后的學(xué)習(xí)是一個莫大的鼓舞,激起了我的學(xué)習(xí)興趣和開發(fā)創(chuàng)新思維。 //DS1302復(fù)位線sbit RS = P2^0。 //選擇sbit K2=P3^5。uchar MonthsDays[]={0,31,0,31,30,31,30,31,31,30,31,30,31}。uchar DateTime[7]。 while(ms){for(i=0。 for(i=0。 //每一位與1與存入IO中 SCLK=1。 for(i=0。SCLK=0。SCLK=0。 SCLK=1。RST=1。RST=0。i7。 for(i=0。 RS=0。 state=P0。} //忙等待//void LCD_Busy_Wait(){ while((Read_LCD_State()amp。 RS=1。EN=1。 RS=0。EN=1。 //設(shè)置16*2顯示,5*7點陣,8位數(shù)據(jù)接口 DelayMS(1)。 //寫一個字符后地址指針自動加1 DelayMS(1)。//相當(dāng)于在0x80基礎(chǔ)上加入位置量 }//在LCD上顯示字符串//void Display_LCD_String(uchar p,uchar *s){ uchar i。i++) { Write_LCD_Data(s[i])。 a[1]=d%10+39。y%100!=0)||(y%400==0)。i++) { d=isLeapYear(i)?366:365。iDateTime[4]。}//*****年月日時分++/********//void DateTime_Adjust(char x){ switch(Adjust_Index) { case 6: //年0099 if(x==1amp。amp。} RefreshWeekDay()。DateTime[4]12) DateTime[4]++。 MonthsDays[2]=isLeapYear(2000+DateTime[6])?29:28。 case 3: //日002231,調(diào)節(jié)之前首先根據(jù)年份得出該年中斷二月 天數(shù) MonthsDays[2]=isLeapYear(2000+DateTime[6])?29:28。 if(x==1amp。 break。 if(x==1amp。 case 1: //分 if(x==1amp。amp。 TL0=50000%256。 Format_DateTime(DateTime[4],LCD_DSY_BUFFER1+8)。 Format_DateTime(DateTime[1],LCD_DSY_BUFFER2+8)。}//鍵盤中斷(INT0)//void EX_INT0() interrupt 0{ if(K1==0) //選擇調(diào)整對象(Y M D H M) { DelayMS(10)。 if(Adjust_Index==5) Adjust_Index=4。 //顯示調(diào)節(jié)對象 LCD_DSY_BUFFER2[15]=39。 if(K2==0) DateTime_Adjust(1)。 } else if(K4==0) //確定 { //while(K4==0)。 39。 39。 //允許INT0,T0中斷,EA=1,ET0=1,EX0=1 IP=0x01。 //裝入初始值,定時1秒 TL0=50000%256
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1