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

正文內(nèi)容

基于at89c51單片機的多功能電子萬年歷的設(shè)計的所有專業(yè)(編輯修改稿)

2025-06-26 13:25 本頁面
 

【文章內(nèi)容簡介】 且可以關(guān)閉充電功能。采用普通 晶振。 DS1302 是美國 DALLAS 公司推出的一種高性 能、低功耗、帶 RAM 的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為 ~。采用三線接口與 CPU 進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或 RAM 數(shù)據(jù)。 DS1302 內(nèi)部有一個 318 的用于臨時性存放數(shù)據(jù)的 RAM 寄存器。 DS1302是 DS1202 的升級產(chǎn)品,與 DS1202 兼容,但增加了主電源 /后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。 本科 畢業(yè)設(shè)計 (論文 ) 12 DS1302 的引腳排列 ,其中 Vcc1 為后備電源, Vcc2 為主電源。在主電源關(guān)閉的情況 下,也能保持時鐘的連續(xù)運行。 DS1302 由 Vcc1 或 Vcc2 兩者中的較大者供電。當(dāng) Vcc2 大于 Vcc1+ 時, Vcc2 給 DS1302 供電。當(dāng) Vcc2 小于 Vcc1 時, DS1302 由 Vcc1 供電。 X1 和 X2是振蕩源,外接 晶振。 RST 是復(fù)位 /片選線,通過把 RST 輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。 RST 輸入有兩種功能:首先, RST 接通控制邏輯,允許地址 /命令序列送入移位寄存器;其次, RST 提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng) RST 為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對 DS1302 進行操作。如果在傳送過程中 RST 置為低電平,則會終止此次數(shù)據(jù)傳送, I/O 引腳變?yōu)楦咦钁B(tài)。上電運行時,在 Vcc≥ 之前,RST 必須保持低電平。只有在 SCLK 為低電平時,才能將 RST 置為高電平。 I/O 為串行數(shù)據(jù)輸入輸出端 (雙向 ),后面有詳細說明。 SCLK 始終是輸入端。 DS1302 的控制字節(jié)的最高有效位 (位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫入 DS1302中,位 6如果為 0,則表示存取日歷時鐘數(shù)據(jù),為 1表示存取 RAM數(shù)據(jù) 。位 5 至位 1指示操作單元的地址 。最低有效位 (位 0)如為 0表示要進行寫 操作,為 1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。 在控制指令字輸入后的下一個 SCLK 時鐘的上升沿時,數(shù)據(jù)被寫入 DS1902,數(shù)據(jù)輸入從低位即位 0 開始。同樣,在緊跟 8 位的控制指令字后的下一個 SCLK 脈沖的下降沿讀出DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時從低位 0位到高位 7。 DS1302 有 12 個寄存器,其中有 7 個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為 BCD碼形式 ,其日歷、時間寄存器及其控制字見表 1。 此外, DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與 RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 DS1302 與 RAM 相關(guān)的寄存器分為兩類:一類是單個 RAM 單元,共 31 個,每個單元組態(tài)為一個 8位的字節(jié),其命令控制字為 C0H~ FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的 RAM 寄存器,此方式下可一次性讀寫所有的 RAM 的 31 個字節(jié), 命令控制字為 FEH(寫 )、 FFH(讀 )。 DS1302 與 CPU 的連接需要三條線,即 SCLK(7)、 I/O(6)、 RST(5)。 DS1902 與 89C2051的連接圖,其中,時鐘的 顯示用 LED。 DS1302 與 CPU 的連接 , 實際上,在調(diào)試程序時可以不加電容器,只加一個 的晶振即可。只是選擇晶振時,不同的晶振,誤差也較大。另外,還可以在上面的電路中加入 DS18B20,同時顯示實時溫度。只要占用 CPU 一個口線即可。 LED 還可以換成 LCD,還可以使用北京衛(wèi)信杰科技發(fā)展有限公司生產(chǎn)的 10 位多功能 8 段液晶顯示模塊 LCM101,內(nèi)含看門狗 (WDT)/時鐘發(fā)生器及兩種頻率的蜂鳴器驅(qū)動電路,并有內(nèi)置顯示 RAM,可顯示任意字段筆劃,具有 3- 4 線串行接口,可與任何單片機、 IC 接口。功耗低,顯示狀態(tài)時電流為 2μA ( 典型值 ),省電模式時小于 1μA ,工作電壓為 ~ ,顯示清晰。 DS1302 的實時時間流程。根據(jù) 流程框圖,不難采集實時時間。下面對 DS1302 的基本本科 畢業(yè)設(shè)計 (論文 ) 13 操作進行編程: 根據(jù)本人在調(diào)試中遇到的問題,特作如下說明: DS1302 與微處理器進行數(shù)據(jù)交換時,首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位 MSB(D7)必須為邏輯 1,如果 D7=0,則禁止寫 DS1302,即寫保護; D6=0,指定時鐘數(shù)據(jù), D6=1,指定 RAM數(shù)據(jù); D5~ D1指定輸入或輸出的特 定寄存器;最低位 LSB(D0)為邏輯 0,指定寫操作 (輸入 ), D0=1,指定讀操作 (輸出 )。 在 DS1302 的時鐘日歷或 RAM 進行數(shù)據(jù)傳送時, DS1302 必須首先發(fā)送命令字節(jié)。若進行單字節(jié)傳送, 8 位命令字節(jié)傳送結(jié)束之后,在下 2個 SCLK 周期的上升沿輸入數(shù)據(jù)字節(jié),或在下 8個 SCLK 周期的下降沿輸出數(shù)據(jù)字節(jié)。 DS1302 與 RAM 相關(guān)的寄存器分為兩類 :一類是單個 RAM 單元,共 31個,每個單元組態(tài)為一個 8位的字節(jié),其命令控制字為 C0H~ FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下 的 RAM 寄存器,在此方式下可一次性讀、寫所有的 RAM 的 31 個字節(jié)。 要特別說明的是備用電源 B1,可以用電池或者超級電容器 ( 以上 )。雖然 DS1302在主電源掉電后的耗電很小,但是,如果要長時間保證時鐘正常,最好選用小型充電電池??梢杂美鲜诫娔X主板上的 充電電池。如果斷電時間較短 (幾小時或幾天 )時,就可以用漏電較小的普通電解電容器代替。 100 μF 就可以保證 1 小時的正常走時。 DS1302在第一次加電后,必須進行初始化操作。初始化后就可以按正常方法調(diào)整時間。 DS1302 存在時 鐘精度不高,易受環(huán)境影響,出現(xiàn)時鐘混亂等缺點。 DS1302 可以用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點的記錄,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄。這種記錄對長時間的連續(xù)測控系統(tǒng)結(jié)果的分析及對異常數(shù)據(jù)出現(xiàn)的原因的查找具有重要意義。傳統(tǒng)的數(shù)據(jù)記錄方式是隔時采樣或定時采樣,沒有具體的時間記錄,因此,只能記錄數(shù)據(jù)而無法準確記錄其出現(xiàn)的時間;若采用單片機計時,一方面需要采用計數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費單片機的資源,而且,某些測控系統(tǒng)可能不允許。但是,如果在系統(tǒng)中采用時鐘芯片 DS1302,則能很好地解決這個問題。 本科 畢業(yè)設(shè)計 (論文 ) 14 第四章 系統(tǒng)的軟件設(shè)計 主程序 主程序 如圖 41所示: 圖 41 主程序圖 開始 讀年、月、日 送第一塊 LED 顯示 讀星期、閏、年、日 送第二塊 LED 顯示 讀時、分、秒 送第三塊 LED 顯示 返回 本科 畢業(yè)設(shè)計 (論文 ) 15 從 1302 讀取 日期和時間 程序 圖 42 從 1302讀取程序 系統(tǒng)源代碼 DELAY. C define DELAY_C include”includes. h” define XTAL 12 void delay_lus(void) { asm(”nop”): } void delay_nus(unsigned int n) { unsigned int i=0; for(i=0; in; i++) delay_lus(); } void delay_ims(void) { unsigned int i; for(i=0: i(unsigned int)(XTAL*1432)。i++)。 } void delay_nms(unsigned int n) { unsigned int i=0。 for(i=0; in; i++) 讀 1302 日期和時間 調(diào)整時間和日期 Y N 系統(tǒng)初始化 開 始 需要調(diào)整時間嗎? 本科 畢業(yè)設(shè)計 (論文 ) 16 { delay_ims()。 } } DSl302. C include”includes. h” define DSl302_C unsigned char bflag; unsigned char bpm; unsigned char get_hours(void) { unsigned char i; unsigned char R_Byte; unsigned char TmpByte; reset(); write(0x85); ddr_set_io(); R_Byte=0x00; Prt_clear_io(); ddr_clear_io(); for(i: 0; i4; i++) } TmpByte=0。 if((pinpamp。(1io))) TmpByte=1; TmpByte=7。 R_Byte=1。 R_Byte I=TmpByte; Prt_set_clk(); delay_nus(2); prt_clear_clk(); delay_nus(2); } bflag=0; if((pinpamp。(1io))) bflag=l。 prt_set_clk(); delay_nus(2); prt_clear_clk(); delay_nus(2); bpm=0。 if((pinpamp。(1io))) bpm=1; prt_set_clk(); delay_nus(2); prt_clear_clk(); 本科 畢業(yè)設(shè)計 (論文 ) 17 delay_nus(2); prt_clear_rst(); prt_clear_clk(); R_Byte =4; return R_Byte; } unsigned char readbyte(unsigned char w_byte) { unsigned char temp; reset(); write(w_byte); temp=read(); prt_clear_rst(); prt_clear_clk(); return temp; } void writebyte(unsigned char w_byte, unsigned char w_2_byte) { reset(); write(w_byte)。 write(w_2_byte); prt_clear_rst(); prt_clear_clk(); } void reset(void) { ddr_set_rst(); prt_clear_clk(); prt_clear_rst(); prt_set_rst(); } void write(unsigned char W_Byte) { unsigned char i; DDRC=0xFF。 for(i=0; i8; i++) { Prt_clear_io(); if(W_Byte amp。0x01) { prt_set_io(); } Prt_set_clk(); delay_nus(1);// delay_nus(2); prt_clear_clk(); delay_nus(1);// delay_nus(2); 本科 畢業(yè)設(shè)計 (論文 ) 18 W_Byte=1; } } unslgned char read(void) { unsigned char i; unsigned char R_Byte; unsigned char R_Byte2; unsigned char TmpByte; ddr_set_io(); R_Byte=0x00。 R_Byte2=0x00; prt_clear_io(); ddr_clear_io(); for(i=0。i4; i++)// get t
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1