单片机与PC机之间的串口通信.docx
《单片机与PC机之间的串口通信.docx》由会员分享,可在线阅读,更多相关《单片机与PC机之间的串口通信.docx(12页珍藏版)》请在冰豆网上搜索。
单片机与PC机之间的串口通信
论文题目:
单片机与计算机串行通信的设计
学号:
20101003
学生姓名:
周爽
学院:
电气与电子工程学院
专业:
电气工程及其自动化
班级:
100307
指导教师:
林志琦
2013年1月
第1章设计任务及性能指标
1.1系统开发背景和系统设计的意义
自单片机出现至今,单片机技术已走过了近20年的发展路程。
纵观20年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域为拉动,表现出较微处理器更具个性的发展趋势。
与此同时在市场上以单片机为核心控制器的产品更是层出不穷,各种家用电器、智能仪器仪表、医疗器械、机电一体化、实时工业控制、交通领域无不用到单片机。
从目前单片机的发展趋势来看,单片机控制技术已成为电子设计技术及计算机技术不可缺少的一个重要部分,因此单片机系统在电子世界里有着较好的前景,进行单片机的系统开发设计在当今电子领域有着重大的意义。
1.2设计目标
该设计要求实现:
设计串行通信接口,实现与PC机的通信,完成键盘输入指令,控制发光二极管的状态。
设计结果要求:
完成电路的设计,完成软件程序的编写(包括流程图和部分源代码)。
1.3设计任务
该设计题目包括四个个部分,分别为:
1.及性能指标设计任务(包括设计背景及意义);
2.系统硬件设计(包括各模块的硬件电路设计、主要芯片的介绍等);
3.系统软件设计(包括主程序流程图的设计、控制算法);
4.系统的调试(包括硬件调试和软件调试):
5.结论
1.4设计原理
单片机的串行口除了可用作与其他单片机的通信外,还能作为与普通计算机通信的通道,从而使得单片机在通信与控制领域得到了广泛的应用。
串行通讯方式具有使用线路少、成本低,适合远程传输。
PC机与单片机之间由RS-232C接口相连,在计算机的串行口都是公头,称为DB-9P。
而可插入公头的是母头,称为DB-9S。
计算机通过串口软件发送和显示数据,发送的数据通过晶片MAX232传到单片机中,并由LED数码管显示出来。
第2章 硬件系统设计
2.1硬件设计框图
硬件电路的设计框图,如图1所示:
图1硬件电路设计图
本设计的主要硬件电路包括:
单片机与PC机串行通信接口和ISP编程下载电路、单片机外围电路等部分。
2.2主要芯片的介绍
2.2.1单片机AT89S52
AT89S52是低功耗,高性能CMOS8位单片机,可反复擦写1000次的Flash只读程序存储器,兼容标准MCS-51指令系统及80C51引脚结构,其主要特点为:
(1)、40个引脚DIP-40封装,8kBytesFlash片内程序存储器;
(2)、256bytes的随机存取数据存储器(RAM);
(3)、5个中断优先级2层中断嵌套中断;
(4)、2个16位可编程定时计数器,2个全双工串行通信接口。
其引脚封装如图2所示;主要引脚介绍如下:
图2单片机AT89S52封装图
(1)VCC、GND电源、接地引脚;
(2)XTAL1、XTAL2外部振荡器接入的两个引脚;
(3)RESET复位信号输入引脚;
(4)RXD、TXDP3口作第二功能引脚用作串行通信接口输入、输出引脚;
(5)P0.1—P0.7数据/地址总线引脚;P1.0—P1.7一般的I/O口;P2.0—P2.7一般的I/O口。
2.2.2电平转换模块MAX232
MAXIM公司生产的、包含两路接收器和驱动器的IC芯片,适用于各种EIA-232C和V.28/V.24的通信接口。
MAX232芯片的功能:
MAX232内部有一个电源电压变换器,可以把输入的+5V电源电压变换成为RS-232C输出电平所需的±10V电压。
所以,采用此芯片接口的串行通信系统只需单一的+5V电源就可以了。
对于没有±12V电源的场合,其适应性更强
Max232是TTL电平与RS232电平相互转换的模块,其引脚封装图如图3所示:
图3MAX232封装图
其各引脚功能如下表1所示:
表1MAX232引脚功能
2.3串行通信电路
单片机与PC机串行通信接口电路及编程下载电路如图4所示:
图4单片机与PC机串行通信接口的电路
本设计的串行通信部分主要是由MAX232电平转换电路和ISP编程下载电路组成,其原理是:
MAX232芯片把单片机引脚的COMS电平(0—5V)转换为RS232电平(-12V—+12V),AT89S52单片机有一个全双工的串行通信口,而PC机有一个RS232的通信接口。
只要用RS232D型9针的引脚的双边母头接到PC机上,而另一头和MAX232相连接,MAX232的输出再和AT58S52相连就可以实现单片机和PC机的串行通信。
具体连线如上图8所示,AT89S52的串行通信引脚的TXD和RXD分别接到MAX232的T1IN和T1OUT上,MAX232的R1OUT和R1IN分别接到RS232的2、3上,RS232的5脚接地。
MAX232外围元件只有四个电容,根据MAX232的典型应用电路,可取0.1μF∕50V的电解电容。
ISP编程口和AT89S52的连线为:
AT89S52的P1.5、P1.6P1.7、RESET分别连接到ISP的3、4、5、7脚上,ISP的1、2脚联合接电源9、10脚联合接地即可.直接从上位机上下载可执行的二进制代码文件,无须外加写读器。
D1为下载指示灯,R1为限流电阻,发光二极管的压降为2V,电流取5mA,其阻值为:
R1=(5-2)/0.005=600Ω,考虑到和ISP一起共电,在此取1K。
2.4单片机外围电路
单片机外围电路包括晶振电路和复位电路,如图5所示:
图5单片机外围电路(晶振电路、复位电路)
单片机外围电路由复位电路、晶振电路组成。
复位电路采用上电和按键都有效的复位电路。
此电路能实现开机和单片机在运行时的复位,开机复位要求接通电源后,单片机自动实现复位操作,开机瞬间单片机的RST引脚获得高电平,随着电容C13的充电RST的高电平将逐渐下降。
RST引脚的高电平只要能保持足够的时间,单片机就可以进行复位操作。
单片机内部有一振荡电路,只要在单片机的XTAL1和XTAL2引脚外接一石英晶体振荡器,就构成了自激振荡器并在单片机内部产生了时钟脉冲信号,图中C14和C15的作用是稳定频率和快速起振,电容值选为22μF。
2.5发光二极管显示电路
发光二极管显示电路如图6所示:
图6发光二极管显示电路
此电路为共阳极电路,由计算机键盘输入指令,观察发光二极管的状态(亮,灭)。
每个发光二极管连接一个限流电阻为1KΩ。
第3章 软件系统设计
3.1主程序流程图
系统由AT89S52单片机作为中央控制器,控制各功能模块的正常工作及数据的接收和处理。
整个软件系统是这样来设计的:
首先上位机编辑好源程序再转换为相应的可执行的二进制代码文件由编程下载电路传送到单片机中存储。
通过按键来控制系统的功能,主程序的流程图如图7所示:
图7系统主程序流程图
3.2程序代码
#include
bitFlag;
unsignedintReData,SenData;
voidmain(void)
{SCON=0x50;//REN=1允许串行接受状态,串口工作模式1
TMOD|=0x20;//定时器工作方式2
PCON|=0x80;
//TH1=0xFD;//baud*2/*reloadvalue19200、数据位8、停止位1。
效验位无(11.0592)
TH1=0xF3;////baud*2/*波特率4800、数据位8、停止位1。
效验位无(12M)
TL1=0xF3;
TR1=1;
ES=1;//开串口中断
EA=1;//开总中断
//IE=0x0;
while
(1)
{
if(Flag==1)
{SBUF=SenData;//SUBF接受/发送缓冲器
while(TI==0);
TI=0;
P2=SBUF;
Flag=0;}
}
}
/****************************************************
串口中断程序
******************************************************/
voidser_int(void)interrupt4using1
{
if(RI==1)//RI接受中断标志
{RI=0;//清除RI接受中断标志
ReData=SBUF;//SUBF接受/发送缓冲器
SenData=ReData;
Flag=1;}
}
第4章系统的调试
4.1硬件调试
硬件的调试主要是把电路各种参数调整到符合设计要求。
先排除硬件电路故障,包括设计性错误和工艺性故障。
利用万用表或逻辑仪表器,检查电路中的各器件以及引脚是否连接正确,是否有短路故障。
先要将单片机AT89S52芯片取下。
对电路板进行通电检查,通过观察看是否连接正确,是否有异常,是否有虚焊的情况,然后用万用表测试各电源电压,这些都没问题后,接上仿真机进行联机调试,观察各接口线路是否正常。
最后,在进行整体的模拟调试,看看系统能否按希望进行运行。
4.2软件调试
软件调试是利用仿真工具进行在线仿真测试,除发现和解决程序错误外,也可以发现硬件故障。
软件方面先进的特点:
Wave6000和KeiluVsion双平台、双工作模式——软件模拟仿真和硬件模拟仿真、真正集成调试环境、项目管理功能、多语言多模块混合调试、直接点屏观察变量、功能强大的变量观察、强大的书签、断点管理功能、类似IE的前进、后退定位功能
一、程序的仿真调试
1、建立新程序
选择[文件/新建文件]功能,在一个文件名为NONAME1的源程序窗口下输入程序。
2、保存新程序
选择菜单[文件/保存文件]或[文件/另存为]功能,文件保存位置:
C:
\WAVE6000\SAMPLES\文件名.ASM
3、建立新项目
选择[文件/新建项目]功能,新建项目会自动分三步走:
加入模块文件、加入包含文件、保存项目。
项目保存好后,选[窗口/项目窗口]功能来打开。
4、设置项目
选择[设置/仿真器设置]功能或按“仿真器设置”快捷图标或双击项目窗口的第一行打开“仿真器设置”对话框,在“仿真器”栏中选仿真器类型和配置的仿真头及所要仿真的单片机。
5、编译程序
第5章心得体会
本课题的重点、难点是:
(1)硬件系统的选择与软件的设计
(2)考虑从非电量信号到电量信号的电路实现原理以及与单片机的接口;
(3)RS-232-C串口编程的技术。
(4)软件系统的调试。
通过这次课程设计,更加深入理解了PC与单片机的串行通讯。
好些课堂上学不到的知识。
在整个设计过程中都学到了,其中画好原理图其实是最重要的一部分,很多知识,是需要通过实践才能更加理解,很多经验是通过动手才能积累。
并且通过这次课设还让我明白word排版其实也是很需要技巧的,通过不断的改正我的排版好看多了。
所以,这个课程设计不仅丰富了我的书本知识,留给我更多的是如何发现问题,解决问题的经验。