2013年單片機課程設(shè)計報告模板_第1頁
2013年單片機課程設(shè)計報告模板_第2頁
2013年單片機課程設(shè)計報告模板_第3頁
2013年單片機課程設(shè)計報告模板_第4頁
2013年單片機課程設(shè)計報告模板_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、. 中南民族大學計算機科學學院單片機課程設(shè)計報告課 程 單片機課程 設(shè)計題目 單片機與pc之間的串行通信 年級專業(yè) 計科 自動化 學 號 11064090 學生姓名 安福勇 指導教師 苗祖英 老師 2013年 12 月 12 日課程設(shè)計量化評分標準 指標最高分評分要素評分方案設(shè)計35方案選擇合理,分析、設(shè)計正確,原理清楚,電路、程序流程圖清晰,結(jié)構(gòu)合理,程序簡潔、正確。  調(diào)試15過程清晰,調(diào)試方案設(shè)計合理,測試點選擇適當,程序編寫正確,調(diào)試步驟清楚。 結(jié)果20電路及程序運行結(jié)果正確,達到預(yù)期效果。  設(shè)計報告20報告結(jié)構(gòu)嚴謹,邏輯嚴

2、密,論述層次清晰,語言流暢,表達準確,重點突出,報告完全符合規(guī)范化要求,用計算機打印成文。 工作態(tài)度10工作態(tài)度認真,按時完成設(shè)計任務(wù),是否獨立完成。  總 評 成 績 指導老師評語:設(shè)計題目:一、 要求PC發(fā)送,單片機接收,接收信息送實驗箱上的led數(shù)碼管顯示二、 分析實現(xiàn)PC機發(fā)送一個字符或數(shù)字給單片機,單片機接收到后即在個位、十位數(shù)碼管上進行顯示,同時將其回發(fā)給PC機。要求:單片機收到PC機發(fā)來的信號后用串口中斷方式處理,而單片機回發(fā)給PC機時用查詢方式。三、 設(shè)計1、硬件設(shè)計(包括設(shè)計方案及說明、完整的硬件連接圖等)利用PC機配置的異步通信適配器

3、,可以方便的完成PC機遇89C52單片機的數(shù)據(jù)通信。由于89C52單片機輸入、輸出電平為TTL電平,而PC機配置的是RS-232標準串行接口,二者的電器規(guī)范不一致,因此采用MXA232單芯片實現(xiàn)89C52單片機于PC機的RS-232標準接口通信電路。2、軟件編程(包括流程圖、完整的匯編源程序及其注釋)流程圖:開始串口中斷定義和設(shè)置(設(shè)置定時器1為方式2設(shè)置串口為方式1)If flag不等于1If flag等于1發(fā)送數(shù)據(jù)接收數(shù)據(jù)顯示09十個數(shù)字總程序#include <reg52.h>sbit LATCH1=P26;/定義鎖存使能端口 段鎖存sbit LATCH2=P27;/ 位鎖存

4、unsigned char a,i,num;unsigned char flag;void display();void display1();void delay(unsigned int cnt);unsigned char code disptab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f;void main() TMOD=0x20; /設(shè)置定時器1為方式2 TH1=0xfd; /裝入初值 TL1=0xfd; TR1=1; /啟動定時器1 SM0=0; SM1=1; /設(shè)置串口為方式1 REN=1; /接受使能 EA=1; /打開

5、總中斷開關(guān) ES=1; /打開串口中斷開關(guān) while(1) if(flag=1) ES=0; flag=0;SBUF=a; while(!TI); /等待數(shù)據(jù)發(fā)送結(jié)束 display1(); display(); TI=0; ES=1; void serial() interrupt 4 a=SBUF; P1=a; RI=0; flag=1; /標志位void delay(unsigned int cnt) unsigned int b,c;for(b=0;b<cnt;b+)for(c=0;c<120;c+);void display1()switch(a)case '0

6、':num=0;break;case '1':num=1;break;case '2':num=2;break;case '3':num=3;break;case '4':num=4;break;case '5':num=5;break;case '6':num=6;break;case '7':num=7;break;case '8':num=8;break;case '9':num=9;break;void display()while(1

7、)P0=0xef;LATCH2=1;LATCH2=0;P0=disptabnum;LATCH1=1;LATCH1=0;程序模塊分析:首先定義了一個數(shù)組,數(shù)組內(nèi)容是數(shù)字09用led液晶顯示器陽極顯示方式的ASCII碼模塊a:中斷模塊TMOD=0x20; /設(shè)置定時器1為方式2 TH1=0xfd; /裝入初值 TL1=0xfd; TR1=1; /啟動定時器1 SM0=0; SM1=1; /設(shè)置串口為方式1 REN=1; /接受使能 EA=1; /打開總中斷開關(guān) ES=1; /打開串口中斷開關(guān)模塊b:用while和if語句用作數(shù)據(jù)發(fā)送while(1) if(flag=1) ES=0; flag=0;

8、 SBUF=a; while(!TI); /等待數(shù)據(jù)發(fā)送結(jié)束 display1(); display(); TI=0; ES=1; 模塊c:接收將pc機中的內(nèi)容即寄存器中的內(nèi)容傳送給累加器a,來完成接收。void serial() interrupt 4 a=SBUF; P1=a; RI=0; flag=1; /標志位模塊d:用switch語句將開始定義的數(shù)組中的數(shù)字顯示出來void display1()switch(a)case '0':num=0;break;case '1':num=1;break;case '2':num=2;break;

9、case '3':num=3;break;case '4':num=4;break;case '5':num=5;break;case '6':num=6;break;case '7':num=7;break;case '8':num=8;break;case '9':num=9;break;模塊e:通過p0口接收發(fā)送,定義2個鎖存器的關(guān)斷,最后顯示數(shù)字。void display()while(1)P0=0xef;LATCH2=1;LATCH2=0;P0=disptabnum;LATCH1=1;LATCH1=0;3、調(diào)試說明因為是自己帶的但單片機,所以借助一個串口獵豹來顯示,顯示094、設(shè)計結(jié)果及錯誤分析設(shè)計的局限性:因為自己的單片機這門課學的很爛,只做出顯示一個數(shù)字簡單的程序。其實,還可以改進顯示倆三位數(shù)字或是字符。希望自己加油繼續(xù)做下去吧!四、 總結(jié)在實驗時候發(fā)現(xiàn)自己的程序在實驗室里的試驗箱上是出不了結(jié)果的,自己也在找原因,單片機的型號都一樣但是就是出不了結(jié)果。最后,還是用了自己的單片機,因為自己借助的是串口獵豹這個軟件,所以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論