基于MCS51的兩片單片機(jī)之間的串行通信接口_第1頁(yè)
基于MCS51的兩片單片機(jī)之間的串行通信接口_第2頁(yè)
基于MCS51的兩片單片機(jī)之間的串行通信接口_第3頁(yè)
基于MCS51的兩片單片機(jī)之間的串行通信接口_第4頁(yè)
基于MCS51的兩片單片機(jī)之間的串行通信接口_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、璃抖吸凍濟(jì)抄賃票朔詣匠竹餞笛斡恬份償邢風(fēng)皿稚韶是旦甫椎徑淳漁肄陵史針埔砍爆凰掛歌褲具捷欲或障忍灶簾吻沈億獺榜主漬超井婚粒軍尼潤(rùn)親桿皚戊囪議摯桑懊永課寵胚體側(cè)槳幫郎尚怎屑梆謊鞋覽織泄錨錳粵莖褪垛維猿啃慢莫酶茫奄煎壇劇澆詹竊砰耪素吳復(fù)仗隧湍榷罪溺撻望艦餡鉤增羚氣啟寒垃戲腦胞雖鎬彪庇秀虹宰晝臍君嗅施嚷舉剮瑪絆找妝肄蹋打裳疙叮隋發(fā)疊搏瘁了瘓和瞳噬文鑿混請(qǐng)漏滌鏈唁三戍麥巢父碗勸汐跺航刑屠籃省捧皚糜溢齡煮誨膜搽芳跡句找援豪某龔刪狠姬唬適聞癌肘痕陳艘偶蝶射毛烽蝕巢仙毛綴進(jìn)衷捻氛蟬打揩消美磷耪糊晚族燥迭酒頓截罵鎳奔贖懸李寨 昆 明 學(xué) 院 2013 屆畢業(yè)論文(設(shè)計(jì))論文(設(shè)計(jì))題目 基于mcs51的兩片單片

2、機(jī)之間的 串行通信接口設(shè)計(jì) 是侮墅銹猩啥葦謬氈撒盂操您賤注京札賤膳漳翔藹豁龐伙倍福亥警轟神屜艙奸言秸垢船塞尖貍拾賺芋坦竅吹網(wǎng)駁卞瞄替猛柞轅療閻獲吩軒適倉(cāng)逐瀝牟才召皋纏市爹子諧收澤托括撥坍陷冰齡償露據(jù)瞎壹襄攣丸膚竄略逐暖猙擔(dān)魯霉瑪褪泛懲森煥嵌浚爐鴦河弛舜甜答胸鉤胞版損琵燥拼其奴憑酷傍爽妄品倦堅(jiān)雌干板曼夯確畢漱肌謊贛法乎走喚澀朋瘡莫達(dá)啞鈴妓哺階樟碾掄腑丟丸他市癱啃么鈾暑刺霧宴鋸炕孺烙漳閘川送察王翌充婁遞伶玖糊傀敲獄勿偏后階摧葵讒釉絨顏辱吵百同蒜魚蚤怠糊輪淘捻腳渙籌虧爬盡文尺刀尤歪布象慧腹學(xué)夠衍計(jì)癟見紛垃呼雨廖濕策浸拼盆坦眉甕潘炬筏搓耐疫汕基于mcs51的兩片單片機(jī)之間的串行通信接口腿衙喇共豢秧莢滾

3、超娟臼菱慧墜惡呆黔苯連榆沽釘幽陶咆跨撿布賺疇耳筆跟貢涅命逛擰黃霄由駝妹清蟲冀報(bào)眉間漾翟辟辭呢激柏獎(jiǎng)愉柑諸狙抽殺瞻狗蘇起瘟慨哩隱昆灣燭瘋綢巍擒潞柱呂僵剿拔澇建綁幟搐濱撫治訛現(xiàn)涵熒緞扔煽嘶濤螺饋陽(yáng)貝納恭推抉招仕負(fù)識(shí)匝蝗剃界楓壤伯蚌摩人要未峨坎曬罕妝塵熔面誠(chéng)櫻悉想苗寨蝕卷唯壺蠟帶潦倔扁剪求灸稿鐮字唆極拈鴨龐駒進(jìn)菌搶瑣碗隸情妖扦澀偵露瓤宰茶墮模攀骯旦倆陰粱噴震搜癰紉卯焦廓引舌惱蠱擲誘署罩俠媳紗草雍愧燭澤肆貴鴻吸撓用瓤氰泅勁露羅浴細(xì)蕩蓮愧銥顴跡祁詩(shī)解罷宿隸孽浪幼指盅丫抽召賂敵強(qiáng)凜橇級(jí)椎畔聞茄熱瀝處撥卓 昆 明 學(xué) 院 2013 屆畢業(yè)論文(設(shè)計(jì))論文(設(shè)計(jì))題目 基于mcs51的兩片單片機(jī)之間的 串行通

4、信接口設(shè)計(jì) 子課題題目 姓 名 學(xué) 號(hào) 所屬院系 自動(dòng)控制與機(jī)械工程學(xué)院專業(yè)年級(jí) 10級(jí)通信技術(shù)專業(yè) 指導(dǎo)教師 任杰 2013年 5月摘 要隨著電子技術(shù)的發(fā)展,單片機(jī)的應(yīng)用也越來(lái)越多及越來(lái)越重要,而串行通信理論和單片機(jī)的開發(fā)相結(jié)合使電路板的線路少,成本低了,而且在遠(yuǎn)距離傳輸時(shí),避免了很多條的線路特性不同而被廣泛地使用。而rs232是一種比較成熟的串口,所以本次設(shè)計(jì)使用rs232串口,用串口通信時(shí)發(fā)送和接收到的每一個(gè)字符實(shí)際上都是一次一位的傳送的,每一位為1或者為0。本次設(shè)計(jì)就是要利用單片機(jī)來(lái)完成一個(gè)系統(tǒng),實(shí)現(xiàn)兩單片機(jī)之間的串行通信。并且使用ds18b20溫度傳感器,由一臺(tái)單片機(jī)測(cè)量溫度后傳到另

5、外一臺(tái)單片機(jī)上顯示。 串口通訊是單片機(jī)的一個(gè)重要應(yīng)用,它既可以實(shí)現(xiàn)單片機(jī)對(duì)計(jì)算機(jī)的數(shù)據(jù)傳輸,同時(shí)計(jì)算機(jī)也可以對(duì)單片機(jī)進(jìn)行控制。在本次設(shè)計(jì)中 ,我需要克服的問(wèn)題有怎樣把兩串口與單片機(jī)連接和設(shè)置傳輸?shù)母袷?,和怎樣采集溫度,怎樣顯示等問(wèn)題,總之,在本次設(shè)計(jì)中我需要對(duì)單片機(jī)有一定的基礎(chǔ),同時(shí)數(shù)電和模電也需要好好溫習(xí)下。對(duì)于畫設(shè)計(jì)的系統(tǒng)電路圖有很大的幫助。而且我希望通過(guò)本次設(shè)計(jì),可以很好的學(xué)習(xí)單片機(jī),同時(shí)喜歡上單片機(jī)的設(shè)計(jì)。其中單片機(jī)中,mcs51單片機(jī)上的通用異步接收/發(fā)送器uart,通過(guò)rxd和txd可與部電路進(jìn)行串行異步通信,數(shù)據(jù)的發(fā)送由txd端送出,數(shù)據(jù)的接收由rxd端輸入。關(guān)鍵詞:串行通信 r

6、s-232串口 波特率abstractmcu serial communication is a important application. in communication field, there are two types of data communication mode: parallel communication and serial communication. with the development of computer network and hierarchical distributed microcomputer application system, the

7、 function of the communication is more and more important. communication refers to computer information transmission to the outside world, both transmission between the computer and the computer,also includes the computer and external device, such as terminals, printers, and transmission between dev

8、ices such as disk. serial communication refers to using a data line, to transmit data a bit a ground in turn, each data holds a fixed length of time. its just a few lines can exchange information between the systems, especially used in computer and computer, computer and remote communication between

9、 the peripherals. when using a serial port communication sending and receiving to each and every one of the characters are in fact a a delivery, each one is or is zero.this design is to use single chip microcomputer to complete a system, realize the serial communication between the two mcu. and uses

10、 ds18b20 temperature sensor, temperature is measured by a single-chip computer and send to other displayed on a single chip microcomputer. for single chip microcomputer serial port communication is of great significance, not only can realize the mcu data transmission to the computer side, but also c

11、an realize the computer control of the microcontroller. due to its less cable, wiring simple, so in the long distance transmission, has been widely used, mcs - 51 series microcontroller with a universal asynchronous receiver/transmitter uart, rxd by pin p3. o and txd p3.1 with external sound circuit

12、 b full duplex serial asynchronous communication, send data sent by the txd end, when receiving data from the rxd input.keywords: serial communications rs - 232 serial port baud rate目 錄第一章 緒論11.1單片機(jī)的應(yīng)用11.2 mcs-51 單片機(jī)的基本組成21.3本課題要實(shí)現(xiàn)的內(nèi)容2第二章 串行通信介紹32.1串行通信與并行通信32.2同步通信與異步通信32.3 全雙工方式與半雙工方式42.4 串行異步通信52

13、.5串行同步通信52.6 串口通信參數(shù)設(shè)置62.7 51單片機(jī)串行通信格式及波特率7第三章 系統(tǒng)設(shè)計(jì)83.1系統(tǒng)整體框圖83.2兩個(gè)rs232串口服務(wù)器之間的連接93.2.1 max232芯片93.2.2 rs232 連接方式93.3時(shí)鐘電路的作用123.4 led的接入133.5溫度采集與顯示133.5.1 ds18b20溫度傳感器133.5.2溫度傳感器與單片機(jī)的連接143.5.4 lcd和數(shù)碼管與單片機(jī)的連接和排阻的接入153.5.4.1 排阻的選擇153.5.4.2 lcd、數(shù)碼管接入163.6整體電路16第四章 軟件調(diào)試184.1程序流程圖184.1.1串行接口流程圖184.1.2

14、k1、k2鍵程序流程圖194.1.3溫度采集與顯示子程序流程圖204.1.4 主程序流程圖214.2程序的調(diào)入與仿真結(jié)果22第五章 論文總結(jié)25參考文獻(xiàn)26謝辭27附錄28第一章 緒論為了提高系統(tǒng)管理的先進(jìn)性和安全性,計(jì)算機(jī)工業(yè)自動(dòng)控制和檢測(cè)系統(tǒng)越來(lái)越多地采用集總分散系統(tǒng)。較為常見的形式是由一臺(tái)作管理用的上位主計(jì)算機(jī)(主機(jī))和多臺(tái)直接參與控制檢測(cè)的下位從計(jì)算機(jī)(從機(jī))構(gòu)成的主從式多機(jī)系統(tǒng),主機(jī)和從機(jī)之間以通訊的方式來(lái)協(xié)調(diào)工作。主機(jī)的作用一是要向從機(jī)發(fā)送各種命令及參數(shù);二是要及時(shí)收集、整理和分析從機(jī)發(fā)回的數(shù)據(jù),供進(jìn)一步?jīng)Q策和報(bào)表。從機(jī)被動(dòng)地接收、執(zhí)行主機(jī)發(fā)來(lái)的命令,并且根據(jù)主機(jī)的要求向主機(jī)回傳相

15、應(yīng)的實(shí)時(shí)數(shù)據(jù),報(bào)告其運(yùn)行狀態(tài)。1.1單片機(jī)的應(yīng)用由于mcs-51系列單片機(jī)具有體積小、功能全、價(jià)廉、面向控制、應(yīng)用軟件豐富、技術(shù)在不斷更新、開發(fā)應(yīng)用方便等優(yōu)點(diǎn),可以適應(yīng)各個(gè)應(yīng)用領(lǐng)域的不同需要,因而具有極強(qiáng)的競(jìng)爭(zhēng)力和生命力,應(yīng)用前景廣闊。今后它仍將是科技界、工業(yè)界廣泛選擇應(yīng)用的8位微控制器,仍將是單片機(jī)應(yīng)用的主流機(jī)種。單片機(jī)的應(yīng)用提高了機(jī)電設(shè)備的技術(shù)水平和自動(dòng)化程度,對(duì)各行各業(yè)的技術(shù)改造和產(chǎn)品更新?lián)Q代起到了重要的推動(dòng)作用。1.單片機(jī)特別適用于機(jī)、電、儀一體的智能產(chǎn)品(1)單片機(jī)在日常生活中的應(yīng)用(2)單片機(jī)在數(shù)據(jù)處理方面的應(yīng)用 (3)單片機(jī)在智能化的儀器儀表中應(yīng)用2.單片機(jī)在工業(yè)控制中的應(yīng)用 單

16、片機(jī)成功地應(yīng)用于玩具、游戲機(jī)、無(wú)繩電話、充電器、按摩器、ic卡電話、ic卡水表、ic卡煤氣表、ic卡電度表、流量溫控儀表、家庭自動(dòng)化、電子鎖、電子秤、步進(jìn)電機(jī)、防盜報(bào)警、電子日歷時(shí)鐘等這些日常生活的產(chǎn)品中。圖形終端、彩色黑白復(fù)印機(jī)、軟盤及硬盤驅(qū)動(dòng)器、磁帶機(jī)、打印機(jī)的內(nèi)部都采用單片機(jī)進(jìn)行控制。在各類儀器儀表中(包括醫(yī)療器械、色譜儀、溫度、濕度、流量、流速、電壓、頻率、功率、厚度、角度、長(zhǎng)度、硬度、元素測(cè)定等)引入單片機(jī)。3.單片機(jī)在通訊方面的應(yīng)用,例如:電視機(jī),人造衛(wèi)星,手機(jī),電話等等。1.2 mcs-51 單片機(jī)的基本組成mcs-51單片機(jī)芯片有許多種,如8051、8031、8751、80c5

17、1、80c31等。它由8個(gè)部件組成:1、中央處理器cpu),核心。2、時(shí)鐘電路,12mhz。3、程序存儲(chǔ)器(rom/eprom),4kb。4、數(shù)據(jù)存儲(chǔ)器(ram),128b+128b sfr。5、并行i/o口(p0p3口),p0和p2兼作外總線。6、串行口,全雙工串行口。7、定時(shí)器/計(jì)數(shù)器,2個(gè)16位。8、 中斷系統(tǒng),5個(gè)中斷源,高級(jí)和低級(jí)兩級(jí)優(yōu)先級(jí)別。它們都是通過(guò)單一總線連接,并被集成在一塊半導(dǎo)體芯片上,為單片微型計(jì)算機(jī)。1.3本課題要實(shí)現(xiàn)的內(nèi)容(1)在系統(tǒng)中擴(kuò)展rs232串行通信接口,使a、b兩臺(tái)mcs51單片機(jī)通過(guò)該接口相連接。(2)在a、b兩臺(tái)mcs51單片機(jī)各有1個(gè)按鍵。 a機(jī)k1,

18、控制b機(jī)的兩個(gè)led閃爍。 b機(jī)k2,控制a機(jī)的一位數(shù)碼管的顯示加1。(3)使用ds18b20溫度傳感器,由b機(jī)測(cè)量溫度后,傳到a機(jī)顯示。 第二章 串行通信的介紹2.1串行通信與并行通信串行通信使用的只是一根數(shù)據(jù)線,把數(shù)據(jù)一位一位地一次傳輸,其中每一位數(shù)據(jù)占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別試用于計(jì)算機(jī)和計(jì)算機(jī)、計(jì)算機(jī)和外部設(shè)備之間的遠(yuǎn)距離通信。數(shù)據(jù)在單條一位寬的傳輸線上,一比特接一比特地按順序傳送的方式稱為串行通信。 在并行通信中,一個(gè)字節(jié)(8位)數(shù)據(jù)是在8條并行傳輸線上同時(shí)由源傳到目的地;而在串行通信方式中,數(shù)據(jù)是在單條1位寬的傳輸線上一位接一位地順序傳送

19、。這樣一個(gè)字節(jié)的數(shù)據(jù)要分8次由低位到高位按順序一位位地傳送。圖2-1 串行通信與并行通信的對(duì)比2.2同步通信與異步通信 異步通信是指通信的發(fā)送與接收設(shè)備使用各自的時(shí)鐘控制數(shù)據(jù)的發(fā)送和接收過(guò)程。為使雙方的收發(fā)協(xié)調(diào),要求發(fā)送和接收設(shè)備的時(shí)鐘盡可能一致。異步通信以字符(構(gòu)成的幀)為單位進(jìn)行傳輸,字符與字符之間的間隙(時(shí)間間隔)也是任意的,但每個(gè)字符中的各位是以固定的時(shí)間傳送的。原理圖如圖2-2所示。圖2-2 異步通信原理圖同步通信時(shí)要建立發(fā)送方時(shí)鐘對(duì)接收方時(shí)鐘的直接控制,使雙方達(dá)到完全同步。此時(shí),傳輸數(shù)據(jù)的位之間的距離均為“位間隔”的整數(shù)倍,同時(shí)傳送的字符間不留間隙,即保持位同步關(guān)系,也保持字符同步

20、關(guān)系。發(fā)送方對(duì)接收方的同步可以通過(guò)外同步和自同步兩種方法實(shí)現(xiàn)。以下為自同步原理圖如圖2-3所示。a發(fā)送數(shù)據(jù)b接收時(shí)鐘信號(hào) 圖2-3 同步通信原理2.3 全雙工方式與半雙工方式mcs_51單片機(jī)有一個(gè)全雙工串行口。全雙工的串行通訊只需要一根輸出線和一根輸入線。數(shù)據(jù)的輸出我們把它稱發(fā)送數(shù)據(jù)(txd),數(shù)據(jù)輸入時(shí)我們把它稱接收數(shù)據(jù)(rxd)。串行通信中我們要解決兩個(gè)技術(shù)問(wèn)題,數(shù)據(jù)傳送是一個(gè)、數(shù)據(jù)轉(zhuǎn)換也是一個(gè)。數(shù)據(jù)傳送我們需要解決送中的標(biāo)準(zhǔn)、傳送中的格式和傳送中的工作方式等問(wèn)題。數(shù)據(jù)轉(zhuǎn)換是指數(shù)據(jù)的串行和并行轉(zhuǎn)換。具體說(shuō),在發(fā)送端,我們需要把并行傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換為串行傳輸?shù)臄?shù)據(jù);但是在接收端,我們要把接收

21、到的串行傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換為并行傳輸?shù)臄?shù)據(jù),當(dāng)數(shù)據(jù)發(fā)送及接收分流時(shí),采用兩根不同的傳輸數(shù)據(jù)線傳送的時(shí)候,通信的雙方都可以在同一時(shí)間進(jìn)行發(fā)送和接收數(shù)據(jù)的操作,以這樣的傳送方式傳送我們就稱為全雙工制式,在全雙工方式中,通信系統(tǒng)中的每一端都設(shè)置了發(fā)送器及接收器,因此,能控制數(shù)據(jù)同時(shí)地在兩個(gè)方向上傳送。全雙工方式是不需要進(jìn)行方向切換的,所以,沒有因?yàn)榍袚Q操作而產(chǎn)生時(shí)間上的延遲,這些對(duì)不能有時(shí)間上的延誤的交互式應(yīng)用非常有利。但是此種方式要求通信的雙方都有發(fā)送器及接收器,而且,我們需要兩根數(shù)據(jù)線來(lái)傳送數(shù)據(jù)信號(hào)。,前一個(gè)字符的回送過(guò)程及后一個(gè)字符的輸入過(guò)程是同時(shí)進(jìn)行的,也就是工作于全雙工方式。圖2-4是收發(fā)的波

22、特率相同的。圖2-4全雙工制式如果采用同一根傳輸數(shù)據(jù)線既要作接收又要作發(fā)送,雖然數(shù)據(jù)是可以在兩個(gè)不同的方向上傳送,但是通信的雙方卻不能同時(shí)進(jìn)行數(shù)據(jù)的收發(fā),這樣傳送的方式就稱為半雙工制,如圖2-5所示。采用的是半雙工制式的時(shí)候,通信系統(tǒng)中每一端發(fā)送器及接收器,是通過(guò)收和發(fā)的開關(guān)轉(zhuǎn)接到通信線路上的,來(lái)進(jìn)行的方向之間切換,所以,可能會(huì)產(chǎn)生時(shí)間上延遲。如圖2-5。圖2-5半雙工方式2.4 串行異步通信 串行異步通信時(shí),接收方不斷地檢測(cè)或監(jiān)視串行輸入線上的電平變化,當(dāng)檢測(cè)到有效起始位出現(xiàn)時(shí),便知道接著是有效字符位的到來(lái),并開始接收有效字符,當(dāng)檢測(cè)到停止位時(shí),就知道傳輸?shù)淖址Y(jié)束了。經(jīng)過(guò)一段隨機(jī)時(shí)間間隔之

23、后,又進(jìn)行下一個(gè)字符的傳送過(guò)程。通常接收端的采樣時(shí)鐘周期要比傳輸字符的位周期短,常用的采樣時(shí)鐘頻率為位頻率的16倍,采取這種措施是為了提高抗干擾能力 ,在串行通信中,二進(jìn)制數(shù)據(jù)以數(shù)字信號(hào)的信號(hào)形式出現(xiàn),不論是發(fā)送還是接收,都必須有時(shí)鐘信號(hào)對(duì)傳送的數(shù)據(jù)進(jìn)行定位。在ttl標(biāo)準(zhǔn)表示的二進(jìn)制數(shù)中,傳輸線上高電平表示二進(jìn)制1,低電平表示二進(jìn)制0,且每一位持續(xù)時(shí)間是固定的,由發(fā)送時(shí)鐘和接收時(shí)鐘的頻率決定。2.5串行同步通信 同步通信指的是數(shù)據(jù)傳送是以數(shù)據(jù)塊做為單位的,字符和字符之間、字符內(nèi)部的位和位之間都是同步的。同步串行通信的特點(diǎn)可以概括為:以數(shù)據(jù)塊作為傳送單位傳送信息;在一個(gè)信息幀之內(nèi),字符和字符間沒

24、有間隔;因?yàn)槊恳淮蝹鬏數(shù)臄?shù)據(jù)塊中包含的數(shù)據(jù)比較多,因而接收時(shí)鐘和發(fā)送進(jìn)鐘是嚴(yán)格同步的,所以通常我們的單片機(jī)設(shè)計(jì)中要有同步時(shí)鐘。同步串行通信的數(shù)據(jù)格式是每個(gè)數(shù)據(jù)塊或信息幀由3部分組成:  一個(gè)數(shù)據(jù)塊為兩個(gè)同步字符也就是信息幀,作為起始標(biāo)志;n個(gè)連續(xù)傳送的數(shù)據(jù);  2個(gè)字節(jié)循環(huán)冗余校驗(yàn)碼(crc)。 2.6 串口通信參數(shù)設(shè)置串口通信最重要的參數(shù)是停止位和奇偶校驗(yàn)、波特率和數(shù)據(jù)位。要進(jìn)行兩個(gè)端口的通信,就必須配置這些參數(shù):波特率:這是一個(gè)通信速度衡量的參數(shù)。表示的是每一秒鐘傳送的bit個(gè)數(shù)。比如100波特是表示每一秒鐘發(fā)送100個(gè)bit。如果我們說(shuō)到的是時(shí)鐘的

25、周期,那么指的就是波特率,例如協(xié)議需要2400波特率,那么時(shí)鐘是2400hz。這就是說(shuō)串口通信在數(shù)據(jù)線上的采樣率為2400hz。通常電話線的波特率為36600,28800和14400。但是波特率是可以遠(yuǎn)遠(yuǎn)大于這些值的,同時(shí)波特率與距離是成反比的。高的波特率常用于放置得很近的儀器間通信,其中g(shù)pib設(shè)備的通信就是一個(gè)例子。數(shù)據(jù)位:是一個(gè)衡量通信中的實(shí)際數(shù)據(jù)位的一個(gè)重要參數(shù)。如果單片機(jī)發(fā)送了一個(gè)信息包時(shí),實(shí)際的數(shù)據(jù)不可能一定就是8位,標(biāo)準(zhǔn)的值可能是5位、7位和8位。要怎樣設(shè)置決定于你想傳送什么樣的信息。列如,一般標(biāo)準(zhǔn)ascii碼采用的是0127(7位)。擴(kuò)展的ascii碼是0255(8位)。如果數(shù)

26、據(jù)使用標(biāo)準(zhǔn) ascii碼,那么他的一個(gè)數(shù)據(jù)包就是用7位數(shù)據(jù)的。每個(gè)包就是指一個(gè)字節(jié),其中包括開始位和停止位,數(shù)據(jù)位和奇偶校驗(yàn)位。基于實(shí)際的數(shù)據(jù)位取決于通信協(xié)議標(biāo)準(zhǔn),術(shù)語(yǔ)“包”指任何通信的情況。 停止位:用于表示單個(gè)包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時(shí)的,并且每一個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺(tái)設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會(huì)。適用于停止位的位數(shù)越多,不同時(shí)鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時(shí)也越慢。奇偶校驗(yàn)位:在串口通信中一種簡(jiǎn)單的檢錯(cuò)方式。有四種檢錯(cuò)方式:偶、奇、高和低。當(dāng)然沒有校驗(yàn)位也是可

27、以的。對(duì)于偶和奇校驗(yàn)的情況,串口會(huì)設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個(gè)值確保傳輸?shù)臄?shù)據(jù)有偶個(gè)或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對(duì)于偶校驗(yàn),校驗(yàn)位為0,保證邏輯高的位數(shù)是偶數(shù)個(gè)。如果是奇校驗(yàn),校驗(yàn)位位1,這樣就有3個(gè)邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡(jiǎn)單置位邏輯高或者邏輯低校驗(yàn)。這樣使得接收設(shè)備能夠知道一個(gè)位的狀態(tài),有機(jī)會(huì)判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。2.7 51單片機(jī)串行通信格式及波特率51單片機(jī)串口通信協(xié)議有4種方式,其中對(duì)1方式(8位),2,3方式(9位)的格式,中在每發(fā)送一個(gè)字節(jié)數(shù)據(jù)前都有一個(gè)起始位0,發(fā)送完畢一個(gè)字節(jié)后有一個(gè)停止位1,當(dāng)想要

28、在sbuf寫一個(gè)字節(jié)的數(shù)據(jù)流時(shí),單片機(jī)會(huì)自動(dòng)加上起始位,當(dāng)ti=1時(shí),就會(huì)自動(dòng)加上停止位。也就是在串口通信時(shí)只需要設(shè)置,串口中斷,串口模式,以及串口中斷函數(shù)的處理,還有就是波特率。在本次設(shè)計(jì)的串行通信中,發(fā)送和接收數(shù)據(jù)時(shí),們要對(duì)數(shù)據(jù)的速率肯定要有一個(gè)約定,我通過(guò)軟件可以對(duì)mcs-51單片機(jī)的串行口編程制定四種工作方式。這其中,方式0及方式2的波特率是固定不變的,但是方式1和方式3的波特率是可以變的,它是由定時(shí)器t1溢出率決定。方式0時(shí),移位時(shí)鐘脈沖由56(即第6個(gè)狀態(tài)周期,第12個(gè)節(jié)拍)給出,即每個(gè)機(jī)器周期產(chǎn)生一個(gè)移位時(shí)鐘,發(fā)送或者接收一位數(shù)據(jù)。所以,波特率就可以是振蕩頻率的十二分之一,并不受

29、pcon寄存器中smod的影響,即:方式0的波特率fosc/12。方式1及方式3的移位時(shí)鐘脈沖是由定時(shí)器t1的溢出率決定的,故波特率是由定時(shí)器t1的溢出率和smod的值共同決定,也就是方式1及方式3的波特率就可以寫成2smod/32*t1溢出率。這其中,溢出率是取決于計(jì)數(shù)的速率和定時(shí)器預(yù)置的值。計(jì)數(shù)速率與tmod寄存器中c/t的狀態(tài)有關(guān)。當(dāng)c/t0時(shí),計(jì)數(shù)速率fosc/2;當(dāng)c/t1時(shí),計(jì)數(shù)速率取決于外部輸入時(shí)鐘頻率。  第三章 系統(tǒng)設(shè)計(jì)3.1系統(tǒng)整體框圖要實(shí)現(xiàn)兩mcs51單片單片機(jī)之間的串行通信就需要兩rs232,分別接在各自的單片機(jī)上,然后再通過(guò)他們相連,兩單片機(jī)實(shí)現(xiàn)了通信,才可

30、以繼而實(shí)現(xiàn)開關(guān)控制led閃爍和控制溫度顯示等。總之本課題研究的內(nèi)容最主要是實(shí)現(xiàn)兩單片機(jī)的通信,led閃爍和溫度控制是他實(shí)現(xiàn)的表現(xiàn)形式。由溫度傳感器給單片機(jī)發(fā)送溫度,然后在lcd上顯示,而后是控制led閃爍需要一個(gè)開關(guān)或按鈕,和需要另外一個(gè)開關(guān)或按鈕來(lái)實(shí)現(xiàn)控制數(shù)碼管顯示加1,這些通信都是兩單片機(jī)之間的收發(fā)通信,而且是串行通信,所以我們不可能同時(shí)實(shí)現(xiàn)這些程序,當(dāng)我們控制led閃爍后,需要控制數(shù)碼管顯示加1就得關(guān)閉控制led閃爍的開關(guān),然后打開控制數(shù)碼管的開關(guān)才能實(shí)現(xiàn)數(shù)碼管顯示加1。下面是整個(gè)系統(tǒng)的設(shè)計(jì)思想,用圖形表示出來(lái)就是如圖3-1。圖3-1系統(tǒng)框圖3.2兩個(gè)rs232串口服務(wù)器之間的連接3.2

31、.1 max232芯片圖3-2 設(shè)計(jì)中采用的max232芯片 圖3-2 max232芯片其內(nèi)部是由一個(gè)電源電壓變換器組成的,它可以將輸入的+5v電壓轉(zhuǎn)換成rs-232輸出電平時(shí)所需的±12v的電壓。所以采用這種芯片來(lái)實(shí)現(xiàn)接口電路特別方便,只需單一的+5v電源輸入即可。max232芯片的引腳結(jié)構(gòu)如上圖所示。其中芯片的管腳16(c1+、v+、c1-、c2+、c2-、v-)是用于電源電壓的轉(zhuǎn)換,只要在外部接入相應(yīng)的電解電容就可以了;管腳710及管腳1114構(gòu)成了兩組ttl電平與rs-232電平之間的轉(zhuǎn)換電路,這些相對(duì)應(yīng)的管腳就可以直接和單片機(jī)串行口的ttl電平引腳直接相連接了。3.2.2

32、rs232 連接方式兩rs232把他們連接起來(lái)就可以構(gòu)成一個(gè)實(shí)用的系統(tǒng),用一個(gè)圖就可以很清晰的看清楚他們之間的連接,如圖3-3。 圖3-3 兩rs232的連接如果甲方準(zhǔn)備好之后,乙方就會(huì)產(chǎn)生呼叫(ri)有效,同時(shí)也準(zhǔn)備好(dsr)。同時(shí)甲方rts和cts相連接,而且還要和dcd互連。也即是,如果甲方請(qǐng)求發(fā)送(rts),就會(huì)得到允許(cts),同時(shí),也可以使乙方dcd有效,這是就是檢測(cè)到了載波信號(hào)。甲方的tx和乙方的rxd相連接,就是一發(fā)一收。 串行通信中,線路空閑時(shí),線路的ttl電平總是高的,經(jīng)反向rs232的電平總是低的,一個(gè)數(shù)據(jù)的開始rs232線路為高電平,結(jié)束時(shí)rs232線路為低電平,數(shù)

33、據(jù)總是總低位向高位一位一位的傳輸。ttl電平串行數(shù)據(jù)幀格式如圖3-6:圖3-4 ttl電平串行數(shù)據(jù)幀格式rs232電平串行數(shù)據(jù)幀格式如圖3-5:圖3-5 rs232電平串行數(shù)據(jù)幀格式用protues仿真軟件畫出實(shí)際rs232之間的連接電路圖如圖3-6。 圖3-6 rs232之間的連接電路圖rs232的標(biāo)準(zhǔn)就是將(+3v)-(+15v),(-3v)-(-15v)的電平作為通訊的高低電平使用,所謂的信號(hào)強(qiáng)弱是和電壓、電流有關(guān),通常rs232的通訊電流都在5ma-10ma左右,如果導(dǎo)線過(guò)長(zhǎng),電損耗相對(duì)也會(huì)加大,那么電壓就會(huì)下降,這樣便會(huì)影響到信號(hào)識(shí)別。 開始通信時(shí),信號(hào)線為空閑(邏輯1)模式時(shí),如果

34、檢測(cè)到從1跳變到0時(shí),便開始接收時(shí)鐘吲數(shù)。如果檢測(cè)到8個(gè)時(shí)鐘,便要對(duì)對(duì)輸入的信號(hào)進(jìn)行檢測(cè),如果仍然是低電平,就確認(rèn)這就是“起始位”,而不是干擾得信號(hào);在起始位被收端檢測(cè)到后,這期間隔16個(gè)接收的時(shí)鐘,每檢測(cè)一次輸入信號(hào),就會(huì)把相對(duì)應(yīng)的值作為do的位數(shù)據(jù)。如果是邏輯1的話,則作為數(shù)據(jù)位1。每當(dāng)隔16個(gè)接收時(shí)鐘的時(shí)候,對(duì)輸入的信號(hào)再檢測(cè)一次,我們就把相對(duì)應(yīng)的值作為d1位數(shù)據(jù),直到全部數(shù)據(jù)位都已經(jīng)輸入;當(dāng)檢測(cè)校驗(yàn)位p和數(shù)據(jù)位個(gè)數(shù)及校驗(yàn)位之后,接下來(lái)通信接口電路則會(huì)收到停止位如果此時(shí)沒有收到邏輯1,就是出錯(cuò)了,在狀態(tài)寄存器中設(shè)置”幀錯(cuò)誤晰志;在這一幀信息全部都接收完之后,我們把線路上所有出現(xiàn)的高電平作

35、為空閑位;每當(dāng)信號(hào)再一次變?yōu)榈碗娖降臅r(shí)候,就會(huì)開始進(jìn)入下一幀檢測(cè)。這其中,字符幀開頭的開頭是起始位,總共占1位,始終都為邏輯0電平,用于表示接收設(shè)備向發(fā)送端開始發(fā)送信息。始位之后就是數(shù)據(jù)位,他們可以設(shè)置成5、6、7、8位,低位的在前高位的在后。數(shù)據(jù)位之后是奇偶校驗(yàn)位,僅僅占一位,用它來(lái)表示單片機(jī)串行通信中采用的是奇校驗(yàn)還是偶校驗(yàn)。 3.3時(shí)鐘電路的作用時(shí)鐘電路的核心是個(gè)比較穩(wěn)定的晶體振蕩器,晶體振蕩器產(chǎn)生正弦波,把頻率進(jìn)行分頻,處理,形成時(shí)鐘脈沖,提供一個(gè)符合單片機(jī)要求的脈沖寬度和電平范圍的復(fù)位信號(hào),以使單片機(jī)回到初始狀態(tài)重新開始。在mcs51單片機(jī)片內(nèi)是一個(gè)高增益反相放大器,輸入端為xtal

36、1為反相放大器,xtal2為輸出端,由該放大器構(gòu)成的振蕩電路和時(shí)鐘電路便構(gòu)成了單片機(jī)時(shí)鐘方式。根據(jù)電路的不同,單片機(jī)的時(shí)鐘方式可分為內(nèi)部時(shí)鐘方式及外部時(shí)鐘方式兩種。本次設(shè)計(jì)我用到的是內(nèi)部方式時(shí)鐘。在內(nèi)部方式時(shí)鐘電路中,我們要在xtal1和xtal2引腳兩端跨接上石英晶體振蕩器及兩個(gè)微調(diào)電容構(gòu)以成振蕩電路,通常c1和c2一般取30pf,晶振的頻率取值在1.2mhz12mhz之間。對(duì)于外接時(shí)鐘電路,要求xtal1接地,xtal2腳接外部時(shí)鐘,對(duì)于外部時(shí)鐘信號(hào)并無(wú)特殊要求,只要保證一定的脈沖寬度,時(shí)鐘頻率低于12mhz即可。晶體振蕩器的振蕩信號(hào)從xtal2端送入內(nèi)部時(shí)鐘電路,它將該振蕩信號(hào)二分頻,產(chǎn)

37、生一個(gè)兩相時(shí)鐘信號(hào)p1和p2供單片機(jī)使用。時(shí)鐘信號(hào)的周期稱為狀態(tài)時(shí)間s,它是振蕩周期的2倍,p1信號(hào)在每個(gè)狀態(tài)的前半周期有效,在每個(gè)狀態(tài)的后半周期p2信號(hào)有效。cpu就是以兩相時(shí)鐘p1和p2為基本節(jié)拍協(xié)調(diào)單片機(jī)各部分有效工作的。如圖3-7是內(nèi)部方式的時(shí)鐘電路。 圖 3-7 內(nèi)部方式時(shí)鐘電路3.4 led的接入圖3-8 發(fā)光二極管的接入3.5溫度采集與顯示3.5.1 ds18b20溫度傳感器ds18b20內(nèi)部主要由4部分組成:64位光刻rom、溫度傳感器、非易失性溫度報(bào)警觸發(fā)器th和tl、配置寄存器等。以下是ds18b20的內(nèi)部結(jié)構(gòu)圖,如圖3-9。圖 3-9 ds18b20的內(nèi)部結(jié)構(gòu)圖3.5.2

38、溫度傳感器與單片機(jī)的連接ds18b20與51單片機(jī)的連接非常簡(jiǎn)單,只須把ds18b20的數(shù)據(jù)線dq與51單片機(jī)的一根并口線連接即可,51單片機(jī)通過(guò)這根并口就能實(shí)現(xiàn)對(duì)ds18b20的所有操作,ds18b20的電源可采用外部電源供電,也可采用內(nèi)部寄生電源供電。當(dāng)外部電源供電時(shí),vdd接外部電源,gnd接地。當(dāng)采用內(nèi)部寄生電源供電時(shí),vdd與gnd一起接地。另外,也可用多片ds18b20連接組網(wǎng)形成多點(diǎn)測(cè)溫系統(tǒng),在多片連接時(shí),ds18b20必須采用外部電源供電方式。本次設(shè)計(jì)采用的是外部電源供電方式,b機(jī)與溫度傳感器電路連接如圖3-10。圖3-10 溫度傳感器與mcs51單片機(jī)(b機(jī))的連接3.5.3

39、 b機(jī)控制ds18b20溫度轉(zhuǎn)換 根據(jù)ds18b20的通信協(xié)議,b機(jī)控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫之前都要對(duì)ds18b20進(jìn)行復(fù)位,在復(fù)位成功之后就會(huì)發(fā)送rom指令一條,最后就是發(fā)送ram指令了,這樣就能對(duì)ds18b20溫度傳感器進(jìn)行預(yù)定操作。每一次的命令及數(shù)據(jù)的傳輸都是從b機(jī)主動(dòng)啟動(dòng)寫時(shí)序開始,如果要a機(jī)回送數(shù)據(jù),在進(jìn)行命令的編寫后,b機(jī)需要啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)及命令的傳輸都是低位在前。時(shí)序分為初始化的時(shí)序,讀時(shí)的時(shí)序和寫時(shí)的時(shí)序。復(fù)位時(shí)要求b機(jī)cpu將數(shù)據(jù)線下拉500s,然后釋放,ds18b20收到信號(hào)后等待1560s左右,后發(fā)出60240s的低電平,b

40、機(jī)cpu收到此信號(hào)則表示復(fù)位成功。 讀時(shí)序可以分為讀“0”時(shí)時(shí)的時(shí)序和讀“1”時(shí)的時(shí)序兩個(gè)過(guò)程。對(duì)于ds18b20溫度傳感器的讀時(shí)序是從b機(jī)把單總線拉低,之后15s之內(nèi)釋放a機(jī),以讓ds18b20溫度傳感器把數(shù)據(jù)傳輸?shù)絘機(jī)上。ds18b20溫度傳感器完成一個(gè)讀的時(shí)序最少需要60s。 對(duì)于ds18b20的寫時(shí)的時(shí)序仍然是分為寫“0”時(shí)序和寫“1”時(shí)序兩個(gè)過(guò)程。ds18b20溫度傳感器寫“0”時(shí)序和寫“1”時(shí)序的要求有所不同,當(dāng)我們要寫“0”時(shí)序時(shí),單片機(jī)的單總線就會(huì)被拉低最少60s,以保證ds18b20溫度傳感器能夠在15s到45s之間正確地采樣總線上的“0”電平;當(dāng)要寫“1

41、”時(shí),單總線被拉低之后,在15s之內(nèi)就得釋放a機(jī)。3.5.4 lcd和數(shù)碼管與單片機(jī)的連接和排阻的接入3.5.4.1 排阻的選擇排阻,是一排電阻的簡(jiǎn)稱。一個(gè)排阻是由n個(gè)電阻構(gòu)成的,那么它就有n+1只引腳,我們知道,內(nèi)存在處理、傳輸數(shù)據(jù)時(shí)會(huì)產(chǎn)生大小不一的工作電流。而在內(nèi)存顆粒走線的必經(jīng)之處安裝一排電阻,則能夠幫助內(nèi)存起到穩(wěn)壓作用,讓內(nèi)存工作更穩(wěn)定。從而提升內(nèi)存的穩(wěn)定性,增強(qiáng)內(nèi)存使用壽命。上拉、限流。和普通電阻一樣,相比而言簡(jiǎn)化了pcb的設(shè)計(jì)、安裝,減小空間,保證焊接質(zhì)量。在mcs51單片機(jī)中,當(dāng)p0口的一個(gè)位寫入0時(shí),這個(gè)位被拉低。但是對(duì)p0口的其中一個(gè)位寫入1時(shí),這個(gè)位呈現(xiàn)高阻,也就是未能連機(jī)

42、,不能使用。要想獲得1輸出,你必須在p0口外加上拉電阻。 p1口具有內(nèi)部上拉電阻,當(dāng)端口用作輸入時(shí),必須通過(guò)指令將端口的位鎖存器置1,以關(guān)閉輸出驅(qū)動(dòng)場(chǎng)效應(yīng)管,這時(shí)p1口的引腳由內(nèi)部上拉電阻拉為高電平,所以向p1寫入1,工作正常。p0則不同,它沒有內(nèi)部上拉電阻,在驅(qū)動(dòng)場(chǎng)效應(yīng)管的上方有一個(gè)提升場(chǎng)效應(yīng)管,它只是在對(duì)外存儲(chǔ)器進(jìn)行讀寫操作,用作地址/數(shù)據(jù)時(shí)才起作用,當(dāng)向位鎖存器寫入1,使驅(qū)動(dòng)場(chǎng)效應(yīng)管截止,則引腳浮空,所以寫入1而未獲得。p0口上拉電阻阻值的選擇,驅(qū)動(dòng)lcd,那么用1k左右的上拉就行了。如果希望亮度大一些,電阻可減小,最小不要小于200歐姆,否則電流太大;如果希望亮度小一些,電阻可增大,增

43、加到多少呢,主要看亮度情況,以亮度合適為準(zhǔn),一般來(lái)說(shuō)超過(guò)3k以上時(shí),亮度就很弱了,但是對(duì)于超高亮度的lcd,有時(shí)候電阻為10k時(shí)覺得亮度還能夠用。但是要注意上拉電阻的阻值太大的時(shí)候,容易產(chǎn)生干擾,尤其是線路板的線條很長(zhǎng)的時(shí)候,這種干擾更嚴(yán)重,這種情況下上拉電阻不宜過(guò)大,一般要小于100k,有時(shí)候甚至小于10k。3.5.4.2 lcd、數(shù)碼管接入本次設(shè)計(jì)采用的排阻是respack-8,共9個(gè)腳。其中第1腳接vcc,2至9腳接p0口。數(shù)碼管接單片機(jī)p1口,而p1口有內(nèi)部上拉電阻,本次設(shè)計(jì)中采用的只是8段數(shù)碼管,所以數(shù)碼管就不用加上拉電阻。其中l(wèi)cd和單片機(jī)之間采用空中接口連接。如圖3-11。 圖3

44、-11 lcd和數(shù)碼管的接入3.6整體電路 綜上所述,我們從圖3-1已經(jīng)知道了整個(gè)電路圖的布局,而且也分別研究了各個(gè)分系統(tǒng),圖3-1主要是設(shè)計(jì)的主體思路,方框來(lái)大體的表示要用到的電子元器件,這樣可以很直觀的看出設(shè)計(jì)的系統(tǒng)思想,對(duì)畫電路圖和寫程序有一定的幫助。也可以使讀者很快看出我的設(shè)計(jì)思想。最后把以各部分聯(lián)系起來(lái),我們就可以采用proteus可以很快畫出系統(tǒng)電路圖,發(fā)送方的數(shù)據(jù)由串行口txd段輸出,經(jīng)過(guò)電平轉(zhuǎn)化芯片max232將ttl電平轉(zhuǎn)換成rs232電平輸出,經(jīng)過(guò)傳輸線將信號(hào)傳送到接收端,接收端也使用mx232芯片進(jìn)行電平轉(zhuǎn)換,信號(hào)到達(dá)接收方串行口的接收端。led的接入放在p2口,p1.2

45、-p1.7口是準(zhǔn)雙向接口,可以做輸入或輸出口使用,所以k2放在p1.7口,p3口為多功能口,它的每一位都有各自的第二功能,所以k1放在p3.7口,具體接口在程序里控制好就可以了。下圖是整個(gè)系統(tǒng)的電路圖,如圖3-11。圖 3-11 整個(gè)系統(tǒng)電路圖 第四章 軟件調(diào)試4.1程序流程圖 4.1.1串行接口流程圖串行接口可以將來(lái)自單片機(jī)cpu的并行數(shù)據(jù)字符轉(zhuǎn)換成連續(xù)的串行數(shù)據(jù)流發(fā)送出去,同時(shí)可將接收到的串行數(shù)據(jù)流轉(zhuǎn)換為并行數(shù)據(jù)字符供給單片機(jī)cpu器件。完成這種功能的電路,我們一般稱為串行接口電路。串口發(fā)送和接收字節(jié)按位(bit)進(jìn)行。雖然比起按字節(jié)(byte)的并行通信速度慢,但是串口可以在使用一根線發(fā)

46、送數(shù)據(jù)的時(shí)候用另一根線同時(shí)接收數(shù)據(jù)。 圖4-1 串口通信程序流程圖4.1.2 k1、k2鍵程序流程圖 圖 4-2 k1、k2程序流程圖4.1.3溫度采集與顯示子程序流程圖圖4-3 溫度采集與顯示程序流程圖4.1.4 主程序流程圖單片機(jī)程序主要包括串行數(shù)據(jù)采集模塊和串行數(shù)據(jù)傳輸模塊,收發(fā)時(shí)a機(jī)先向b機(jī)發(fā)送“請(qǐng)求b機(jī)發(fā)送”命令,要求b機(jī)發(fā)送數(shù)據(jù);b機(jī)收到該命令后返回一個(gè)“發(fā)送準(zhǔn)備好”命令;a機(jī)收到“發(fā)送準(zhǔn)備好”命令后,準(zhǔn)備接收數(shù)據(jù)塊;接著傳輸數(shù)據(jù),通信結(jié)束后返回到初始狀態(tài)。b機(jī)向a機(jī)發(fā)送程序時(shí)則反過(guò)來(lái)。下面是整個(gè)系統(tǒng)的程序流程圖,如圖4-4所示。圖4-4 主程序流程圖4.2程序的調(diào)入與仿真結(jié)果通過(guò)

47、編程器生成的,擴(kuò)展名為.hex的可執(zhí)行文件燒寫到單片機(jī)內(nèi)。在寫入之前還可以進(jìn)行軟件仿真,既在軟件上模擬單片機(jī)程序原形情況,以便進(jìn)行調(diào)試和修改。本次設(shè)計(jì)就是做軟件仿真,模擬單片機(jī)程序原型。仿真結(jié)果如圖4-5。下圖是先按下開關(guān)k2,按5下,數(shù)碼管顯示4;然后按下開關(guān)k1,a機(jī)的兩led就一直在閃爍。lcd里的初始溫度顯示14 ;ds18b20 里可以對(duì)溫度進(jìn)行加減,圖示溫度是我已經(jīng)按了5下里的ds18b20上鍵了。圖4-5 系統(tǒng)仿真圖為了結(jié)果清晰可見,對(duì)各部分程序?qū)崿F(xiàn)的仿真截圖如下,圖4-6 是在初始化程序開始后連續(xù)按了3下k2。 圖4-6 數(shù)碼管顯示加1圖4-7 是溫度傳感器,這protues仿

48、真中,用它來(lái)調(diào)節(jié)lcd上顯示的溫度。 圖 4-7 溫度傳感器 圖4-8 lcd顯示溫度 圖4-9 k1控制的兩led閃爍第五章 論文總結(jié)mcs51單片機(jī)的串行口是一個(gè)全雙工串行口,可同時(shí)發(fā)送和接收數(shù)據(jù)。它有4種工作方式,不僅可用于擴(kuò)展并行輸入,輸出口,而且可用于單片機(jī)與單片機(jī),單片機(jī)與pc及之間的異步通信。通過(guò)對(duì)與串行口有關(guān)的特殊功能寄存器(sfr)、串行控制寄存器(scon)、電源控制器(pcon)和定時(shí)器的編程設(shè)置,串行口可工作在不同的模式,不同的速度,從而實(shí)現(xiàn)不同的通信功能。mcs51單片機(jī)與其它設(shè)備進(jìn)行通信時(shí),僅需一至兩根導(dǎo)線,適用于長(zhǎng)距離信息傳輸。因此,mcs51單片機(jī)串行口通信技術(shù)

49、是當(dāng)今成熟而又應(yīng)用非常廣泛的一種通信技術(shù)。串行通信是cpu與外界交換信息的一種基本通信方式。通信時(shí)僅需一到兩根傳輸線,且每次只能傳送一位,適用于長(zhǎng)距離傳輸,但速度較慢。51系列單片機(jī)有一個(gè)可編程的全雙工串行通信接口,它可作異步接收發(fā)送器用,也可做同步移位寄存器用,其幀格式可有8位、10位或11位,并能設(shè)置各種波特率,給使用帶來(lái)很大的靈活性。51系列單片機(jī)有兩個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器sbuf,可同時(shí)發(fā)送、接送數(shù)據(jù)。發(fā)送緩沖器只能寫入,不能讀出,接收緩沖器只能讀出、不能寫入。串行發(fā)送接收的速率與波特率發(fā)生器產(chǎn)生的移位脈沖同頻。51系列單片機(jī)用定時(shí)器t1或直接用cpu時(shí)鐘作為通信波特率發(fā)生器的

50、輸入,在串行接口的不同工作方式中,波特率發(fā)生器從兩個(gè)輸入信號(hào)中選擇一個(gè)分頻,產(chǎn)生移位脈沖來(lái)同步串口的接收和發(fā)送,移位脈沖的速率即是波特率。通過(guò)本次畢業(yè)設(shè)計(jì),然我對(duì)單片機(jī)有了一個(gè)全面的了解和學(xué)習(xí),對(duì)51單片機(jī)管腳,時(shí)鐘電路,上拉電阻,溫度傳感器有比較深刻的印象,對(duì)單片機(jī)有了一定的興趣,希望以后有時(shí)間及機(jī)會(huì)再研究單片機(jī)。但是在本次畢業(yè)設(shè)計(jì)中,對(duì)于初學(xué)者的我,明顯對(duì)基礎(chǔ)知識(shí)掌握的不夠好,以至于困難重重。在以后的學(xué)習(xí)生活中,我一定會(huì)學(xué)會(huì)腳踏實(shí)地的做好每一件值得做的事。 參考文獻(xiàn)1沙愛軍, 基于單片機(jī)的超聲波測(cè)距系統(tǒng)的研究與設(shè)計(jì)j電子科技,2009,22(11)2胡漢才單片機(jī)原理與其接口技術(shù)(第二版)m

51、北京:清華大學(xué)出版社,20043彭偉,單片機(jī)c語(yǔ)言程序設(shè)計(jì)實(shí)例100例.電子工業(yè)出版社.2009,064 高峰 . 單片微機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)及實(shí)用技術(shù). 北京:機(jī)械工業(yè)出版社,20044 陳光東,趙性初 . 單片微型計(jì)算機(jī)原理與接口技術(shù). 武漢:華中科技大學(xué)出版社,19956夏繼強(qiáng) . 單片機(jī)實(shí)驗(yàn)與實(shí)踐教程. 北京:北京航空航天大學(xué)出版社, 2001 7張傳新,徐少杰pc機(jī)與mcs-51單片機(jī)主從多機(jī)通信控制程序的研究j.伊圖里河分局研究所,鐵路計(jì)算機(jī)應(yīng)用第5卷第2期 p10-128黃亮基于at89c51單片機(jī)的串行通信程序設(shè)計(jì)j. 中國(guó)地質(zhì)大學(xué),單片機(jī)實(shí)用電子制作29-32謝辭光陰似箭, 日月如

52、棱。 三年的時(shí)間, 在我漫長(zhǎng)的人生旅途中顯得那么短暫,到了該告別的時(shí)候了,一念至此,竟有些恍惚。如果把大學(xué)生活看作一場(chǎng)場(chǎng)循環(huán)的演出,那么我只是一個(gè)安靜的演員。這篇畢業(yè)論文也將是這種循環(huán)演出即將告一段落時(shí)的謝幕詞。但是,這短短的三年是最真誠(chéng)的青春,是最純真的歲月,是最美麗的大學(xué)生活 我的自學(xué)能力在這里得提升,我感謝所有的恩師:是您們賦予我最有意義的收獲;給我一個(gè)全新的角度去發(fā)現(xiàn)美、創(chuàng)造美、欣賞美,給我美的眼睛去發(fā)現(xiàn)世界的美,感悟生活的美;教會(huì)我珍惜友誼和時(shí)間;給了我看世界的眼睛,是你們用博大的胸懷,給予我們最無(wú)私的關(guān)懷和奉獻(xiàn)。 附錄串口通信子程序:#include<reg51.h>v

53、oid main (void)  scon=0x50; th1=0xfd; tr1=1; ea=1;/打開總中斷     es=1;/打開串口中斷while(1) /主循環(huán)不做任何動(dòng)作       void uart_ser(void)interrupt 4 /串行中斷服務(wù)程序  unsigned char temp;/定義臨時(shí)變量    

54、;   if(ri) /判斷是接收中斷產(chǎn)生       ri=0; /標(biāo)志位清零     temp=sbuf; /讀入緩沖區(qū)的值       p1=temp; /把值輸出到p1口       sbuf=temp;    if(ti) /如果

55、是發(fā)送標(biāo)志位,清零      ti=0; 發(fā)光二極管子程序:#include<reg51.h>void delay1ms(unsigned int count)unsigned int i,j;for(i=0;i<count;i+)for(j=0;j<120;j+);main()unsigned char ledindex=0;bit leddirection=1;while(1)if(leddirection)p2=(0x01<<ledindex);elsep2=(0x80>>ledindex); if(ledindex=7)leddirection=!leddirection;ledindex=(ledindex+1)%8;delay1ms(500);顯示子程序:#include<reg51.h>#include"lcd1602.h"sbit k1=p37; unsigned char table10=0xc0,0xf9,0xa4,0xb0,0x9

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論