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

正文內(nèi)容

基于stc89c52單片機(jī)帶溫度顯示的時(shí)鐘設(shè)計(jì)(編輯修改稿)

2024-12-23 21:46 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 個(gè)字節(jié)的內(nèi)容是溫度的低八位,第二個(gè)字節(jié)是溫度的高八位。第三個(gè)和第四個(gè)字節(jié)是 TH、 TL的易失性拷貝,第五個(gè)字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個(gè)字節(jié)的內(nèi)容在每一次上電復(fù)位時(shí)被刷新。第六、七、八個(gè)字節(jié)用于內(nèi)部計(jì)算。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。 6 表 2 DS18B20暫存寄存器分布表 寄存器內(nèi)容 字節(jié)地址 溫度最低數(shù)字位 0 溫度最高數(shù)字位 1 高溫限值 2 低溫限值 3 保留 4 保留 5 計(jì)數(shù) 剩余值 6 每度計(jì)數(shù)值 7 CRC 校驗(yàn) 8 TM R1 R0 1 1 1 1 1 低五位一直都是 1 ,TM 是測(cè)試模式位 ,用于設(shè)置 DS18B20 在工作模式還是在測(cè)試模式。在 DS18B20 出廠(chǎng)時(shí)該位被設(shè)置為 0,用戶(hù)不要去改動(dòng)。 R1和 R0用來(lái)設(shè)置分辨率 ,如下表 3所示:( DS18B20 出廠(chǎng)時(shí)被設(shè)置為 12 位) 表 3 分辨率設(shè)置表 R1 R0 分辨率 溫度最大轉(zhuǎn)換時(shí)間 0 0 9位 0 1 10位 1 0 11位 375ms 1 1 12位 750ms 表 4 和表 5分別 是 ROM指令和 RAM 指令表。 根據(jù) DS18B20 的通訊協(xié)議 ,主機(jī)控制 DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫(xiě)之前都要對(duì) DS18B20 進(jìn)行復(fù)位 ,復(fù)位成功后發(fā)送一條 ROM 指令 ,最后發(fā)送 RAM 指令 ,這樣才能對(duì) DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主 CPU 將數(shù)據(jù)線(xiàn)下拉 500 微秒 ,然后釋放 ,DS18B20 收到信號(hào)后等待 16~ 60微秒左右 ,后發(fā)出 60~ 240 微秒的存在低脈沖 ,主 CPU 收到此信號(hào)表示復(fù)位成功。 所有的讀 ,寫(xiě)時(shí)序至少需要 60us,且每?jī)蓚€(gè)獨(dú)立的時(shí)序之間至少需要 1us的恢復(fù)時(shí)間。在寫(xiě)時(shí)序中 ,主機(jī)將在 拉低總線(xiàn) 15us之內(nèi)釋放總線(xiàn) ,并向單總線(xiàn)器件寫(xiě) 1。若主機(jī)拉低總線(xiàn)后能保持至少 60us 的低電平 ,則向單總線(xiàn)器件寫(xiě) 0,單總線(xiàn)器件僅在主機(jī)讀時(shí)序時(shí)才向主機(jī)傳輸數(shù)據(jù)。 7 表 4 ROM指令 指令 約定代碼 功能 讀 ROM 33H 讀 DS18B20ROM 中的編碼(即讀 64位地址) 符合 ROM 55H 發(fā)出此命令后,接著發(fā)出 64 位 ROM編碼,訪(fǎng)問(wèn)單線(xiàn)總線(xiàn)上與該編碼相對(duì)應(yīng)的 DS18B20 使之作出響應(yīng),為下一步對(duì)該 DS18B20 的讀寫(xiě)作準(zhǔn)備。 搜索 ROM 0F0H 用于確定掛接在同一總線(xiàn)上 DS18B20 的個(gè)數(shù)和識(shí)別 64 位ROM 地址,為操作各器件做好準(zhǔn)備。 跳過(guò) ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS18B20 發(fā)溫度交換命令,適用于單片工作。 告警搜索命令 0ECH 執(zhí)行后,只有溫度超過(guò)設(shè)定值上限或下限的片子才做出響應(yīng)。 表 5 RAM指令 指令 指令代碼 功能 溫度變換 44H 啟動(dòng) DS18B20 進(jìn)行溫度變換,轉(zhuǎn)換時(shí)間最長(zhǎng)為 500 ms(典型為 200ms),結(jié)果存入內(nèi)部 9字節(jié) RAM 中。 讀暫存器 0BEH 讀內(nèi)部 RAM 中 9 字節(jié)的內(nèi)容。 寫(xiě)暫存器 4EH 發(fā)出向內(nèi)部 RAM 的第 3, 4字節(jié)寫(xiě)上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。 復(fù)制暫存器 48H 將內(nèi)部 RAM 的第 3, 4字節(jié)內(nèi)容復(fù)制到 E2ROM 中。 重調(diào)E2ROM 0B8H 將 E2ROM 中內(nèi)容恢復(fù)到 RAM 中的第 4字節(jié)。 讀供電方式 0B4H 讀 DS18B20 的供電模式,寄生供電時(shí) DS18B20 發(fā)送 ” 0” ,外接電源供電 DS18B20 發(fā)送“ 1“。 DS18B20 應(yīng)用電路 DS18B20 應(yīng)用電路具體電路圖如圖 。由于采用單總線(xiàn)器件, DS18B20 的硬件電路連接很簡(jiǎn)單, 1腳為接地端, 2腳 DQ為數(shù)據(jù)輸入 /輸出腳,它與 TTL 電平兼容,與單片機(jī)的 I/O 口線(xiàn) 相接,同時(shí) 要接 左右的上拉電阻 ; 3腳 VDD,可接電源,也可接地。因?yàn)槊恐?DS18B20 都可以選擇兩種供電方式,即數(shù)據(jù)總線(xiàn)供電方式和外部總線(xiàn)供電方式。采用數(shù)據(jù)總線(xiàn)供電方式時(shí) VDD 接地,可以節(jié)省一根傳輸線(xiàn),但完成溫度測(cè)量的時(shí)間較長(zhǎng);采用外部供電方式則把 VDD接+ 5V,雖然多用一根導(dǎo)線(xiàn),但測(cè)量速度較快。 8 圖 DS1820應(yīng)用電路 LED 顯示模塊 電路原理圖如圖 所示。其中兩 個(gè) 四位 二極管采用共陽(yáng)極接法 ,使用時(shí)公 共端接 +5V,段碼端輸入低電平時(shí)的段發(fā)光二極管就導(dǎo)通發(fā)亮 ,而輸入高電平的則不點(diǎn)亮。采用動(dòng)態(tài)掃描顯示 ,所用數(shù)碼管的 8 個(gè)筆劃段 ah 同名端連在一起 ,而每一個(gè)顯示器的公共極 COM 各自的受 I/O 線(xiàn)控制。 圖 LED顯示電路 單片機(jī)最小系統(tǒng) STC89C52 是低功耗 ,高性能芯片。由運(yùn)算器和控制器組成的微處理器 ,具有512 個(gè)單元的片內(nèi) RAM,8K 的內(nèi)部程序存儲(chǔ)器 ,4*8 條并行 I/O 口線(xiàn) ,3 個(gè)定時(shí)器 /計(jì)數(shù)器 ,具有 5個(gè)中斷源 ,和一個(gè)全雙工串行通道。其中 XTAL1 和 XTAL2 為外接晶體引線(xiàn)端 ,當(dāng)使用芯片內(nèi)部 時(shí)鐘時(shí) ,此二引線(xiàn)端用于外接石英晶體和微調(diào)電容 。RST為復(fù)位信號(hào) ,當(dāng)輸入的復(fù)位信號(hào)延續(xù) 2個(gè)機(jī)器周期以上高電平時(shí)即為有效 ,用以完成單片機(jī)的復(fù)位操作。 PSEN 為外部程序存儲(chǔ)器讀選通信號(hào) ,只有在讀外部ROM 時(shí) ,PSEN 為低電平實(shí)現(xiàn)對(duì)外部 ROM 單元的讀操作。 EA 是訪(fǎng)問(wèn)程序存儲(chǔ)器控制信號(hào) ,當(dāng) EA信號(hào)為高電平時(shí) ,對(duì) ROM的讀操作是從內(nèi)部程序存儲(chǔ)器開(kāi)始 ,并可延續(xù)9 至外部程序存儲(chǔ)器。 ALE 是地址鎖存控制信號(hào) ,在系統(tǒng)擴(kuò)展時(shí) ,ALE 用于控制把 P0口輸出的低 8 位地址送入鎖存器鎖存起來(lái) ,以實(shí)現(xiàn)低位地址和數(shù)據(jù)的分時(shí)傳送。如圖 所示。 圖 單片機(jī)最小系統(tǒng) 3 系統(tǒng)測(cè)試分析 此系統(tǒng)的測(cè)試主要通過(guò)軟件進(jìn)行測(cè)試 時(shí)鐘測(cè)試 把調(diào)試成功的時(shí)鐘 C 語(yǔ)言程序?qū)懭雴纹瑱C(jī)中 ,通過(guò)軟件的方式使時(shí)鐘芯片中的信息在 LED 數(shù)碼管中顯示時(shí)分秒 ,并通過(guò) K2 切換到日歷顯示。 include include include define uchar unsigned char define uint unsigned int codeunsignedcharnuma[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}。 unsigned char CurDateTime[7] = { 0X00, // 秒 0X00, // 分 0X14, // 時(shí) 0X20, // 日 0X03, // 月 0X04, // 星期 0X08 // 年 }。 delay2(long nn) { while(nn)。 } 10 void disp(uchar wei,uchar shu) { switch(wei) { case 1:P0=0xFE。P1=numa[shu]。 break。 case 2:P0=0xFD。P1=numa[shu]。 break。 case 3:P0=0xFB。P1=0XBF。 break。 case 4:P0=0xf7。P1=numa[shu]。 break。 case 5:P2=0xef。P1=numa[shu]。 break。 case 6:P2=0xf7。P1=0XBF。 break。 case 7:P2=0xFB。P1=numa[shu]。 break。 case 8:P2=0xfD。P1=numa[shu]。 break。 default:P1=0xff。 break。 } } void disp_all(void) { P1=0xff。P2=0xff。 disp(1,CurDateTime[2]/16)。delay2
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1