【正文】
單片機(jī)程序指令,常數(shù)及表格等固化在ROM中不易破壞,許多信號(hào)通道均在一個(gè)芯片內(nèi),故可靠性高。芯片外部有許多供擴(kuò)展用的三總線(xiàn)及并行、串行輸入/輸出管腳,很容易構(gòu)成各種規(guī)模的計(jì)算機(jī)應(yīng)用系統(tǒng)。由于單片機(jī)的廣泛使用,因而銷(xiāo)量極大,各大公司的商業(yè)競(jìng)爭(zhēng)更使其價(jià)格十分低廉,其性能價(jià)格比極高[1]。第二節(jié) 系統(tǒng)功能的確定和器件選取一、單片機(jī)的選擇由于單片機(jī)技術(shù)在各個(gè)領(lǐng)域正得到越來(lái)越廣泛的應(yīng)用,世界上許多集成電路生產(chǎn)廠(chǎng)家相繼推出了各種類(lèi)型的單片機(jī),在單片機(jī)家族的眾多成員中,MCS51系列單片機(jī)以其優(yōu)越的性能、成熟的技術(shù)及高可靠性和高性能價(jià)格比,迅速占領(lǐng)了工業(yè)測(cè)控和自動(dòng)化工程應(yīng)用的主要市場(chǎng),成為國(guó)內(nèi)單片機(jī)應(yīng)用領(lǐng)域中的主流。由于MCS系列單片機(jī)集成了幾乎完善的中央處理單元,處理功能強(qiáng),中央處理單元中集成了方便靈活的專(zhuān)用寄存器,這給我們利用單片機(jī)提供了極大的便利。因此,測(cè)控系統(tǒng)中,使用51單片機(jī)是最理想的選擇。MCS51單片機(jī)很快在我國(guó)得到廣泛的推廣應(yīng)用,成為電子系統(tǒng)中最普遍的應(yīng)用手段,并在工業(yè)控制、交通運(yùn)輸、家用電器、儀器儀表等領(lǐng)域取得了大量應(yīng)用成果[3]。AT89S51已經(jīng)在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。LED顯示器是單片機(jī)應(yīng)用系統(tǒng)中常見(jiàn)的輸出器件,而在單片機(jī)的應(yīng)用上也是被廣泛運(yùn)用的。當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)點(diǎn)或一個(gè)筆畫(huà)發(fā)亮,控制不同組合的二極管導(dǎo)通,就能顯示出各種字符,常用的LED數(shù)碼管有7段和“米”字段之分。同樣,共陽(yáng)極LED顯示器的發(fā)光二極管的陽(yáng)極接在一起,通常此共陽(yáng)極接正電壓,當(dāng)某個(gè)發(fā)光二極管的陰極接低電平時(shí),發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示。三、溫度傳感器的選擇智能溫度傳感器(亦稱(chēng)數(shù)字溫度傳感器)是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)(ATE)的結(jié)晶。智能溫度傳感器的特點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU)。典型產(chǎn)品有DS18B20,智能溫度控制器適配各種微控制器,構(gòu)成智能化溫控系統(tǒng)。多個(gè)DS18B20可以并聯(lián)到3根或2根線(xiàn)上,CPU只需一根端口線(xiàn)就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線(xiàn)和邏輯電路?,F(xiàn)場(chǎng)溫度直接以“一線(xiàn)總線(xiàn)”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。而且新一代產(chǎn)品更便宜,體積更小。 由于DS18B20將溫度傳感器、信號(hào)放大調(diào)理、A/D轉(zhuǎn)換、接口全部集成于一芯片,與單片機(jī)連接簡(jiǎn)單、方便,與AD590相比是更新一代的溫度傳感器,所以溫度傳感器采用DS18B20。64位閃速ROM的結(jié)構(gòu)如下: ROM結(jié)構(gòu)8b檢驗(yàn)CRC48b序列號(hào)8b工廠(chǎng)代碼(10H)MSB LSB MSB LSB MSB LSB DS18B20內(nèi)部結(jié)構(gòu)②非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫(xiě)入用戶(hù)報(bào)警上下限值。頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。 DS18B20內(nèi)部存儲(chǔ)器結(jié)構(gòu)Byte0溫度測(cè)量值LSB(50H)Byte1溫度測(cè)量值MSB(50H)E2PROMByte2TH高溫寄存器223。TL 低溫寄存器Byte4配位寄存器223。其工作時(shí)序包括初始化時(shí)序、寫(xiě)時(shí)序和讀時(shí)序。接著主機(jī)釋放總線(xiàn),延時(shí)15~60us,并進(jìn)入接受模式,以產(chǎn)生低電平應(yīng)答脈沖,若為低電平,再延時(shí)480us。寫(xiě)0時(shí)序,主機(jī)輸出低電平,延時(shí)60us,然后釋放總線(xiàn),延時(shí)2us。主機(jī)在讀時(shí)序期間必須釋放總線(xiàn),并且在時(shí)序起始后的15us之內(nèi)采樣總線(xiàn)狀態(tài)。搜索ROM0F0H用于確定掛接在同一總線(xiàn)上DS18B20的個(gè)數(shù)和識(shí)別64位ROM地址,為操作各器件作好準(zhǔn)備。讀暫存器0BEH讀內(nèi)部RAM中9字節(jié)的內(nèi)容。讀供電方式0B4H讀DS18B20的供電模式,寄生供電時(shí)DS18B20發(fā)送“0”,外接電源供電DS18B20發(fā)送“1”。用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入,圖中還隱含著計(jì)數(shù)門(mén),當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量。另外,由于DS18B20單線(xiàn)通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,因此讀寫(xiě)時(shí)序很重要。初始化DS18B20跳過(guò)ROM匹配溫度變換延時(shí)1S跳過(guò)ROM匹配讀暫存器轉(zhuǎn)換成顯示碼數(shù)碼管顯示 DS18B20測(cè)溫流程第四節(jié) 人機(jī)交互與串口通信一、 人機(jī)交互人機(jī)交互、人機(jī)互動(dòng)(英文:Human–Computer Interaction或Human–Machine Interaction,簡(jiǎn)稱(chēng)HCI或HMI),是一門(mén)研究系統(tǒng)與用戶(hù)之間的交互關(guān)系的學(xué)問(wèn)。小如收音機(jī)的播放按鍵,大至飛機(jī)上的儀表板、或是發(fā)電廠(chǎng)的控制室??晒┤藱C(jī)交互使用的設(shè)備主要有鍵盤(pán)顯示、鼠標(biāo)、各種模式識(shí)別設(shè)備等。操作員通過(guò)鍵盤(pán)打入命令,操作系統(tǒng)接到命令后立即執(zhí)行并將結(jié)果通過(guò)顯示器顯示。此外,通過(guò)圖形進(jìn)行人機(jī)交互也吸引著人們?nèi)ミM(jìn)行研究。(一)應(yīng)用隨著計(jì)算機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,通信功能越來(lái)越顯得重要。對(duì)于那些與計(jì)算機(jī)相距不遠(yuǎn)的人機(jī)交換設(shè)備和串行存儲(chǔ)的外部設(shè)備如終端、打印機(jī)、邏輯分析儀、磁盤(pán)等,采用串行方式交換數(shù)據(jù)也很普遍。 在數(shù)據(jù)輸入過(guò)程中,數(shù)據(jù) 1 位 1 位地從外設(shè)進(jìn)入接口的“接收移位寄存器”,當(dāng)“接收移位寄存器”中已接收完 1 個(gè)字符的各位后,數(shù)據(jù)就從“接收移位寄存器”進(jìn)入“數(shù)據(jù)輸入寄存器”。在數(shù)據(jù)輸出過(guò)程中,CPU 把要輸出的字符(并行地)送入“數(shù)據(jù)輸出寄存器”,“數(shù)據(jù)輸出寄存器”的內(nèi)容傳輸?shù)健鞍l(fā)送移位寄存器”,然后由“發(fā)送移位寄存器”移位,把數(shù)據(jù) 1 位 1 位地送到外設(shè)。例如,用狀態(tài)寄存器的 D5 位為“1”表示“數(shù)據(jù)輸出寄存器”空,用 D0 位表示“數(shù)據(jù)輸入寄存器滿(mǎn)”,用 D2 位表示“奇偶檢驗(yàn)錯(cuò)”等。在面向字符的同步方式下,接口要在待傳送的數(shù)據(jù)塊前加上同步字符。③控制數(shù)據(jù)傳輸速率:串行通信接口電路應(yīng)具有對(duì)數(shù)據(jù)傳輸速率——波特率進(jìn)行選擇和控制的能力。⑥提供EIARS232C接口標(biāo)準(zhǔn)所要求的信號(hào)線(xiàn):遠(yuǎn)距離通信采用MODEM時(shí),需要9根信號(hào)線(xiàn);近距離零MODEM方式,只需要3根信號(hào)線(xiàn)。溫度傳感器把采集的信號(hào)與單片機(jī)里的數(shù)據(jù)相比較來(lái)控制溫度控制器。檢測(cè)范圍5攝氏度到60攝氏度。三極管導(dǎo)通,電磁鐵觸頭放下來(lái)開(kāi)始工作。當(dāng)確認(rèn)有按鍵按下后下一步就要識(shí)別哪一個(gè)按鍵按下。方法是:向行線(xiàn)輸出全掃描字00H,把全部列線(xiàn)置為低電平,然后將列線(xiàn)的電平狀態(tài)讀入累加器A中。: 鍵盤(pán)的按鍵分布0123456789F1F2清除開(kāi)啟關(guān)閉確定鍵盤(pán)共有16個(gè)按鍵,用于方便設(shè)定溫度。同時(shí)還必須得到相應(yīng)設(shè)計(jì)合理的軟件的支持,尤其是微機(jī)應(yīng)用高速發(fā)展的今天,許多由硬件完成的工作,都可通過(guò)軟件編程而代替。機(jī)器語(yǔ)言是機(jī)器唯一能“懂”的語(yǔ)言,用匯編語(yǔ)言或高級(jí)語(yǔ)言編寫(xiě)的程序(稱(chēng)為源程序)最終都必須翻譯成機(jī)器語(yǔ)言的程序(成為目標(biāo)程序),計(jì)算機(jī)才能“看懂”,然后逐一執(zhí)行。MCS—51指令系統(tǒng)的指令長(zhǎng)度較短,它在存儲(chǔ)空間和執(zhí)行時(shí)間方面具有較高的效率,編成的程序占用內(nèi)存單元少,執(zhí)行也非常的快捷,與本系統(tǒng)的應(yīng)用要求很適合。第二節(jié) 系統(tǒng)主程序流程圖主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每1s進(jìn)行一次,這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度。DS18B20的各個(gè)命令對(duì)時(shí)序的要求特別嚴(yán)格,所以必須按照所要求的時(shí)序才能達(dá)到預(yù)期的目的,同時(shí),要注意讀進(jìn)來(lái)的是高位在后低位在前, 共有12位數(shù),小數(shù)4位,整數(shù)7位,還有一位符號(hào)位。在單片機(jī)自動(dòng)控制已經(jīng)廣泛的應(yīng)用于人們的生產(chǎn)和生活的今天,傳統(tǒng)用模擬電路來(lái)控制溫度的做法,已經(jīng)逐漸被淘汰。本系統(tǒng)的設(shè)計(jì)成功知識(shí)實(shí)現(xiàn)自動(dòng)控制的“冰山一角”,但它為以后更加智能化、人性化的自動(dòng)控制系統(tǒng)的設(shè)計(jì),作了鋪墊。對(duì)于本系統(tǒng)的使用者來(lái)說(shuō),本系統(tǒng)能夠很穩(wěn)定的控制溫度而且穩(wěn)定性很高。使得產(chǎn)品的生產(chǎn)成本降低,從而使系統(tǒng)的使用者獲得的利潤(rùn)提高了。在論文開(kāi)始的初期,我對(duì)于論文的結(jié)構(gòu)以及文獻(xiàn)選取等方面都有很多問(wèn)題,在胡老師的悉心指導(dǎo)下,我漸漸地在資料查詢(xún)、開(kāi)題、研究以及撰寫(xiě)的每一個(gè)環(huán)節(jié)都有了明確的方向。同時(shí)也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計(jì)的環(huán)境。數(shù)碼管十位數(shù)存放內(nèi)存位置XS EQU 30H MOV A,00H MOV P2,A MAIN:LCALL GET_TEMPER。 這是DS18B20復(fù)位初始化子程序INIT_1820:SETB NOPCLR 。 延時(shí)TSR3:SETB FLAG1 。 讀出轉(zhuǎn)換后的溫度值GET_TEMPER:SETB LCALL INIT_1820。 發(fā)出溫度轉(zhuǎn)換命令LCALL WRITE_1820。 發(fā)出讀溫度命令LCALL WRITE_1820LCALL READ_18200。 讀DS18B20的程序,從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù) READ_18200:MOV R4,2 。10進(jìn)制/10=10進(jìn)制DIV ABMOV B_BIT,A 。顯示1000次DPLOP:MOV DPTR,NUMTAB1MOV A,A_BIT 。開(kāi)個(gè)位顯示ACALL D1MS 。送出十位的7段代碼CLR 。多加的DJNZ R1,DPLOP 。 what would cause a harmless flash on the screen of a television set could lead to a serious error in a puter.As far as puting circuits were concerned, we found ourselves with an embrace rich. For example, we could use vacuum tube diodes for gates as we did in the EDSAC or pentodes with control signals on both grids, a system widely used elsewhere. This sort of choice persisted and the term families of logic came into use. Those who have worked in the puter field will remember TTL, ECL and CMOS. Of these, CMOS has now bee dominant.In those early years, the IEE was still dominated by power engineering and we had to fight a number of major battles in order to get radio engineering along with the rapidly developing subject of electric. Dubbed in the IEE light current electrical engineering. properly recognized as an activity in its own right. I remember that we had some difficulty in organizing a conference because the power engineers’ ways of doing things were not our ways. A minor source of irritation was that all IEE published papers were expected to start with a lengthy statement of earlier practice, something difficult to do when there was no earlier practiceConsolidation in the 1960s By the late 50s or early 1960s, the heroic pioneering stage was over and the puter field was starting up in real earnest. The number of puters in the world had increased and they were much more reliable than the very early ones. To those years we can ascribe the first steps in high level languages and the first operating systems. Experimental timesharing was beginning, and ultimately puter graphics was to e along.Above all, transistors began to replace vacuum tubes. This change presented a formidable challenge to the engineers of the day. They had to forget what they knew about circuits and start again. It can only be said that they measured