




已閱讀5頁,還剩18頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片機數字溫度計摘要:本設計單片機采用AT89C52芯片,數字溫度傳感器采用美國DALASS公司的1Wire器件DS18B20,即單總線器件DS18B20,與單片機組成一個測溫系統,當系統上電時,溫度傳感器就會讀出當前環境的溫度,并在三位LED數模顯示管上顯示出當前的溫度,該測溫儀的測溫范圍為0110,按此要求設計硬件和軟件以實現這一功能。關鍵詞:單片機STC89C52 溫度傳感器DS18B20; 溫度 測量電子線路 單片機 匯編語言 溫度1 引言: 單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。單片機在檢測和控制系統中得到廣泛的應用, 溫度則是系統常需要測量、控制和保持的一個量。本設計所介紹的數字溫度計與傳統的溫度計相比,具有讀數方便,測溫范圍廣,測溫準確,其輸出溫度采用數字顯示,該設計控制器使用單片機STC89C52,測溫傳感器使用DS18B20,用4位共陽極LED數碼管以串口傳送數據,實現溫度顯示,能準確達到以上要求。2 總體設計方案:2.1 設計思路:(1)本設計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應,在將隨被測溫度變化的電壓或電流采集過來,進行A/D轉換后,就可以用單片機進行數據的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設計需要用到A/D轉換電路,感溫電路比較麻煩。(2)從中考慮到用溫度傳感器,在單片機電路設計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進行轉換,就可以滿足設計要求。從以上兩種方案,很容易看出,采用方案(2),電路比較簡單,軟件設計也比較簡單,故采用了方案(2)。時鐘振蕩單片機復位溫 度 傳 感 器LED顯 示主 控 制 器 圖1總體設計方框圖2.2設計方框圖根據設計的所需要求分析單片機的工作原理,可得出來溫度計電路設計總體設計方框圖如圖1所示,控制器采用單片機STC89S52,溫度傳感器采用DS18B20,用4位LED數碼管以串口傳送數據實現溫度顯示。2.3 設計主元件電氣性能:1. STC89C52的主要性能:l 與MCS-51單片機產品兼容l 8KFlash字節閃速存儲器l 1000次擦寫周期l 全靜態操作:0Hz88Hzl 32個可編程I/O口線l 三個16位定時器/計數器l 八個中斷源l 全雙工UART串行通道l 低功耗空閑和掉電模式l 掉電后中斷可喚醒l 看門狗定時器l 雙數據指針VCC : 電源GND: 地P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數據存儲器時,P0口也被作為低8位地址/數據復用。在這種模式下,P0具有內部上拉電阻。在flash編程時,P0口也用來接收指令字節;在程序校驗時,輸出指令字節。程序校驗時,需要外部上拉電阻。P1 口: 是一個具有內部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅動4 個TTL 邏輯電平。對P1 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數器2的外部計數輸入(P1.0/T2)和時器/計數器2的觸發輸入(P1.1/T2EX),具體如下表1所示。在flash編程和校驗時,P1口接收低8位地址字節。P2 口:P2 口是一個具有內部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅動4 個TTL 邏輯電平。對P2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執行MOVX DPTR)時,P2 口送出高八位地址。在這種應用中,P2 口使用很強的內部上拉發送1。在使用8位地址(如MOVX RI)訪問外部數據存儲器時,P2口輸出P2鎖存器的內容。在flash編程和校驗時,P2口也接收高8位地址字節和一些控制信號。 表1 P1口功能 表2 P3口功能P3 口:P3 口是一個具有內部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅動4 個TTL 邏輯電平。對P3 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如上表2所示。在flash編程和校驗時,P3口也接收一些控制信號。RST: 復位輸入。晶振工作時,RST腳持續2 個機器周期高電平將使單片機復位。看門狗計時完成后,RST 腳輸出96 個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態下,復位高電平有效。ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調,在每次訪問外部數據存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置 “1”,ALE操作將無效。這一位置 “1”,ALE 僅在執行MOVX 或MOVC指令時有效。否則,ALE 將被微弱拉高。這個ALE 使能標志位(地址為8EH的SFR的第0位)的設置對微控制器處于外部執行模式下無效。PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當STC89C52從外部程序存儲器執行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數據存儲器時,PSEN將不被激活。EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執行內部程序指令,EA應該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內部時鐘發生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。存儲器結構MCS-51器件有單獨的程序存儲器和數據存儲器。外部程序存儲器和數據存儲器都可以64K尋址。程序存儲器:如果EA引腳接地,程序讀取只從外部存儲器開始。對于89S52,如果EA 接VCC,程序讀寫先從內部存儲器(地址為0000H1FFFH)開始,接著從外部尋址,尋址地址為:2000HFFFFH。數據存儲器:STC89C52 有256 字節片內數據存儲器。高128 字節與特殊功能寄存器重疊。也就是說高128字節與特殊功能寄存器有相同的地址,而物理上是分開的。當一條指令訪問高于7FH 的地址時,尋址方式決定CPU 訪問高128 字節RAM 還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(SFR)晶振特性如圖2所示,STC89C52 單片機有一個用于構成內部振蕩器的反相放大器,XTAL1 和XTAL2 分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構成自激振蕩器圖2 自激振蕩器原理圖定時器0 和定時器1在STC89C52 中,定時器0 和定時器1 的操作與89C51 一樣。定時器2定時器2是一個16位定時/計數器,它既可以做定時器,又可以做事件計數器。其工作方式由特殊寄存器T2CON中的C/T2位選擇(如表2所示)。定時器2有三種工作模式:捕捉方式、自動重載(向下或向上計數)和波特率發生器。工作模式由T2CON中的相關位選擇。定時器2 有2 個8位寄存器:TH2和TL2。在定時工作方式中,每個機器周期,TL2 寄存器都會加1。由于一個機器周期由12 個晶振周期構成,因此,計數頻率就是晶振頻率的1/12。中斷STC89C52 有6個中斷源:兩個外部中斷(INT0 和INT1),三個定時中斷(定時器0、1、2)和一個串行中斷每個中斷源都可以通過置位或清除特殊寄存器IE 中的相關中斷允許控制位分別使得中斷源有效或無效。IE還包括一個中斷允許總控制位EA,它能一次禁止所有中斷。定時器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發。程序進入中斷服務后,這些標志位都可以由硬件清0。實際上,中斷服務程序必須判定是否是TF2 或EXF2激活中斷,標志位也必須由軟件清0。下表2為中斷允許控制寄存器功能。表3 中斷允許控制寄存器2. DS18B20的主要性能本次設計使用到了由dallas半導體公司生產的ds18b20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業、民用、軍事等領域的溫度測量及控制儀器、測控系統和大型設備中。它具有體積小,接口方便,因而設計中采用了此元器件。DS1820 數字溫度計提供9 位溫度讀數,指示器件的溫度特性:獨特的單線接口只需1 個接口引腳即可通信多點multidrop 能力使分布式溫度檢測應用得以簡化不需要外部元件可用數據線供電不需備份電源測量范圍從-55 至+125 增量值為0.5 等效的華氏溫度范圍是-67 F 至257 F增量值為0.9 F以9 位數字值方式讀出溫度在1 秒典型值內把溫度變換為數字用戶可定義的非易失性的溫度告警設置告警搜索命令識別和尋址溫度在編定的極限之外的器件溫度告警情況應用范圍包括恒溫控制工業系統消費類產品溫度計或任何熱敏系統圖3的方框圖表示DS1820 的主要部件DS1820 有三個主要的數據部件1 64 位激光lasered ROM;2 溫度靈敏元件和3 非易失性溫度告警觸發器TH 和TLC64 位ROM和單線接口高速緩存存儲器與控制邏輯溫度傳感器高溫觸發器TH低溫觸發器TL配置寄存器8位CRC發生器Vdd 圖3 DS18B20內部結構 64位ROM的結構開始位是產品類型的編號,接著是每個器件的惟一的序號,共有48位,最后位是前面56位的CRC檢驗碼,這也是多個DS18B20可以采用一線進行通信的原因。溫度報警觸發器和,可通過軟件寫入戶報警上下限。 在單線接口情況下在ROM 操作未定建立之前不能使用存貯器和控制操作主機必須首先提供五種ROM 操作命令之一1 Read ROM(讀ROM) 2 Match ROM(符合ROM),3)Search ROM(搜索ROM),4)Skip ROM(跳過ROM),或5 Alarm Search(告警搜索) 這些命令對每一器件的64 位激光ROM 部分進行操作如果在單線上有許多器件那么可以挑選出一個特定的器件并給總線上的主機指示存在多少器件及其類型在成功地執行了ROM 操作序列之后可使用存貯器和控制操作然后主機可以提供六種存貯器和控制操作命令之一.一個控制操作命令指示DS1820 完成溫度測量該測量的結果將放入DS1820 的高速暫存便箋式存貯器Scratchpad memory 通過發出讀暫存存儲器內容的存儲器操作命令可以讀出此結果每一溫度告警觸發器TH 和TL 構成一個字節的EEPROM 如果不對DS1820 施加告警搜索命令這些寄存器可用作通用用戶存儲器使用存儲器操作命令可以寫TH 和TL 對這些寄存器的讀訪問通過便箋存儲器所有數據均以最低有效位在前的方式被讀寫.DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數形式提供,以0.0625/LSB形式表達,其中S為符號位。 表4 DS18B2012位溫度數據表4是12位轉化后得到的12位數據,存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數值需要取反加1再乘于0.0625即可得到實際溫度。如下表為18B20的溫度/數據關系 表5 DS18B20的溫度/數據關系每一DS1820 包括一個唯一的64 位長的ROM 編碼開紿的8 位是單線產品系列編碼DS1820 編碼是10h 接著的48 位是唯一的系列號最后的8 位是開始56 位CRC 見表6, 64位ROM 和ROM 操作控制部分允許DS1820 作為一個單線器件工作并遵循單線總線系統一節中所詳述的單線協議直到ROM 操作協議被滿足DS1820 控制部分的功能是不可訪問的此協議在ROM操作協議流程圖中敘述單線總線主機必須首先操作五種ROM 操作命令之一1 Read ROM(讀ROM),2)Match ROM(匹配ROM),3)Search ROM(搜索ROM),4)Skip ROM(跳過ROM),或5)Alarm Search告警搜索在成功地執行了ROM 操作序列之后DS1820 特定的功能便可訪問然后總線上主機可提供六個存貯器和控制功能命令之一. 表6 64 位激光ROM暫存存儲器包含了8個連續字節,前兩個字節是測得的溫度信息,第一個字節的內容是溫度的低八位,第二個字節是溫度的高八位。第三個和第四個字節是TH、TL的易失性拷貝,第五個字節是結構寄存器的易失性拷貝,這三個字節的內容在每一次上電復位時被刷新。第六、七、八個字節用于內部計算。第九個字節是冗余檢驗字節。 表7 DS18B20暫存寄存器分布該字節各位的意義如下: TM R1 R0 1 1 1 1 1 R1R0分辨率溫度最大轉換時間009位93.75ms 0110位187.5ms 1011位375ms 1112位750ms 表8 分辨率設置表低五位一直都是1 ,TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為0,用戶不要去改動。R1和R0用來設置分辨率,如上表8所示:(DS18B20出廠時被設置為12位)由表9可見,DS18B20溫度轉換的時間比較長,而且分辨率越高,所需要的溫度數據轉換時間越長。因此,在實際應用中要將分辨率和轉換時間權衡考慮。高速暫存的第、字節保留未用,表現為全邏輯。第字節讀出前面所有字節的CRC碼,可用來檢驗數據,從而保證通信數據的正確性。當DS18B20接收到溫度轉換命令后,開始啟動轉換。轉換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第、字節。單片機可以通過單線接口讀出該數據,讀數據時低位在先,高位在后,數據格式以0.0625LSB形式表示。當符號位時,表示測得的溫度值為正值,可以直接將二進制位轉換為十進制;當符號位時,表示測得的溫度值為負值,要先將補碼變成原碼,再計算十進制數值。 表9 DS18B20溫度轉換時間表DS18B20完成溫度轉換后,就把測得的溫度值與RAM中的TH、T字節內容作比較。若TH或TTL,則將該器件內的報警標志位置位,并對主機發出的報警搜索命令作出響應。因此,可用多只DS18B20同時測量溫度并進行報警搜索。在64位ROM的最高有效字節中存儲有循環冗余檢驗碼(CRC)。主機ROM的前56位來計算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機收到的ROM數據是否正確。ROM 操作命令一旦總線主機檢測到從屬器件的存在它便可以發出器件ROM 操作命令之一所有ROM 操作命令均為8 位長這些命令列表如下參見圖6 的流程圖Read ROM(讀ROM) 33h此命令允許總線主機讀DS1820 的8 位產品系列編碼唯一的48 位序列號以及8 位的CRC此命令只能在總線上僅有一個DS1820 的情況下可以使用如果總線上存在多于一個的從屬器件那么當所有從片企圖同時發送時將發生數據沖突的現象漏極開路會產生線與的結果Match ROM( 符合 ROM) 55h符合ROM 命令后繼以64 位的ROM 數據序列允許總線主機對多點總線上特定的DS1820尋址只有與64 位ROM 序列嚴格相符的DS1820 才能對后繼的存貯器操作命令作出響應所有與64位ROM 序列不符的從片將等待復位脈沖此命令在總線上有單個或多個器件的情況下均可使用Skip ROM( 跳過ROM ) CCh在單點總線系統中此命令通過允許總線主機不提供64 位ROM 編碼而訪問存儲器操作來節省時間如果在總線上存在多于一個的從屬器件而且在Skip ROM 命令之后發出讀命令那么由于多個從片同時發送數據會在總線上發生數據沖突漏極開路下拉會產生線與的效果earch ROM( 搜索ROM) F0h當系統開始工作時總線主機可能不知道單線總線上的器件個數或者不知道其64 位ROM 編碼搜索ROM 命令允許總線主機使用一種消去elimination 處理來識別總線上所有從片的64 位 表10 DS1820 命令集Alarm Search(告警搜索) ECh此命令的流程與搜索ROM 命令相同但是僅在最近一次溫度測量出現告警的情況下DS1820才對此命令作出響應告警的條件定義為溫度高于TH 或低于TL 只要DS1820 一上電告警條件DS1820就保持在設置狀態直到另一次溫度測量顯示出非告警值或者改變TH 或TL 的設置使得測量值再一次位于允許的范圍之內貯存在EEPROM 內的觸發器值用于告警表10為DS1820 命令集:3 系統整體硬件電路系統整體硬件電路包括,傳感器數據采集電路,溫度顯示電路,單片機主板電路等,通過利用電路CAD工具pretel DXP可畫出如圖4 所示的電路圖。 圖4 電路原理圖因為此次制作的電路為自制的PCB板,再經過電路CAD工具Protel DXP的電路板PCB繪出電路所需PCB版圖制作出自制的PCB板. 3 設計原理分析:3.1 時鐘電路的設計:通過設置T2CON(見表2)中的TCLK或RCLK可選擇定時器2 作為波特率發生器。如果定時器2作為發送或接收波特率發生器,定時器1可用作它用,發送和接收的波特率可以不同。設置RCLK 和(或)TCLK 可以使定時器2 工作于波特率產生模式。波特率產生工作模式與自動重載模式相似,因此,TH2 的翻轉使得定時器2 寄存器重載被軟件預置16位值的RCAP2H和RCAP2L中的值。模式1和模式3的波特率由定時器2溢出速率決定,定時器可設置成定時器,也可為計數器。在多數應用情況下,一般配置成定時方式(CP/T2=0)。定時器2 用于定時器操作與波特率發生器有所不同,它在每一機器周期(1/12晶振周期)都會增加;然而,作為波特率發生器,它在每一機器狀態(1/2晶振周期)都會增加。波特率計算公式如下:模式1和模式3的波特率晶振頻率/3265536 - (RCAP2H,RCAP2L)3.2 控制電路的設計:主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20的測量的當前溫度值,溫度測量每1s進行一次。這樣可以在一秒之內測量一次被測溫度,其程序流程見圖5所示。Y發DS18B20復位命令發跳過ROM命令發讀取溫度命令讀取操作,CRC校驗9字節完?CRC校驗正?確?移入溫度暫存器結束NNY初始化調用顯示子程序1S到?初次上電讀出溫度值溫度計算處理顯示數據刷新發溫度轉換開始命令NYNY 圖5 主程序流程圖 圖6讀溫度流程圖發DS18B20復位命令發跳過ROM命令發溫度轉換開始命令 結束 讀出溫度子程序的主要功能是讀出RAM中的9字節,在讀出時需進行CRC校驗,校驗有錯時不進行溫度數據的改寫。 圖7 溫度轉換流程圖 3.4 計算溫度子程序計算溫度子程序將RAM中讀取值進行BCD碼的轉換運算,并進行溫度值正負的判定,其程序流程圖如圖8所示。溫度數據移入顯示寄存器十位數0?百位數0?十位數顯示符號百位數不顯示百位數顯示數據(不顯示符號) 結束NNYY 開始溫度零下?溫度值取補碼置“”標志計算小數位溫度BCD值 計算整數位溫度BCD值 結束置“+”標志NY 圖8計算溫度流程圖 圖9顯示數據刷新流程圖 所編寫的程序如下:;*;說明:程序預定義;*LED7A_CTRLEQUP1.7;數碼管第一位控制引腳(0為有效,1為無效)LED7B_CTRLEQUP1.6;數碼管第二位控制引腳LED7C_CTRLEQUP1.5;數碼管第三位控制引腳LED7D_CTRLEQUP1.4;數碼管第四位控制引腳LED7_STATUSEQUP0;數碼管狀態引腳(0為有效,1為無效)LED7A_DATA EQU70H;數碼管第一位顯示值(千位)LED7B_DATA EQU71H;數碼管第二位顯示值(百位)LED7C_DATA EQU72H;數碼管第三位顯示值(十位)LED7D_DATA EQU73H;數碼管第四位顯示值(個位)LED7_NUMEQU74H;數碼管動態掃描值(值為從0到3)DQEQUP3.2;溫度芯片數據端TEMLEQU76H;溫度數據低位TEMHEQU77H;溫度數據高位;*;說明:程序開始;*ORG0000H;程序首地址 PC=0000HJMPSTART;程序跳轉到START PC=0030H ORG000BH;T0中斷程序入口JMPLED7SCAN;跳到數碼管動態掃描處理程序ORG0030H;程序開始START:MOVDPTR, #LED7TAB;數碼管顯示碼表地址送DPTRMOVLED7_NUM, #0;數碼管動態掃描值至0,掃描第一位;T0中斷設定MOVTMOD, #00000001B;使用T0:GATE=0,C/T=0(定時),M1 M0=01(工作方式1)MOVTH0, #0ECH;中斷時間為5毫秒 MOVTL0, #078HSETBET0 ;允許T0中斷SETB TR0;使T0工作SETBEA;總中斷開啟L1:MOVLED7A_DATA, #16;數碼管第一位初始值MOVLED7B_DATA, #16;數碼管第二位初始值MOVLED7C_DATA, #0 ;數碼管第三位初始值MOVLED7D_DATA, #0 ;數碼管第四位初始值L2:CLRTR0SETBDQCALLINIT ;初始化MOVA,#0CCH;跳過ROM匹配CALLWRITEMOVA,#44H;發出溫度轉換命令CALLWRITESETBTR0MOVR7,#50H;延時750ms轉換時間CALLDELAYCLRTR0CALLINIT ;準備讀溫度前先復位MOVA,#0CCH;跳過ROM匹配CALLWRITEMOVA,#0BEH;發出讀溫度命令CALLWRITECALLREAD ;讀出溫度MOVTEML,ACALLREADMOVTEMH,ASETBTR0MOVA,TEML;溫度轉換ANLA,#0F0HSWAPAMOVTEML,AMOVA,TEMHANLA,#0FHSWAPAORLA,TEMLMOVR3,ACLRACLRCL3:ADDA,#01HDAADJNZR3,L3MOVTEML,AANLA,#0FH;顯示數據MOVLED7D_DATA,AMOVA,TEMLSWAPAANLA,#0FHMOVLED7C_DATA,AMOVR7,#0FFH;延時CALLDELAY MOVR7,#0FFH;延時CALLDELAYMOVR7,#0FFH;延時CALLDELAYMOVR7,#0FFH;延時CALLDELAYMOVR7,#0FFH;延時CALLDELAYMOVR7,#0FFH;延時CALLDELAYJMPL2;循環;*;函數:INIT;說明: 初始化子程序;*INIT: SETB DQ NOP CLR DQ MOV R7,#34 ;延時510ms CALL DELAY SETB DQ MOV R7,#04 ;延時60ms CALL DELAY MOV R7,#28 ;延時420ms CALL DELAY SETB DQ ;然后拉高數據線BACK:RET;*;函數:WRITE;說明: DS18B20寫字節操作;*WRITE: CLR C MOV R2,#8 ;一共8位數據WR1: CLR DQ MOV R7,#1 CALL DELAY RRC A MOV DQ,C MOV R7,#1 CALL DELAY SETB DQ NOP DJNZ R2,WR1 SETB DQ RET;*;函數:READ;說明: DS18B20讀字節操作;*READ: MOV R2,#8 ;數據一共有8位WIN01: CLR C SETB DQ NOP NOP CLR DQ NOP NOP NOP SETB DQ MOV R7,#01 CALL DELAY MOV C,DQ MOV R7,#03 CALL DELAY RRC A DJNZ R2,WIN01 RET;*;函數:LEDSCAN;說明: 數碼管動態掃描處理程序;*LED7SCAN:PUSHACC;ACC入棧PUSHPSW;PSW入棧MOVA, LED7_NUM;數碼管動態掃描值送ACJNEA, #0, LED7SCAN_1;若數碼管動態掃描值為0,則處理數碼管的第一位,否則跳轉到LED7SCAN_1SETBLED7D_CTRL;設置數碼管第四位無效MOVA, LED7A_DATA;將千位值送AMOVCA, A+DPTR;將顯示碼送ACLRLED7A_CTRL;設置數碼管第一位有效JMPLED7SCAN_4;跳轉到LED7SCAN_4LED7SCAN_1:CJNEA, #1, LE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新疆神火煤電有限公司電解鋁大修渣無害化處理綜合利用項目環評報告
- 工業廢水處理與排放標準
- 工業智能化技術發展趨勢
- 工業機器人技術與自動化的結合
- 工業機器人及其在生產自動化中的運用
- 工業機器人技術發展及產業應用
- 工業設計中的空間美學應用研究
- 工業自動化技術進展與應用
- 工作生活平衡下的女性乳房保護
- 4s店返修管理制度
- DB37-T 5026-2022《居住建筑節能設計標準》
- 消毒供應中心設備使用及維護保養課件
- 三高共管六病同防診療路徑與一體化服務指南(2022版)20-39-30
- 國開期末考試《基礎會計》機考試題(第3套)
- 外貿形式發票模板
- 壓力管道焊接工藝卡
- 會議服務中心經營管理服務方案
- 河南省南陽市高中畢業生登記表普通高中學生學籍冊
- 雷曼破產前的德國國家發展銀行十分鐘的悲劇
- 國際政治經濟學的主要流派課件
- PE管材采購合同
評論
0/150
提交評論