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

正文內(nèi)容

畢業(yè)設(shè)計(論文)-基于stc89c52單片機(jī)的電子時鐘設(shè)計(文件)

2025-07-14 10:08 上一頁面

下一頁面
 

【正文】 .18 按鍵函數(shù) ............................................................................................................19 12/24 小時顯示模式切換鍵 ......................................................................21 功能鍵函數(shù) .................................................................................................23 調(diào)整鍵函數(shù) .................................................................................................25 確定鍵 ........................................................................................................31 主函數(shù) ...............................................................................................................32總結(jié) .................................................................................................................................34致謝 .................................................................................................................................35參考文獻(xiàn) .........................................................................................................................36 緒論概述時間,對人們來說是非常寶貴的,準(zhǔn)確的掌握時間和分配時間對人們來說至關(guān)重要。高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校。研究目的通過利用 STC89C52 單片機(jī)和 DS1302 芯片以及外圍的按鍵和 LCD 顯示器等部件,設(shè)計一個基于單片機(jī)的電子時鐘。方案二: 采用 AT89S52。 顯示模塊選擇方案和論證方案一:采用點(diǎn)陣式數(shù)碼管顯示。LED 數(shù)碼管價格便宜 ,對于顯示數(shù)字最合適,但功耗較大,且顯示容量不夠,所以也不用此種方案。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時間誤差較大。采用 1602 LCD 液晶作為顯示器件。④可編程輸入/輸出引腳(32 根)STC89C52 單片機(jī)有 4 組 8 位的可編程 I/O 口,分別位 P0、P1 、PP3 口,每個口有 8 位(8 根引腳),共 32 根。其中電源電路、時鐘電路、復(fù)位電路是 保證單片機(jī)系統(tǒng)能夠正常工作的最基本的三部分電路,缺一不可。兩個小電容通常取值 3pF,以保證振蕩器電路的穩(wěn)定性及快速性。正常運(yùn)行時,可按復(fù)位按鈕對單片機(jī)復(fù)位EA/VP 31X119 X218RESET9RD17 WR16INT012 INT113T014 T115P10/T1 P11/T2P123 P134P145 P156P167 P178TXD11P00 39RXD10P01 38P02 37P03 36Vcc 40P04 35ALE/P 30P05 34PSEN 29P06 33P27 28P07 32P26 27P20 21P25 26P21 22P24 25P22 23P2324GND208052R1200 R210K位位位位C110uFC230uFC330uFC410uFC5XTGNDGNDVCC+5VVCC+5VGND圖 STC89C52 最小系統(tǒng) DS1302 時鐘芯片介紹 DS1302 概述DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗、帶 RAM 的實(shí)時時鐘芯片,它可以對年、月、日、周日、時、分、秒進(jìn)行計時,具有閏年補(bǔ)償功能,工作電壓為 ~。SCLK:串行時鐘輸入端,控制數(shù)據(jù)的輸入與輸出I/O: 三線接口時的雙向數(shù)據(jù)線 CE: 輸入信號,在讀、寫數(shù)據(jù)期間必須為高 DS1302 使用方法(1) 時鐘芯片 DS1302 的工作原理: DS1302 在每次進(jìn)行讀、寫程序前都必須初始化,先把 SCLK 端置 “0”,接著把 RST 端置“1”,最后才給予 SCLK 脈沖;讀/ 寫時序如圖 5 所示。位 0 是讀/寫操作位,進(jìn)行讀操作時,該位為 1;該位為 0 則表示進(jìn)行的是寫操作。當(dāng)“WP”為 1 時,寫保護(hù)位防止對任一寄存器的寫操作。其讀寫時序如圖示圖 DS1302 讀寫時序(4)DS1302 寄存器DS1302 中與時間、日期有關(guān)的寄存器共有 12 個,其中 7 個存放數(shù)據(jù)的格式為 BCD 碼格式,其讀寫地址如下表所示讀寄存器寫寄存器 Bit7 Bit7 Bit7 Bit7 Bit7 Bit7 Bit7 Bit7范圍81H 80H CH 10 秒 秒 005983H 82H 10 分 分 005912 10 02385H 84H240AM/PM時 時11287H 86H 10 日 日 13189H 88H 10 月 月 1128BH 8AH 0 0 0 0 0 周 178DH 8CH 10 年 年 00998FH 8EH WP 0 0 0 0 0 0 0 ――表 DS1302 時鐘寄存器第一行秒寄存器,CH 為時鐘暫停標(biāo)志位,該位為 1 時時鐘停止,該位為 0時時鐘運(yùn)行第二行分寄存器,bit0~bit6 表示分鐘數(shù),因采用 BCD 編碼,所以低四位最大能表示的數(shù)字為 9,計數(shù)滿向高三位進(jìn) 1。2. 3 1602 字符液晶介紹 1602 液晶概述工業(yè)字符型液晶,1602 是指顯示的內(nèi)容為 16*2,能同時顯示兩行,每行 16個字符。第 2 腳:VCC 接 5V 正電源。第 6 腳:E 端為使能端,當(dāng) E 端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 高位低位0000001000110100010101100111101010111100110111101111XXXX0000 ⑴ 0 P \ p タ ミ α PXXXX0001 ⑵ ! 1 A Q a q □ ア チ ム 228。XXXX1110 ⑺ 。時鐘電路由高精度低功耗的 DS1302 提供,采用三線接口與 CPU 進(jìn)行同步通信,輸入部分采用四個獨(dú)立式按鍵 SS2 、SS4。采用 DS1302 時鐘芯片的單片機(jī)時鐘,其實(shí)質(zhì)就是讀取時鐘芯片內(nèi)的時鐘信息并把它顯示出來。for(x=z。y)。因下文多次用到,固在此先作說明。for(i=0。0x01。_nop_()。_nop_()。} 從 DS1302 讀數(shù)據(jù)/***************************讀 DS1302 數(shù)據(jù)函數(shù)*************************/uchar read_1302(uchar add)//輸入地址 add,返回讀取的數(shù)據(jù){uchar i,temp=0x00。write_1302_byte(add)。//每次傳輸?shù)妥止?jié),等價于 temp=temp|0x80sck=0。//以下為 DS1302 復(fù)位的穩(wěn)定時間sck=0。return(temp)。對 1602 的液晶初使化,需要用寫入指令的方式完成。 //將要寫的指令賦給 P0 口,delay(5)。} 向液晶寫數(shù)據(jù)void write_data(uchar date),與寫指令類似,這里 lcdrs 設(shè)為 1{lcdrs=1。delay(5)。lcdwr=0。//開顯示、不顯示光標(biāo)write_(0x06)。num14。num8。{ Add 為顯示位置,time 為要顯示的內(nèi)容uchar shi,ge。//定義顯示在液晶的什么位置write_data(0x30+shi)。//一周七天,因此只需個位write_(0x80+13)。第一次按下切換鍵,把瞬時時間轉(zhuǎn)化成 12 小時制,令 flag1=1。如 24 小時模式下的 22:00,存放的形式為 00100010。然后提取其后 5 位時間,顯示時間。amp。if(s2num==1)//24 小時切換成 12 小時{int ge,shi。shi=hour/16。amp。hour=hour+0x80。hour=hour+0x20。amp。}if(shi==2amp。amp。ge==2){hour=0xb0。write_1302(0x8e,0x00)。hour=read_1302(0x85)。0x1f。0x1f。}if(ap1!=0amp。amp。ap2!=0x08amp。}if(ap1!=0amp。//把轉(zhuǎn)化成 24 小進(jìn)模式后的時寫入 DS1302write_1302(0x84,hour)。//按鍵次數(shù)清 0}}} 功能鍵函數(shù)if(s1==0amp。//時鐘暫停標(biāo)志位,flag=1 時液晶時鐘計時暫停s1num++。}if(s1num==2)//如果 S1 按下兩次,先將設(shè)置后的秒寫到 DS1302,再在分的個位位置閃爍光標(biāo){ write_1302(0x8e,0x00)。//指針指到分鐘顯示的位置write_(0x0f)。write_(0x80+0x40+5)。write_1302(0x8e,0x80)。write_1302(0x8c,nian)。}if(s1num==6){write_1302(0x8e,0x00)。write_(0x0f)。write_(0x80+13)。write_1302(0x8e,0x80)。//按鍵次數(shù)清 0}}} 調(diào)整鍵函數(shù)每按一次此鍵,相應(yīng)的時間或日期加 1,但是時間、日期是以 BCD 碼的形式存放在 DS1302 時鐘芯片的,如果直接對其進(jìn)行操作,如秒,假如秒的初始時間是 00,它在 DS1302 芯片中存放的值為 00000000,它的后 4 位代表秒的個位,在時鐘芯片自動計時時,10 秒后它的后四位為 10 時,它能自動進(jìn)位,變?yōu)?0010000。這一功能是如何實(shí)現(xiàn)的呢?首先判斷是平年還是閏年,本時鐘的年調(diào)節(jié)區(qū)間為 2022 年-2079 年。if(s2==0){while(!s2)。x1++。}miao=x1+x2*16。x3=fen%16。x4++。write_(0x80+0x40+8)。x5++。x6=0。}hour=x5+x6*16。x7=nian%16。x8++。write_(0x80+4)。x5++。x6=0。write_sfm(6,yue)。x6=ri/16。shi1=nian/16。yue=read_1302(0x89)。 if(mon==2amp。x5=9){x5=1。} }if(mon==2amp。if(x6=3){x5=1。x5=1){x5=1。} }else //12 月 31 天{ if(x6=3amp。}if(x5==10){x5=0。write_(0x80+10)。write_(0x80+13)。//在松手時將調(diào)整后的時間、日期及周信息寫入write_1302(0 x8e,0x00)。write_1302(0x8a,zhou)。write_1302(0x8e,0x80)flag=0。init_160
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1