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

正文內(nèi)容

數(shù)字萬年歷設(shè)計(jì)報(bào)告(編輯修改稿)

2025-02-17 15:57 本頁面
 

【文章內(nèi)容簡介】 電,使RST持續(xù)一段高電平時(shí)間。當(dāng)單片機(jī)已在運(yùn)行之中時(shí),按下復(fù)位鍵也能使RST持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電且開關(guān)復(fù)位的操作。通常選擇C=10~30μF。圖16 復(fù)位電路 4 系統(tǒng)的軟件設(shè)計(jì)電子萬年歷的功能是在程序控制下實(shí)現(xiàn)的。該系統(tǒng)的軟件設(shè)計(jì)方法與硬件設(shè)計(jì)相對(duì)應(yīng),按整體功能分成多個(gè)不同的程序模塊,分別進(jìn)行設(shè)計(jì)、編程和調(diào)試,最后通過主程序?qū)⒏鞒绦蚰K連接起來。這樣有利于程序修改和調(diào)試,增強(qiáng)了程序的可移植性。本系統(tǒng)的軟件部分主要要進(jìn)行公歷計(jì)算程序設(shè)計(jì),溫度測(cè)量程序設(shè)計(jì),按鍵的掃描輸入等。程序開始運(yùn)行后首先要進(jìn)行初始化,把單片機(jī)的各引腳的狀態(tài)按程序里面的初始化命令進(jìn)行初始化,初始化完成后運(yùn)行溫度測(cè)量程序,讀取出溫度傳感器測(cè)量出來的溫度,然后運(yùn)行公歷計(jì)算程序,得到公歷的時(shí)間、日期信息,再運(yùn)行按鍵掃描程序,檢測(cè)有無按鍵按下,如果沒有按鍵按下則直接調(diào)用節(jié)日計(jì)算程序,根據(jù)得到的公歷日期信息計(jì)算出節(jié)日,如果有按鍵按下則更新按鍵修改后的變量后送給節(jié)日計(jì)算程序,由節(jié)日計(jì)算程序根據(jù)修改后的變量計(jì)算出對(duì)應(yīng)的節(jié)假日,計(jì)算完成后運(yùn)行顯示程序,顯示程序?qū)⒌玫降臏囟葦?shù)據(jù)、公歷信息、節(jié)假日信息送給對(duì)應(yīng)的數(shù)碼管讓其顯示。主程序流程圖如圖17:開始DS1302初始化設(shè)置DS1302讀年月日星期時(shí)分秒將讀取的數(shù)據(jù)處理后送數(shù)碼管顯示返回圖17 主程序流程圖 程序設(shè)計(jì) DS1302讀寫程序設(shè)計(jì)本系統(tǒng)的時(shí)間讀取主要來源于單片機(jī)對(duì)DS1302的操作,在硬件上時(shí)鐘芯片DS1302與單片機(jī)的連接需要三條線,即SCLK(7)、I/O(6)、RST(5),具體連接圖見系統(tǒng)硬件設(shè)計(jì)原理圖。讀取寫程序設(shè)計(jì)如下:sbit clk = P1^3。 //ds1302時(shí)鐘線定義sbit io = P1^4。 //數(shù)據(jù)線sbit rst = P1^5。 //復(fù)位線 //秒 分 時(shí) 日 月 年 星期 uchar code write_add[]={0x80,0x82,0x84,0x86,0x88,0x8c,0x8a}。 //寫地址uchar code read_add[] ={0x81,0x83,0x85,0x87,0x89,0x8d,0x8b}。 //讀地址uchar code init_ds[] ={0x58,0x00,0x00,0x01,0x01,0x13,0x1}。 uchar miao,fen,shi,ri,yue,week,nian。uchar i。uchar fen1=0x11,shi1=0。 //兩個(gè)鬧鐘變量的定義bit open1。/*************寫一個(gè)數(shù)據(jù)到對(duì)應(yīng)的地址里***************/void write_ds1302(uchar add,uchar dat){ rst = 1。 //把復(fù)位線拿高 for(i=0。i8。i++) { //低位在前 clk = 0。 //時(shí)鐘線拿低開始寫數(shù)據(jù) io = add amp。 0x01。 add = 1。 //把地址右移一位 clk = 1。 //時(shí)鐘線拿高 } for(i=0。i8。i++) { clk = 0。 //時(shí)鐘線拿低開始寫數(shù)據(jù) io = dat amp。 0x01。 dat = 1。 //把數(shù)據(jù)右移一位 clk = 1。 //時(shí)鐘線拿高 } rst = 0。 //復(fù)位線合低 clk = 0。 io = 0。}/*************從對(duì)應(yīng)的地址讀一個(gè)數(shù)據(jù)出來***************/uchar read_ds1302(uchar add){ uchar value,i。 rst = 1。 //把復(fù)位線拿高 for(i=0。i8。i++) { //低位在前 clk = 0。 //時(shí)鐘線拿低開始寫數(shù)據(jù) io = add amp。 0x01。 add = 1。 //把地址右移一位 clk = 1。 //時(shí)鐘線拿高 } for(i=0。i8。i++) { clk = 0。 //時(shí)鐘線拿低開始讀數(shù)據(jù) value = 1。 if(io == 1) value |= 0x80。 clk = 1。 //時(shí)鐘線拿高 } rst = 0。 //復(fù)位線合低 clk = 0。 io = 0。 return value。 //返回讀出來的數(shù)據(jù)}/*************把要的時(shí)間 年月日 都讀出來***************/void read_time(){ miao = read_ds1302(read_add[0])。 //讀秒 fen = read_ds1302(read_add[1])。 //讀分 shi = read_ds1302(read_add[2])。 //讀時(shí) ri = read_ds1302(read_add[3])。 //讀日 yue = read_ds1302(read_add[4])。 //讀月 nian = read_ds1302(read_add[5])。 //讀年 week = read_ds1302(read_add[6])。 //讀星期 Conversion(0,nian,yue,ri)。 //農(nóng)歷轉(zhuǎn)換 n_nian = year_moon 。 n_yue = month_moon 。 n_ri = day_moon 。}/*************把數(shù)據(jù)保存到ds1302 RAM中**031*************/void write_ds1302ram(uchar add,uchar dat){ add = 1。 //地址是從第二位開始的 add amp。= 0xfe。 //把最低位清零 是寫的命令 add |= 0xc0。 //地址最高兩位為 1 write_ds1302(0x8e,0x00)。 write_ds1302(add,dat)。 write_ds1302(0x8e,0x80)。}/*************把數(shù)據(jù)從ds1302 RAM讀出來**031*************/uchar read_ds1302ram(uchar add){ add = 1。 //地址是從第二位開始的 add |= 0x01。 //把最高位置1 是讀命令 add |= 0xc0。 //地址最高兩位為 1 return(read_ds1302(add))。 }/*************初始化ds1302時(shí)間***************/void init_ds1302(){ uchar i。 rst = 0。 //第一次讀寫數(shù)據(jù)時(shí)要把IO品拿低 clk = 0。 io = 0。 i = read_ds1302ram(30)。 if(i != 3) { i = 3。 write_ds1302ram(30,i)。 //4050 4100 3080 write_ds1302(0x8e,0x00)。 //打開寫保護(hù) for(i=0。i7。i++) write_ds1302(write_add[i],init_ds[i])。 //把最高位值0 允許ds1302工作 write_ds1302(0x8e,0x80)。 //關(guān)寫保護(hù) }}DS1302與微處理器進(jìn)行數(shù)據(jù)交換時(shí),首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位MSB(D7)必須為邏輯 1,如果D7=0,則禁止寫DS1302,即寫保護(hù);D6=0,指定時(shí)鐘數(shù)據(jù),D6=1,指定RAM數(shù)據(jù);D5~D1指定輸入或輸出的特定寄存器;最低位LSB(D0)為邏輯0,指定寫操作(輸入),D0=1,指定讀操作(輸出) 。 溫度程序設(shè)計(jì)單總線上最基本的操作有初始化、寫和讀3種,所有其它的操作都由這3種基本操作組合而成,初始化用于對(duì)總線上的器件進(jìn)行狀態(tài)復(fù)位,寫用于主節(jié)點(diǎn)向總線上寫入一位數(shù)據(jù),讀用于主節(jié)點(diǎn)從總線上讀取一位數(shù)據(jù)。在這3種操作中,只有寫操作是單向的,初始化操作和讀操作都是雙向的。具體程序設(shè)計(jì)如下:byte ow_reset(void){ byte presence。 DQ = 0。 //拉低總線 delay(29)。 // 保持 480us DQ = 1。 // 釋放總線 delay(3)。 // 等待回復(fù) presence = DQ。 // 讀取信號(hào) delay(25)。 // 等待結(jié)束信號(hào) return(presence)。 // 返回 0:正常 1:不存在} //從 1wire 總線上讀取一個(gè)字節(jié)byte read_byte(void){ byte i。 byte value = 0。 for (i=8。i0。i) { value=1。 DQ = 0。 DQ = 1。 delay(1)。 if(DQ)value|=0x80。 delay(6)。 } return(value)。}//向 1WIRE 總線上寫一個(gè)字節(jié)void write_byte(char val){ byte i。 for (i=8。 i0。 i) // 一次寫一位 { DQ = 0。 // DQ = valamp。0x01。 delay(5)。 // DQ = 1。 val=val/2。 } delay(5)。} 5 系統(tǒng)的機(jī)體設(shè)計(jì)本設(shè)計(jì)由數(shù)據(jù)顯示模塊、溫度采集模塊、時(shí)間處理模塊和調(diào)整設(shè)置模塊四個(gè)模塊組成。系統(tǒng)的核心采用的是AT89S52單片機(jī);數(shù)據(jù)顯示模塊采用的是數(shù)碼管顯示;溫度采集模塊用的是DS18b20溫度傳感器,該傳感器所采用的是單總線傳輸,內(nèi)部帶有A/D轉(zhuǎn)換,用起來非常方便;時(shí)間處理模塊用的是DS1302時(shí)鐘芯片,可以對(duì)年、月、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能;調(diào)整設(shè)置模塊共包括四個(gè)按鍵:模式選擇鍵、功能選擇鍵、調(diào)整加按鍵、調(diào)整減按鍵。 功能實(shí)現(xiàn) 系統(tǒng)在正常工作時(shí),數(shù)碼管上第一行顯示時(shí)分秒和溫度,第二行顯示年月日和星期,如果想要對(duì)時(shí)間進(jìn)行調(diào)整,可以通過調(diào)整設(shè)置模塊來實(shí)現(xiàn)。,系統(tǒng)進(jìn)入另一模式,此時(shí)數(shù)碼管顯示當(dāng)前溫度以及溫度上限和下限,可以通過按鍵來設(shè)置溫度上下限,當(dāng)溫度超過溫度上限或低于溫度下限,此時(shí)數(shù)碼管會(huì)顯示越限標(biāo)志。系統(tǒng)原理圖如圖18:圖18系統(tǒng)原理圖參考文獻(xiàn)參考文獻(xiàn)[1]陳明熒. 8051單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教程[M].北京:清華大學(xué)出版社[2][M].北京:電子工業(yè)出版社,2006:1113.[3][M].西安:西安科技大學(xué)出版社,2003:1555.[4]何立民.單片機(jī)高級(jí)教程[M].北京:北京航空航天大學(xué)出版社,2003年[5][M].北京:北京航空航天大學(xué)出版社,622655.[6][M]西安: 西安電子科技大學(xué)出版社,2005:8195.[7][M].北京:電子工業(yè)出版社,2004:105131.[8][M]. 北京:北京航空航天大學(xué)出版社,2004:173199.[9]馬忠梅,籍順心等.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)[M].北京航空航天大學(xué)出版社, 2001年[10]新編單片機(jī)原理與應(yīng)用(第二版).西安電子科技大學(xué)出版社,[11][M]. 北京:清華大學(xué)出版社,[12][M]. 北京:北京航空航天大學(xué)出版社,[13]朱思榮.51單片機(jī)實(shí)現(xiàn)公歷與農(nóng)歷、星期的轉(zhuǎn)換[Z].當(dāng)當(dāng)電子網(wǎng)[14]李廣弟. 單片機(jī)原理及應(yīng)用[M] 北京航空航天大學(xué)出版社,2004年[15][J].黑龍江科技信息,2004年[16]Verghese G C, Lang H, Casey L F. Analysis of instability in electrical machines .IEEE Trans on IA, 1986, 22 :853864 .[17]Richard Blanchard, James Harden. Mosfets control more power in the samesized package .Electronic Design, 1982, 12 :107~114[18] Tiina Havana. 2003 April. Communication in the Software Vulne
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1