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

正文內(nèi)容

畢業(yè)設(shè)計(論文)-基于stc89c52單片機的電子時鐘設(shè)計(參考版)

2025-06-29 10:08本頁面
  

【正文】 參考文獻[1]陳權(quán)昌,:華南理工大學(xué)出版社,[2] : 機械工業(yè)出版社,[3]:高等教育出版社,[4] 99 SE 原理圖與 PCB : 電子工業(yè)出版社,[5]:機械工業(yè)出版社,[6]:高等教育出版社,[7] :浙江海洋學(xué)院,2022. [8] 汪文,:華中科技大學(xué)出版社,2022.[9] :高等教育出版社,2022.[10] 楊欣.:清華大學(xué)出版社,2022.[11] :湖南工學(xué)院,2022.[12] ,2022附錄一:。從他們那里,我獲得了邁出第一步的勇氣。有了他們的幫助各指導(dǎo),才使本論文的前期準(zhǔn)備以及整個研究過程順利完成。他們那種踏實負責(zé)的工作態(tài)度使我受益匪淺。其次,感謝各位教過我指導(dǎo)過我的老師,沒有他們授予的知識,我是不可能完成這次設(shè)計的。致謝首先,感謝學(xué)校三年來對我的培養(yǎng)。網(wǎng)絡(luò)只是一個平臺,正是由于大家的無私奉獻,才使得它豐富多彩。知識來自實踐,多從生活中探尋所需要的。機械時代已經(jīng)遠去,電子時代已經(jīng)到來。技術(shù)在不斷進步,機械式時鐘已經(jīng)被淘汰,取而代之的是具有高度準(zhǔn)確性和直觀性且無機械裝置,具有更長的使用壽命等優(yōu)點的電子時鐘。時鐘顯示功能,精確度完全可以滿足日常生活顯示時間的需要;調(diào)時功能,方便快捷。}}}總結(jié)通過本次論文設(shè)計,使我加深了對單片機的認識,并且熟悉了單片機系統(tǒng)的設(shè)計流程,收獲豐碩。write_sfm(3,nian)。write_sfm(9,ri)。write_sfm(7+0x40,fen)。nian=read_1302(0x8d)。yue=read_1302(0x89)。//0x20 是 1602 字庫中的空字符,即不顯示內(nèi)write_data(0x20)。/提取有效時間,用于顯示}if(flag1==0)//flag1=0,在 24 小時模式下顯示{write_(0x80+0x40+14)。}houramp。M39。)。write_data(39。)。write_data(39。P39。 //判斷 AM、PM 位是 0 還是 1if(ap==0x20){write_(0x80+0x40+14)。if(flag1==1)//flag1=1 時 ,在 12 模式下顯示{ap=houramp。fen=read_1302(0x83)。while(1){keyscan()。init_1602()。s1num=0。write_1302(0x8e,0x80)flag=0。//年write_1302(0x88,yue)。write_1302(0x8a,zhou)。 write_1302(0x84,hour)。//在松手時將調(diào)整后的時間、日期及周信息寫入write_1302(0 x8e,0x00)。{if(s3= =0)//如果確定鍵按下{delay(5)。write_(0x80+13)。if(zhou=8)zhou=1。write_(0x80+10)。} }ri=x5+x6*16。}if(x5==10){x5=0。x5=2){x5=1。} }else //12 月 31 天{ if(x6=3amp。}if(x5==10){x5=0。x5=1){x5=1。}}}if(mon==4||mon==6||mon==9||mon==11) //11 月 30 天{ if(x6=3amp。if(x6=3){x5=1。leap==1) //閏年 2 月,29 天{if(x5==10){x5=0。} }if(mon==2amp。}if(x5==10){x5=0。x5=9){x5=1。leap==0)//平年 2 月,28 天{ if(x6=2amp。 if(mon==2amp。shi2=yue/16。yue=read_1302(0x89)。if(year%4==0) //判斷是否為閏年leap=1。shi1=nian/16。 nian=read_1302(0x8d)。x6=ri/16。}if(s1num==6)//此條判斷每月天數(shù),包括平年閏年{int x5,x6,ge2,shi2,mon,ge1,shi1,year,leap。write_sfm(6,yue)。x6++。x6=0。amp。x5++。x5=yue%16。write_(0x80+4)。}nian=x7+x8*16。x8++。x7++。x7=nian%16。write_(0x80+0x40+5)。}hour=x5+x6*16。}if(x5==10){x5=0。x6=0。amp。x5++。x5=hour%16。write_(0x80+0x40+8)。}fen=x3+x4*16。x4++。x3++。x3=fen%16。write_(0x80+0x40+11)。}miao=x1+x2*16。x2++。x1++。x1=miao%16。if(s2==0){while(!s2)。再判斷是幾月,11 這四個月份有 30 天,平年2 月 28 天,閏年 2 月 29 天,其他月份 31 天。這一功能是如何實現(xiàn)的呢?首先判斷是平年還是閏年,本時鐘的年調(diào)節(jié)區(qū)間為 2022 年-2079 年。因此我們引入 X1 和 X2,分別代表秒的十位和個位,每按一次 S2 鍵,x2 加 1,每當(dāng) X2 為 10 時,X1 加 1,X2 重新為 面的錯誤了。//按鍵次數(shù)清 0}}} 調(diào)整鍵函數(shù)每按一次此鍵,相應(yīng)的時間或日期加 1,但是時間、日期是以 BCD 碼的形式存放在 DS1302 時鐘芯片的,如果直接對其進行操作,如秒,假如秒的初始時間是 00,它在 DS1302 芯片中存放的值為 00000000,它的后 4 位代表秒的個位,在時鐘芯片自動計時時,10 秒后它的后四位為 10 時,它能自動進位,變?yōu)?0010000。 //時鐘暫停標(biāo)志位 flag=0,退出調(diào)整模式 write_(0x0c)。write_1302(0x8e,0x80)。}if(s1num==8){write_1302(0x8e,0x00)。write_(0x80+13)。write_1302(0x86,ri)。write_(0x0f)。write_1302(0x8e,0x80)。}if(s1num==6){write_1302(0x8e,0x00)。write_(0x80+7)。write_1302(0x8c,nian)。write_(0x0f)。write_1302(0x8e,0x80)。}if(s1num==4){write_1302(0x8e,0x00)。write_(0x80+0x40+5)。write_1302(0x82,fen)。//指針指到分鐘顯示的位置write_(0x0f)。//寫入秒信息write_1302(0x8e,0x80)。}if(s1num==2)//如果 S1 按下兩次,先將設(shè)置后的秒寫到 DS1302,再在分的個位位置閃爍光標(biāo){ write_1302(0x8e,0x00)。//松手后,繼續(xù)執(zhí)行后面指令if(s1num==1)//如果 S1 按下一次,秒的個位位置閃爍光標(biāo){write_(0x80+0x40+11)。//時鐘暫停標(biāo)志位,flag=1 時液晶時鐘計時暫停s1num++。s2num==0)//如果 S1 被按下 當(dāng)在 12 小時模式下顯示時,按此鍵無效{delay(5)。//按鍵次數(shù)清 0}}} 功能鍵函數(shù)if(s1==0amp。flag1=0。//把轉(zhuǎn)化成 24 小進模式后的時寫入 DS1302write_1302(0x84,hour)。ap2==0x12)//12 點 PM,也就是 24 小時模式下的 12點hour=hour0xa0。}if(ap1!=0amp。ap2!=0x09)//PM,且不是 8 點或 9 點{hour=hour0xa0。ap2!=0x08amp。if(ap1!=0amp。amp。ap2==0x08)//下午 8 點,轉(zhuǎn)化成 20 點hour=0x20。}if(ap1!=0amp。amp。0x1f。amp。0x1f。0x20。hour=read_1302(0x85)。write_1302(0x8e,0x80)。write_1302(0x8e,0x00)。amp。ge==2){hour=0xb0。if(shi==2amp。amp。ge==0)//20 點{hour=0xa8。}if(shi==2amp。hour=hour+0x80。amp。amp。hour=hour+0x20。amp。hour=hour+0x80。else {hour=houramp。amp。amp。shi=hour/16。hour=read_1302(0x85)。if(s2num==1)//24 小時切換成 12 小時{int ge,shi。if(s4==0){s2num++。amp。 12 轉(zhuǎn) 24 小進模式與其類似,不再贅述。然后提取其后 5 位時間,顯示時間。需要注意的是,12 小時模式下,只用到后 5 位來表示時間,第 6 位用來表示 AM 或 PM 信息,如果真接用 24 小時模式下的顯示方法是會出錯的,這里我們需要對時進行轉(zhuǎn)化。如 24 小時模式下的 22:00,存放的形式為 00100010。第二次按下切換鍵,即返回 24 小時顯示模式,令flag1=0,把瞬時時間轉(zhuǎn)化成 24 小時模式并寫入 DS1302 芯片。第一次按下切換鍵,把瞬時時間轉(zhuǎn)化成 12 小時制,令 flag1=1。} 按鍵函數(shù)此電子時鐘共有 4 個按鍵,SS2 、S3 與調(diào)時有關(guān)圖按鍵程序如圖 11,S4為 12 小時切換鍵S1 功能鍵:在 24 小時顯示模式下,該鍵被第一次按下后進入秒調(diào)整,液晶顯示器上的時間停止走動。//一周七天,因此只需個位write_(0x80+13)。//初使化中設(shè)定了寫一個字符后,地址指針加 1,因此這里} 不用重新光標(biāo)定位/**************************顯示周子函數(shù)*******************************/void write_zhou(uchar time1),用于在 1602 上顯示周信息,與顯示{ 時間日期子函數(shù)類似uchar ge。//定義顯示在液晶的什么位置write_data(0x30+shi)。 //將從 DS1302 中讀取的 BCD 碼數(shù)據(jù)轉(zhuǎn)化成 10 進制個位和 10 ge=time%16。{ Add 為顯示位置,time 為要顯示的內(nèi)容uchar shi,ge。} 如何在液晶上顯示時間、日期及周DS1302 中的時間、日期等信息是以 BCD 碼的形式存放的,要先將從 1302中讀取的數(shù)據(jù)轉(zhuǎn)化成 10 進制,然后顯示在液晶上相應(yīng)的位置。num8。write_(0x80+0x40+4)。num14。//顯示清 0write_(0x80)。//開顯示、不顯示光標(biāo)write_(0x06)。write_(0x38)。lcdwr=0。} 初使化 1602 液晶此函數(shù)首先對液晶進行初使化,使其處于待命狀態(tài),然后將時鐘框架顯示出來:年月日之間的“-” ,時分秒之間的“:” ,還有世紀(jì)年的高兩位。delay(5)。delay(5)。} 向液晶寫數(shù)據(jù)void write_data(uchar date),與寫指令類似,這里 lcdrs 設(shè)為 1{lcdrs=1。 端 lcden 置高,再延時一段時間,然后將 lcden 置低,這樣指令delay(5)。 //將要寫的指令賦給 P0 口,delay(5)。 //lcdwr 為讀寫控制端,lcdwr=0, 這里可不寫lcdrs=0。對 1602 的液晶初使化,需要用寫入指令的方式完成。如果想在 1602 液晶的某一個位置顯示一個內(nèi)容,要先對其寫入一個指令:在什么地方顯示。return(temp)。sda=0。//以下為 DS1302 復(fù)位的穩(wěn)定時間sck=0。//右移一位sck=1。//每次傳輸?shù)妥止?jié),等價于 temp=temp|0x80sck=0。
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1