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

正文內(nèi)容

基于單片機數(shù)字時鐘-預覽頁

2025-01-07 02:22 上一頁面

下一頁面
 

【正文】 ,每個機器周期兩次 PSEN 有效 ,即輸出兩個脈沖。需要注意的是 :如果加密位 LB1被編程 ,復位時內(nèi)部會鎖存 EA端狀態(tài)。 XTAL2:反向振蕩 放大器 器的輸出 端 。對外接電容 C C2雖然沒有十分嚴格的要求 ,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程度及溫度穩(wěn)定性。 由于外部時鐘信號是通 過一個 2分頻觸發(fā)器后作為內(nèi)部時鐘信號的 ,所以外部時鐘信號的占空比沒有特殊要求 ,但最小高電平持續(xù)時間和最大低電平持續(xù)時間應符合產(chǎn)品技術(shù)條件的要求。 ( 4) — 的工作電壓范圍。 ( 8) 32個雙向可編程 I/O口線。 ( 12)低功耗空閑和掉電模式。 ( 16)靈活的在系統(tǒng)編程( ISP字節(jié)或頁寫模式)。 ( 3)具有雙工 UART串行通道。 ( 7)全新的加密算法,這使得對于 AT89S51 的解密變?yōu)椴豢赡?,程序的保密性大大加強,這樣就可以有效的保護知識產(chǎn)權(quán)不被侵犯。該設(shè)計方案用 AT89S51 主控,利用并行時鐘芯片 DS12887為核心計時芯片,組成數(shù)字時鐘電路。該設(shè)計方案以單片機 AT89S51為主控芯片,以串行時鐘芯片 DS1302 為核心計時芯片,組成數(shù)字時鐘電路。 大慶石油學院應用技術(shù)學院畢業(yè)設(shè)計 12 第 3 章 軟硬件設(shè)計 硬件電路設(shè)計 該設(shè)計的硬件電路由主控部分 (單片機 AT89S51)、計時部分(實時時鐘芯片DS1302)、顯示部分(八段數(shù)碼管)、電源部分(三端穩(wěn)壓器 7805) 4個部分組成。 單片機 AT89S51外圍電路設(shè)計 單片機 AT89S51作為主控芯片,控制整個電路的運行。復位電路的設(shè)計圖如圖 7示: 圖 7 單片機復位電路圖 大慶石油學院應用技術(shù)學院畢業(yè)設(shè)計 13 AT89S51 具有在系統(tǒng)可編程功能,可以很方便的改寫單片機存儲器內(nèi)的程序不需要把芯片中從工作環(huán)境中剝離,把 AT89S ISP 下載口接入電路,可使電路實現(xiàn)該功能。單片機外圍電路的設(shè)計圖如圖 8 示: 圖 8 AT89S51 外圍電路圖 大慶石油學院應用技術(shù)學院畢業(yè)設(shè)計 14 DS1302 與單片機的接口設(shè)計 時鐘芯片 DS1302與單片機 AT89S51 的接口是由3 條線來完成的,單片機AT89S51 的 與時鐘芯片的數(shù)據(jù)傳輸端相連, 用來作為 DS1302輸入時鐘SCLK 控制端 , 控制DS1302 的復位輸入端。本設(shè)計的時間顯示選用 6個共陰八段數(shù)碼管 LED,其外形和內(nèi)部結(jié)構(gòu)如圖 10所示: 圖 10 八段共陰數(shù)碼管 LED 大慶石油學院應用技術(shù)學院畢業(yè)設(shè)計 15 軟件實現(xiàn) 單片機 AT89S51對時鐘芯片 DS1302的控制需要通過程序驅(qū)動來實現(xiàn),程序主要完成兩個方面的任務:①利用單片機實現(xiàn)對 DS1302寄存器的地址定義和控制字的寫入,②實現(xiàn) 對 DS1302的數(shù)據(jù)讀取。在 SCLK的上升沿, I/O線上的數(shù)據(jù)被送入DS1302;在 SCLK的下降沿, DS1302輸出數(shù)據(jù)在 I/O線上。該電路使用簡單的三線接口,為單片機節(jié)省大量的接口資源,時鐘芯片DS1302帶有后備電池,具備 對后背電源進行涓細電流充電的能力 ,保證電路 斷電后仍保存時間和數(shù)據(jù)信息 ,這些優(yōu)點解決了目前常用實時時鐘占用單片機資源多以及計時不可靠等缺點。從設(shè)計的選題,相關(guān)資料的查尋,到論文的撰寫這一整個過程中,韓老師老師以其廣博的知識、豐富的經(jīng)驗 、清晰的思路,自始至終給我以指導,使我能夠 順利完成設(shè)計,他嚴謹?shù)闹螌W態(tài)度,精益求精的工作作風和孜孜不倦的求學精神令我受益匪淺。 TIMERRST=1。 for(i=0。 CY=ds1302adrBit。 DS1302adr=DS1302adr1。 TIMERCLK=0。 TIMERCLK=1。 大慶石油學院應用技術(shù)學院畢業(yè)設(shè)計 19 TIMERRST=0。 TIMERRST=1。i8。 TIMERCLK=1。i7。 TIMERCLK=1。 } TIMERRST=0。 } 附錄四:軟件設(shè)計總程序: 大慶石油學院應用技術(shù)學院畢業(yè)設(shè)計 20 include include define uchar unsigned char //引腳定義 sbit TIMERCLK=P1^0。 sbit P2_1=P2^1。 sbit P2_5=P2^5。 sbit P3_6=P3^6。 //看門狗 喂狗 引腳 uchar code TABLE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 //位定義 , 用于數(shù)據(jù)讀出 uchar bdata DS1302adr。 uchar HR。 uchar YEAR。 大慶石油學院應用技術(shù)學院畢業(yè)設(shè)計 21 uchar disp4。 uchar disp8。 // sbit SEC_7=SEC^7。i++) { for(j=0。 TIMERCLK=0。 DS1302adr=dsRamAdr。i++) { CY=0。 delay(2)。i8。 TIMERIO=CY。 } TIMERRST=0。 TIMERCLK=0。 DS1302adr=DS1302Adr。 TIMERIO=ds1302adrBit。 } TIMERIO=1。 ds1302datHbit=TIMERIO。 TIMERCLK=0。 TIMERCLK=0。 TIMERRST=0。 writeDS1302(0x8e,0x00)。 writeDS1302(0x86,0x19)。 writeDS1302(0x8a,0x02)。 writeDS1302(0x90,0xa6)。 大慶石油學院應用技術(shù)學院畢業(yè)設(shè)計 24 DATE=readDS1302(0x87)。 } void disp(void) { if(MIN==10)writeDS1302(0x82,0x10)。 if(MIN==74)writeDS1302(0x82,0x50)。 if(HR==36)writeDS1302(0x84,0x00)。 if(DATE==10)writeDS1302(0x86,0x10)。 //if(DATE==74)writeDS1302(0x82,0x50)。 //if(flag1==0) //if(MIN==10||MIN==26||MIN==42||MIN==58||MIN==74){MIN=MIN+6。 disp6=HR/16。 P2_0=0。 P2_1=0。 P2_2=0。 P2_3=0。 P2_4=0。 P2_5=0。 P2_6=0。 P2_7=0。 } void dispA(void) { if(SEC==10||SEC==26||SEC==42||SEC==58||SEC==74){SEC=SEC+6。 //disp4=MIN/16。 大慶石油學院應用技術(shù)學院畢業(yè)設(shè)計 26 //disp8=DATE/16。 P0=TABLE[disp1]。 P0=TABLE[disp2]。 P0=TABLE[disp3]。 P0=TABLE[disp4]。 P0=TABLE[disp5]。 P0=TABLE[disp6]。 P0=TABLE[disp7]。 P0=TABLE[disp8]。} //if(MIN==74||MIN==58||MIN==42||MIN==26||MIN==10){MIN=MIN+6。 disp3=MIN%16。 //disp7=DATE%16。 delay(5)。 delay(5)。 delay(12)。 delay(12)。 delay(5)。 delay(5)。 delay(5)。 大慶石油學院應用技術(shù)學院畢業(yè)設(shè)計 28 delay(5)。} //disp2=SEC/16。 disp6=HR/16。 //disp7=DATE%16。 P2_0=1。 P2_1=1。 P2_2=1。 P2_3=1。 P2_4=1。 P2_5=1。 P2_6=1。 P2_7=1。 //disp1=SEC%16。 //disp5=HR%16。 P2_0=0。 P2_1=0。 P2_2=0。 P2_3=0。 P2_4=0。 P2_5=0。 P2_6=0。 P2_7=0。 } //void disp(void) //{ void main(void) { DS1302Inital()。 flag=0。 //writeDS1302(0x80,0x00)。 if(flag==0) {tiao++。if(P3_6==0) {while(P3_6==0)。} if(P3_7==0)flag=0。writeDS1302(0x82,++MIN)。} if(tiao==3) {while(P3_7==0)。} //if(P3_5==0) {while(P3_5==0)。dispD()。writeDS1302(0x86,DAT
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1