基于Proteus的單片機串口通信仿真_第1頁
基于Proteus的單片機串口通信仿真_第2頁
基于Proteus的單片機串口通信仿真_第3頁
基于Proteus的單片機串口通信仿真_第4頁
基于Proteus的單片機串口通信仿真_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Proteus基于Proteus的串口通信仿真班 級: 電信13-2 姓 名: 段學亮 鄧成智 崔俊杰 鄧石磊 陳亮 高金玉 成 績: 電子與信息工程學院信息與通信工程系1. 設計要求1.1甲單片機向乙單片機機發送控制命令字符,甲單片機同時接收乙單片機機發送的數字,并顯示在數碼管上。1.2乙機程序接收甲機發送字符并完成相應動作乙機接收到甲機發送的信號后,根據相應信號控制LED完成不同閃爍動作。2. 仿真電路圖串口通信仿真電路圖如圖一圖1:串口通信仿真電路圖3串口通信C51程序/*名稱:甲機串口程序說明:甲機向乙機發送控制命令字符,甲機同時接收乙機發送的數字,并顯示在數碼管上。*/#includ

2、e<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LED1=P10;sbit LED2=P13;sbit K1=P17;uchar Operation_No=0;/操作代碼/數碼管代碼uchar code DSY_CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/延時void DelayMS(uint ms)uchar i;while(ms-) for(i=0;i<120;i+);/向串口發送字符void Putc_to_Seria

3、lPort(uchar c)SBUF=c;while(TI=0);TI=0;/主程序void main()LED1=LED2=1;P0=0x00;SCON=0x50;/串口模式1,允許接收TMOD=0x20;/T1工作模式2PCON=0x00;/波特率不倍增TH1=0xfd;TL1=0xfd;TI=RI=0;TR1=1;IE=0x90;/允許串口中斷while(1)DelayMS(100);if(K1=0)/按下K1時選擇操作代碼0,1,2,3while(K1=0);Operation_No=(Operation_No+1)%4;switch(Operation_No)/根據操作代碼發送A/B

4、/C或停止發送case 0:Putc_to_SerialPort('X');LED1=LED2=1;break;case 1:Putc_to_SerialPort('A');LED1=LED1;LED2=1;break;case 2:Putc_to_SerialPort('B');LED2=LED2;LED1=1;break;case 3:Putc_to_SerialPort('C');LED1=LED1;LED2=LED1;break; /甲機串口接收中斷函數void Serial_INT() interrupt4if(RI)R

5、I=0;if(SBUF>=0&&SBUF<=9) P0=DSY_CODESBUF;else P0=0x00;/*名稱:乙機程序接收甲機發送字符并完成相應動作說明:乙機接收到甲機發送的信號后,根據相應信號控制LED完成不同閃爍動作。*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LED1=P10;sbit LED2=P13;sbit K2=P17;uchar NumX=-1;/延時void DelayMS(uint ms)uchar i;while(ms

6、-) for(i=0;i<120;i+);/主程序void main()LED1=LED2=1;SCON=0x50;/串口模式1,允許接收TMOD=0x20;/T1工作模式2TH1=0xfd;/波特率9600TL1=0xfd;PCON=0x00;/波特率不倍增RI=TI=0;TR1=1;IE=0x90;while(1)DelayMS(100);if(K2=0)while(K2=0);NumX=+NumX%11;/產生010范圍內的數字,其中10表示關閉SBUF=NumX;while(TI=0);TI=0;void Serial_INT() interrupt 4if(RI)/如收到則LE

7、D則動作RI=0;switch(SBUF)/根據所收到的不同命令字符完成不同動作case 'X':LED1=LED2=1;break;/全滅case 'A':LED1=0;LED2=1;break;/LED1亮case 'B':LED2=0;LED1=1;break;/LED2亮case 'C':LED1=LED2=0;/全亮4.交通燈仿真效果4.1 按下甲單片機的按鈕向單片機乙發送數據,再松開甲單片機的按鈕,此時甲單片機的LED1和乙單片機的LED3亮如下圖4-1。4-1:甲機的LED1和乙機的LED3分別點亮4.2 再次按下甲

8、單片機的按鈕向單片機乙發送數據,再松開甲單片機的按鈕,此時甲單片機的LED2和乙單片機的LED4亮如下圖4-2。4-2:甲機的LED2和乙機的LED4分別點亮4.3 再次按下甲單片機的按鈕向單片機乙發送數據,再松開甲單片機的按鈕,此時甲單片機的LED1、LED2和乙單片機的LED3、LED4亮如下圖4-3。4-3:甲機的LED1、LED2和乙機的LED3、LED4全部點亮4.4 按下乙單片機的按鈕向單片機甲發送數據,再松開乙單片機的按鈕,此時甲單片機的數碼管顯示0如下圖4-4。此乙單片機的串口程序可以控制甲單片機的數碼管從0顯示到9.4-4:甲機的數碼管點亮,顯示04.5 不停按下和松開乙單片機的按鈕向單片機甲發送數據,甲單片機的數碼管顯示從0到9,以此循環。當數碼管顯示9時,如下圖4-5。4-4:甲機的數碼管點亮,顯示95. 總結在進行串口通信仿真任務的時候,我們通過在網上查閱單片機串口通信的基本原理,搞懂了其工作原理后,便開始了對串口通信的電路進行了構建,再Proteus設計原理

溫馨提示

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

評論

0/150

提交評論