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

正文內(nèi)容

基于at89c51單片機(jī)的多功能電子萬年歷的設(shè)計(jì)的(編輯修改稿)

2025-07-24 17:23 本頁面
 

【文章內(nèi)容簡介】 MSB(D7)必須為邏輯1,如果D7=0,則禁止寫DS1302,即寫保護(hù);D6=0,指定時(shí)鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫操作(輸入), D0=1,指定讀操作(輸出)。 在DS1302的時(shí)鐘日歷或RAM進(jìn)行數(shù)據(jù)傳送時(shí),DS1302必須首先發(fā)送命令字節(jié)。若進(jìn)行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下2個(gè)SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或在下8個(gè)SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。 DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;再一類為突發(fā)方式下的RAM寄存器,在此方式下可一次性讀、寫所有的RAM的31個(gè)字節(jié)。 要特別說明的是備用電源B1,可以用電池或者超級(jí)電容器()。雖然DS1302在主電源掉電后的耗電很小,但是,如果要長時(shí)間保證時(shí)鐘正常,最好選用小型充電電池。如果斷電時(shí)間較短(幾小時(shí)或幾天)時(shí),就可以用漏電較小的普通電解電容器代替。100 μF就可以保證1小時(shí)的正常走時(shí)。DS1302在第一次加電后,必須進(jìn)行初始化操作。初始化后就可以按正常方法調(diào)整時(shí)間。 DS1302 存在時(shí)鐘精度不高,易受環(huán)境影響,出現(xiàn)時(shí)鐘混亂等缺點(diǎn)。DS1302可以用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄。這種記錄對長時(shí)間的連續(xù)測控系統(tǒng)結(jié)果的分析及對異常數(shù)據(jù)出現(xiàn)的原因的查找具有重要意義。傳統(tǒng)的數(shù)據(jù)記錄方式是隔時(shí)采樣或定時(shí)采樣,沒有具體的時(shí)間記錄,因此,只能記錄數(shù)據(jù)而無法準(zhǔn)確記錄其出現(xiàn)的時(shí)間;若采用單片機(jī)計(jì)時(shí),一方面需要采用計(jì)數(shù)器,占用硬件資源,另一方面需要設(shè)置中斷、查詢等,同樣耗費(fèi)單片機(jī)的資源,而且,某些測控系統(tǒng)可能不允許。但是,如果在系統(tǒng)中采用時(shí)鐘芯片DS1302,則能很好地解決這個(gè)問題。 第四章 系統(tǒng)的軟件設(shè)計(jì) 主程序主程序如圖41所示: 開始讀年、月、日送第一塊LED顯示讀星期、閏、年、日送第二塊LED顯示讀時(shí)、分、秒送第三塊LED顯示返回圖41 主程序圖 從1302讀取日期和時(shí)間程序系統(tǒng)初始化開 始需要調(diào)整時(shí)間嗎?讀1302日期和時(shí)間調(diào)整時(shí)間和日期YN圖42 從1302讀取程序 系統(tǒng)源代碼DELAY.Cdefine DELAY_Cinclude”includes.h”define XTAL 12void 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++) { delay_ims()。 } } DSl302.Cinclude”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();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);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 the first 4 bits{ TmpByte=0;if((pinpamp。(1io))){ TmpByte=1。 TmpByte=0x80。 }//TmpByte=7;R_Byte= (RByte1)。//R_Byte=1。R_Byte |=TmpByte;prt_set_clk();delay_nus(1);//delay_nus(2)。prt_chear_clk()。delay_nus(1);//delay_nus(2);}for(i=0;i4;i++){ TmpByte=0; if((pinpamp。(1io))) { TmpByte=1; TmpByte=0x80; } //TmpByte=7; R_Byte2=(R_Byte21);//R_Byte2=l; R_Byte2 |=TmpByte。 Prt_set_clk(); delay_nus(1)://delay_nus(2); prt_clear_clk(); delay_nus(1);//delay_nus(2); } R_Byte=4; R_Byte2=4; R_Byte=(R_Byte2*10)+R_Byte; return R_Byte;}HD44780.Cinclude”includes.h”define HD44780_Cvoid lcd_pulse(void) {Icd—set—e()delay_nms(1)。Icd_clear_e()。 delay_nms(1); }void icd_wait(void) { asm(”nop”);}void icd_send(unsigned char data) {Lcd_wait();dataport=data。lcd_pulse();}void clrscr(void){lcd_clear_rs();lcd_clear_rw();icd_send(0x01);lcd_wait();}void gotoz(unsigned char z){lcd_clear_rs();lcd_clear_rw();lcd_send(z || 0x80);}void gotoxy(unsigned char x,unsigned char y){gotoz((x)|((y)(6));}void put_char(char c){lcd
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1