- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种利用单片机控制设计无线联谊器
一种利用单片机控制设计的无线联谊器
摘 要:本课题以STC8951为控制核心,进行软件编解码,采用频率为315MHZ的ASK幅度调制,接收采用超再生电路,按键设置多个联谊爱好选项,液晶显示菜单式界面, LED指示选择项,编程控制蜂鸣器音乐提示。本系统硬件电路结构简单,软件操作界面人性化,能满足联谊会上用户的需求,也能满足无线编码控制系统的应用需要。
关键字:无线发射与接收 STC89C51 ASK调制 联谊呼叫 液晶显示
1 课题来源、意义、发展和现状
计算机通信和无线技术的融合,具有智能控制的无线通信技术应运而生,以快捷、方便和安全等优势,广泛应用到遥控产品、汽车电路、环境监测和电气自动化等,尤其在数据通信、无线网络、RS485/232数据通信等领域。课题利用单片机无线通信技术,从软件和硬件层面上设计,实现一个适合在联谊会上用的呼叫器,帮助联谊者能够快速精确找到有共同爱好的朋友。
无线编码发射接收感应器的发展历程与计算机电子技术及通信技术的发展息息相关,早期的产品采用分立元件组成,功能单一,体积大,控制感应精度低,抗干扰性差。本项目利用成熟的单片机智能控制技术,采用软件进行编码和解码,在连接方式上更多,应用和功能上更灵活,同时从硬件上降低系统的成本。
2 设计方案
AT89C51是一种低功耗、高性能的8位CMOS微控制器,片内含有4KB快闪可编程/擦除只读存储器,使用高密度、非易失存储技术制造,具较宽的工作电压,工作频带较宽,在性价比、系统的灵活性、用户的分类需求等特点上具备一定的优势。方案以STC89C51作为控制核心,对数据进行编码,产生的数字信号利用315MZH的高频发射电路发射出去,通过超再生接收电路进行接收,信息解码后驱动Nokia 5110液晶和LED灯进行显示,以及一些声音控制等。其方案如下图一所示。
图一 总方案框图
3 电路模块设计
3.1主机控制电路
该部分是系统控制的核心,采用了STC89C51单片机,实现对外部数据的编码和解码,并控制其他模块的协调工作。控制蜂鸣器实现语音提示,控制显示的内容,提供了手动复位以及端口控制能力。图二为主机控制连接图。
图二 主机控制连接图
3.2主要模块电路
在爱好选项选完确认后,ST89C51对数据进行编码,从P3.0管脚发出的编码信号(地址码、数据码、同步码组成一个完整的码字),送到发射模块的数据输入端,当P3.0管脚输出为高电平时315MHz的高频发射电路起振并发射等幅高频信号,当P3.0管脚为低电平时发射电路停止振荡,高频发射电路正基于此原理受控于单片机P3.0管脚所输出的数字信号,从而对高频电路完成幅度键控(ASK调制)调制度为100%的调制。图三为发射模块电路图。
接收模块收到信号后经过电路的信号变换后通过P0.7口送入到ST89C51内进行解码处理。图四为接收模块电路图。
系统的按键主要用来进行爱好的选择及其他操作,由4个按键组成,他们的功能分别为:上、下、确认、取消。LED是用来显示所选择的爱好,每一个LED灯分别对应一个选项,系统预设11个爱好选项。图五是按键与LED显示电路。
图五 按键与LED显示电路
系统电源采用一节便携9V的电池,单片机的5V电压通过7805电源模块转换而来。
3.3软件编解码技术和控制设计
为了提高数据传输的可靠性,必须对发送数据及发射的脉冲格式进行编码,在接收端则进行相应的解码,恢复出原来的数据,实现无线通信。通过检测所发射的二进制数是“1”还是“0”,从P3.0口产生不同的编码脉冲送到发射模块再进行发射。程序段如下:
void emission_byte(uchar data_byte)//发射二进制函数定义
{
uchar data_x,i;
data_x = data_byte;
for(i = 0; i 8; i++)//每 8位数据发射8次
{
if(data_x 0x01)//检测
{
TX = 1;
Delay_us(255);
Delay_us(240); //脉宽495us
TX = 0;
Delay_us(240);//发射 “1”
}
else
{
TX = 1;
Delay_us(125);
Delay_us(120); //脉宽495us
TX = 0;
Delay_us(240); //发射 “0”
}
data_x = data_x 1;//下一位
_nop_();
}
文档评论(0)