单片机无线传输系统设计(89C51)
- 格式:doc
- 大小:881.17 KB
- 文档页数:27
AT89c51与AT89S51单片机的区别AT89S51 是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP (In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统供给高性价比的解决方案。
AT89S51具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,12 8 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不一样产品的需求。
AT89S51与AT89C51相比,外型管脚完全相同,AT89C51的HEX程序无须任何转换可直接在AT89S51运行,结果一样。
AT89S比AT89C51新增了一些功能,支持在线编程和看们狗是其中主要特点。
它们之间主要区别在于以下几点:1.引脚功能:管脚几乎相同,变化的有,在AT89S51中P1.5,P1.6,P1.7具有第二功能,即这3个引脚的第二功能组成了串行ISP编程的接口。
2.编程功能:AT89C51仅支持并行编程,而AT89S51不但支持并行编程还支持ISP再线编程。
在编程电压方面,AT89C51的编程电压除正常工作的5V外,另Vpp需要12V,而AT89S51仅仅需要4-5V即可。
AT89C51单片机的概述(1)AT89C51单片机的结构AT89C51单片机是美国Atmel公司生产低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(EPROM)和128 bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存取技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash 存储单元,功能强大[3]。
AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。
上图为AT89C51单片机的基本组成功能方块图.由图可见,在这一块芯片上,集成了一台微型计算机的主要组成部分,其中包括CPU、存储器、可编程I/O口、定时器/计数器、串行口等,各部分通过内部总线相连。
下面介绍几个主要部分。
外时钟源外部事件计数外中断控制并行口串行通信AT89C51 功能方块图(2)AT89C51的管脚说明ATMEL公司的AT89C51是一种高效微控制器.采用40引脚双列直插封装形式。
AT89C51单片机是高性能单片机,因为受引脚数目的限制,所以有不少引脚具有第二功能。
VCC:供电电压.GND:接地.P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入.P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0 口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高.P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故.在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入。
单片机89C51精确延时高手从菜鸟忽略作起之(六)一,晶振与周期:89C51晶振频率约为12MHZ。
在此基础上,计论几个与单片机相关的周期概念:时钟周期,状态周期,机器周期,指令周期。
晶振12MHZ,表示1US振动12次,此基础上计算各周期长度。
时钟周期(W sz):Wsz=1/12=0.083us状态周期(W zt) Wzt=2*Wsz=0.167us机器周期(W jq): Wjq=6*Wzt=1us指令周期(W zl): W zl=n*Wjq(n=1,2,4)二,指令周期汇编指令有单周期指令,双周期指令,四周期指令。
指令时长分别是1US,2US,4US.指令的周期可以查询绘编指令获得,用下面方法进行记忆。
1.四周期指令:MUL,DIV2.双周期指令:与SP,PC相关(见汇编指令周期表)3.单周期指令:其他(见汇编指令周期表)三,单片机时间换算单位1.1秒(S)=1000毫秒(ms)2.1毫秒(ms)=1000微秒(us)3.1微秒(us)=1000纳秒(ns)单片机指令周期是以微秒(US)为基本单位。
四,单片机延时方式1.计时器延时方式:用C/T0,C/T1进行延时。
2.指令消耗延时方式:本篇单片机精确延时主要用第2种方式。
五,纳秒(ns)级延时:由于单片机指令同期是以微秒(US)为基本单位,因此,纳秒级延时,全部不用写延时。
六,微秒(US)级延时:1.单级循环模式:delay_us_1最小值:1+2+2+0+2+1+2+2=12(US),运行此模式最少需12US,因此12US以下,只能在代码中用指定数目的NOP来精确延时。
最大值:256*2+12-2=522(US),256最大循环次数,2是指令周期,12是模式耗时,-2是模式耗时中计1个时钟周期。
延时范围:值域F(X)[12,522],变量取值范围[0,255].函数关系:Y=F(x):y=2x+12,由输入参数得出延时时间。
反函数:Y=F(x):y=1/2x-6:由延时时间,计算输入参数。
河南工业职业技术学院Henan Polytechnic Institute 毕业设计(论文)题目智能窗帘控制系统班级机电0906姓名刘云飞指导教师张国同目录1引言 (1)1.1研究目的和意义及国内外发展现状 (1)1.2基本内容及章节安排 (2)2总体方案设计 (4)2.1 控制器智能项目 (4)2.2 系统总体结构规划 (5)3 系统硬件设计 (6)3.1 89C51单片机及相关电路 (6)3.1.1晶振电路 (7)3.1.2复位电路 (8)3.1.3时钟电路 (8)3.1.4 电源电路 (10)3.2 步进电机 (10)3.3 键盘/显示接口电路 (12)3.4 传感器 (14)3.5 信号调理电路 (15)3.5.1 放大滤波电路 (15)3.5.2 A/D转换 (15)4 系统软件设计 (18)4.1 主程序软件设计 (18)4.2 主要功能子程序设计 (19)4.2.1 步进电机程序设计 (19)5 总结与展望 (23)程序 (24)致谢 (31)参考文献 (32)1引言1.1研究目的和意义及国内外发展现状21 世纪是信息化的世纪,各种电信和互联网新技术推动了人类文明的巨大进步。
智能家居控制系统可以定义为一个过程或者一个系统。
利用先进的计算机技术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起,通过统筹管理,让家居生活更加舒适、安全、有效。
与普通家居相比,智能家居不仅具有传统的居住功能,提供舒适安全、高品位且宜人的家庭生活空间。
还将原来的被动静止结构转变为具有能动智慧的工具,提供全方位的信息交换功能,帮助家庭与外部保持信息交换畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节约资金。
系统的网络化功能可以提供遥控、家电(空调,热水器等)控制、照明控制、室内外遥控、窗帘自控、防盗报警、电话远程控制、可编程定时控制及计算机控制等多种功能和手段。
89C51单片机简介1 89C51单片机简介 (1)2 时序 (2)3引脚及其功能 (2)4输入/输出(I/O)引脚P0口、P1口、P2口及P3口 (4)1 89C51单片机简介目前,89C51单片机在工业检测领域中得到了广泛的应用,因此我们可以在许多单片机应用领域中,配接各种类型的语音接口,构成具有合成语音输出能力的综合应用系统,以增强人机对话的功能。
89C51是Intel公司生产的一种单片机,在一小块芯片上集成了一个微型计算机的各个组成部分。
每一个单片机包括:一个8位的微型处理器CPU;一个256K的片内数据存储器RAM;片内程序存储器ROM;四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O 口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。
最高允许振荡频率是12MHZ。
以上各个部分通过内部总线相连接。
下面简单介绍下其各个部分的功能。
中央处理器CPU是单片微型计算机的指挥、执行中心,由它读人用户程序,并逐条执行指令,它是由8位算术/逻辑运算部件(简称ALu)、定时/控制部件,若干寄存器A、B、B5w、5P以及16位程序计数器(Pc)和数据指针寄存器(DM)等主要部件组成。
算术逻辑单元的硬件结构与典型微型机相似。
它具有对8位信息进行+、-、x、/ 四则运算和逻辑与、或、异或、取反、清“0”等运算,并具有判跳、转移、数据传送等功能,此外还提供存放中间结果及常用数据寄存器。
控制器部件是由指令寄存器、程序计数器Pc、定时与控制电路等组成的。
指令寄存器中存放指令代码。
枷执行指令时,从程序存储器中取来经译码器译码后,根据不同指令由定时与控制电路发出相应的控制信号,送到存储器、运算器或I/O接口电路,完成指令功能。
程序计数器Pc 程序计数器Pc用来存放下一条将要执行的指令,共16位.可对以K字节的程序存储器直接寻址c指令执行结束后,Pc计数器自动增加,指向下一条要执行的指令地址。
基于单片机AT89C51的无线多路灯具控制系统作者:郑建强王文明来源:《硅谷》2008年第19期[摘要]介绍一种基于单片机AT89C51和无线传输模块LZ713i GPRS DTU构成的多路灯具控制系统。
论述其工作原理和软硬件设计方法。
[关键词]单片机AT89C51 无线传输模块LZ713i RS-485接口看门狗中图分类号:TP271+.4文献标识码:A 文章编号:1671-7597(2008)1010021-02一、引言数据传输方式分为有线方式和无线方式传输。
有线方式布线比较复杂,在某些不适合布线的场所需要采用无线方式。
现有的一些简易无线发射接收模块传输距离近,速率低,可靠性差,不适合用于产品的设计。
本文介绍的LZ713i GPRS DTU无线传输模块,具有传输距离远,速率高,数据可靠的优点,和单片机结合可用于许多场合。
二、系统简介本系统由一个控制台、多个灯具控制器组成。
微处理器采用AT89C51,该芯片内含4k可编程程序存储器,可擦写1000次。
复位电路采用具有看门狗功能的MAX813L。
通讯接口电路采用MAX1487E[1];无线传输模块采用厦门蓝斯通讯有限公司的LZ713I GPRS DTU ,内部集成了高速嵌入式处理系统,提供TCP/IP协议栈,适用于自身不带,但具有RS232/485/TTL 接口通讯能力的设备,为用户提供高速、永远在线、透明数据传输的通道[2]。
(一)控制台1.硬件设计。
原理图见图1。
控制台由键盘、液晶显示器、复位电路和通讯部分组成,完成选号及动作控制。
2.软件设计。
程序由按键处理、显示、通讯和喂狗四部分构成。
按键处理部分的功能:判别是否有键按下,无键按下时,返回;有键按下时,首先扫描键盘,得到按键的列值和行值,然后延时12ms去抖动,再判断是否有键按下,若有,根据按键的行值和列值计算键值,并保存键值,之后转入键值解释部分进行处理。
显示部分功能:显示输入的设备编号和动作编号。
基于AT89C51单片机控制的无线报警器的设计1. 引言随着社会的发展和进步,人们对安全的需求越来越高。
无线报警器作为一种安全警报设备,广泛应用于家庭、商业和工业等领域。
本文将基于AT89C51单片机控制,设计一种高效可靠的无线报警器。
2. 研究背景2.1 安全需求的增加随着犯罪率的上升和人们对财产安全和人身安全的关注增加,无线报警器成为了家庭、商业和工业等场所必备的设备。
2.2 单片机控制技术AT89C51单片机作为一种常用的微控制器芯片,具有低功耗、高可靠性、易编程等特点。
通过单片机控制技术,可以实现无线报警器各种功能。
3. 系统设计3.1 系统结构设计本文所设计的无线报警器主要由传感器模块、信号处理模块、通信模块和报警输出模块组成。
传感器模块负责检测环境信息并将其转化为电信号;信号处理模块通过AT89C51单片机对传感器信号进行处理;通信模块负责将处理后的信号传输给接收器;报警输出模块负责触发报警器。
3.2 传感器模块设计传感器模块是无线报警器的重要组成部分,其负责检测环境信息。
本文所设计的无线报警器主要包括红外传感器、声音传感器和烟雾传感器。
红外传感器用于检测人体活动,声音传感器用于检测异常声音,烟雾传感器用于检测烟雾。
3.3 信号处理模块设计信号处理模块通过AT89C51单片机对传感器信号进行处理。
当某个传感器检测到异常情况时,单片机将接收到的信号进行分析和判断,并触发相应的报警动作。
3.4 通信模块设计通信模块负责将处理后的信号通过无线方式发送给接收端。
本文所设计的无线报警系统采用射频通信技术,通过射频发送和接收数据。
3.5 报警输出模块设计当接收端接收到异常信息后,触发相应的报警输出动作。
本文所设计的无线报警系统包括声光报警装置和手机短信通知装置。
声光报警装置通过发出声音和闪光灯来吸引注意力,手机短信通知装置通过发送短信给用户,及时通知用户发生异常情况。
4. 系统实现4.1 硬件实现本文所设计的无线报警器的硬件实现主要包括传感器模块、信号处理模块、通信模块和报警输出模块。
单片机课程设计任务书1.课题名称抢答器设计2.设计目的1.进一步理解和掌握单片机理论课程知识,加强对专业知识的合运用;2.学会熟练使用单片机编程工具软件及单片机软件编程;3.学习单片机小系统的硬件设计及PCB布线。
4.学会如何整理资料,划分模块,提高自己的编程技巧;3.设计思路a.了解抢答器的工作方式;b.单片机按键输入的设计;c.单片机驱动发光二极管显示及数码管的动态扫描工作方式;d.延时子程序设计;e.定时器的应用;4.设计要求1.在本设计中要求设计一个八组单片机控制的抢答器模拟器;2.要求由两个LED(红绿)指示抢答成功或失败;3.要求由1位数码管显示抢答成功(或失败)的组;4.发挥部分:剩余时间显示,各组积分显示;5.课程设计结束后,要求交设计心得,课程设计报告;目录第一章概述 (1)第二章八路抢答器设计方案及选取 (2)2.1电路设计方案一 (2)2.2电路设计方案二 (2)2.3电路设计方案的选取 (2)第三章电路设计原理及硬件设计 (3)3.1单片机最小系统的原理 (3)3.2八路抢答器工作原理 (4)3.3控制系统及所需元件 (5)第四章软件系统设计及仿真 (7)4.1软件系统设计 (7)4.2电路仿真 (8)第五章电路板制作与调试 (9)5.1电路板制作 (9)5.2电路调试 (9)第六章心得体会 (11)第七章参考文献 (12)鸣谢 (12)附录一源程序 (13)第一章概述《单片机原理及应用技术》是一门技术性,应用性、实践性很强的学科。
课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。
在实际生活中有好多地方都用到了单片机,因此学习好这门课程有着十分重要的意义。
AT89C51 单片机在无线数据传输中的应用 摘要介绍无线数据传输系统的组成、 8951 单片机串行口的工作方式及 其与无线数字电台接口的软硬件设计与实现方法。
关键词 8951 串行口无线数字电台串行通信一般的数字采集系统,是 通过传感器将捕捉的现场信号转换为电信号,经模数转换器采样、量化、 编码后,为成数字信号,存入数据存储器,或送给微处理器,或通过无线 方式将数据发送给接收端进行处理。
无线数据传输系统就是样一套利用无线手段,将采集的数据由测量站 发送到主控站的设备。
1 系统组成系统组成如图 1、图 2 所示。
范文先生网收集整理系统由测量站和主控站两部分组成。
测量站主要完成对现场信号的采集、 存储, 接收遥控指令并发送数据。
主控站的主要工作是发送遥控指令、接收数据信息、进行数据处理和 数据管理、随机显示打印等。
28951 与数字电台的串行通信公司的 8951 单片机, 是一种低功耗、 高 性能的、片内含有 4 的 8 位单片机,工作电压范围为 27~6 实际使用+5 供电,8 位数据总线。
它有一个可编程的全双工串行通信接口,能同时进行串行发送和执着 收。
通过引脚串行数据接收端和引脚串行数据发送端与外界进行通信。
21 通信协议与波特率数字电台与单片机、 终端主控机的通信协议为通 信接口——标准串行 232 接口,9 线制半双工方式;通信帧格式——1 位起 始位,8 位数据位,1 位可编程数据位,1 位停止位;波特率——1200。
数字电台选用公司的系列车载电台,工作于频段,可进行无线数传 9 线制标准串行 232 接口,也可进行话音通信;采用二进制移频键控 2 调制 解调方式,符合国际电报电话咨询委员会 23 标准。
在话带内进行数字传输时,推荐在不高于 1200 数据率时使用。
实际使用时,电台工作于 220~240 频率范围,采用半双工方式执行 收、发操作,但不能同时进行即可满足系统要求。
飞利浦P89C51系列单片机简介文/邢矫健舞P89C51系列单片机是飞利浦公司在兼容MCS-51内核结构的基础上对譬标准的MCS-51内核进行改进后推出誓的一个增强型MCS一51单片机系列.i在芯片型号命名上,P代表是Phifips的产品,89代表芯片内带有非易失性Flash程序存储器(早期还有与Intel_命名上一致的内置ROM/OTP的80系列和内置EPROM的87系列),C代表萋CMOS工艺制造.51/52/54/58代表_芯片内Flash程序存储器的容量分别为4K/8K/16K/32K,还用后缀名区.分为X2,Rx2等不同系列(Rx2系列用A/B/C/D代表Flash程序存储器的容量,见下文).《P89C51系列是从引脚到内核都完.全兼容标准8051的单片机,有40脚DIP,44脚PLCC,44脚LQFP三种.封装形式(见图1).下面,先以P89C51u系列单片机的子系列P89C51Rx2为例介绍其内核的增强功能,再介绍其他类似型号的特点.关于P89C51Rx2的详细开发资料,可上网下载:http:///acrobat/datasheets/一P89C51RB2jC2jD2_9.pdf蕞P89C51Rx2系列单片机主要分_P89C51RA2/RB2/RC2/RD2四种型.号,内核完全相同,差别主要在于片.内Flash闪存分别为8K/16K/32K/--64K,其管脚排列与标准的8051完全_酾嘲鳓adC—ShOW【3一i].=temp1O+0x30;//处理电压值,用于在LCD上显示temp:temp/10;兼容.但芯片内核较之8051有不少大的改进,下面就改进方面逐一介绍.一6时钟,机器周期模式标准的8051每个机器周期为12时钟,增强型的P89C51Rx2系列单片机可以设置工作模式为6时钟/机器周期(双倍速)或12时钟/机器周期.6时钟模式时工作频率为0到20MHz,12 时钟模式时工作频率为0到33MHz. 6时钟/机器周期(双倍速)工作模式下,定时器的计数速度会加倍,相应的12时钟/机器周期模式下的串口波特率也会加倍,因此单片机使用的最高的波特率也可提高~倍.=.片内硬件■门狗P89C51Rx2芯片内置了一个14位的硬件看门狗定时器.从而可以省去外接专用看门狗硬件,当然在不启动内置看门狗的情况下P89C51Rx2完.||l毽甄g警骜l|孽l囊沓薯簪毒毽蘩弩j冁l蚤§甓《《ggil一|l;| 全可以和普通8051单片机一样使用.三.内部扩展删P89C51Rx2系列单片机中的RA2/RB2/RC2在原来8052标准内置256字节RAM的基础上,又扩展了256字节ERAM,共有512字节内置RAM.P89C51RD2则扩展了768字节ERAM,共有1024字节内置RAM.四降低簟片机对外部电磁辐射通过设置6时钟/机器周期(双倍速),可以将外接晶振频率降低一半,能有效降低对外部电磁辐射(EMI).更重要的是,P89C51Rx2系列单片机可以关闭ALE输出,最有效地降低EMI.通过将ALEoff位(AUXR.0)置1,可以使ALE引脚仅在读取外接存储器时才有变化电平输出,从而降低对外部电磁辐射.另外,F'89C51Rx2系列单片机还通过限制引脚信号陕速切换时产生的过冲(对10ns1~.1的上升,下降的摆率采取限制措施),来降低对外部的电磁辐射. 五双l咿m数据指针标准的8051只有一个16位的DPTR数据指针.这样,在进行数据块复制等动作时,必须对源地址指针和目标地址指针进行暂存,编程会非常麻烦.P89C:;1R系列单片机内有两个DPTR数据指针DPTR0/DPTR1,可以通过设…S位(AUXR1.0)方便地选择,DPS置0则选中DPTR0,置1则选中DPTR1.通过执行INC AUXR1指令,能对DPS快速切换,并不影响AUXR1寄存器的高位. AUXR:爵存器(8EH)和AUXR1寄存器(A2H)是在8051标准内核基)adc_Show[0]=adc_Show[1]adc_show[1]=.;adc_show[4]=V'adc_show[5]=0)完整的程序见本期配刊光盘.电路的实际运行结果如图2所示,旋转黑色电位器,可以看到AD转换的电压值. 篇后练习将电位:器连接在ADC的通道IADC1上,编写程序在LCD上显示AD转换值.圆巳口口B.11总第53口期?www.r日 "馥尊础上新增的特殊寄存器,已被多家51芯片厂商用于增强型51单片机产品中,已成为事实上增强型51单片机一个新的标志性标准.六1卵与删P编程方式可在线烧录ISP(InSystemProgramming)和可在应用烧录IAP (InApplicationProgramming)功能改变了单片机的固化程序升级需拔插单片机芯片,使用专用编程器进行烧录的麻烦方式,轻松实现在单片机系统电路板上对单片机芯片内固化的程序进行升级.为了能够实现ISP和IAP功能,P89C51Rx2单片机芯片上内置了BootROM固件,固件中包含着用于擦除,烧录Flash闪存的多种子程序.另外,P89C51Rx2片内Flash闪存以4KB为一块,被分为大小一样的2/4/8/16块.当其中的一块或几块已经烧录着正在运行的程序时,可以对另外的闪存块进行擦除和烧录,完成后再将程序的入El地址设定为新烧录闪存块的首地址.从而实现了不需拔插芯片而对单片机芯片固化程序进行升级. 采用ISP方式烧录程序时,只需用三根串口连线如图2所示方式连接到计算机RS232接121,并在计算机上运行飞利浦系列单片机专用的ISP软件FlashMagic,即可实现对单片机芯片内Flash闪存的擦除,烧录,加密等动作.FlashMagic软件可到网上下载,下载网址为ft9:///pub/esa/flashmagic/F1ashMagic.exe除了可以用ISP方式烧录程序,P89C51Rx2还可以通过调用在芯片内提供的BootROM固件里用于擦除, 烧录Flash闪存的子程序,对当前运行程序块以外的Flash闪存块进行编程. 这一编程方式被称为IAP功能.七,ONCE模式ONCE(在线仿真)模式可以实现对系统的测试和调试而不需要将器件从电路中移去.当器件处于ONCE模式时,PO口处于悬浮状态,其他I/O口,ALE和PSEN为弱上拉,?振荡电路保持工作状态.器件处于该模式时,可用仿真器测试CPU驱动电路,执行正常复位时恢复正常操作.八,可编程计数器^可编程计数器PCA由5个基本一样的可编程计数器模块组成,5个模块共用一套计数/定时器系统,但各有各的比较/捕捉器.每个模块都可单独经编程实现捕捉模式,软定时器模式,高速输出模式,PWM(脉宽调制)模式.第5个模块(即模块4)还多一种看家狗模式.计数/定时器的信号源可选择单倍机器周期频率,3倍机器周期频率,定时器0的溢出频率,ECI引脚(P1.2)输入脉冲中的一种.在使用上,比起仅有计数/定时器0,1,2的标准8052多了更大的灵活性.九全双工增强型咖岍除了标准操作模式外,P89C51Rx2内置的UART(全双工串行口)还可实现自动地址识别和通过查询丢失的停止位进行帧错误检测.当使用帧错误检测时,丢失的位将会置位SCON中的FE位,FE与SM0共用SCON.7,通过PCON.6(SMOD0位) 选择.如果SMOD0置位,SCON.7作为FE,如果SMOD0为0,SCON.7作为SM0.P89C51Rx2内置的UART还对多机通信方式作了增强,可以自动进行地址识别.它使UART可以通过硬件比较从串行数据流中识别出特定的地址,这样就不必花费大量软件资源秘臻叠去检查每一个从串口输入的串行地址.在9位UART模式模式2和模式3 下,如果接收的地址字节中包含给定地址或广播地址(广播地址是指一机发送,多机同时接收数据的模式),接收机就会自动接收串行总线上的数据. 通过一定的地址编号方式,可以实现一机对任意另一,二,三直至更多机同时发送数据.十,其他类似的型号Philips内置Flash闪存的增强型P89C51系列有多个子系列,X2系列包括P89C51X2/52X2/54X2/58X2 (片p~Flash闪存分别为4K/8K/16K/ 32K,51X2片内RAM为128字节,其他均为256字节,无扩展ERAM),片内~gP89C51Rx2系列少了ISP和IAP 编程方式,PeA,看门狗电路,其他方面(包括可倍频)则完全一样.P89C61X2/62X2(片内Flash闪存均为64K,RAM均为256字节,扩展ERAM分别为256/768字节),片内比P89C51Rx2系列少了PeA,看门狗电路,其他方面(包括可ISP和IAP编程方式和倍频)则完全一样.P89C660/662/664/668(片内Flash闪存分别为16K/32K/64K/64K,RAM均为256字节,扩展ERAM 分别为256/768/1768/7936字节),在拥有P89C51Rx2系列所有功能的基础上,还增加了I2C串行通信模块.此外,PhiliI~还有14~28引脚的LPC900系列也使用了51内核,在外部引脚上作了精简,限于篇幅,本文不作详细介绍.十一性价比目前,P89C51X2/52X2/54X2/58X2报价分别为7.2/8.2/9.8/15.2元,P89C51RA2/RD2报价分别为7.8/30元,P89C60X2/61X2报价分别为19.2/19.8元,P89C662/664/668报价分别为51/53/51元.可以根据应用需要选择性价比最高的型号.⑩掌誊凳g2006.11总第53口期?www.radio.oom.on37 黟;;.。
单片机原理与应用技术课程设计报告基于单片机控制的电梯自动控制系统专业班级:姓名:时间:指导教师:基于单片机控制的电梯自动控制系统1.设计目的与要求1.1 基本功能(1)显示:本设计要求实现6层控制,实时显示电梯所在楼层位置。
(2)升降控制:采用一台电动机的正反转来实现电梯的升降。
(3)具备不可逆响应的功能:电梯上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向呼叫均无效。
1.2 扩展功能(1)可增加人性化的按键语音服务功能。
(2)可增加遥控或感应操作功能。
2.设计内容(1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;3.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。
4.答辩在规定时间内,完成叙述并回答问题。
- 2 -目录1 引言 ·······································································································- 4 -2 电梯控制系统原理················································································- 4 -3 总体设计方案························································································- 5 -3.1 设计思路·······················································································- 5 -3.1.1 方案比较··············································································- 5 -3.1.2 方案确立··············································································- 5 -3.2 设计方框图···················································································- 6 -4 电梯控制系统单元电路的设计 ····························································- 6 -4.1 单片机最小系统···········································································- 7 -4.2 信号输入电路···············································································- 7 -4.2.1 内外请求输入电路 ······························································- 8 -4.2.2 厢体位置模拟输入电路·······················································- 8 -4.3 信号模拟输出电路 ·······································································- 9 -4.3.1 楼层显示电路 ······································································- 9 -4.3.2 电梯外部请求显示电路·····················································- 10 -4.3.3 电梯方向及开关门电路·····················································- 11 -5 系统软件设计······················································································- 12 -5.1 初始化程序·················································································- 12 -5.2 各楼层子程序·············································································- 12 -5.3 显示子程序·················································································- 12 -6 结束语 .................................................................................................- 14 - 参考文献 .................................................................................................- 14 - 附录一 .....................................................................................................- 16 - 附录二 (17)- 3 -基于单片机原理的电梯自动控制系统摘要:本文介绍了基于单片机的电梯控制系统,硬件部分主要由单片机最小系统模块、电梯内外电路按键矩阵模拟检测模块、电梯外请求发光管显示模块、楼层显示数码管模块、电梯上下行及开关门模拟显示模块等5部分组成。
波形发生器是一种常用的信号源,广泛地应用于电子电路、自动控制系统和教学实验等领域。
本次课程设计使用的AT89S51 单片机构成的发生器可产生锯齿波、三角波、正弦波等多种波形,波形的周期可以用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑等优点。
在本设计的基础上,加上按钮控制和LED显示器,则可通过按钮设定所需要的波形频率,并在LED上显示频率、幅值电压,波形可用示波器显示。
二、系统设计波形发生器原理方框图如下所示。
波形的产生是通过AT89S51 执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。
在AT89S51的P2口接5个按扭,通过软件编程来选择各种波形、幅值电压和频率,另有3个P2口管脚接TEC6122芯片,以驱动数码管显示电压幅值和频率,每种波形对应一个按钮。
此方案的有点是电路原理比较简单,实现起来比较容易。
缺点是,采样频率由单片机内部产生故使整个系统的频率降低。
1、波形发生器技术指标1)波形:方波、正弦波、锯齿波;2)幅值电压:1V、2V、3V、4V、5V;3)频率:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;2、操作设计1)上电后,系统初始化,数码显示6个…-‟,等待输入设置命令。
2)按钮分别控制“幅值”、“频率”、“方波”、“正弦波”、“锯齿波”。
3)“幅值“键初始值是1V,随后再次按下依次增长1V,到达5V后在按就回到1V。
4)“频率“键初始值是10HZ,随后在按下依次为20HZ、50HZ、100HZ、200HZ、500HZ、1000HZ循环。
三、硬件设计本系统由单片机、显示接口电路,波形转换(D/A)电路和电源等四部分构成。
电路图2附在后1、单片机电路功能:形成扫描码,键值识别、键处理、参数设置;形成显示段码;产生定时中断;形成波形的数字编码,并输出到D/A接口电路和显示驱动电路。
89C51单片机中文资料一、概述89C51是一款由英特尔公司推出的单片机,广泛应用于嵌入式系统和物联网设备中。
本文将为您介绍89C51单片机的中文资料,包括其基本特性、应用领域、技术参数等内容。
二、基本特性1. 架构:89C51采用8位的CMOS单片机架构,具有强大的数据处理能力。
2. 存储器:89C51具有4KB的闪存程序存储器,用于存储程序代码和数据。
此外,它还配备了128字节的RAM,用于存储临时数据。
3. 时钟系统:89C51内置了一个可编程的时钟/计数器,可提供准确的时钟信号和定时功能。
4. 输入/输出:89C51具有多个通用输入/输出引脚,可用于连接外部设备和传感器。
5. 串行通信:89C51支持串行通信接口,可与其他设备进行数据交换和通信。
6. 中断系统:89C51具有灵活的中断系统,可实现对外部事件的快速响应。
三、应用领域89C51单片机广泛应用于各种嵌入式系统和物联网设备中,其应用领域包括但不限于:1. 工业控制:89C51可用于工业自动化控制系统,如温度控制、压力控制等。
2. 家电产品:89C51可用于家电产品,如洗衣机、冰箱、空调等,实现智能控制和功能扩展。
3. 交通系统:89C51可用于交通信号灯、智能停车系统等,提高交通效率和安全性。
4. 安防设备:89C51可用于安防设备,如入侵报警系统、监控摄像头等,实现智能化监控和报警功能。
5. 医疗设备:89C51可用于医疗设备,如血压计、心电图仪等,提供准确的数据采集和处理功能。
四、技术参数以下是89C51单片机的一些典型技术参数:1. 工作电压:3.3V-5V2. 最大时钟频率:12MHz3. I/O口数量:32个4. 串行通信接口:支持SPI和I2C协议5. 温度范围:-40℃至85℃6. 封装形式:DIP、PLCC、QFP等五、学习资料推荐如果您对89C51单片机感兴趣并希望深入学习,以下是一些中文学习资料的推荐:1. 《单片机原理与应用》:该书详细介绍了单片机的原理、应用和编程方法,适合初学者入门学习。
概述该系列单片机是采用高性能的静态80C51设计由先进CMOS工艺制造并带有非易失性Flash程序存储器全部支持12时钟和6时钟操作P89C51X2和P89C52X2/54X2/58X2分别包含128字节和256字节RAM32条I/O口线3个16位定时/计数器6输入4优先级嵌套中断结构1个串行I/O口可用于多机通信I/O扩展或全双工UART以及片内振荡器和时钟电路此外由于器件采用了静态设计可提供很宽的操作频率范围频率可降至0可实现两个由软件选择的节电模式空闲模式和掉电模式空闲模式冻结CPU但RAM定时器串口和中断系统仍然工作掉电模式保存RAM的内容但是冻结振荡器导致所有其它的片内功能停止工作由于设计是静态的时钟可停止而不会丢失用户数据运行可从时钟停止处恢复选型表特性特性y 80C51核心处理单元4k字节FLASH89C51X28k字节FLASH89C52X216k字节FLASH89C54X232k字节FLASH89C58X2128字节RAM89C51X2256字节RAM89C52X2/54X2/58X2布尔处理器全静态操作y 12时钟操作可选6个时钟通过软件或并行编程器y 存储器寻址范围64K字节ROM和64K字节RAMy 电源控制模式―时钟可停止和恢复―空闲模式―掉电模式y 两个工作频率范围6时钟模式时为0到20MHz12时钟模式时为0到33MHzy LQFP, PLCC或DIP封装y 扩展温度范围y 双数据指针y 3个加密位y 4个中断优先级y 6个中断源y 4个8位I/O口y 全双工增强型UART―帧数据错误检测―自动地址识别y 3个16位定时/计数器T0T1标准80C51和增加的T2捕获和比较y 可编程时钟输出y 异步端口复位y 低EMI (禁止ALE以及6时钟模式)y 掉电模式可通过外部中断唤醒订购信息P89C51X24K字节FLASH类型编号封装温度范围()P89C51X2BA PLCC44 0~+70P89C51X2BN DIP40 0~+70P89C51X2BBD LQFP44 0~+70P89C51X2FA PLCC44 -40~+85 P89C52X28K字节FLASH类型编号封装温度范围()P89C52X2BA PLCC44 0~+70P89C52X2BN DIP40 0~+70P89C52X2BBD LQFP44 0~+70P89C52X2FA PLCC44 -40~+85 P89C52X2FN DIP40 -40~+85 P89C52X2FBD LQFP44 -40~+85 P89C54X216K字节FLASH类型编号封装温度范围()P89C54X2BA PLCC44 0~+70P89C54X2BN DIP40 0~+70P89C54X2BBD LQFP44 0~+70P89C54X2FA PLCC44 -40~+85 P89C58X232K字节FLASH类型编号封装温度范围()P89C58X2BA PLCC44 0~+70P89C58X2BN DIP40 0~+70P89C58X2BBD LQFP44 0~+70P89C58X2FA PLCC44 -40~+85B=07040+85下表所示为操作模式电源电压以及最大外部时钟频率之间的关系操作模式电源电压最大时钟频率6-clock 5V10% 20MHz 12-clock 5V10% 33MHz框图1逻辑符号PLCC和CLCC封装及管脚功能DIP 封装及管脚功能 LQFP 封装及管脚功能管脚描述 管脚号名称 DIP LCC QFP 类型 名称和功能Vss 20 22 16I地 Vcc 40 44 38 I电源提供掉电空闲正常工作电压P0.0-0.739-32 43-36 37-30 I/O P0口 P0口是开漏双向口可以写为1使其状态为悬浮用作高阻输入P0也可以在访问外部程序存储器时作地址的低字节在访问外部数据存储器时作数据总线此时通过内部强上拉输出1P1.0-1.7 1-8 1 22-92 340-44 1-3I/O P1口 P1口是带内部上拉的双向I/O 口向P1口写入1时P1口被内部上拉为高电平可用作输入口当作为输入脚时被外部拉低的P1口会因为内部上拉而输出电流(见DC 电气特性)P1口第2功能T2(P1.0) 定时/计数器2的外部计数输入/时钟输出(见可编程输出)T2EX(P1.1)定时/计数器2重装载/捕捉/方向控制P2.0-2.7 21-28 24-31 18-25 I/O P2口 P2口是带内部上拉的双向I/O 口向P2口写入1时P2口被内部上拉为高电平可用作输入口当作为输入脚时被外部拉低的P2口会因为内部上拉而输出电流(见DC 电气特性)在访问外部程序存储器和外部数据时分别作为地址高位字节和16位地址(MOVX @DPTR)此时通过内部强上拉传送1当使用8位寻址方式(MOV@Ri)访问外部数据存储器时,P2口发送P2特殊功能寄存器的内容P3口P3口被内部上拉为高电平可用作输入口输入脚时口会因为内部上拉而输出电电气特性)串行输入口INT0(P3.2)INT1(P3.3)WR(P3.6)当晶振在运行中期高电平即可复位内部有扩散电阻连接到VssVcc输出脉冲锁存地在正常情况下ALE输出信号恒定为并可用作外部时钟或定时注意每次访问外部数据时一个ALE可以通过置位ALE只能在执行程序存储使能当执行外部程序存储器代码时个机器周期被激活两次在访问外部数据存储器时访问内部程序存储器时外部寻址使能在访问整个外部程序存储器时如果EA将执行内部程序除非程序计数器包含大于片内FLASH的地址该引脚在(Vpp)如果保密位已编程在复位时由内部锁存反相振荡放大器输入和内部时钟发生电路输入反相振荡放大器输出注: 为了避免上电时的”latch-up”效应任意管脚Vpp除外上的电压任何时候都不能高于Vcc+0.5V低于Vss-0.5V表1 P89C51X2/52X2/54X2/58X2 特殊功能寄存器双字节指针高字节*号的#80C51修改而来或新增加的表示保留位1复位值由复位源确定存储器的内容存储单先进的沟道氧化工艺和低内部电场的结合使擦除和编程操作特性y 可编程加密位y 每字节最少10000次擦除/编程周期 y 数据最少可保存10年y 从一般销售商处可获得编程支持振荡器特性XTAL1和XTAL2为输入和输出可分别作为一个反相放大器的输入和输出此管脚可配置为使用内部振荡器要使用外部时钟源驱动器件时XTAL2可以不连接而由XTAL1驱动外部时钟信号无占空比的要求因为时钟通过触发器二分频输入到内部时钟电路但高低电平的最长和最短时间必须符合手册的规定时钟控制寄存器CKCON该器件提供通过一个SFR 位CKCON 的X2位和一个Flash 位保密块中的FX2控制选择6时钟/12时钟模式当X2置0时12时钟模式有效该位置1时系统切换到6时钟模式由于该功能是通过SFR 位实现的因此可以随时访问并修改需要注意的是将X2从0改为1将导致用户代码以两倍的速度执行因为所有的系统时间间隔都变成原来的1/2从6时钟模式变为12时钟模式会将运行代码的速度降低为1/2Flash 时钟控制位FX2可通过并行编程器编程取代X2位实现6时钟模式见表2表2FX2时钟模式位只能通过并行编程器设置X2位CKCON.0CPU 时钟模式擦除 0 12时钟模式默认擦除 1 6时钟模式 编程 X 6时钟模式可编程时钟输出可从P1.0编程输出50%占空比的时钟信号P1.0除了作为常规I/O 口外还有两个可选功能它可编程为1用于定时/计数器2的外部时钟输入2使用16MHz操作频率时12时钟模式下输出50%占空比的61Hz~4MHz时钟信号6时钟模式时为122Hz~8MHz要将定时/计数器2配置为时钟发生器C/T2(T2CON.1)必须清零而T2MOD中的T20E位必须置位要启动定时器2还必须将TR2(T2CON.2)置位时钟输出频率由振荡器频率和定时器2捕获寄存器的重新装入值确定公式如下振荡器频率n65536RCAP2H,RCAP2L此处n = 166时钟模式或3212时钟模式RCAP2H,RCAP2L RCAP2H和RCAP2L的内容作为一个16位无符号整数在时钟输出模式中定时器2的翻转将不会产生中断这和它作为波特率发生器时相似定时器2可同时作为波特率发生器和时钟发生器但需要注意的是波特率和时钟输出频率相同复位在振荡器工作时将RST脚保持至少两个机器周期高电平12时钟模式为24个振荡器周期6时钟模式为12振荡器周期可实现复位为了保证上电复位的可靠RST保持高电平的时间至少为振荡器启动时间通常为几个毫秒再加上两个机器周期复位后振荡器以12时钟模式运行当已通过并行编程器设置为6时钟模式时除外低功耗模式时钟停止模式静态设计使时钟频率可以降至0MHz(停止)当振荡器停振时RAM和SFR的值保持不变该模式允许逐步应用并可将时钟频率降至任意值以实现系统功耗的降低如要实现最低功耗则建议使用掉电模式空闲模式空闲模式见表3中CPU进入睡眠状态但片内的外围电路仍然保持工作状态正常操作模式的最后一条指令执行进入空闲模式空闲模式下CPU内容片内RAM和所有SFR保持原来的值任何被使能的中断此时程序从中断服务程序处恢复并继续执行或硬件复位与上电复位使用相同的方式启动处理器均可终止空闲模式掉电模式为了进一步降低功耗通过软件可实现掉电模式(见表3)该模式中振荡器停振并且在最后一条指令执行进入掉电模式降到2.0V时片内RAM和SFR保持原值在退出掉电模式之前Vcc必须升至规定的最低操作电压硬件复位或外部中断均可结束掉电模式硬件复位使所有的SFR重新设置但不改变片内RAM的值外部中断允许SFR和片内RAM都保持原值WUPD AUXR1.3从掉电唤醒使能或禁止通过外部中断唤醒掉电WUPD0禁止WUPD=1使能要正确退出掉电模式在Vcc恢复到正常操作电压范围之后复位或外部中断开始执行并且要保持足够长的时间 ( 通常小于10ms )以使振荡器重新启动并稳定下来使用外部中断退出掉电模式时INT0和INT1必须使能且配置为电平触发将管脚电平拉低使振荡器重新启动退出掉电模式后将管脚恢复为高电平一旦中断被响应RETI之后所执行的是进入掉电模式指令的后一条指令表3 空闲模式和掉电模式时外部管脚的状态器件在内部复位之前从停止处恢复程序正常运行时间为这段时间内片内硬件禁止对内部RAM但对当Idle模式被复位所中为了消除可能产生的误写操作应用模式指令后的指令不应执行写I/O口或写外部存储器操作进入件将ALE保持低电平模式时口处于悬浮状态持工作状态器件处于该模式时可用仿真器或测试CPU驱动电路执行正常复位时恢复正常操作定时器0和1的操作定时器0和1定时和计数功能由特殊功能寄存器TMOD的控制位C/T进行选择这两个定时/计数器有4种操作模式通过TMOD的M1和M0选择两个定时/计数器的模式01和2都相同模式3不同如下所述模式0将定时器设置成模式0时类似8048定时器即8 位计数器带32分频的预分频器图2所示为模式0工作方式此模式下定时器寄存器配置为13位寄存器当计数从全为1翻转为全为0时定时器中断标志位TFn置位当TRn=1同时GATE=0或INTn=1时定时器计数置位GATE时允许由外部输入INTn 控制定时器这样可实现脉宽测量TRn为TCON寄存器内的控制位图3该13位寄存器包含THn全部8个位及TLn的低5位TLn的高3位不定可将其忽略置位运行标志TRn不能清零此寄存器模式0的操作对于定时器0及定时器1都是相同的两个不同的GATE位TMOD.7和TMOD.3分别分配给定时器0及定时器1模式1模式1除了使用了THn及TLn全部16位外其它与模式0相同模式2此模式下定时器寄存器作为可自动重装的8位计数器TLn如图4所示TLn的溢出不仅置位TFn而且将THn内容重新装入TLn THn内容由软件预置重装时THn内容不变模式2的操作对于定时器0及定时器1是相同的模式3在模式3中定时器1停止计数效果与将TR1设置为0相同此模式下定时器0的TL0及TH0作为两个独立的8位计数器图5为模式3时的定时器0逻辑TL0C/T GATETR0TH0TF1此时TH0控制定时器中断可用于需要一个额外的位定时器的场合定时器时80C513个定时计数器当定时器时定时器可通过开关进入它仍可用作串行端口的波特或者应用于任何不要求中断的场合复位值2 1 0 置位时只有在计数器清零时计数器用作定时器或计数器清零则用作定时器从内部系统时钟输入置位用作计数器从脚输入定时器模式选择定时器模式无预分频器当溢出时将计数器控制位控制1控制位控制图1 定时/计数器0/1模式控制寄存器TMOD图2 定时/计数器0/1的模式013位定时/计数器InterruptTCON 地址88H 7 6 5 4 3 2 1 0 可位寻址 复位值00HTF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0位符号功能TCON.7 TF1定时器1溢出标志定时/计数器溢出时由硬件置位中断处理时由硬件清除或用软件清除TCON.6 TR1定时器1运行控制位由软件置位/清零将定时/计数器打开/关闭TCON.5 TF0定时器0溢出标志定时/计数器溢出时由硬件置位中断处理时由硬件清除或用软件清除TCON.4 TR0定时器0运行控制位由软件置位/清零将定时/计数器打开/关闭 TCON.3 IE1 中断1边沿触发标志当检测到外部中断1边沿时由硬件置位中断处理时清零TCON.2 IT1 中断1触发类型控制位由软件置位/清零以选择外部中断以下降沿/低电平方式触发TCON.1 IE0 中断0边沿触发标志当检测到外部中断0边沿时由硬件置位中断处理时清零TCON.0 IT0 中断0触发类型控制位由软件置位/清零以选择外部中断以下降沿/低电平方式触发图3 定时器/计数器控制寄存器TCON图4 定时/计数器0/1的模式28位自动重装Interrupt通过设置特殊功能寄存器位可将其作为定时见图6定时器有三种操作模式捕获递增或递减计数和波特率发生这三种模式由T2CON 中的位进行选择见表3捕获模式 通过EXEN2设置两个选项如果定时器16位由T2CON TF2溢出标志位该位可用于产生IE 中断使能位如果EXEN21与以上描述相同即外部输入时将定时器2TL2和的当前值各自捕获到RCAP2L EXF22溢出中断地址相同定时器中断服务程序通过查询来确定引起中断的事件捕获模式如图在该模式中TL2计数器仍以的负跳变或振荡频率的1/12或6时钟模式递增递减计数器位自动重装模式中2可通过C/T2配置为定时器计数的方向是由DCEN 递减计数使能位确定的DCEN 位于T2MOD 寄存器见图8中当DCEN 0时定时器2默认为向上计数当DCEN 1时定时器2可通过T2EX 确定递增或递减计数图9显示了当DCEN 0时定时器2自动递增计数在该模式中通过设置EXEN2位进行选择如果EXEN2定时器2递增计数到0FFFFH 并在溢出后将TF2置位然后将RCAP2L 和RCAP2H 中的16位值作为重新装载值装入定时器2RCAP2L 和RCAP2H 的值是通过软件预设的如果EXEN2116位重新装载可通过溢出或T2EX 从10的负跳变实现此负跳变同时将EXF2置位如果定时器2中断被使能则当TF2或EXF2置1时产生中断在图10中DCEN 1时定时器2可递增或递减计数此模式允许T2EX 控制计数的方向当T2EX 置1时定时器2递增计数计数到0FFFFH 后溢出并置位TF2还将产生中断如果中断被使能定时InterruptInterrupt器2的溢出将使RCAP2L 和RCAP2H 中的16位值作为重新装载值放入TL2和TH2当T2EX 置零时将使定时器2递减计数当TL2和TH2计数到等于RCAP2L 和RCAP2H 时定时器产生溢出定时器2溢出置位TF2并将0FFFFH 重新装入TL2和TH2当定时器2递增/递减产生溢出时外部标志位EXF2翻转如果需要可将EXF2位作为第17位在此模式中EXF2标志不会产生中断表4 定时器2工作方式图6 定时器/计数器2T2CON 控制寄存器溢出标志定时器溢出时置位必须由软件清除当TCLK 1时TF2将不会置位外部标志当EXEN21且的负跳变产生捕获或重装时置位定时器2中断使能时EXF21从中断向量处执行中断子程序EXF2位必须用软件清零在递增式DCEN 1中EXF2不会引起中断接收时钟标志RCLK 置位时定时器的溢出脉冲作为串行口模式模式的接收时钟RCLK 0时将定时器的溢出脉冲作为接收时钟发送时钟标志TCLK 置位时定时器和的发送时钟TCLK 0时将定时器的溢出脉冲作为发送时钟外部使能标志当其置位且定时器未作为串行口时钟时允的负跳变产生捕获或重装EXEN20时T2EX 的跳变对定时无效启动停止控制位置时启动定时器计数器选择定时器20内部定时器OSC/12或OSC/61外部事件计数器下降沿触发重装标志置位EXEN21T2EX 的负跳变产生捕获清零EXEN21时定时器2溢出或的负跳变都可使定时器自动重装RCLK 1TCLK 1时该位无效且定时器强制为溢出时自动重装图7 定时器2捕获模式保留将来之用2输出使能位定时器这些位在将来8051这种情况下以后用到复位时或非有效状态时而这些位为有效状态时它的值为1从保留位读到的值是不确定的图8 定时器2模式T2MOD 控制寄存器图9 定时器2自动重装模式DCEN=0EXEN 2T imer 2InterruptEXEN 2T IME R2图10 定时器2自动重装模式DCEN=1图11 定时器2波特率发生器模式波特率发生器模式寄存器T2CON 的位TCLK 和或RCLK 见表3允许从定时器1或定时器2获得串行口发送和接收的波特率当TCLK=0时定时器1作为串行口发送波特率发生器当TCLK=1时定时器2作为串行口发送波特率发生器RCLK 对串行口接收波特率有同样的作用通过这两位串行口能得到不同的接收和发送波特率 一个通过定时器1产生另一个通过定时器2产生图11所示为定时器2工作在波特率发生器模式与自动重装模式相似当TH2溢出时波特率发生器模式使定时器2寄存器重新装载来自寄存器RCAP2H 和RCAP2L 的16位的值寄存器RCAP2H 和RCAP2LR 的值由软件预置当工作于模式1和模式3时波特率由下面给出的定时器2溢出率所决定定时器2溢出速率16定时器可配置成定时或计数方式在许多应用上定时器被设置在定时方式C/T2*=0当定时器2作为定时器时它的操作不同于波特率发生器通常定时器2作为定时器它会在每个机器周期递增1/6或1/12振荡频率当定时器2作为波特率发生器时它会在每个状态周期递增例如1/2振荡频率这样波特率公式如下模式1和模式3的波特率=(UP C OUNTING R E LOADV ALUE)T2EX PINEXEN 2RXClock TXClockT imer 1OverflowNote availability of additional external interrupt.[65536n = 166或12时钟模式RCAP2H,RCAP2L)=RCAP2H 的内容为11所示定时器作为波特率发生器仅当寄存器RCLK 和或TCLK=1定作为波特率发生器才有效溢出并不置位TF2也不产生中断这样当定时器中断不必被禁止外部使能标志被置位在中1的转换会置位EXF2T2外部标志位但并不导致TH2重装载RCAP2H RCAP2L因当定时器用作波特率发生器时如果需要可用作附加的外部中断当计时器工作在波特率发生器模式下,则不要对TH2和进行读写每隔一个状态时间或定时器在此情况下对进行读写是不准确的可对RCAP2但不要进行写否则将导致自动重装错误当对定时器进行访问时应关闭定清零表列出了常用的波特率和如何用定时器得到这些波特率表由定时器外部时钟信号由波特率为2溢出率则波特率为[n[65536(RCAP2H,RCAP2L)]]此处 n = 166时钟模式或3212时钟模式f OSC = 振荡器频率 自动重装值可由下式得到RCAP2H,RCAP2L=65536-[fosc/(n波特率)]定时器/计数器2的设置除了波特率发生器模式T2CON 不包括TR2位的设置TR2位需单独设置来启动定时器表6表7给出了T2作为定时器和计数器的设置表6 T2作为定时器T2CON模式内部控制注1外部控制注216位重装00H 08H16位捕获01H 09H波特率发生器接收和发送相同波特率34H 36H只接收24H 26H只发送14H 16H 表7 T2作为计数器TMOD模式内部控制注1外部控制注216位02H 0AH自动重装03H 0BH注1.仅当定时器溢出时进行捕获和重装2.当定时/计数器溢出并且T2EX(P1.1)发生电平负跳变时产生捕获和重装定时器2用于波特率发生器模式除外全双工增强型UART标准UART操作串口为全双工结构表示可以同时发送和接收它还具有接收缓冲在第一个字节从寄存器读出之前可以开始接收第二个字节但是如果第二个字节接收完毕时第一个字节仍未读出其中一个字节将会丢失串口的发送和接收寄存器都是通过SFR SBUF进行访问的写入SBUF的数据装入发送寄存器对SBUF 的读操作是对物理上分开的接收寄存器进行访问串口有4种操作模式模式0串行数据通过RxD进出TxD输出时钟每次发送或接收以LSB最低位作首位每次8位波特率固定为MCU时钟频率的1/12模式1TxD脚发送RxD脚接收每次数据为10位一个起始位08个数据位LSB在前及一个停止位1当接收数据时停止位存于SCON的RB8内波特率可变由定时器1溢出速率决定模式2TxD脚发送RxD脚接收每次数据为11位一个起始位08个数据位LSB在前一个可编程第9位数据及一个停止位1发送时第9个数据位SCON内TB8位可置为0或1例如将奇偶位PSW内P位移至TB8接收时第9位数据存入SCON的RB8位停止位忽略波特率可编程为MCU时钟频率的1/32或1/64由PCON内SMOD1位决定模式3TxD脚发送RxD脚接收每次数据为11位一个起始位08个数据位LSB为首位一可编程的第9位数据及一个停止位1事实上模式3除了波特率外均与模式2相同其波特率可变并由定时器1溢出率决定在上述4种模式中发送过程是以任意一条以写SBUF作为目标寄存器的指令开始的模式0时接收通过设置R1=0及REN=1初始化其它模式下如若REN=1则通过起始位初始化多机通信UART模式2及模式3有一个专门的应用领域即多机通信在这些模式时接收为9位数据第9位存入RB8接下来为停止位UART可编程为接收到停止位时仅当RB8=1时串口中断才有效可通过置位SCON内SM2位来选择这一特性下述为多机系统利用这一特性的一种方法当主机需要发送一数据块给数台从机之一时首先发送出一个地址字节对目标从机进行识别地址与数据字节通过第9位数据区别其中地址字节的第9位为1而数据字节为0SM2=1时数据字节不会使各从机产生中断而地址字节则令所有从机中断这样各从机可以检查接收到的数据判断是否被寻址被寻址的从机即可清除SM2位以准备接收随后数据内容未被寻址的从机的SM2位仍为1则不理睬随后数据继续各自工作模式0时SM2无效模式1时SM2用于检验停止位是否有效在模式1时如果SM2=1那么只有接收到有效的结束位才可产生接收中断串行端口控制寄存器SCON串行端口控制及状态寄存器即SCON如图12所示其中包括模式选择位以及发送和接收的第9位数据TB8及RB8以及串行端口中断位TI及RISCON 地址98H7 6 5 4 3 2 1 0可位寻址复位值 00H SM0/FE SM1 SM2 REN TB8 RB8 TI RI 位符号功能SCON.7 FE 帧错误位当检测到一个无效停止位时通过UART接收器设置该位但它必须由软件清零要使该位有效PCON寄存器中的SMOD0位必须置1SCON.7 SM0 和SM1定义串口操作模式要使该位有效PCON寄存器中的SMOD0必须置0SCON.6 SM1 和SM0定义串行口操作模式见下表SM0 SM1 UART模式波特率0 0 0同步移位寄存器fosc/12或fosc/6取决于时钟模式0 1 18位UART 可变1 0 29位UART fosc /64或fosc /321 1 39位UART 可变SCON.5 SM2 在模式2和3中多处理机通信使能位在模式2或3中若SM2=1且接收到的第9位数据RB8是0则RI接收中断标志不会被激活在模式1中若SM2=1且没有接收到有效的停止位则RI不会被激活在模式0中SM2必须是0SCON.4 REN 允许接收位由软件置位或清除REN=1时允许接收REN=0时禁止接收SCON.3 TB8 模式2和3中发送的第9位数据可以按需要由软件置位或清除SCON.2 RB8 模式2和3中已接收的第9位数据在模式1中或sm2=0RB8是已接收的停止位在模式0中RB8未用SCON.1 TI 发送中断标志模式0中在发送完第8位数据时由硬件置位其它模式中在发送停止位之初由硬件置位在任何模式中都必须由软件来清除TISCON. 0 RI 接收中断标志模式0中接收第8位结束时由硬件置位其它模式中在接收停止位的中间时刻由硬件置位在任何模式(SM2所述情况除外)必须由软件清除RI图12 串行控制寄存器SCON波特率操作模式0的波特率是固定的为fosc/12模式2的波特率是MCU 时钟/64或MCU 时钟/32取决于PCON 寄存器中的SMOD1位的值若SMOD1=0复位值波特率为MCU 时钟/64若SMOD1=1波特率为MCU时钟/32在80C51中模式1和模式3的波特率由定时器1的溢出速率决定使用定时器1作波特率发生器 当定时器1用作波特率发生器模式1和3中波特率由定时器1的溢出速率和SMOD1的值决定在此应用中定时器1不能用作中断定时器1可以工作在定时或计数方式和3种工作模式中任何一个在最典型应用中它用作定时器方式工作自动重装载模式TMOD 的高半字节为0010B 它的波特率值由下式给出可以定时器1的中断实现非常低的波特率将定时器配置为16位定时器TMOD 的高半字节为0001B并使用中断进行16位软件重装图13列出了几个常用的波特率以及如何从定时器1获得OS C20 MHz X SMOD图13 由定时器1产生的通用波特率UART 模式0串行数据由RxD 端出入TxD 输出同步移位时钟发送或接收的是8位数据低位在先其波特率固定为MCU 时钟的1/12图14是串行口模式0的功能方框简图及相关的时序图执行任何一条把SBUF 作为目的寄存器的指令时就开始发送S6P2时刻的写SBUF 信号将1装入发送移位寄存器的第9位并通知发送控制部分开始发送写SBUF 信号有效后一个完整的机器周期后SEND 端有效SEND 使能RxD P3.0端送出数据TxD P3.1输出移位时钟每个机器周期的S3S4及S5状态内移位时钟为低电平而S6S1及S2状态内为高在SEND 有效时每一机器周期的S6P2时刻发送移位寄存器的内容右移一位数据位向右移时左边添加零当数据字节最高位MSB 移到移位寄存器的输出端时其左边是装入1的第9位再左的内容均为0, 此时通知Tx 控制模块进行最后一位移位处理后禁止SEND 并置位T1, 所有这些步骤均在写入SBUF 后第10个机器周期的S1P1时进行的接收初始化条件是REN=1及R1=0下一机器周期的S6P2时RX 控制单元向接收移位寄存器写入1111 1110并在下一个时钟使RECEIVE 端有效RECEIVE 使能移位时钟转换P3.1功能移位时钟在每个机器周期的S3P1及S6P1跳变在RECEIVE 有效时每一机器周期的S6P2时刻接收移位寄存器内容向左移一位从右移位进来的值是该机器周期S5P2。
毕业论文(设计)题目:单片机无线传输系统设计完成人:班级:11学制:专业:指导教师:完成日期:目录摘要 (1)引言 (1)1总体设计 (2)1.1设计技术背景 (2)1.1.1 AT89S51单片机简介 (2)1.1.2 AT89S51主要功能特点 (2)1.2单片机无线数据传输原理 (3)1.2.1 单片机无线数据传输原理概述 (3)1.2.2 无线数据传输常用编码方式 (3)1.2.3 无线数据传输解码 (5)1.2.4 无线数据传输调制和解调 (6)2无线数据收发模块 (7)2.1无线收发模块nRF905简介 (7)2.2 nRF905无线模块特点 (7)2.3 工作模式及芯片结构 (7)3系统软硬件设计 (8)3.1 硬件设计 (8)3.1.1 概述 (8)3.1.2 电路原理 (9)3.1.3 SPI接口配置 (9)3.2 软件设计 (12)3.2.1 概述 (12)3.2.2 发射程序 (13)3.2.3 接收程序 (17)4结束语 (21)参考文献 (22)Abstract (23)单片机无线传输系统设计作者:指导教师:摘要:当今社会发展迅速,人们迫切的期望能随时随地、不受时空限制地进行信息交互。
当今的各种智能化控制系统也离不开数据信息的传输。
其中,无线数据传输是区别于传统的有线传输的新型传输方式,系统不需要传输线缆、成本低廉、施工简单。
现在,有很多的电器产品(如一些家用电器)的操作控制也都采用了无线数据传输方式,一些无线数据传输功能相对简单的电器产品,无线数据传输信号的接收识别往往采用与编码调制芯片配套的译码芯片。
而无线数据传输功能比较复杂的一些电器产品,无线数据传输信号的识别与译码多采用单片机,其编码调制方法也有多种。
本文介绍一种基于AT89S51单片机以及无线收发模块nRF905的无线数据传输方案,以及用单片机对其进行识别的程序设计方法,以供参考。
关键词:AT89S51单片机,nRF905模块,无线数据传输;引言当今的各种智能化控制系统,比如智能化小区部的无线抄表系统、门禁系统、防盗报警系统和安全防火系统等,工业数据采集系统,水文气象控制系统,机器人控制系统、数字图像传输系统等等,都离不开数据信息的传输。
可以说,数据信息传输系统是各种智能化控制系统的重要组成部分。
[1]在有线数据传输方式当中,数据的传输载体是双绞线、同轴电缆或光纤。
在一些单片机监测系统中,数据采集装置是安装在环境条件恶劣的现场或野外。
采集到的数据通信传输到手持终端, 然后通过手持终端送到后台机(PC机) 进行数据分析、处理。
这样,数据采集装置与手持终端之间的数据传输需解决通信问题。
若采用有线数据传输方式显然是不合适的。
相比于传统的有线数据传输方式,无线数据传输方式可以不考虑传输线缆的安装问题,从而节省大量电线电缆,并且降低施工难度和系统成本,是一个很有发展潜力的研究课题。
无线数据传输因其传输距离远和受障碍影响小而得到广泛应用,随着各种专用无线数据传输集成电路和无线数据传输发射和接收专用集成电路的不断涌现,使许多复杂的无线数据传输系统的设计变得愈来愈简单,而且工作稳定性可靠。
本文介绍利用单片机以及发射/接收模块电路实现的一种无线数据传输系统的设计思想。
给出了无线数据传输系统的工作原理、硬件设计方案和软件设计方案。
1总体设计1.1设计技术背景1.1.1 AT89S51单片机简介AT89S51是一个低功耗,高性能CMOS 8位单片机,片含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器[2],器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,其DIP封装的引脚图如图1所示,芯片集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
图1 AT89S51芯片DIP封装引脚此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
1.1.2 AT89S51主要功能特点1、为一般控制应用的8 位单芯片2、晶片部具时钟振荡器(传统最高工作频率可至12MHz)3、部程式存储器(ROM)为4KB4、部数据存储器(RAM)为128B5、外部程序存储器可扩充至64KB6、外部数据存储器可扩充至64KB7、32 条双向输入输出线,且每条均可以单独做I/O 的控制8、5 个中断向量源9、2 组独立的16 位定时器10、1 个全多工串行通信端口11、8751 及8752 单芯片具有数据的功能12、单芯片提供位逻辑运算指令13、看门狗(WDT)电路1.2单片机无线数据传输原理1.2.1 单片机无线数据传输原理概述无线数据传输有发送和接收两个组成部分。
[3]发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过无线数据传输模块中的发射模块发射信号。
无线数据传输接收端普遍采用价格便宜,性能可靠的一体化无线数据传输接收模块、接收无线数据传输信号,它同时对信号进行放大、检波、整形,得到TTL 电平的编码信号,再送给单片机,经单片机解码并执行,去控制相关对象,其原理如图2所示。
图2 无线数据传输原理1.2.2 无线数据传输常用编码方式第一种:FSK式(移频键控方式Frequency Shift Keying), 又称数字调频。
[4]如果用改变载波频率的方法来传送二进制符号,就是移频键控(FSK)的方法。
这时其频谱可以看成码列对低频载波的开关键控加上码列的反码对高频载波的开关键控。
移频键控方式用两种不同的脉冲频率分别表示二进制数的“0”和“1”。
用2个频率传输1“位”二进制,这是最安全的方法,缺点是成本高、功耗大。
所以,在电器的遥控器中极少应用。
图3是表示用2个频率对“二进制位”的“0”和“1”进行编码的示意图。
在FSK方式中,相邻码元的频率不变或者跳变一个固定值。
在两个相邻的频率跳变的码元之间,其相位通常是不连续的。
图3 FSK编码方式第二种:曼彻斯特编码方式又称双相调制编码方式,常用于局域网传输。
在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;从高到低跳变表示"1",从低到高跳变表示"0"。
,在长虹、创维等彩电的控制器中,就采用了这种双相调制方式。
还有一种是差分曼彻斯特编码,每位中间的跳变仅提供时钟定时,而用每位开始时有无跳变表示"0"或"1",有跳变为"0",无跳变为"1"。
两种曼彻斯特编码是将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能无线数据传输发射部分,一般由一个能产生等幅振荡的高频载频振荡器和一个产生低频调制信号的低频振荡器组成。
用来产生载频振荡的电路一般有多谐振荡器、互补振荡器和石英晶体振荡器等由低频振荡器产生的低频调制波,一般为宽度一定的方法。
如果是多路控制可以采用每一路宽度不同的方波,或是频率不同的方法去调制高频载波,组成一组组的已调制波,作为控制信号向空中发射。
但每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。
曼彻斯特编码“二进制位”的表示方法如图4所示。
图4曼彻斯特编码方式第三种:脉宽调制编码方式,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
这种编码方式根据脉冲上升沿之间的距离决定“二进制位”是“0”还是“1”,两脉冲上升沿之间距离短为“0”,距离长为“1”。
如图5所示,脉宽编码用在载波或脉冲调制方式中.家用录像机,VCD,DVD的遥控器多采用脉宽编码方式。
图5脉宽调制编码方式1.2.3 无线数据传输解码无线数据传输信号的解码硬件解码可分为专用解码集成电路和自行设计的解码电路两种。
专用解码芯片一般与专用编码芯片配对设计制造。
[5]按其编码与解码功能可分为以下三类:(1) 控制数据的地址加密编码与解码器: 这类电路的特点是在地址加密编码的同时还可以进行控制数据的编解码。
其编码容量大,性好。
适用于安防、工业控制等对可靠性要求较高的场合。
(2) 地址加密编码与解码器: 这一类电路无控制数据编码仅有加密地址编解码功能。
适用于可靠性要求较高,但只进行简单的开关或增减控制的场合。
(3) 控制数据编码与解码器: 这类电路无加密地址编码仅有控制数据的编解码。
适用于群控或者应用环境本身就保证了其他信号发射源不会同时出现的场合,如在一个密闭的设备部。
使用专用的硬件编码解码对芯片,简便可靠,使用广泛,不再多述。
一般来说硬件解码相对软件解码成本较高,并且当系统因更改或升级改变了编码方式时, 接收的硬件就要做相应的更改,缺乏一定的灵活性。
当MCU 的任务不是很繁重时,可以考虑使用软件解码。
对于频率调制方式, 只要测出每次脉冲的周期就可以解码出对应的二进制信息。
方法有很多种,中断、查询都可以实现,具体方法因实际情况而定。
对于脉宽调制(PWM),只要识别出每个脉冲的高(或低)电平宽度即可完成解码。
对于2 脉位调制(2PPM),需要判断出每个周期高低电平出现的先后次序,从而实现解码。
单片机无线数据传输软件解码要保证正确无误地还原无线数据传输信息码,其主要功能包括以下几部分:(1)过滤附加信息,得到有效信息位。
(2)排除系统外各种干扰信号。
(3)丢弃接收到的不完整信息帧。
(4)检验接收信息的正确性。
为了能够达到上述要求,解码方式采用无线数据传输信号的解码由接收单片机来完成,它把无线数据传输接收模块送来的无线数据传输编码波形通过解码,还原出发送端发送的数据。
当接收到起始帧后,进入解码部分,接收完一帧后,处理收到的数据并进入下一次接收。
解码采用软件解码, 如果从一个脉冲的高电平和一个脉冲的低电平过后, 若读到的电平为低, 说明该位为“0”, 反之即可判定为编码“1”。
解码一位后,需等到下一位的高电平到来,再读到一个低电平后,判断读得的电平是高还是低,进行解码。
按照这种方法判断八次,从而还原出发送端发送的信号。
这样,根据事先约定代码所代表的功能,单片机就可以去执行各种控制动作,从而达到无线数据传输的目的。