基于STCSTC15F2K60S2单片机的串口通讯_第1页
基于STCSTC15F2K60S2单片机的串口通讯_第2页
基于STCSTC15F2K60S2单片机的串口通讯_第3页
基于STCSTC15F2K60S2单片机的串口通讯_第4页
基于STCSTC15F2K60S2单片机的串口通讯_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、湖南科技大学信息与电气工程学院单片机课程设计报告题目:基于STCSTC15F2K60S2单片机的串口通讯专业:自动化班级:班姓名:罗永恒学号:1209010303指导教师:范小春2015年6月30日摘要单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。本文将具体介绍单片机与PC机进行串口通信的实现方法和编程方法,并且在最后给出一个实用的单片机与计算机通过

2、串口通信的程序。关键词:单片机串口通信目录TOC o 1-5 h z HYPERLINK l bookmark8 o Current Document 第一章STCSTC15F2K60S2的简介1 HYPERLINK l bookmark10 o Current Document STCSTC15F2K60S2的内部结构框图1 HYPERLINK l bookmark12 o Current Document STC15F2K60S的DIP封装图1 HYPERLINK l bookmark14 o Current Document STC15F2K60S的各引脚简介2 HYPERLINK l

3、bookmark16 o Current Document 第二章单片机通过USB与PC机的通信设计4 HYPERLINK l bookmark18 o Current Document 2.1设计方案选择4 HYPERLINK l bookmark20 o Current Document PC机同单片机通信存在的问题4 HYPERLINK l bookmark22 o Current Document USB接口同RS-232(DB-9)串口的比较4 HYPERLINK l bookmark24 o Current Document USB转接芯片的选择4 HYPERLINK l book

4、mark26 o Current Document 2.2通信功能要求5 HYPERLINK l bookmark28 o Current Document 第三章硬件电路图的设计5 HYPERLINK l bookmark30 o Current Document 3.1单片机最小系统5 HYPERLINK l bookmark32 o Current Document USB与单片机连接主电路6 HYPERLINK l bookmark40 o Current Document 3.3总电路图6 HYPERLINK l bookmark34 o Current Document PCB图6

5、 HYPERLINK l bookmark42 o Current Document 第四章程序设计7 HYPERLINK l bookmark44 o Current Document 4.1串口初始化74.2主程序7 HYPERLINK l bookmark46 o Current Document 4.3中断服务程序8 HYPERLINK l bookmark48 o Current Document 4.4总程序8 HYPERLINK l bookmark50 o Current Document 第五章总结与体会10 HYPERLINK l bookmark52 o Current

6、Document 第六章参考文献11 第一章STCSTC15F2K60S2的简介11STCSTC15F2K60S2的内部结构框图IXRAMLt_JR钿地址LjJRAMi覘甬l驱字节卜产1需存番尸125井节|IT-HE型抑F*hACC0I定忖隔计数粗/1Z2匕=9申口1悄7串口2看门狗(wrypo!TMP1|ALU|TMP2|1Fi堆ggg1.2STC15F2K60S的DIP封装图AOtVPO.O-AD1/P0.-ADi/Pn.2-AD3/PA.3AD4/Pt?.4BADi/PtJ.fADfi/Plti-AD7/PU.7RiDZ/CCPKADCOfflJ-TxD2AjCHI/ADC1/P1J-E

7、C谄眛D3L2MUJ/ADCWl.rMlfitVADC4E.斗SLKyADCS/Pl.SXTAL2/RiD_2/ADGjyPl.6XPJ?ALi低D朝DCMIJ7-SS_H/1R.C_CLko/RSrj,5.4Vcc-P5.5-曲訂.12345fi7Un234567KQ-rErid-MN&.aHK9.s765432o9A7.6421333333nJ3332722工2222-ALE/P4.5-EL7/A15/CCP2_2-PZ6/At4/CCTI_2-P15/AI3/CCPQ_2P2.47A12/t:Cl_SJ-P2.3yAll/MDl_2-I.Z/AKVMISCLZPllMy/SCLKjP2.

8、0/AH/J?ST(DLniLUWhP+.4/RDP4.2/WR-P4.1/MISO_3P3.7/iNrFxD_37CCPWCP2_3P3.6/Prf2/WiD_3/CCP1_3P3.5171BCLKO/UCPfl_3-P3.4/mnC:LKO/ECJ_5-P3.3/LNT1P3.2/LNTDpiimornPlCVRxD丽诵fl:2tLi.0/A8/RSTOUT_LOWTxD2/CCP0/ADC1/P1P4.4/RDECI/SS/ADC2/P1.2P4.2/WRMOSI/ADC3/P1.3P4.1/MISO_3MISO/ADC4P31-7I/INT3/TxD_2/CCP2/CCP2_2SLCK

9、/ADC5/P1.5P3.6/INT2/RxD_2/CCP1_2XTAL2/RxD_3/ADCP3/RI/Tf1/T0CLKO/CCP0_2XTAL1/TxD_3/ADC7.P1.47/T0/T1CLKO/ECI_2SS_3/MCLKO/RST/P5.4-PT.3/INT1P2.7/A15/CP2.6/A14/CP2.5/A13KP4.5/ALE:CP2_3P1_3P0_3P2.4/A12/ECI_3/SS_2P2.3/A11/MOSI_2P2.2/A10/MISOP2.1/A9/SCLK二221P3.1/TxD/T2P3.0/RxD/INT4/T2CLKOCSTC15F2K60S247uFV

10、CC3.4PCB图口士s*口匚n3wMH三三三三-R3301RTxDRxDCH341X0C:C7CAPJ1VCCV3NOS#GNDVD-VD+3-Jul-2015原理图Sheetofr.E-SUT一nf 第四章程序设计4.1串口初始化voidUartlnit(void)/115200bps22.1184MHzSCON=0 x50;/8位数据可变波特率AUXR|=0 x40;/定时器1时钟为Fosc,即ITAUXR&二0 xFE;/串口1选择定时器1为波特率发射生器TMOD&二0 x0F;/设置定时器1为16位自动重装方式TL1=0 xD0;/设定定时初值TH1=0 xFF;/设定定时初值ET1

11、=0;/禁止定时器1中断TR1=1;/启动定时器14.2主程序voidmain(void)P0M1=0;P0M0=0;/设置为准双向口P1M1=0;P1M0=0;/设置为准双向口P2M1=0;P2M0=0;/设置为准双向口P3M1=0;P3M0=0;/设置为准双向口P4M1=0;P4M0=0;/设置为准双向口P5M1=0;P5M0=0;/设置为准双向口P6M1=0;P6M0=0;/设置为准双向口P7M1=0;P7M0=0;/设置为准双向口Uartlnit()7/UART1_config(1);/选择波特率,2:使用Timer2做波特率,其它值:使用Timer1做波特率.EA=1;/允许总中断E

12、S=1;/开串口中断PrintString1(STC15F2K60S2UART1TestPrgramme!rn);/SUART1发送一个字符串while(1)if(INTO=O)/如果相应按键(默认为swl8)按下,则允许接收REN=O;if(TXl_Cnt!=RXl_Cnt)&(!B_TXl_Busy)/收到数据,发送空闲SBUF=RX1_BufferTX1_Cnt;/把收到的数据远样返回B_TX1_Busy=1;if(+TX1_Cnt=UART1_BUF_LENGTH)TX1_Cnt=0;elseif(INTl=O)/如果相应按键(默认为sw17)按下,则禁止接收REN=1;4.3中断服务

13、程序voidUART1_int(void)interrupt4/中断服务子程序if(RI)/如果产生中断,则把SBUF内容赋值给单片机的数组RI=0;RX1_BufferRX1_Cnt二SBUF;if(+RX1_Cnt=UART1_BUF_LENGTH)RX1_Cnt=0;/防溢出if(TI)TI=0;B_TX1_Busy=0;4.4总程序/*功能说明*双串口全双工中断方式收发通讯程序。通过PC向MCU发送数据,MCU收到后通过串口把收到的数据原样返回.*/#defineMAIN_Fosc22118400L/定义主时钟#includeSTC15Fxxxx.H#defineBaudratel11

14、5200L#defineUART1_BUF_LENGTH200u8TXl_Cnt;/发送计数u8RX1_Cnt;/接收计数bitB_TXl_Busy;/发送忙标志u8idataRX1_BufferUART1_BUF_LENGTH;/接收缓冲voidUartlnit(void)/115200bps22.1184MHzSCON=0 x50;/8位数据可变波特率AUXR|=0 x40;/定时器1时钟为Fosc,即ITAUXR&二0 xFE;/串口1选择定时器1为波特率发射生器TMOD&二0X0F;/设置定时器1为16位自动重装方式TL1=0 xD0;/设定定时初值TH1=0 xFF;/设定定时初值E

15、T1=0;/禁止定时器1中断TR1=1;/启动定时器1voidmain(void)P0M1=0;P0M0=0;/设置为准双向口P1M1=0;P1M0=0;/设置为准双向口P2M1=0;P2M0=0;/设置为准双向口P3M1=0;P3M0=0;/设置为准双向口P4M1=0;P4M0=0;/设置为准双向口P5M1=0;P5M0=0;/设置为准双向口P6M1=0;P6M0=0;/设置为准双向口P7M1=0;P7M0=0;/设置为准双向口Uartlnit()7/UART1_config(1);/选择波特率,2:使用Timer2做波特率,其它值:使用Timer1做波特率.EA=1;/允许总中断ES=1;

16、/开串口中断PrintString1(STC15F2K60S2UART1TestPrgramme!rn);/SUART1发送一个字符串while(1)if(INT0=0)REN=0;if(TX1_Cnt!=RX1_Cnt)&(!B_TX1_Busy)/收到数据,发送空闲SBUF=RX1_BufferTX1_Cnt;/把收到的数据远样返回B_TX1_Busy=1;if(+TX1_Cnt=UART1_BUF_LENGTH)TX1_Cnt=0;elseif(INT1=0)REN=1;voidUARTl_int(void)interrupt4/中断服务子程序if(RI)RI=0;RXl_BufferR

17、Xl_Cnt二SBUF;if(+RXl_Cnt=UART1_BUF_LENGTH)RX1_Cnt=0;/防溢出if(TI)TI=0;B_TXl_Busy=0;第五章总结与体会串行通信端口在系统控制的范畴中一直占据着及其重要的地位,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。作为一种基本而又灵活方便的通信方式,串口通信被广泛应用于PC与PC或者PC与单片机之间的数据交换以及其他工业控制与自动控制中。随着单片机和微机技术的不断发展,由PC机和多台单片机构成的多机网络监控系统已成为单片机技术发展的一个方向。它结合了单片机在实时数据采集和微机对图形处理、显示的优点。同时Windows环境下后台微机在数据库管理上具有明显的优势,二者结合,使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而形成了向以网络为核心的分布式多点系统发展的趋势。随着计算机技术尤其是单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC机的RS-232串行接口与外部设备进行通信,是许多测控系统中常用

温馨提示

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

评论

0/150

提交评论