STC12C5A60S2串口通信keil与proteus调试 自己总结(共2篇)
STC12C5A60S2串口通信keil与proteus调试 自己总结 篇1
STC12C5A60S2串口调试
需要软件:
在keil里安装。在debug里设置仿真器为:
点击MCU连接程序:
RS232:
虚拟终端:
程序:
#include “STC12C5A60S2.h” #include “intrins.h”
typedef unsigned char BYTE;void UartInit(void)//9600bps@11.0592MHz { SCON = 0x50;//8位数据,可变波特率
AUXR |= 0x40;//定时器1时钟为Fosc,即1T AUXR &= 0xFE;//串口1选择定时器1为波特率发生器
TMOD &= 0x0F;//设定定时器1为16位自动重装方式
TL1 = 0xE0;//设定定时初值
TH1 = 0xFE;//设定定时初值
ET1 = 0;//禁止定时器1中断
TR1 = 1;//启动定时器1 }
void SendByte(BYTE dat);void SendString(char *s);void main(){ UartInit();
SendString(“STC12C5A60S2rnUart Test!rn”);
while(1);} void Uart_Isr()interrupt 4 using 1
{if(RI){ RI=0;} if(TI){ TI=0;} } void SendByte(BYTE dat){ SBUF=dat;} void SendString(char *s){ while(*s!='){ SendByte(*s++);} }
STC12C5A60S2串口通信keil与proteus调试 自己总结 篇2
随着通信技术日新月异, 无线通信应用领域越来越广泛, 如无线远程家庭防盗系统、无线车载终端智能防盗系统、无线温度采集系统、短距离无线蓝牙系统、Zig Bee无线网络通信系统等应用。然而, 一直以来, 高校在教学中讲解现代无线通信的多种应用时, 基本上都是停留在书本上的原理、理论, 学生也只能很抽象地了解这些应用案例[1,2,3,4];即使有机会接触实际硬件时, 但由于硬件平台要求学生的知识起点很高, 大部分学生也只能是看看实验现象, 不能很好地掌握它。出现这种情况有以下原因:通信技术变化太快, 新的技术不断涌现, 而学校的很多硬件设备都是停留于5 年前甚至10 年前, 更新太慢;可能有部分学校购置了最新的无线通信实验平台, 但是由于没有考虑这些新的设备是否适合相关专业学生的接受能力, 所以教学效果不好, 学生对知识的应用仅仅停留在感性的认识上。鉴于此, 结合多年的实践教学经历, 根据通信专业学生的特点, 自行设计了一套多功能通信开发板 (可以扩展) , 用于专业综合实践、毕业实践、创新实践等课程;考虑到本专业学生先前学过51系列单片机, 开发板CPU芯片选用STC12C5A60S2[5,6,7];利用开发板可直接完成以下综合项目:基于GPRS网络的手机短信远程控制小灯[8];基于GPRS网络的温湿度数据采集;基于GPRS网络的家庭防盗系统设计[9];基于n RF905的无线温度数传[10,11];多功能万年历设计 (可以用无线按键控制实现) 。另外, 本多功能开发板有扩展引脚, 方便学生用于创新项目的开发。
1 STC12C5A60S2 多功能开发板硬件设计
1.1 多功能开发板硬件设计思路
随着专业课的深入学习, 学生对新的通信技术应用案例的要求, 已经从概念转向实际项目的操作。设计开发板的目的是为了提高学生的动手能力及编程、调试能力;通过设计完整的无线通信系统项目, 让学生更好地理解课堂中的理论与实际工程应用的关系。设计的多功能开发板功能框图如图1 所示。
1.2 多功能开发板
设计的开发板硬件实物图如图2 所示, 具有以下功能:
(1) 手机短信远程控制开发板LED灯亮灭;
(2) 开发板可以接听电话;
(3) 开发板将采集数据 (如温湿度) 发送至服务器、手机;
(4) 基于n RF905 的无线温度数据采集 (任意两个开发板, 其中一个开发板 (受控) 进行温度采集, 并将数据通过n RF905 传给另一个开发板 (主控) , 温度数据在 (主控) 开发板上显示) ;
(5) DS1302 时钟数据的读取及其在LCD上显示 (可通过无线进行控制) 。
主要包括微控制器STC12C5A60S2 芯片连接电路、SIM900A连接电路、n RF905 连接电路、DS1302 时钟芯片连接电路、矩阵按键连接电路、M74HC595B1R芯片连接电路、MAX232 连接电路、LCD12864 显示连接电路、电源电路等。下面选取其中的主要3 种功能模块进行介绍。
1.2.1 系统微控制器STC12C5A60S2
由于学生之前学过单片机相关理论及实验课, 所以选取STC12C5A60S2 芯片。它是宏晶科技生产的单时钟/机器周期 (1T) 的单片机, 是高速/低功耗/超强抗干扰的新一代8051 单片机, 指令代码完全兼容传统8051, 但速度快8~12 倍。内部集成MAX810 专用复位电路, 2 路PWM, 8 路高速10 位A/D转换, 这些特点保证了开发板可编制出高效率的程序。STC12C5A60S2 硬件连接图如图3 所示。
1.2.2 SIM900A模块
SIM900A是SIMCom推出的新款紧凑型产品, 它属于双频GSM/GPRS模块, 完全采用SMT封装形式;SIM900A仅适用于中国市场, 其性能稳定, 外观精巧, 性价比高;工作频率为GSM/GPRS 850 MHz/900 MHz/1 800 MHz/1 900 MHz, 可以低功耗实现语音、SMS、数据和传真信息的传输。利用SIM900A模块, 本开发板可实现GPRS远程控制功能;同时, 利用STC12C5A60S2 双串口功能与电脑相连, 实现远程服务器控制功能, 如利用手机GPRS网络, 将远程端的采集数据发到指定的服务器上。SIM900A硬件连接如图4 所示。
1.2.3 n RF905 模块
n RF905 是挪威Nordic VLSI公司推出的单片射频收发器, 工作电压为1.9~3.6 V, 32 引脚QFN封装 (5×5 mm) , 工作于433 MHz/868 MHz/915 MHz三个ISM (工业、科学和医学) 频道, 频道之间的转换时间小于650 μs。n RF905 由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成, 不需外加声表滤波器, Shock-Burst TM工作模式, 自动处理字头和CRC (循环冗余码校验) , 使用SPI接口与微控制器通信, 配置非常方便。此外, 其功耗非常低, 以-10 d Bm的输出功率发射时电流只有11 m A, 工作于接收模式时的电流为12.5 m A, 内建空闲模式与关机模式, 易于实现节能。n RF905 适用于无线数据通信、无线报警及安全系统、无线开锁、无线监测、家庭自动化和玩具等诸多领域。n RF905 硬件连接如图5 所示。
1.2.4 LCD12864 模块
LCD12864 接口电路如图6 所示。
1.2.5 矩阵按键模块
开发板矩阵按键电路如图7 所示。
1.2.6 LED灯接口电路
为了节约硬件资源, LED灯通过M74HC595 芯片与微控制器相连, LED灯接口电路如图8 所示。
2 系统软件设计
系统软件设计方面主要包括SIM900 模块利用AT指令进行短信收发和解析;n RF905 无线模块收、发设计;LCD12864 时钟显示等, 下面结合两个通信模块的软件设计进行讲解。
2.1 SIM900 软件模块及调试
SIM900 调试界面如图9 所示, 下面介绍SIM900 利用AT指令进行短信收发和解析的主要模块定义及注释:
2.2 n RF905 软件收发设计
n RF905 发送流程分以下几步:
(1) 当微控制器有数据要发送时, 通过SPI接口, 按时序把接收机的地址和要发送的数据送传给n RF905, SPI接口的速率在通信协议和器件配置时确定;
(2) 微控制器置高TRX_CE和TX_EN, 激发n RF905 的Shock Burst TM发送模式;
(3) n RF905 的Shock Burst TM发送;
(4) AUTO_RETRAN被置高, n RF905 不断重发, 直到TRX_CE被置低;
(5) 当TRX_CE被置低, n RF905 发送过程完成, 自动进入空闲模式。
n RF905 的接收流程分为以下几步:
(1) 当TRX_CE为高、TX_EN为低时, n RF905 进入Shock Burst TM接收模式;
(2) 650 μs后, n RF905 不断监测, 等待接收数据;
(3) 当n RF905 检测到同一频段的载波时, 载波检测引脚被置高;
(4) 当接收到一个相匹配的地址, 地址匹配引脚被置高;
(5) 当一个正确的数据包接收完毕, n RF905 自动移去字头、地址和CRC校验位, 然后把数据准备好引脚置高;
(6) 微控制器把TRX_CE置低, n RF905 进入空闲模式;
(7) 微控制器通过SPI口, 以一定的速率把数据移到微控制器内;
(8) 当所有的数据接收完毕, n RF905 把数据准备好引脚和地址匹配引脚置低;
(9) n RF905 此时可以进入Shock Burst TM接收模式、Shock Burst TM发送模式或关机模式。
3 结语
为了让通信专业的学生更好地掌握无线通信技术的应用, 本文设计的多功能开发板具有实际工程应用的价值, 通过结合具体的项目开发流程, 既提高了学生的C语言编程能力, 又锻炼了他们的工程项目素养, 为毕业后从事相关技术研发工作打下坚实的基础。
摘要:为了帮助通信专业学生更好地掌握无线通信产品的开发, 自行设计了基于STC12C5A60S2的通信开发板。主要有以下功能模块:SIM900无线网络模块、nRF905短距离无线收发模块、LCD12864显示模块、矩阵按键模块、外围扩展接口电路等。通过给定具体的项目实践, 提高学生的硬件设计能力及软件编程能力, 为就业打下良好的基础。
关键词:多功能通信开发板,STC12C5A60S2芯片,GPRS模块,nRF905,LCD12864显示模块
参考文献
[1]陈建军, 韩庆文, 蒋阳.通信工程专业的实践教学研究[J].现代教育技术, 2012 (4) :110-113.
[2]黄超, 于亮.应用型通信工程专业人才培养方案改革新探[J].中国电力教育, 2013 (26) :20-22.
[3]黄飞江, 刘光灿, 陈威兵.应用型本科通信工程专业实践教学研究[J].教育理论与实践, 2011, 31 (5) :6-8.
[4]李厚杰, 宋海玉.民族院校通信工程专业实践教学模式的探索[J].实验室研究与探索, 2013, 32 (6) :131-134.
[5]代芬, 王卫星.单片机综合实验开发板设计[J].实验室研究与探索, 2010, 29 (8) :213-215.
[6]刘晋, 王政林, 薛凯方.基于STC12C5A60S2单片机的LED显示屏硬件设计[J].微型机与应用, 2011 (22) :24-27.
[7]秦相林, 张海兵, 张盈盈.基于STC12C5A60S2的无线温度采集系统设计[J].哈尔滨商业大学学报, 2011, 27 (6) :837-840.
[8]荆世勇, 周景龙, 刘明鑫, 等.基于SIM900A和LPC2378无线数据传输系统设计[J].电子科技, 2012, 25 (11) :66-68.
[9]翟顺, 王卫红.基于SIM900的物联网短信报警系统[J].现代电子技术, 2012, 35 (5) :86-89.
[10]朱文海.基于nRF905的小型无线温度传感器设计[J].仪表技术, 2013 (6) :52-54.