基于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、,并且在最后给出一个实用的单片机与计算机通过串口通信的程序。关键词:单片机 串口通信目录第一章 stcstc15f2k60s2的简介11.1 stcstc15f2k60s2的内部结构框图11.2 stc15f2k60s的dip封装图11.3 stc15f2k60s的各引脚简介2第二章 单片机通过usb与pc机的通信设计42.1设计方案选择 42.1.1 pc机同单片机通信存在的问题42.1.2 usb接口同rs-232(db-9)串口的比较 42.1.3 usb转接芯片的选择 42.2 通信功能要求5第三章 硬件电路图的设计53.1单片机最小系统53.2

3、 usb与单片机连接主电路63.3 总电路图63.4 pcb图6第四章 程序设计74.1 串口初始化74.2 主程序74.3 中断服务程序84.4 总程序8第五章 总结与体会10第六章 参考文献11第一章 stcstc15f2k60s2的简介1.1 stcstc15f2k60s2的内部结构框图1.2 stc15f2k60s的dip封装图 1.3 stc15f2k60s的各引脚简介(1)电源引脚 vcc:一般接电源的5v。具体的电压幅度应参考单片机的手册。 gnd:接电源地。(2) 外接晶体引脚 芯片内部一个反相放大器的输入端和输出端。通常用于连接晶体振荡器。(3) 控制和复位引脚 功能:当访问

4、外部存储器或者外部扩展的并行i/o口时,ale(允许地址锁 存)的输出用于锁存地址的低位字节。 rst(与p5.4复用):当振荡器运行时,在此引脚上出现两个机器周期的 高电平将使单片机复位。如果需要单片机接上电源就可以复位,则需要使 用上电复位电路。(4) i/o口的复用功能 p0口: a.用作数据总线(d7d0)或者地址总线低8位(a7a0)。 b.用作普通i/o。 p1口: a.用作普通i/o。 b.复用为adc转换输入、捕获/比较/脉宽调制、spi通信线、第二串口 或者第二时钟输出,如表所示。 p2口: a:用作通用i/o。 b:用作地址总线的高8位输出。 c:用于spi和捕获/比较/脉

5、宽调制的备用切换端口。 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(复位) 引脚。第二章 单片机通过usb与pc机的通信设计2.1设计方案选择 

6、由于实际应用中单片机在数据处理能力、人机交互等方面往往不能满足要求, 因而通常用pc来弥补单片机的这些不足。例如,在工程应用中,常常由一台pc机和一台单片机构成主从式计算机测控系统。在这样的系统中,以单片机为核心的智能测控仪表(从机)作为现场测控设备,完成数据的采集、处理和控制各种任务,同时将数据传给pc机(主机),pc机将这些数据加工处理后,进行显示、打印报表等。pc机也可以将各种控制命令传送给单片机,干预单片机系统的运行,从而发挥pc机的优势。要实现这样的功能,就涉及到pc机与单片机之间的通信问题。现在的计算机提供了各种各样的串口,他们支持不同的通信协议,有着不同的功能。目前计算

7、机提供的串口有rs-232,rj45,usb2.0等。  2.1.1 pc机同单片机通信存在的问题目前,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.2 usb接口同rs-232

8、(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

9、.1.3 usb转接芯片的选择  目前常用的usb转接芯片包括pl2303,ch341,cp2101,ft232等。在综合考虑了各方面因素后,ch341成为了本次电路设计的首选芯片。ch341是南京沁恒电子公司生产的usb总线的转接芯片,通过usb总线提供异步串口,打印口,并口及常用的2线和4线等同步串行端口。其特点有:  (1)提供全速usb设备借口,兼容usb2.0,外围设备只需要晶体和电容;  (2)可通过外部的低成本串行eprom定义厂商id,产品id,序列号等; (3)成本低廉,可直接转换原串口外围设备;  (4)采用sop-28封装

10、,串口应用还提供小型的ssop20封装。正是由于在pc机同单片机通信电路中,usb转接芯片ch341 具有以上其他芯片无法比拟的优点,同时价格低廉并且提供中文技术支持,因此它成为了本电路usb转接芯片的最优选择。本电路采用的是ssop-20封装的ch341t,其引脚图如图所示。 2.2 通信功能要求(1) pc控制单片机io口输出,并且通过两个led灯显示数据发收状态,如果数据处于发送或者接收状态,则相应的led灯闪亮。(2) pc控制单片机io口输出,并且通过两个按键控制pc机是否接收数据。(3) pc机与单片机之间的通信结果通过串口助手进行调试和显示。第三章 硬件电路图的设计3.

11、1单片机最小系统 由起振电路,复位电路组成3.2 usb与单片机连接主电路 其中,两个按键分别控制是否接收数据,两个led灯显示接收数据状态,ch341芯片提供串口。3.3 总电路图3.4 pcb图 第四章 程序设计4.1 串口初始化 void uartinit(void)/115200bps22.1184mhzscon = 0x50;/8位数据可变波特率auxr |= 0x40;/定时器1时钟为fosc,即1tauxr &= 0xfe;/串口1选择定时器1为波特率发射生器tmod &= 0x0f;/设置定时器1为16位自动重装方式tl1 = 0xd0;/设定定时初值th1 =

12、 0xff;/设定定时初值et1 = 0;/禁止定时器1中断tr1 = 1;/启动定时器14.2 主程序 void main(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;/设置为准双向口uartinit();/uart1_config

13、(1);/ 选择波特率, 2: 使用timer2做波特率, 其它值: 使用timer1做波特率.ea = 1;/允许总中断 es=1; /开串口中断printstring1("stc15f2k60s2 uart1 test prgramme!rn");/suart1发送一个字符串while (1) if(int0=0) /如果相应按键(默认为sw18)按下,则允许接收 ren=0;if(tx1_cnt != rx1_cnt) && (!b_tx1_busy)/收到数据, 发送空闲sbuf = rx1_buffertx1_cnt;/把收到的数据远样返回b_tx

14、1_busy = 1;if(+tx1_cnt >= uart1_buf_length)tx1_cnt = 0;elseif(int1=0) /如果相应按键(默认为sw17)按下,则禁止接收 ren=1;4.3 中断服务程序 void uart1_int (void) interrupt 4/中断服务子程序 if(ri) /如果产生中断,则把sbuf内容赋值给单片机的数组 ri = 0; rx1_bufferrx1_cnt = sbuf; if(+rx1_cnt >= uart1_buf_length) rx1_cnt = 0; /防溢出 if(ti)ti = 0;b_tx1_bus

15、y = 0;4.4 总程序 /*功能说明*双串口全双工中断方式收发通讯程序。通过pc向mcu发送数据, mcu收到后通过串口把收到的数据原样返回.*/#define main_fosc22118400l/定义主时钟#include"stc15fxxxx.h"#definebaudrate1115200l#defineuart1_buf_length200u8tx1_cnt;/发送计数u8rx1_cnt;/接收计数bitb_tx1_busy;/发送忙标志u8 idata rx1_bufferuart1_buf_length;/接收缓冲void uartinit(void)/1

16、15200bps22.1184mhzscon = 0x50;/8位数据可变波特率auxr |= 0x40;/定时器1时钟为fosc,即1tauxr &= 0xfe;/串口1选择定时器1为波特率发射生器tmod &= 0x0f;/设置定时器1为16位自动重装方式tl1 = 0xd0;/设定定时初值th1 = 0xff;/设定定时初值et1 = 0;/禁止定时器1中断tr1 = 1;/启动定时器1void main(void)p0m1 = 0;p0m0 = 0;/设置为准双向口p1m1 = 0;p1m0 = 0;/设置为准双向口p2m1 = 0;p2m0 = 0;/设置为准双向口p

17、3m1 = 0;p3m0 = 0;/设置为准双向口p4m1 = 0;p4m0 = 0;/设置为准双向口p5m1 = 0;p5m0 = 0;/设置为准双向口p6m1 = 0;p6m0 = 0;/设置为准双向口p7m1 = 0;p7m0 = 0;/设置为准双向口uartinit();/uart1_config(1);/ 选择波特率, 2: 使用timer2做波特率, 其它值: 使用timer1做波特率.ea = 1;/允许总中断 es=1; /开串口中断printstring1("stc15f2k60s2 uart1 test prgramme!rn");/suart1发送一个

18、字符串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;void uart1_int (void) interrupt 4/中断服务子程序 if(ri) ri = 0; rx1_bufferrx1_cnt = sbuf; if(+rx1_cnt >= uart1_buf_length) rx1_cnt = 0; /防溢出 if(ti)ti = 0;b_tx1_busy = 0;第五章 总结与体会 串行通信端口在系统控制的范畴中一直占据着及其重要的地位,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。作为一种基本而又灵活方便的通信方式,串口通信被广泛应用于pc与pc或者pc与单片机之间的数据交换以及其他工业控制与自动

温馨提示

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

评论

0/150

提交评论