单片机与PC通信-_第1页
单片机与PC通信-_第2页
单片机与PC通信-_第3页
单片机与PC通信-_第4页
单片机与PC通信-_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验:单片机与PC通信(proteus与虚拟串口驱动软件以及串口调试助手的仿真)实现内容:设置单片机串行口为工作方式一,波特率为9600。PC从串口发送字符1、2、3 或4到单片机串行口,单片机接收到该字符后,首先在P2 口显示字符,然后根 据字符不同返回不同字符串,具体要求如下表:表:单片机与PC通信内容PC发送字符单片机返回11: What do you plan to do this Friday?22: 1 plan to go to the concert.33: What are you doing next week?44: Im think of going to my gra

2、ndmas.其他字符5: Please select a character T2,3or 4!一、proteUS仿真图:(此proteus仿真图可免费下载,下载网址:)1、图1.12、注意:(1)51单片机属性的时钟频率(clock frequency)必为11.0592mhz,否 则无法仿真。请按下图设置AT89SC52图1.23、在仿真图中Pl即(元件名称:COMPIN)模块为集成电平转换的串行通信接 口(如下图)(1)D R D $ o s R CSXTXTT 代 RTCDR图1.3(2)设置参数如下图1.44、虚拟串口驱动设置在右侧选择 端口一: “COM3”端口二:“COM4”,然

3、后按“添加端口”, 此时左侧的Virtual ports下出现:E 凰 Virtual ports5 盅 S COM3 9600-N.8.1J唱 COM4 (9600-N-8-1)图1.5表示添加了 COM3, COM4 对虚拟串行I】,且己连接,故我们把单片机和PC选择COM3 和COM4如图1.4中的physical port选项:COM4;图中:串口号C0M3)。接着再在右侧 选择端II一: “C0M1”端【I二:“COM2”,则为下图,图1.6虚拟串口驱动设置完毕如图1.7通讯设置JdrnrnFlrn串口号COM3 波特率丽 校验位none 数据位施停止位H位接收区设置r接收转向文件.

4、 . r自动换行显示r +六进制显示r暂停接收显示俣存牧提宣院显示发送区设置r启用文件数据源.发送F自动发谖附加位 厂发送完自动清空 r按十六进制发谖 r数据流循环发谖 发送间隔|iooo亳秒 文件萄入清除疑示发谖:123接收:2302图1.7(1)将“程序”在Keil软件中编译生成“HEX”文件,加载到仿真图中的AT89C52 中,启动仿真U2L9XTAL1XTAL23*FYSTALps&y ALE EATf 3C|)F :C5X2R3TC6-= idiA s?POJ03DO P0.13D1 P02WD2 PO3f?3R3 43D4 POS3C。 PO63D6 PO 73D7PMJA8 P2

5、.1.W9 P2.2/A10 P2. P2 P2 P2P2 7/415WA11 4/A12 S/A13 &A14P1J3/T2PSRXDPL1H2EXP3.1HXDP12P3.2XNT0PINP3.3MNT1P1.4 PI 5P3.4fTOFO5fT1P1j6P3辰PI 7P37而A1EQC6233PQ.Q2ampqj3口 37PQ 24代”3354E口 3N5233P06&32POT3图1.9按下图1.7中串口调试助手的“连接”按钮,在串口调试助手的发送窗口, 依次输入1、2、3、4和5,发送后可以看到单片机返回的字符串一次显示在接 收窗口。如下图所示实验程序#include #includ

6、e #include #include #include #include #define byte unsigned char#define uchar unsigned char#define word unsigned int#define uint unsigned int#define ulong unsigned long#define BYTE unsigned char#define WORD unsigned int#define TRUE 1#define FALSE 0void time(unsigned int ucMs);void initUart(void);voi

7、d sendString(uchar *ucString);void main(void)time(l);initUart();IE=0 x90;while(TRUE)() void initUart(void)(SCON =0 x50;选择串I工作方式,打开接收允许RCAP2H=(65536-(3456/96)8;RCAP2L=(65536-(3456/96)%256;T2CON=Ox34;启动定时器T1 void serialOJnt(void) interrupt 4(uchar rChar;uchar code strl=MWhat do you plan to do this Fri

8、day?;uchar code str2=Hl plan to go to the concert.;uchar code str3=HWhat are you doing next week?1; uchar code str4=,Tm think of going to my grandmas.;uchar code strdefault=Please select a characterEA=0;RI=0;rChar=SBUF;P2=rChar;switch(rChar)case T:SBUF=T;while(TI=O) TI=0;SBUF=,:,;while(TI=O) ( TI=0;

9、 sendString(strl);break;case 2:SBUF=,2,;while(TI=0) (TI=0;SBUF=:;while(TI=O)TI=O;sendString(str2);break;case 3:SBUF=3;while(TI=0) TI=0;SBUF=:;while(TI=O)TI=O;sendString(str3);break;case 4:SBUF=4;while(TI=0) TI=0;SBUF=:;while(TI=O)TI=O;sendString(str4);break;default:SBUF=Id,;while(TI=O) (TI=O;SBUF=、;

10、while(TI=O) TI=O;sendString(strdefault);break;EA=1;void sendString(uchar *ucString)(uchar i/stringLength=strlen(ucString);REN=O;for(i=0;istringLength;i+)SBUF=ucStringi;while(TI=O); TI=0;)SBUF=0 x0d;while(TI=0); TI=0;SBUF=0 x0a;while(TI=0); TI=0;SBUF=0 x0a;while(TI=0); TI=0;REN=1;void delay_5us(void)(_nop_();_nop_();void delay_50us(void)unsigned char i;for(i=0;i0)(for(j=0;jXTAL1XTAL2RSTPSENALE EAP1.0/T2P1.1/T2EXPO.O/ADOP0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P07/AD7P2.0/A8P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论