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

正文內容

基于at89c51的多功能萬年歷畢業(yè)設計論文(編輯修改稿)

2025-04-02 21:02 本頁面
 

【文章內容簡介】 數據 。位 5至位 1 指示操作單元的地址 。最低有效位 (位 0)如為 0 表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。 在控制指令字輸入后的下一個 SCLK 時鐘的上升沿時,數據被寫入 DS1902,數據輸入從低位即位 0開始。同樣,在緊跟 8位的控制指令字后的下一個 SCLK 脈沖的下降沿讀出 DS1302的數據,讀出數據時從低位 0 位到高位 7。 DS1302有 12個寄存器,其中 有 7 個寄存器與日歷、時鐘相關,存放的數據位為BCD碼形式 ,其日歷、時間寄存器及其控制字見表 1。 此外, DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與 RAM 相關的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內容。 DS1302 與 RAM 相關的寄存器分為兩類:一類是單個 RAM 單元,共 31 個,每個單元組態(tài)為一個 8 位的字節(jié),其命令控制字為 C0H~ FDH,其中奇數為讀操作,偶數為寫操作;另一類為突發(fā)方式下的 RAM 寄存器,此方式下可一次性讀寫所有的RAM的 31 個字 節(jié),命令控制字為 FEH(寫 )、 FFH(讀 )。 DS1302與 CPU的連接需要三條線,即 SCLK(7)、 I/O(6)、 RST(5)。 DS1902 與 89C2051的連接圖,其中,時鐘的顯示用 LED。 DS1302 與 CPU 的連接 , 實際上,在調試程序時可以不加電容器,只加一個 的晶振即可。只是選擇晶振時,不同的晶振,誤差也較大。另外,還可以在上面的電路中加入 DS18B20,同時顯示實時溫度。只要占用 CPU一個口線即可。 LED還可以換成 LCD,還可以使用北京衛(wèi)信杰科技發(fā)展有限公 司生產的 10 位多功能 8 段液晶顯示模塊 LCM101,內含看門狗 (WDT)/時鐘發(fā)生器及兩種頻率的蜂鳴器驅動電路,并有內置顯示 RAM,可顯示任意字段筆劃,具有 3- 4線串行接口,可與任何單片機、 10 IC 接口。功耗低,顯示狀態(tài)時電流為 2μA ( 典型值 ),省電模式時小于 1μA ,工作電壓為 ~ ,顯示清晰。 DS1302 的引腳圖 33所示 圖 33 DS1302引腳圖 DS1302的實時時間流程。根據流程框圖,不難采集實時時間。下面對 DS1302的基本操作進行編程: 根據本人在調試中遇到的問題,特作如下說明: DS1302 與微處理器進行數據交換時,首先由微處理器向電路發(fā)送命令字節(jié),命令字節(jié)最高位 MSB(D7)必須為邏輯 1,如果 D7=0,則禁止寫 DS1302,即寫保護; D6=0,指定時鐘數據, D6=1,指定 RAM 數據; D5~ D1 指定輸入或輸出的特定寄存器;最低位 LSB(D0)為邏輯 0,指定寫操作 (輸入 ), D0=1,指定讀操作 (輸出 )。 在 DS1302 的時鐘日歷或 RAM 進行數據傳送時, DS1302必須首先發(fā)送命令字節(jié)。若進行單字節(jié)傳送, 8 位命令字節(jié)傳送結束之后,在下 2 個 SCLK 周期的上升沿輸入數據字節(jié),或在下 8個 SCLK 周期的下降沿輸出數據字節(jié)。 DS1302 與 RAM 相關的寄存器分為兩類 :一類是單個 RAM 單元,共 31 個,每個單元組態(tài)為一個 8 位的字節(jié),其命令控制 字為 C0H~ FDH,其中奇數為讀操作,偶數為寫操作;再一類為突發(fā)方式下的 RAM寄存器,在此方式下可一次性讀、寫所有的 RAM的 31 個字節(jié)。 要特別說明的是備用電源 B1,可以用電池或者超級電容器 ( 以上 )。雖然DS1302 在主電源掉電后的耗電很小,但是,如果要長時間保證時鐘正常,最好選用小型充電電池??梢杂美鲜诫娔X主板上的 充電電池。如果斷電時間較短 (幾小時或幾天 )時,就可以用漏電較小的普通電解電容器代替。 100 μF 就可以保證 1 小時的正常走時。 DS1302 在第一次加電后,必須進行初始化操 作。初始化后就可以按正常方法調整時間。 DS1302 存在時鐘精度不高,易受環(huán)境影響,出現時鐘混亂等缺點。 DS1302 可以用于數據記錄,特別是對某些具有特殊意義的數據點的記錄,能實現數據與出現該數據的時間同時記錄。這種記錄對長時間的連續(xù)測控系統(tǒng)結果的分析及對異常數據出現的原因的查找具有重要意義。傳統(tǒng)的數據記錄方式是隔時采樣或定時采樣,沒有具體的時間記錄,因此,只能記錄數據而無法準確記錄其出現的時間;若采用單片機計時,一方面需要采用計數器,占用硬件資源,另一方面需要設置中斷、查詢等,同樣耗費單片機的 資源,而且,某些測控系統(tǒng)可能不允許。但是,如果在系統(tǒng)中采用時鐘芯片DS1302,則能很好地解決這個問題。 11 第 4 章 系統(tǒng)的軟件設計 電子萬年歷的功能是在程序控制下實現的。該系統(tǒng)的軟件設計方法與硬件設計相對應,按整體功能分成多個不同的程序模塊,分別進行設計、編程和調試,最后通過主程序將各程序模塊連接起來。這樣有利于程序修改和調試,增強了程序的可移植性。 主程序 主程序如圖 41所示: 圖 41 主程序圖 日歷顯示子程序 =========日歷顯示子程序 ========== DISPLAY: MOV A,81H 。設定年第 1位的顯示地址為第 1行,第 1列 LCALL WRITE_COM MOV A, 32H 。數字 2的 ASCII 碼 LCALL WRITE_DATA MOV A,82H 。設定年第 2位的顯示地址為第 1行,第 2列 LCALL WRITE_COM MOV A, 30H 。數字 0的 ASCII 碼 LCALL WRITE_DATA 12 MOV A,83H 。設定年第 3位的顯示地址為第 1行,第 3列 LCALL WRITE_COM MOV A, TIME_YEAR_LBUF 。年的底位緩存數據 ADD A,30H 。加 30H 修正取 ASCII 碼 LCALL WRITE_DATA MOV A,84H 。設定年第 4位的顯示地址為第 1行,第 4列 LCALL WRITE_COM MOV A, TIME_YEAR_HBUF 。年的高位緩存數據 ADD A,30H 。加 30H修正取 ASCII 碼 LCALL WRITE_DATA MOV A,85H。(規(guī)定顯示年的位置) ACALL WRITE_COM。(調用命令寫入子程序) MOV A,00H ACALL WRITE_DATA。(調用數據寫入子程序) MOV A,86H 。設定月 第 1位的顯示地址為第 1行,第 6列 LCALL WRITE_COM MOV A, MONT_LBUF 。月的低位緩存數據 ADD A,30H 。加 30H 修正取 ASCII 碼 LCALL WRITE_DATA MOV A,87H 。設定月第 2位的顯示地址為第 1行,第 7列 LCALL WRITE_COM MOV A, MONT_HBUF 。月的高位緩存數據 ADD A,30H 。加 30H 修正取 ASCII 碼 LCALL WRITE_DATA MOV A,88H。(規(guī)定顯示月的位置) ACALL WRITE_COM。(調用命令寫入子程序) MOV A,01H ACALL WRITE_DATA。(調用數據寫入子程序) MOV A,89H 。設定天第 1位的顯示地址為第 1行,第 9列 LCALL WRITE_COM MOV A, TIME_DAY_LBUF 。天的低位緩存數據 ADD A,30H 。加 30H修正取 ASCII 碼 LCALL WRITE_DATA MOV A,8AH 。設定天第 2位的顯示地址為第 1行,第 10 列 LCALL WRITE_COM MOV A, TIME_DAY_HBUF 。天的高位緩存數據 ADD A,30H 。加 30H修正取 ASCII 碼 LCALL WRITE_DATA MOV A,8BH。(規(guī)定顯示日的位置) ACALL WRITE_COM。(調用命令寫入子程序) MOV A,02H ACALL WRITE_DATA。(調用數據寫入子程序) 。 MOV A,0CFH 13 LCALL WRITE_COM MOV A, WEEK_DATA_HBUF ADD A,30H 。加 30H 修正取 ASCII 碼 LCALL WRITE_DATA MOV A,0C4H 。設定小時第 1 位的顯示地址為第 2行,第 0列 LCALL WRITE_COM MOV A, HOUR_LBUF 。小時的低位緩存數據 ADD A,30H 。加 30H修正取 ASCII 碼 LCALL WRITE_DATA MOV A,0C5H 。設定小時第 2 位的顯示地址為第 2行,第 1列 LCALL WRITE_COM MOV A, HOUR_HBUF 。小時的高位緩存數據 ADD A,30H 。加 30H修正取 ASCII 碼 LCALL WRITE_DATA MOV A,0C6H 。設定冒號的顯示地址為第 2行,第 2列 LCALL WRITE_COM MOV A, 3AH 。冒號的 ASCII 碼 LCALL WRITE_DATA MOV A,0C7H 。設定分鐘第 1 位的顯示地址為第 2行,第 3列 LCALL WRITE_COM MOV A, MINTUE_LBUF 。分鐘的低位緩存數據 ADD A,30H 。加 30H修正取 ASCII 碼 LCALL WRITE_DATA MOV A,0C8H 。設定分鐘第 2 位的顯示地址為第 2行,第 4列 LCALL WRITE_COM MOV A, MINTUE_HBUF 。分鐘的高位緩存數據 ADD A,30H 。加 30H修正取 ASCII 碼 LCALL WRITE_DATA MOV A,0C9H 。設定冒號的顯示地址為第 2行,第 5列 LCALL WRITE_COM MOV A, 3AH 。冒號的 ASCII 碼 LCALL WRITE_DATA MOV A,0CAH 。設定秒鐘第 1 位的顯示地址為第 2行,第 6列 LCALL WRITE_COM MOV A, SECOND_LBUF 。秒鐘的低位緩存數據 ADD A,30H 。加 30H修正取 ASCII 碼 LCALL WRITE_DATA MOV A,0CBH 。設定秒鐘第 2 位的顯示地址為第 2行,第 7列 LCALL WRITE_COM MOV A, SECOND_HBUF 。秒鐘的高位緩存數據 ADD A,30H 。加 30H修正取 ASCII 碼 LCALL WRITE_DATA RET 14 從 1302 讀取日期和時間程序 圖 42 從 1302讀取程序 下面是一段讀 ds1302 程序 。==========讀 1302 子程序 ================= RD_DS1302: MOV DS1302_ADDR,8DH 。讀 DS1302 中的年 LCALL READ 。調用讀 DS1302 子程序 MOV TIME_YEAR, DS1302_DATA 。把讀 ?00000000000000000000000000 MOV
點擊復制文檔內容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1