武汉理工大学单片机课设报告.docx
- 文档编号:10060636
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:30
- 大小:777.09KB
武汉理工大学单片机课设报告.docx
《武汉理工大学单片机课设报告.docx》由会员分享,可在线阅读,更多相关《武汉理工大学单片机课设报告.docx(30页珍藏版)》请在冰点文库上搜索。
武汉理工大学单片机课设报告
序号(学号):
学生实习报告书
实习类别
单片机应用实习
实习地址
武汉理工大学信息工程学院
学院
信息工程学院
专业
通信工程
班级
姓名
指导教师
2016
年
1
月
15
日
实习执行大纲
一、实习目的
1、巩固《单片机原理与应用》理论课的理论知识;
2、熟悉单片机应用系统的硬件设计及软件设计的基本方法;
3、将《单片机原理与应用》理论课的理论知识应用于实际的应用系统中;
4、训练单片机应用技术,锻炼实际动手能力。
二、实习纪律与要求
1、实习纪律
1)参加实习的学生必须按照实习大纲的要求,在指导教师的指导下,全面完成实习任务;
2)听从指导教师安排,严格遵守实习纪律;
3)因故在实习期间缺勤累计超过规定时间的三分之一,不得参加本次实习考核,但可在补足所缺天数后再给予考核并评定实习成绩。
2、基本要求
1)利用PROTEL等软件进行硬件设计;
2)利用KeiluV2软件完成应用系统软件设计;
3)利用stc-isp软件完成在系统编程、下载,并完成系统软件调试;
4)题目由指导教师提供;
5)要求每个学生单独完成硬件软件设计、仿真、焊接、调试任务;
6)写出实习报告,实习报告主要包括以下内容:
目录、摘要、关键词、基本原理、方案论证、硬件设计、软件设计(带流程图、程序清单)、仿真结果、实物运行结果照片、结论、参考文献等;
7)实习完成后通过答辩;
8)答辩时交实习报告电子文档,通过答辩后根据修改意见修改并打印、装订成册。
三、实习地点
武汉理工大学信息工程学院通信实验室。
四、实习时间
2016年1月1日---2016年1月14日。
实习单位:
武汉理工大学信息工程学院
参观考察单位:
(1)武汉理工大学信息工程学院国创课题小组
(2)武汉理工大学信息工程学院开放实验室
(3)武汉理工大学电工电子实习中心
(4)
(5)
(6)
实习开始时间:
2016年1月1日,实习时间共10天。
完成实习报告时间:
2016年1月14日。
实习日记2013年月日
(主要记载实习期间的实习内容、实习心得及实习体会)
(可加页)
实习日记2013年月日
实习报告
摘要
基于射频收发器CC1101、单片机(MCU)STC89C52设计了一种基于单片机的488M无线通信系统,本设计详细介绍了系统的设计方案及各个模块的器件选型和硬件电路设计,MCU部分的软件设计以及无线通信模块CC1101的软件编程要点。
无线收发芯片CC1101是一种低成本、低功耗、无需申请频点、传输可靠、支持无线传感器网络技术的单片可UHF编程收发芯片。
其工作频段灵活可以设定在315MHz、433MHz、868MHz和915MHz的ISM和SRD频段。
其可编程数据传输速率可达500kBaud,提供数据包处理数据缓冲的硬件支持。
无线数据模块CC1101具有数字接口部分、模拟部分。
数字接口部分作为下载程序的模块,主要工作参数通过SPI接口编程改变;模拟部分负责信号的选频放大滤波混频处理等等。
该系统选择射频频率433MHz,该频段无需申请频段许可,由于发射功率足够高,并且采用全向天线作为发射和接收天线,在实验室环境内发射无死区。
关键字:
无线通信、STC89C52、CC1101
Abstract
RFtransceivertheCC1101microcontroller(MCU)STC89C52designamicrocontroller-basedthe488Mwirelesscommunicationsystem,thedesigndetailsofthedesignofthesystemandtheindividualmodulesdevicesSelectionandhardwarecircuitdesign,MCUpartofsoftwaredesignandwirelesscommunicationmoduleCC1101softwareprogrammingessentials.
WirelesstransceiverchipCC1101isalow-cost,low-power,noneedtoapplyfrequency,reliabletransmission,singleUHFprogrammingtransceiverchipsupportswirelesssensornetworktechnology.Itsoperatingbandisflexibleandcanbesetat315MHz,433MHz,868MHzand915MHzISMandSRDfrequencybands.Programmabledatatransferrateupto500kBaud,providedatabufferpacketprocessinghardwaresupport.Thewirelessdatamodulehaveadigitalinterfaceportion,theanalogportionCC1101.Digitalinterfaceaspartofthedownloadprocessmodule,themainoperatingparametersprogrammedthroughtheSPIinterfacechanges;theselectedfrequencyanalogpartresponsibleforsignalamplifyingandfilteringmixingprocess.ThesystemselectinganRFfrequencyof433MHz,thebandisnotrequiredtoapplythebandpermission,becausethetransmissionpowerishighenough,andusingomni-directionalantennaasthetransmittingandreceivingantennas,emittingnodeadzoneinthelaboratoryenvironment.
Keyword:
Wirelesscommunication,STC89C52,CC1101
基于单片机的488M无线通信系统
1基本原理
1.1单片机STC89C52
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,2个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。
另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
参数:
(1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051;
(2)工作电压:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机);
(3)工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz;
(4)用户应用程序空间为8K字节;
(5)片上集成512字节RAM;
(6)通用I/O口(32个),复位后为:
P0/P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻;
(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片;
(8)具有EEPROM功能;
(9)具有看门狗功能;
(10)共3个16位定时器/计数器。
即定时器T0、T1、T2;
(11)外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒;
(12)通用异步串行口(UART),还可用定时器软件实现多个UART;
(13)工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级);
(14)PDIP封装;
1.2无线通信CC1101
CC1101是TI(德州仪器)推出的一款低功耗433/868/915M频段的无线传输射频芯片,集2-FSK、GFSK、MSK调制方式于一体,提供扩展硬件支持的信息包处理、数据缓冲、群发信息、空闲信道评估、连接质量指示(RSSI)和无线唤醒,其具有多种优势特性,使得此芯片得到广泛应用。
CC1101具有以下特征:
(1)支持2-FSK、4-FSK、GFSK、MSK以及OOK,灵活的ASK波形整形;
(2)工作频段:
300~348MHz、387~464MHz和779~928MHz;
(3)高灵敏度(1.2kBaud、433MHz、1%误包率条件下为–112dBm);
(4)低电流消耗(1.2kBaud、433MHz下RX中为15mA);
(5)所有支持频率下高达+12dBm的可编程输出功率;
(6)0.6~500kBaud的可编程数据速率;
(7)高效的SPI接口;利用一次“突发”数据传输便可对所有寄存器进行编程;
(8)64字节发送/接收FIFO,用户可以设计高效编程缓冲,以达到最快传输波特率;
(9)快速的锁定频率合成器以及90μs的建立时间使其适合于许多跳频系统;
(10)提供对数据包导向系统的灵活支持;同步字检测、地址校验、灵活的数据包长度以及自动CRC处理的片上支持;
(11)地址及CRC检验功能及点对多点通信地址控制;
(12)数字RSSI输出,这是许多射频芯片无法输出的重要参数;
(13)可编程信道滤波器带宽;
(14)可编程载波监听(CS)指示器;
(15)可编程前导质量指示器(PQI),用于随机噪声伪同步字检测增强保护;
(16)支持发送前自动空闲信道评估(CCA)(用于载波监听系统);
(17)支持每个数据包的链路质量指示(LQI);
(18)可选数据自动白化和去白(de-whitening);
(19)标准2.54DIP间距接口,便于嵌入式应用;
(20)125个可选工作频道,满足多点通信和跳频通信需要;
(21)1.8V~3.6V的宽工作电压;
典型应用:
车辆监控、遥控、遥测、小型无线网络、无线超标、楼宇自动化、物流及资产管理、电力安全、智能家居、工业数据采集系统、安全防火系统、机器人控制、无线232\485\422数据通信等。
1.3无线传输系统
图1-3无线数据传输系统结构图
短距离无线数据传输技术是作为一种无线通信的实用技术广泛应用于工业、农业以及人们日常生活中的,它是在一个单片的射频收发芯片和微控制器以及一些外围的电子器件(如电阻、电容等)构成的无线通信模块硬件电路的基础上,再配合软件上的开发,并按照命令字节的协议进行数据包的操作,便可实现其最基本的无线数据传输功能。
简单的讲,只要有微控器,单片射频收发芯片以及少量的外围和显示设备就可以构成一个无线传输系统,传输系统结构如图1-3所示。
2方案论证
经过仔细地分析与论证,我认为此次的基于单片机的488M无线通信系统可分为无线通信模块CC1101、单片机STC89C52最小系统、STC-ISP系统编程下载三部分组成。
2.1无线通信模块
方案一:
nRF905单片无线收发器是挪威Nordic公司推出的单片射频发射器芯片,工作电压为1.9-3.6V,32引脚QFN封装(5mm×5mm),工作于433/868/915MHz3个ISM频道(可以免费使用)。
最大发射功率+10dBm,GFSK调制模式,仅支持50kbps通讯速率,最大数据包长度32-Byte,内置CRC。
校验测试nRF905时选用444.0MHz的工作频率,设置发射功率为+10dBm(10mW),开启CRC校验,设置数据包长度为32-Byte。
nRF905通讯距离的测试结果与nRF2401A和nRF24L01+相似,距离500米通讯稳定(丢包率不足1%)。
到700米时出现严重的丢包。
同时,nRF905所采用的433MHz胶棒天线具有较强的方向性,在接近极限距离时尤为明显。
如想在远距离通讯中获得更好的稳定性,建议换用高增益的定向天线。
方案二:
采用德州仪器(TI)射频芯片CC1101,相较于nRF系列的无线数传芯片CC1101提供了更加丰富的功能。
支持ASK、OOK、GFSK、2-FSK、4-FSK和MSK调制模式,支持通讯速率0.6kbps~500kbps,最高发射功率+10dBm。
64-Byte的数据缓冲区,支持数据白化、支持前向交错及曼彻斯特编码。
它们会增加数据在传输时的可靠性和出现错误编码时的纠错功能。
但开启这两个功能的同时也会使通讯速率增加一倍,这也在一定程度上降低了接收灵敏度(速率越高接收灵敏度越低)。
综上所述,考虑到芯片性价比和系统功能实现难易程度,本设计选用方案二TI的射频芯片CC1101作为无线通信系统的数据传输模块。
2.2单片机最小系统
方案一:
STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。
按性能分成两个不同的系列:
STM32F103“增强型”系列和STM32F101“基本型”系列。
增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。
方案二:
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。
经比较,考虑到在课程学习的进度和深度方面,方案二STC89C52的使用可以巩固课内知识的同时也提高可课外动手实践能力,可以在基本不增加硬件复杂性的情况下,大大降低了软件的复杂性,且硬件调节较软件调节具有更高的可操作性,故选择方案二。
2.3整体方案论证和选择
我们最后确定的系统详细方框图如下:
图2-3系统结构框图
本系统使用无线传输模块CC1101作为数据通信节点,STC89C52单片机作为微控制器核心,将程序下载到2个单片机中,然后按KEY后发送信息,发送信息完毕后,发送方单片机控制LED闪烁,如果接收方接受到发送方数据,且经验证接收数据信息的正确性和无丢包后,控制接收端LED闪烁。
而且两个STC89C52均可做为发送端和接收端,一个做为发送,对应另一端即为接收,实现及时双向通信。
3硬件电路设计
3.1STC89C52单片机最小系统
图3-1-1STC89C52单片机最小系统原理图1
图3-1-2STC89C52单片机最小系统原理图2
对51系列单片机来说,最小系统一般应该包括:
单片机、晶振电路、复位电路。
在制作51单片机最小系统时需注意以下几点:
(1)复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短;
(2)晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大,处理速度越快;
(3)起振电容C2、C3一般采用15~33pF,并且电容距离晶振越近越好,晶振距离单片机越近越好;
(4)P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k;
3.2无线通信模块CC1101
射频模块布线是整个系统PCB板设计中的核心。
外围器件最好选用体积小的贴片元件,滤波电容尽可能接近器件引脚布置,这样滤波效果会更好。
尽可能将数字电路远离射频电路因为数字电路存在陡峭的上升下降沿,所以MCU是射频电路的巨大噪声源,也可以考虑使用金属屏蔽罩,虽然该办法存在很多缺点,但仍然非常有效,而且在很多时候是隔离关键电路的唯一办法。
虽然CC1101的使用手册给出了外围器件的详细参数,但实际应用中,很多时候阻抗匹配仍然需要重新测量计算,也要调整相应器件的参数。
比如接地电容,由于板存在分布电容,实际使用的电容要比推荐的略小一些。
整个PCB板最好采用统一接地方式。
虽然数字地会干扰射频地和模拟地,但是若分开成3部分,最终总是有些高速信号线要穿过这些分开的接地点。
图3-2-1CC1101原理图1
图3-2-2CC1101原理图2
4软件程序设计
4.1无线通信模块CC1101
CC1101是通过SPI方式与MCU相连,可以通过MCU自带的硬件SPI,3线模式,或者MCU模拟SPI来驱动。
CC1101的寄存器众多,包括状态寄存器将近80个,若手动配置容易出错,因此Chipcon公司提供了SmartRF@Studio射频仿真软件该软件可根据程序员的需求(包括频率,速率,调制方式等)自动给出一组最佳的寄存器配置参数,若与TI公司的相关评估板联用,还可以对射频器件的回路晶体振荡器选择,频道间隔,分频,调制,数据格式,数据比率,RF射频功率输出进行仿真。
这里,编程时通过SmartRF@Studio射频仿真软件计算出CC1101的系统参数的十六进制配置数据,然后采用STC89C52模拟SPI对CC1101进行软件编程,完成结构的配置。
寄存器设置中,433MHz频率主要是通过FREQ2、FREQ1、FREQ0寄存器来设置,FREQ2=0X10,FREQ1=0XA7,FREQ0=0X62,CC1101支持振幅、频率和移相调制格式。
CC1101拥有卓越的数据包处理能力,发送时只需简单设置寄存器,当用户往CC1101内的TXFIFO写入数据后,器件自动在数据包内增加前导字节(长度可控),同步信息,CRC16校验,并根据寄存器设置将FIFO内写入的头两个字节数据标志为长度信息(此功能可选)和地址信息(可选)。
接收状态下,器件自动侦测前导码,同步码地址信息和计算并比较CRC16。
此外,CC1101还支持变长数据包格式和交织功能。
这些原本需要复杂算法和巨大运算量和存储空间的功能由硬件支持,MCU的编程难度大大降低其负荷也大为减轻。
4.2CC1101发射模式编程
STC89C52控制CC1101的发射模式编程流程主要包括以下4部分,流程图如图4-2所示。
(1)数据编码:
计算待发送数据的字节、数据包编码;
(2)发射模式初始化:
上载数据到TXFIFO、使能TX;
(3)激活TX状态:
如果所有字节没有完全写到TXFIFO,MCU将设置为低功耗模式;
(4)
TXFIFO阈值中断:
填充TXFIFO,当数据字节低于256时设置为固定长度模式,所有字节全部写完则完全发送;
图4-2CC1101发送模式流程图
4.3CC1101接收模式编程
STC89C52控制CC1101的发射模式编程流程主要包括以下5部分,流程图如图4-3所示。
(1)初始化RX:
设置无线长度模式并设置FIFO阈值;
(2)激活RX状态:
如果所有字节没有完全读到RXFIFO,MCU将设置为低功耗模式;
(3)RXFIFO阈值中断:
从RXFIFO读取长度字段,计算接收数据字节的总长度,数据字节低于255时设置为固定长度模式,计算并设置PKTLEN;
(4)RX数据包的接收:
读出剩余字节,读完所有字节则完全接收;
(5)
数据包解码,循环冗余码校验;
图4-3CC1101接收模式流程图
5仿真测试
5.1STC89C52单片机最小系统仿真测试
图5-1STC89C52单片机最小系统
经PROTUES仿真测试STC89C52单片机最小系统能正常工作,且可完成键盘输入检测和LED灯指示功能,如图5-1所示。
6实物制作与调试
6.1STC89C52单片机最小系统
图6-1STC89C52单片机最小系统
6.2无线通信模块CC1101
图6-2无线通信模块CC1101
6.3USB转TTL电路
图6-3USB转TTL电路
采用MAX232芯片制作USB转TTL电路模块,该模块用于将KEIL编写的程序下载至STC89C52单片机中,外设接口有4个,分别为RX、TX、VCC、GND,对应接入STC89C52单片机的IO口。
(1)TXD发送端:
一般表示为自己的发送端,正常通信必须接另一个RXD
(2)RXD接收端:
一般表示为自己的接收端,正常通信必须接另一个设备的TXD
正常通信时候本身的TXD永远接设备的RXD,自收自发,正常通信时RXD接其他设备的TXD。
因此如果要接收自己发送的数据,顾名思义“也就是自己接收自己发送的数据”即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障,也称回环测试。
6.4调试界面及工具
图6-4-1KEIL4软件编程
图6-4-2STC-ISP程序下载
图6-4-3供电电源
6.5整体通信系统
图6-5整体通信系统
本系统使用无线传输模块CC1101作为数据通信节点,STC89C52单片机作为微控制器核心,将程序下载到2个单片机中,然后按KEY后发送信息,发送信息完毕后,发送方单片机控制LED闪烁,如果接收方接受到发送方数据,且经验证接收数据信息的正确性和无丢包后,控制接收端LED闪烁。
而且两个STC89C52均可做为发送端和接收端,一个做为发送,对应另一端即为接收,实现及时双向通信。
7心得体会
通过这次单片机专业课程实践设计,我觉得收获了很多,无论是理论知识的学习,还是实践部分的运用。
在课程设计之前,虽然自己已经接触过一些有关于单片机的知识,比如51系列、430超低功耗系列、STM32系列等等,但是跟射频相关的部分还是很生疏,在本次单片机专业课程实践设计中第一次接触无线射频模块CC1101,了解其在无线通信、射频、信号调制解调等方面强大的功能,希望以后能够有机会,能对有关于CC1101无线通信系统的功能进行深一层次的了解。
刚开始的时候,由于对无线通信模块CC1101的知识不熟悉,所以做起来比较困难。
我大量查阅图书馆和网上的资料,希望能尽量在较短的时间内了解关于无线通信模块CC1101在通信系统上的应用,和有关射频模块的理解与应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉理工大学 单片机 报告