您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 基于STCSTC15F2K60S2单片机的串口通讯
湖南科技大学信息与电气工程学院《单片机课程设计报告》题目:基于STCSTC15F2K60S2单片机的串口通讯专业:自动化班级:一班姓名:罗永恒学号:1209010303指导教师:范小春2015年6月30日摘要单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。本文将具体介绍单片机与PC机进行串口通信的实现方法和编程方法,并且在最后给出一个实用的单片机与计算机通过串口通信的程序。关键词:单片机串口通信目录第一章STCSTC15F2K60S2的简介.......................................11.1STCSTC15F2K60S2的内部结构框图..............................11.2STC15F2K60S的DIP封装图....................................11.3STC15F2K60S的各引脚简介....................................2第二章单片机通过USB与PC机的通信设计..............................42.1设计方案选择..............................................42.1.1PC机同单片机通信存在的问题...........................42.1.2USB接口同RS-232(DB-9)串口的比较....................42.1.3USB转接芯片的选择.................................42.2通信功能要求................................................5第三章硬件电路图的设计.............................................53.1单片机最小系统..............................................53.2USB与单片机连接主电路......................................63.3总电路图....................................................63.4PCB图......................................................6第四章程序设计.....................................................74.1串口初始化..................................................74.2主程序......................................................74.3中断服务程序................................................84.4总程序......................................................8第五章总结与体会..................................................10第六章参考文献....................................................111第一章STCSTC15F2K60S2的简介1.1STCSTC15F2K60S2的内部结构框图1.2STC15F2K60S的DIP封装图21.3STC15F2K60S的各引脚简介(1)电源引脚Vcc:一般接电源的+5V。具体的电压幅度应参考单片机的手册。GND:接电源地。(2)外接晶体引脚XTAL2XTAL1C2C1GNDM单片机芯片内部一个反相放大器的输入端和输出端。通常用于连接晶体振荡器。(3)控制和复位引脚单片机RST/VPDGNDCr10uFRr10KΩVcc功能:当访问外部存储器或者外部扩展的并行I/O口时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。RST(与P5.4复用):当振荡器运行时,在此引脚上出现两个机器周期的高电平将使单片机复位。如果需要单片机接上电源就可以复位,则需要使用上电复位电路。(4)I/O口的复用功能P0口:a.用作数据总线(D7~D0)或者地址总线低8位(A7~A0)。b.用作普通I/O。P1口:a.用作普通I/O。b.复用为ADC转换输入、捕获/比较/脉宽调制、SPI通信线、第二串口或者第二时钟输出,如表所示。P2口:3a:用作通用I/O。b:用作地址总线的高8位输出。c:用于SPI和捕获/比较/脉宽调制的备用切换端口。P3口:a:用作通用I/O。b:可复用为外部中断输入、计数器输入、时钟输出、第一串口和外部总线的读/写控制,如表所示。P4口:a:用作通用I/O。b:某些口线具有复用功能,可配置为SPI通信线、捕捉/比较/脉宽调制、第二串口线等。P5口:a:P5.4/RST(复位脚)/MCLKO(内部R/C振荡时钟输出;b:输出的频率可为MCLK/1或MCLK/2)/SS_3(SPI接口的从机选择信号备用切换引脚)。c:该引脚默认为I/O口,可以通过ISP编程将其设置为RST(复位)引脚。4第二章单片机通过USB与PC机的通信设计2.1设计方案选择由于实际应用中单片机在数据处理能力、人机交互等方面往往不能满足要求,因而通常用PC来弥补单片机的这些不足。例如,在工程应用中,常常由一台PC机和一台单片机构成主从式计算机测控系统。在这样的系统中,以单片机为核心的智能测控仪表(从机)作为现场测控设备,完成数据的采集、处理和控制各种任务,同时将数据传给PC机(主机),PC机将这些数据加工处理后,进行显示、打印报表等。PC机也可以将各种控制命令传送给单片机,干预单片机系统的运行,从而发挥PC机的优势。要实现这样的功能,就涉及到PC机与单片机之间的通信问题。现在的计算机提供了各种各样的串口,他们支持不同的通信协议,有着不同的功能。目前计算机提供的串口有RS-232,RJ45,USB2.0等。2.1.1PC机同单片机通信存在的问题目前,15系列单片机同PC机的通信在大多数情况下仍然是使用RS-232(DB-9)串口作为通信接口实现的。而随着USB接口技术的成熟和使用的普及,由于USB接口有着一系列RS-232(DB-9)串口无法比拟的优点,RS-232(DB-9)串口正在逐步的为USB接口所替代。而在现在的大多数笔记本电脑中,出于节省物理空间和用处不大等原因,RS-232(DB-9)串口已不再设置,这就约束了基于RS-232(DB-9)串口与PC机联络的单片机设备的使用范围。2.1.2USB接口同RS-232(DB-9)串口的比较通过USB接口和RS-232(DB-9)的比较,不难发现:(1)USB接口支持即插即用和热插拔,而RS-232(DB-9)串口不支持即插即用和热插拔,设备安装后需重启计算机方可使用。(2)USB接口的传输速率较快,可达480Mbps(V2.0),而RS-232(DB-9)串口的最高速率仅为19200波特。(3)USB接口占用体积较小,插拔方便;而RS-232(DB-9)串口的的插拔需要使用改锥,且在机箱后操作,比较麻烦。综上可知,USB接口取代RS-232(DB-9)串口的趋势不可逆转。2.1.3USB转接芯片的选择目前常用的USB转接芯片包括PL2303,CH341,CP2101,FT232等。在综合考虑了各方面因素后,CH341成为了本次电路设计的首选芯片。CH341是南京沁恒电子公司生产的USB总线的转接芯片,通过USB总线提供异步串口,打印口,并口及常用的2线和4线等同步串行端口。其特点有:(1)提供全速USB设备借口,兼容USB2.0,外围设备只需要晶体和电容;5(2)可通过外部的低成本串行EPROM定义厂商ID,产品ID,序列号等;(3)成本低廉,可直接转换原串口外围设备;(4)采用SOP-28封装,串口应用还提供小型的SSOP-20封装。正是由于在PC机同单片机通信电路中,USB转接芯片CH341具有以上其他芯片无法比拟的优点,同时价格低廉并且提供中文技术支持,因此它成为了本电路USB转接芯片的最优选择。本电路采用的是SSOP-20封装的CH341T,其引脚图如图所示。2.2通信功能要求(1)PC控制单片机IO口输出,并且通过两个LED灯显示数据发收状态,如果数据处于发送或者接收状态,则相应的LED灯闪亮。(2)PC控制单片机IO口输出,并且通过两个按键控制PC机是否接收数据。(3)PC机与单片机之间的通信结果通过串口助手进行调试和显示。第三章硬件电路图的设计3.1单片机最小系统由起振电路,复位电路组成63.2USB与单片机连接主电路其中,两个按键分别控制是否接收数据,两个LED灯显示接收数据状态,CH341芯片提供串口。3.3总电路图123456ABCD654321DCBATitleNumberRevisionSizeBDate:3-Jul-2015SheetofFile:H:\BAYANWEI\原理图.DdbDrawnBy:AD0/P0.01AD1/P0.12AD2/P0.23AD3/P0.34AD4/P0.45AD5/P0.56AD6/P0.67AD7/P0.78RxD2/CCP1/ADC0/P1.09TxD2/CCP0/ADC1/P1.110ECI/SS/ADC2/P1.211MOSI/ADC3/P1.312MISO/ADC4/P1.413SLCK/ADC5/P1.514XTAL2/RxD_3/ADC6/P1.615XTAL1/TxD_3/ADC7/P1.716SS_3/MCLKO/RST/P5.417VCC18P5.519Gnd20P3.0/RxD/INT4/T2CLKO21P3.1/TxD/T222P3.2/INT023P3.3/INT124P3.4/T0/T1CLKO/ECI_225P3.5/T1/T0CLKO/CCP0_226P3.6/INT2/RxD_2/CCP1_227P3.7/INT3/TxD_2/CCP2/CCP2_228P4.1/MISO_329P4.2/WR30P4.4/RD31P2.0/A8/RSTOUT_LOW32P2.1/A9/SCLK_233P2.2/A10/MISO_234P2.3/A11/MOSI_235P2.4/A12/ECI_3/SS_236P2.5/A13/CCP0_337P2.6/A14/CCP1_338P2.7/A15/CCP2_339P4.5/ALE40PDIP-40J1STC15F2K60S2Y112MHzC230pF+C647uFS2SW-PBVCCVCC19V35GND8VD-7VD+6X19X010NOS#20TxD4RxD3U1CH3411234U2USBVCCC3CAPC4CAPY2CRYSTALC5CAPC7CAPVCCD31N5817R3301RR13.3kR23.3kD1LEDD2LEDS1SW17S3SW18C1CAP3.4PCB图7第四章程序设计4.1串口初始化voidUartInit(void)//115200bps@22.1184MHz{SCON=0x50;//8位数据可变波特率AUXR|=0x40;//定时器1时钟为Fosc,即1TAUXR&=0xFE;//串口1选择定时器1为波特率发射生器TMOD&=0x0F;//设置定时器1为16位自动重装方式TL1=0xD0;//设定定时初值TH1=0xFF;//设定定时初值ET1=0;//禁止定时器1中断TR1=1;//启动定时器
本文标题:基于STCSTC15F2K60S2单片机的串口通讯
链接地址:https://www.777doc.com/doc-2535100 .html