單片機與PC通訊.doc_第1頁
單片機與PC通訊.doc_第2頁
單片機與PC通訊.doc_第3頁
單片機與PC通訊.doc_第4頁
單片機與PC通訊.doc_第5頁
免費預覽已結(jié)束,剩余11頁可下載查看

下載本文檔

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

文檔簡介

單片機原理與應用課程設計單片機與PC機通訊及動態(tài)顯示1、摘要: 在單片機的應用中,單片機的通訊是不可缺少的一部分。單片機的通訊分為并行通信和串行通信。并行通信時,數(shù)據(jù)的個位同時傳送。其優(yōu)點是傳送速度快;缺點是數(shù)據(jù)有多少位就需要多少根數(shù)據(jù)線,在長距離傳輸中,傳輸線過多是不經(jīng)濟的,并使系統(tǒng)的抗干擾能力降低。串行通信時,數(shù)據(jù)的個位按照一定的順序逐位分時傳送。它的突出優(yōu)點是只需要一對數(shù)據(jù)線,大大的降低了網(wǎng)絡成本,特別適用于遠距離通信。其缺點就是通信速度較低。相比之下,并行通信雖然傳輸效率高,但是所需要設備復雜,遠距離通信成本太高,所以其只適用于實時性較強,傳輸速率要求較高的設備中。而串行通信則相對需要設備簡單,成本低廉,適合遠距離傳輸通信,所以已經(jīng)被廣泛應用于各工業(yè)控制系統(tǒng)中。在此系統(tǒng)設計報告中,硬件方面包括單片機供電穩(wěn)壓系統(tǒng)、單片機基礎(chǔ)介紹、MAX232芯片介紹、數(shù)碼管的動態(tài)顯示介紹、硬件的連線等。軟件方面包括了程序框圖、程序流程圖、C語言的最后程序。關(guān)鍵詞:串行通信 動態(tài)顯示 中斷2、簡介 系統(tǒng)功能:在PC機上輸入00FF的十六進制數(shù)據(jù),通過串行口發(fā)送至單片機,單片機接收之后用中斷系統(tǒng)控制兩個八位數(shù)碼管動態(tài)顯示出來。且將數(shù)據(jù)回發(fā)至PC機,以確定單片機系統(tǒng)接收數(shù)據(jù)是否正確。本系統(tǒng)基于AT89S52單片機開發(fā),其中數(shù)碼管的片選信號由P2口控制,各段的顯示由P0口控制。所有器件集中在銳志開發(fā)板上,有串行總線經(jīng)USB連接至PC機上。3、系統(tǒng)硬件說明 3.1 單片機各引腳分布及其簡要介紹 (1) P0口:是八位雙向三態(tài)I/O口。在訪問外部存儲器時可以做低八位地址線和八位數(shù)據(jù)線。沒有接上拉電阻。(2) P1口:內(nèi)部帶有上拉電阻的八位雙向三態(tài)I/O口。能接收低八位地址,(3) P2口:內(nèi)部帶有上拉電阻的八位雙向三態(tài)I/O口。訪問外部存儲器的時候可以送出高八位地址。(4) P3口:內(nèi)部帶有上拉電阻的八位雙向三態(tài)I/O口。有第二功能。 P3.0 RXD 串行輸入口P3.1 TXD 串行輸出口 P3.2 /INT0 外部中斷0 P3.3 /INT1 外部中斷1 P3.4 T0 定時計數(shù)器0 P3.5 T1 定時計數(shù)1 P3.6 /WR 外部數(shù)據(jù)存儲器寫選通 P3.7 /RD 外部數(shù)據(jù)存儲器讀選通(5) Vcc和Vss分別是+5V電源和地(6) XTAL1和XTAL2外接晶振引腳(7) RESET 復位引腳(8) EA 內(nèi)部外部存儲器選通信號(9) ALE 實現(xiàn)數(shù)據(jù)和地址的分離(10) /PSEN 外部程序存儲器讀選通信號3.2 單片機內(nèi)部結(jié)構(gòu)圖從下圖可知,它主要由8個部件通過片內(nèi)總線連接而成。部件有中央處理器(CPU)、數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM/EPROM)、并行輸入/輸出口、串行口、定時/計數(shù)器、中斷系統(tǒng)及特殊功能寄存器。CPU(運算部件)(控制部件)數(shù)據(jù)存儲器P0口P2口程序存儲器P1口串行口定時/計數(shù)器P3口中斷系統(tǒng)特殊功能寄存器(SFR)3.3 本設計中所用特殊功能寄存器介紹3.3.1 TMODGATAC/TM1M0GATAC/TM1M0 (1) GATA:門空位。是定時控制器的開啟與外部中斷和單片機內(nèi)部開啟結(jié)合起來。(2) C/T: 為0時,是定時器。為1時,是計數(shù)器(3) M0和M1:用來選擇工作方式。3.3.2 TCONTF1TR1TF0TR0IE1IT1IE0IT0 (1) TF1和TF0: 定時計數(shù)器0和1的溢出標志位。(2) TR1和TR0: 定時計數(shù)器0和1的開啟位。(3) 其中低四位與中斷系統(tǒng)的外部中斷有關(guān)。本設計中不涉及。3.3.3 SCONSM0SM1SM2RENTB8RB8TIRI(1) SM0和SM1: 用來確定串行都得工作模式。(2) SM2: 用于多機通信,本設計中不涉及。(3) TB8和RB8: 本設計中不涉及;(4) TI: 發(fā)送數(shù)據(jù)標志位。表示發(fā)送緩沖器以空。(5) RI: 接收數(shù)據(jù)標志位。表示接收緩沖器已滿。3.3.4 PCON該寄存器的SMOD位是波特率倍增位。3.4 MAX232芯片介紹3.4.1 MAX232引腳介紹 (1)第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。(2)第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。(3)8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。(4)TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。(5)第三部分是供電。15腳GND、16腳VCC(+5v)。3.4.2主要特點:(1)符合所有的RS-232C技術(shù)標準(2)只需要單一 +5V電源供電(3)片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓V+、V-(4)功耗低,典型供電電流5mA(5)內(nèi)部集成2個RS-232C驅(qū)動器(6)高集成度,片外最低只需4個電容即可工作。3.4.3 RX232 簡單應用電路 (電容器應選擇1F的電解電容。在使用過程中本人曾用過10F的代替。) 注意,由于RS232電平較高,在接通時產(chǎn)生的瞬時電涌非常高,很有可能擊毀max232,所以在使用中應盡量避免熱插拔。3.5 八段數(shù)碼管介紹 3.5.1 LED的分類 八段LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類。 按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管,共陽數(shù)碼管在應用時應將公共極COM接到+5V,當某一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮,當某一字段的陰極為高電平時,相應字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰數(shù)碼管在應用時應將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮,當某一字段的陽極為低電平時,相應字段就不亮。3.5.2 LED的封裝led數(shù)碼管(LED Segment Displays)是由多個發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。led數(shù)碼管常用段數(shù)一般為7段有的另加一個小數(shù)點。數(shù)碼管各段定義如圖3.5.3LED數(shù)碼管的驅(qū)動方式 (1)靜態(tài)顯示驅(qū)動靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅(qū)動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要58=40根I/O端口來驅(qū)動,而一個89S52單片機可用的I/O端口才32個呢,實際應用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復雜性。(2)動態(tài)顯示驅(qū)動數(shù)碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮時間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。4 模塊設計4.1電源模塊系統(tǒng)供電電源模塊電網(wǎng)電壓為220V交流電,我們自制了直流穩(wěn)壓電源為系統(tǒng)供電。采取三端可調(diào)式穩(wěn)壓器LM系列作穩(wěn)壓部分制作普通的正壓穩(wěn)壓直流電源,對電路的數(shù)字部分和模擬部分共同供電。 4.2 控制模塊選用AT89S52單片機,它是八位微處理器,集成度高,可靠性高??捎脜R編語言和C語言編程。(上圖為單片機最小系統(tǒng))該最小系統(tǒng)由按鍵復位RESET電路、晶體振蕩電路以及I/O接口電路組成。 復位的實現(xiàn)通常用2種方式: 開機上電復位和外部手動復位,本設計用的是外部手動復位。電路圖2.5如下:4 系統(tǒng)設計4.1電路框圖PC循環(huán)檢測有無數(shù)據(jù)輸入據(jù)數(shù)送發(fā)PC數(shù)據(jù)回發(fā)中斷模塊數(shù)碼管的顯示模塊數(shù)據(jù)控制框圖說明: 主程序模塊循環(huán)檢測串行口接收標志位是否為1,即是否有新的數(shù)據(jù)輸入。檢測到有新的數(shù)據(jù)輸入之后,將數(shù)據(jù)送至中斷模塊,由中斷控制,分別取數(shù)據(jù)的高位和低位在兩個八段數(shù)碼管上顯示。 在單片機接收到數(shù)據(jù)的同時,將所接收的數(shù)據(jù)回發(fā)至PC機上,使數(shù)據(jù)發(fā)送者確定單片機接收數(shù)據(jù)的正確性。 4.2程序流程圖開始主程序置 TMOD參數(shù)置 SCON 參數(shù)置定時計數(shù)器初值開啟中斷開啟中斷RI=1? Y 接收數(shù)據(jù)進入單片機將數(shù)據(jù)回發(fā)至PC定時器0中斷入口定時務程器0中斷服序重置參數(shù) 設其初值取數(shù)據(jù)的高位和低位,在數(shù)碼管上進行動態(tài)顯示。中斷返回4.4 C語言程序及其解釋#include #define uchar unsigned char #define uint unsigned int /以上是52系列單片機的頭文件 和預定義字符uchar i,j,t,txd,flag; ucharcode s816=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;void send_char(uchar txd); void time0(); /變量的定義、數(shù)碼管段碼表的輸入、函數(shù)的聲明 void main() TMOD=0x21; TH1=TL1=0xfd; TH0=(65536-1000)/256; TL0=(65536-1000)%256; /定時計數(shù)器的初始化和其初值的設定 SCON=0x50; PCON=0x00; /串行口的初始化 EA=1; ET0=1; TR1=TR0=1; /中斷的開啟 flag=0x00; while(1) if(RI=1) RI=0;/驗證是否有數(shù)據(jù)自PC輸入 t=SBUF; send_char(t) /將數(shù)據(jù)發(fā)送回PC機的函數(shù) void send_char(uchar txd)SBUF=txd; while(!TI);TI=0;void time0() interrupt 1 /使數(shù)據(jù)在兩位數(shù)碼管上動態(tài)顯示的中斷函數(shù)TH0=(65536-1000)/256; TL0=(65536-1000)%256;i=t%16; j=t/16; switch(flag) case 0x00:P0=s8j; P2=0xfe;flag+;break; case 0x01:P0=s8i; P2=0xfd;flag=0;break; 該程序用Keil uVision3軟件編譯成功,且借助串口大師軟件成功運行,并且能達到預期效果,即輸入00FF之間的十六位進制數(shù)可以在數(shù)碼管上得到顯示,并且PC機上可以接受單片機接受的數(shù)據(jù)。y4 設計總結(jié)在系統(tǒng)設計的全過程中我們遵循了以下設計原則,使我們的方案系統(tǒng)化、清晰易懂、可靠性高、可維護性好。總結(jié)如下:(1)正確性和完備性原則:我們在每“級”的設計完成后,都進行反復的過細檢查,確保指標所要求的各項功能全部實現(xiàn)并留有必要的余地,以便最后對設計進行適當?shù)膬?yōu)化

溫馨提示

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

最新文檔

評論

0/150

提交評論