




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业设计(论文)题 目 自动跳绳计数器 个 学生姓名 胡方伟 个 专 业 电子科学与技术 个 学 号 200931057 发给 指导教师 陈慧丽 飞 郑州科技学院电气工程学院二一三年五月摘要摘 要随着微电子技术的飞速发展,单片机以其性能好,体积小,价格优,功能齐全等突出优点被广泛应用与家用电器,计算机外设,通讯,工业控制,自动化生产,智能化设备以及仪器仪表,家用电器等领域,成为科研,科学,工业技术改造最得力的工具。随着技术的发展,单片机在集成度,功能,性能,体制结构方面都有了飞速发展,已能集成一个完整的功能强大,性能优良的计算机应用系统。本文介绍的是一种基于STC12C5A60S2单片机的
2、跳绳计数器的设计,阐述了跳绳计数器的设计思路,详细叙述了系统硬件、软件设计的具体实现过程。论文中重点阐述了计数显示模块,传感器模块,单片机控制模块的设计思路。其中的计数模块,计算消耗的卡路里模块都是通过编程实现。系统能够实现跳绳计数,计算消耗的卡路里,具备复位等功能。本次设计主要采用三轴加速的传感器将感应MMA7260的信号送入单片机中进行处理,完成计数功能。跳绳次数和消耗的卡路里通过单片机的A/D转换,并用LCD1602显示。 向RST引脚施加一定宽度的复位脉冲来实现复位功能。关键字:STC12C5A60S2单片机 MMA7260传感器 LCD1602显示器IIABSTRACTABSTRAC
3、TWith the rapid development of microelectronic technology, microcontroller with its good performance, small size, excellent prices, complete functions and advantages are widely used in household appliances, computer peripherals, communications, industrial control, automation, intelligent equipment a
4、nd instrumentation, field, household electrical appliances such as scientific research, scientific, technological transformation of industrial the tool. With the development of technology, single-chip microcomputer in the integration, function, performance, system structure has made rapid developmen
5、t, has been able to integrate a complete powerful, excellent computer application system performance.This paper introduces a design of rope-skipping counter based on STC12C5A60S2 single chip microcomputer, describes the design idea of counter for rope skipping, described in detail the realization pr
6、ocess of system hardware, software design. The paper focuses on the counting display module, sensor module, MCU control module design. Counting module, calorie counting module consumption are realized by programming. The system can realize the skip count, calculate calories consumed, with reset func
7、tion.This design mainly uses the sensor three axis acceleration induction signal into the microcontroller treatment, complete the count function. Skip frequency and calories consumed by singlechip A/D conversion, LCD1602 display. The reset pulse is applied to the RST pin of a certain width to achiev
8、e the reset function.Keywords: STC12C5A60S2 MCU MMA7260 sensor LCD1602 display目录目录摘 要IABSTRACTII1引言11.1 背景11.2 意义12整体设计方案22.1基本要求22.2 设计思路和方案的确定23 硬件电路设计43.1检测模块53.1.1MMA7260传感器功能53.1.2 结构与原理53.1.3 典型应用63.1.4 MMA7260 转接板引脚使用说明63.2 STC12C5A60S2单片机的控制模块83.2.1 .STC12C5A60S2系列单片机简介83.2.2 最小系统设计103.2.3复位
9、的实现方式133.2.4 A/D转换器的结构143.3 显示模块183.3.1 LCD1602介绍183.3.2 管脚功能183.3.3 1602LCD的指令说明及时序193.3.4 读写操作时序图213.3.5 1602LCD的RAM地址映射及标准字库表224 软件设计244.1 跳绳计数器工作流程图244.2 MMA7260检测加速度的信号图255 焊接调试26总结27参考文献29附录301 引言1引言1.1 背景电子计数器到目前为止已有30多年的发展史,早期,设计师们追求的目标主要是扩展计数范围,再加上提高计数精度,稳定度等,这些也是人民衡量电子计数器的技术水平,决定电子计数器价格高低的
10、主要依据。目前这些基本技术日臻完善,成熟。引用现代技术可以轻松地将电子计数的计数上限扩展到无限大。当今,单片机技术迅速发展,基于单片机技术设备和产品广泛应用到各个领域,单片机技术产品和设备促进了生产技术水平的提高。企业迫切需要大量熟练掌握单片机技术并能开发,应用和维护管理这些智能化产品的高级工程技术人才。单片机以体积小,功能强,可靠性高,性能价格比高等特点,已成为现实工业进步和开发机电一体化和智能化测控产品的重要手段。已经实现或者部分实现,但要真正完美的实现这些目标,对于设计者来说,还有许多工作要做,而不是表面看来似乎发展到头了。电子计数器是一种多功能的电子测量仪器。自动跳绳计数器就是依据电子
11、计数器的原理制作的一个用于人们日常锻炼身体的小产品。1.2 意义随着人们生活水平的提高,体育锻炼淡出人们的生活。比如现在工作的年轻人,每天长时间坐在椅子上,缺乏锻炼,这样身体很容易得病。我设计的这个自动跳绳计数器,体积小,携带方便,能够随时查看你消耗的热量,轻松运动,收获健康。32 整体设计方案2整体设计方案2.1基本要求 1 跳绳显示器中的传感器将人每跳动一次的振动以脉冲形式发出,将此脉冲整形作为基准计数脉冲; 2 可以记录跳绳的次数,最大值为999。3 假设每跳20次可消耗1卡的热量,计算所消耗卡路里并显示;4设置复位开关2.2 设计思路和方案的确定跟据所给题目的要求,本次电子的课程设计的
12、内容为电子跳绳计数器,其功能是记录跳绳所跳的个数测量,与我们平时乘出租车时的交费表同一原理,我设计的自动跳绳计数显示器的基本电路由5个主要部分组成分别是传感器脉冲输入,单片机控制,跳绳计数显示电路,卡路里计数译码显示,复位开关。将传感器脉冲输入单片机,通过单片机将次数计录下来,并且显示数字,卡路里计数译码显示出消耗的卡路里,复位开关是用按键脉冲复位电路实现。设计中用到了三轴加速的传感器MMA7260QT,电子跳绳计数器只采用Z轴的脉冲数据,人子跳绳过程中加速的的变化是呈现波形变化,传感器中的脉冲通过整形,作为基准计数脉冲来计数,跳绳计数的最大值为999,这个高5位清零即可实现。设计的总体框图如
13、图2.1。传感器单片机控制模块跳绳计数显示器卡路里显示器电源开关图2.1 设计总体框图设计的显示模块是采用了LCD1602,STC12C5A60S2系列单片机中集成了A/D转换器,这样就可以实现计数显示,卡路里的计数是根据跳绳的次数来显示的,比如跳绳20次消耗热量1卡,在卡路里显示中就会计数加0.05,也就是一次跳绳消耗0.05热量。复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次,本设计采用的按钮复位。这样我的设计方案就基本确定了,由传感器,单片机,显示器,复位开关电
14、源开关等基本结构组成。3 硬件电路设计3 硬件电路设计本设计是基于STC12C5A60S2单片机控制的跳绳计数器。工作原理大致如下:首先由传感器MMA7260采集人体跳动过程中的加速度变化的数据,MMA7260传感器是三轴加速度传感器,但我们只采集Z轴的数据,数据由P1.0输入单片机,单片机是由P3.0,P3.1端口下载编制的控制程序来处理传感器传入的数据。只有当传感器的数据符合要求,单片机才会计数,并在LCD显示器上显示。LCD显示器和单片机A/D转换端口P0.0-P0.7连接。本设计的复位是上电按钮复位,设计中还采用了一个电源保护开关,能够避免电源的正负接反了对单片机造成损坏,提高系统的安
15、全性。下边详细介绍系统的检测模块,单片机控制模块,显示模块,通信模块,电源保护开关模块各部分的功能原理。设计的原理图如图3.1所示图3.1 设计原理图43.1检测模块本设计采用的是MMA72660三轴加速度传感器,它的功能,结构与原理如下,和单片机的连接如原理图3.1所示:3.1.1MMA7260传感器功能MMA7260是美国Freescale公司的一款低成本单芯片三轴高灵敏度加速度传感器,是一种电容式的加速度传感器,融合了信号调理、单极低通滤波器和温度补偿技术,并且具有4种不同的高灵敏度选择模式,例如当选择+、-1.5g的测量范围时,灵敏度达到800mv/g。同时它体小,包含一种睡眠模式,是
16、电池充电的便携式设备的理想之选。其XYZ三个轴能对三个方向上的加速度信号进行检测。其主要特点如下:(1)XYZ:具有三轴的感应功能;(2)可选的加速度范围:±1.5g、±2g、±4g和±6g;(3)低功耗:500A;(4)睡眠模式:3A5(低压运行2.23.6V;(6)快速启动:1ms;(7)低噪音:达到更高的分辨率、更高的精确度;(8)超小体积:6mm×6mm×1.45mm QFN封装。由于具有以上优点,本设计采用MMA7260来测量人体跳动时的加速度信号。3.1.2 结构与原理 MMA7260的功能如图3.2所示,X、Y、Z三个相
17、互垂直方向上的加速度有G-Cell传感器单元感知,经过容压变换器、增益放大、滤波器和温度补偿后以电压信号输出。图3.2MMA7260功能图重力感测单元G-Cell由基于半导体材料的微机械结构,整个物理模型由一对桡性轴、其支撑的极板及中间极板上的检测质量块组成,G-Cell的极板构成了两个背对背的平板电容,如图3.3所示,图3.3 G-Cell物理模型图当系统给定一加速度时,中间板就会漂移,中间板移动时,它到一边的距离增加,而到另一边的距离相应的减少,因此电容值也会随着极板间的距离的变化而变化,这就是对加速度的度量。电容值经过容压变换器转换为电压值,进过增益放大器、滤波器和温度补偿以正比于加速度
18、的电压的形式作为输出信号。3.1.3 典型应用三轴加速度传感器是一种可以对物体运动过程中的加速度进行测量的电子设备, 典型互动应用中的加速度传感器可以用来对物体的姿态或者运动方向进行检测,比 如其中 WII 和iPhone 中的经典应用。Nokia 最新推出的手机 N95 利用内置的加速度传感器,让用户可以通过机身的摆动进行各种操作,包括主菜单操 作、图片浏览、切歌操作甚至进行游戏的控制等,非常全面,甚至超越了苹果 iPhone 的动作感应功能的应用范畴。 基于 Freescale 公司 MMA7260 的这个三轴加速度传感器,对于普通的互动应用来
19、讲应该是一个不错的选择, 可以用于摩托车和汽车防盗报警器,遥控航模,游戏手柄,跌倒探测,硬盘冲击保护,倾斜角度测量,电梯安全监控等需要测试加速度的地方。3.1.4 MMA7260 转接板引脚使用说明1MMA7260传感器的功能图解如图3.4所示,图3.4传感器功能详解图2 MMA7260引脚使用如表3.1所示表3.1 MMA7260引脚图引脚号符号:注解:Pin-01ZZ 模拟输出;Pin-02YY 模拟输出;Pin-03XX 模拟输出;Pin-04 G1量程选择控制 GS1(mma7260的 pin1);Pin-05 G2量程选择控制 GS2(mma7260的 pin2);Pin
20、-06 5V5V 供电源的正极(只选其一,5v/3.3v);Pin-07 EN悬空;Pin-083.3V3.3V 供电源的正极(只选其一,5v/3.3v);Pin-09GND供电源的负极;Pin-10SL休眠模式控制(mma7260的 pin12:sleep mode)3 MMA7260 加速度传感器测量范围的档位选择如表3.2所示表3.2传感器测量范围档位选择G2 选择G1 选择G 的量程选择范围G 的重量灵敏度001.5G800mV./G012G600mV/G104G300mV/G116G200mV3.2 STC12C5A60S2单片机的控制模块本设计采用的是STC12C5A60S2单片机
21、,单片机通过P0口采集传感器的信号,对传感器检测到的加速度信号进行采样和A/D转换,经过微控制器相关算法得到跳绳次数和消耗的卡路里,并通过LCD显示出来。下面详细介绍一下STC12C5A60S2系列单片机包括单片机的简介,单片机的最小工作模式,单片机的复位功能,单片机的A/D转换功能:3.2.1 .STC12C5A60S2系列单片机简介STC12C5A60S2/AD/PWM 系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/
22、D转换(250K/S,即25万次/秒),对电机控制,强干扰场合。11.增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统80512.工作电压:STC12C5A60S2系列工作电压:5.5V - 3.5V(5V单片机)STC12LE5A60S2系列工作电压:3.6V - 2.2V(3V单片机)3.工作频率范围:035MHz,相当于普通8051的0420MHz4.用户应用程序空间 8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K 字节5.片上集成1280字节RAM6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普
23、通8051传统I/O口),可设置成四种模式:准双向上/弱上拉,强推挽强上拉,仅为输入/高阻,开漏。每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA7.ISP(在系统可编程)/ IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片8.有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)9.看门狗10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)11.外部掉电检测电路: 在P4.6口有一个低压门槛比较器,5V单片机为1.33V,误差为±
24、5%,3.3V单片机为1.31V,误差为±3%12.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为±5%到±10%以内)用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体时钟,常温下内部R/C振荡器频率为:5.0V单片机为:11MHz 17MHz3.3V单片机为:8MHz 12MHz精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准13.共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时
25、器14.3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟独立波特率发生器可以在P1.0口输出时钟15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块, Power Down模式可由外部中断唤醒, ,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5, RxD/P3.0, CCP0/P1.3(也可通过寄存器设置到P4.2), CCP1/P1.4(也可通过寄存器设置到P4.316.PWM(2路)/ PCA(可编程计数器阵列,2路)-也可用来当2路D/A使用-也可用来再实现2个定时器-也可用
26、来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)17.A/D转换,10位精度ADC,共8路,转换速度可达250K/S18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件,可再用定时器或PCA软件,可再用定时器或PCA软件实现多串口19.STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设,置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3)20.工作温度范围:-40 +85(工业级)/0 75(商业级)21.封装:LQFP-48, LQFP-44, PDIP-40, PL
27、CC-44, QFN-40I/O口不够时,可用2到3根普通I/O口线外接74HC164/165/595(均可级联)来扩展I/O口。3.2.2 最小系统设计单片机的最小系统是由电源、复位、晶振、/EA=1组成,下面介绍一下每一个组成部分2。如图3.5所示图3.5 单片机最小系统的结构图1,电源引脚Vcc为40引脚是电源端,GND为20引脚是接地端,工作电压为5V,另有AT89LV51工作电压则是2.7-6V,引脚功能一样。2,外接晶体引脚 引脚连接如图3.6所示图3.6晶振连接的内部、外部方式图40其中XTAL1为19引脚 XTAL2为18引脚,XTAL1是片内振荡器的反相放大器输入端,XTAL
28、2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震
29、荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作3。3,输入输出引脚(1) P0端口P0.0-P0.7 P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,
30、访问期间内部的上拉电阻起作用。(2) P1端口P1.0P1.7 P1是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收低8位地址信息。(3) P2端口P2.0P2.7 P2是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。(4) P3端
31、口P3.0P3.7P2是一个带有内部上拉电阻的8位双向端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用3.2.3复位的实现方式1,复位的实现方式STC12C5A60S2系列单片机有5种复位方式:外部RST引脚复位,外部低压检测复位(新增第二复位功能脚RST2复位,实现外部可调复位门槛电压复位),软件复位,掉电复位/上电复位(并可选择增加额外的复位延时200mS,也叫MAX810专用复位电路,其实就是在上电复位后增加一个200mS复位延时),看门狗复位。外部RST引脚复位(第一复位功能脚)外部RST引脚复位就是从外部向RST引脚施一定宽度的复位脉冲,从实现单片机的
32、复位。P4.7/RST管脚出厂时被配置为RST复位管脚,要将其配置为I/O口,需在STC-ISP编程器中设置。如果P4.7/RST未在STC-ISP编程器中被设置I/O口,那P4.7/RST就是芯片复位的输入脚。将RST复位管脚拉高并维持至少24个时钟10us后,单片机会进入复位状态,将RST复位管脚拉回低电平后,单片机结束复位状态并从用户程序区的0000H处开始正常工作。2,复位原理在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清
33、零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。当时钟频率选用6MHz时,C取22F,Rs约为200,Rk约为1K。复位操作不会对内部RAM有所影响。常用的复位电路如图3.7所示:图3.7 常用复位电路图3.2.4 A/D转换器的结构1,A/D转换器结构STC12C5A60AD/S2系列带A/D转换的单片机的A/D
34、转换口在P1( (P1.7-P1.0),有8路10位 ,有8路10位高速A/D转换器,速度可达到 ,速度可达到 速度可达到250KHz。8路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。上电复位后P1口为弱上拉型I/O口,用户可以通过软件设置将8路中的任何一路设置为A/D转换,不需作为A/D使用的口可继续作为I/O口使用。STC12C5A60S2系列单片机ADC(A/D转换器)的结构如图3.8所示。图3.8单片机A/D转换结构图当AUXR.1/ADRJ = 0时,A/D转换结果寄存器格式如下: ADC-RES7:0ADC-B8ADC-B7ADC-B6ADC-B5ADC-B
35、4ADC-B3ADC-B2ADC-B9 ADC-B1ADC-B0 ADC-RESL1:0当AUXR.1/ADRJ = 1时,A/D转换结果寄存器格式如下:ADC-B9ADC-B8ADC-B7ADC-B6AD C-B 5ADC-B4ADC-B3ADC-B2ADC-B1ADC-B0STC12C5A60S2系列单片机ADC由多路选择开关、比较器、逐次比较寄存器、10位DAC、转换结果寄存器(ADC_RES和ADC_RESL)以及ADC_CONTR构成。STC12C5A60S2系列单片机的ADC是逐次比较型ADC。逐次比较型ADC由一个比较器和D/A转换器构成,通过逐次比较逻辑,从最高位(MSB)开始
36、,顺序地对每一输入电压与内置D/A转换器输出进行比较,经过多次比较,使转换所得的数字量逐次逼近输入模拟量对应值。逐次比较型A/D转换器具有速度高,功耗低等优点。从上图可以看出,通过模拟多路开关,将通过ADC07的模拟量输入送给比较器。用数模转换器(DAC)转换的模拟量与本次输入的模拟量通过比较器进行比较,将比较结果保存到逐次比较器,并通过逐次比较寄存器输出转换结果。A/D转换结束后,最终的转换结果保存到ADC转换结果寄存器ADC_RES和ADC_RESL,同时,置位ADC控制寄存器ADC_CONTR中的A/D转换结束标志位ADC_FLAG,以供程序查询或发出中断申请。模拟通道的选择控制由ADC
37、控制寄存器ADC_CONTR中的CHS2 CHS0确定。ADC的转换速度由ADC控制寄存器中的SPEED1和SPEED0确定。在使用ADC之前,应先给ADC上电,也就是置位ADC控制寄存器中的ADC_POWER位4。2,ADC控制寄存器ADC_CONTRADC_CONTR寄存器的格式如表3.3所示表3.3寄存器格式SFR nameAddressbitB7B6B5B4B3B2B1B0ADC_CONTRBCHnameADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS0对ADC_CONTR寄存器进行操作,建议直接用MOV赋值语句,不要用与和或语句。 A
38、DC_POWER:ADC电源控制位。0:关闭A/D转换器电源;1:打开A/D转换器电源.;建议进入空闲模式前,将ADC电源关闭,即 即ADC_POWER =0。启动 启动A/D转换前一定要确认A/D电源已打开,A/D转换结束后关闭A/D电源可降低功耗,也可不关闭。初次打开内部A/D转换模拟电源,需适当延时,等内部模拟电源稳定后,再启动A/D转换。建议启动A/D转换后,在A/D转换结束之前,不改变任何I/O口的状态,有利于高精度A/D转换,若能将定时器/串行口/中断系统关闭更好,若能将定时器/串行口/中断系统关闭更好。3,SPEED1,SPEED0:模数转换器转换速度控制位如表3.4所示表3.4
39、模数转换器转换速度控制位SPEED1SPEED0A/D转换所需时间1190个时钟周期转换一,CPU工作频率21MHz时,A/D转换速度约250KHz10180个时钟周期转换一次01360个时钟周期转换一次00720个时钟周期转换一次STC12C5A60S2系列单片机的A/D转换模块说使用的时钟是内部R/C振荡器所产生的系统时钟,不使用时钟分频寄存器CLK_DIV对系统时钟分频后所产生的供给CPU工作所使用的时钟.好处:这样可以让ADC用较高的频率工作,提高A/D的转换速度这样可以让CPU用较低的频率工作,降低系统的功ADC_FLAG:模数转换器转换结束标志位,当A/D转换完成后,ADC_FLA
40、G=1,要由软件清0。 ,当A/D转换完成后,ADC_FLAG=1,要由软件清0。 当A/D转换完成后,ADC_FLAG=1,要由软件清0。不管是A/D转换完成后由该位申请产生中断,还是由软件查询该标志位A/D转换是否结束,当A/D转换完成后,ADC_FLAG = 1,一定要软件清0。 当A/D转换完成后,ADC_FLAG = 1,一定要软件清0。 当A/D转换完成后,ADC_FLAG=1,一定要软件清0。ADC_START:模数转换器(ADC)转换启动控制位,设置为“1”时,开始转换,转换结束后为0。4,CHS2/CHS1/CHS0:模拟输入通道选择,CHS2/CHS1/CHS0如表3.5所
41、示表3.5模拟输入通道选择图CHS2CHS1CHS0模拟输入通道选择000P1.0作为A/D输入来用001P1.1作为A/D输入来用010P1.2作为A/D输入来用 0 1 1 P1.3 作为A/D输入来用 1 0 0 P1.4作为A/D输入来用 1 0 1 P1.5作为A/D输入来用 1 1 0 P1.6作为A/D输入来用 1 1 1 P1.7作为A/D输入来用由于是2套时钟,所以,设置ADC_CONTR控制寄存器后,要加4个空操作延时才可以正确读到ADC_CONTR寄存器的值,原因是设置ADC_CONTR控制寄存器的语句执行后,要经过4个CPU时钟的延时,其值才能够保证被设置进ADC_CO
42、NTR控制寄存器。MOV ADC_CONTR, #DATANOPNOPNOPNOPMOV A, ADC_CONTR 经过4个时钟延时后,才能够正确读到ADC_CONTR控制寄存器的值5。3.3 显示模块本设计采用的显示器是LCD1602液晶显示,在LCD模块上有固化的字模存储器。就是CGROM和CGRAM.要显示一个字符就在相应的选定的地址输入代码即可,比如在LCD第一行第一列显示“A”,在DDRAM的00H地址写入“A”字的代码41H就可以了6。下边详细介绍一下LCD1602显示器的结构,功能,管脚,指令控制及显示原理:3.3.1 LCD1602介绍LCD1602为工业字符型液晶,能够同时显
43、示16x02即32个字符。注:为了表示的方便 ,后文皆以1表示高电平,0表示低电平。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写
44、的控制程序可以很方便地应用于市面上大部分的字符型液晶7。3.3.2 管脚功能LCD1602管脚如图3.10所示,1602采用标准的16脚接口,其中:图3.10 LCD1602引脚图第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(
45、1)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。3.3.3 1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表3.6所示表3.6 1602控制指令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮
46、器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有
47、光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。3.3.4 读写操作时序图如图3.11和3.12所示:图3.11读
48、操作时序图3.12 写操作时序图3.3.5 1602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图3.7是1602的内部显示地址。图3.7 1602LCD内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H+10000000B(80H)=11000000B(C0H)。在
49、对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态8。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图10-58所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。CGROM和CGRAM中字符代码和字符图形对应如表3.8所示表3.8字符代码和字符图形对应关系表4 软件设计4 软件设
50、计系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改,绘制程序流程图;(3)为程序加入注释,提高可读性,实施软件工程;(4)注意软件的抗干扰设计,提高系统的可靠性。4.1 跳绳计数器工作流程图跳绳计数器的工作流程如图4.1所示开始单片机端口初始化LCD初始化检测按键获
51、取采样值A/D转换A/D转换完毕读取转换结果读取按键执行按键复位LCD显示/清零结束图4.1流程图4.2 MMA7260检测加速度的信号图加速度传感器检测信号的流程如图4.2所示开始端口初始化对加速度信号采样采样传送型号图4.2 MMA7260检测加速度信号流程图5 焊接调试5 焊接调试传感器的灵敏度设置在1.5G,上下摆动加速度传感器,测量感应电压的变化,只有当次电压的变化在一定的范围内时计数才会加1。用手动摆动传感器来模拟人体跳绳过程中传感器受力变化,确定传感器的灵敏度,完成计数器计数的设置。调试过程中有时候摆动传感器了,但是不会计数,通常都是传感器的灵敏度没有设置好,传感器的电压变化不符
52、合要求。传感器传入的数据要通过单片机处理,单片机要通过外部下载特定的程序来处理传感器导入的数据,传感器的输出电压符合一点的范围时才会完成计数,否则就不会计数。单片机的程序下载是通过P3.0,P3.1连接上位机下载的,主要的程序设置见附录。总结总结这次我的设计题目是自动跳绳计数器。刚拿到这个题目时自己脑子里没有什么头绪,只是知道要用计数器。后来通过在图书馆查找资料和小组的讨论,跳绳计数显示器的功能实现设计框图总算是有了。但要把框图变成电路图又遇到了很多的困难。首先就要求对各个器件的功能和原理有所了解,现在的集成器件种类很多,我所要考虑的不仅仅是器件能够实现我所要设计的跳绳计数显示器的功能,还要考
53、虑实用问题和经济问题。因为许多多功能的新产品的价格很贵,而且应用到我的设计中会有很多功能用不到,如果把我的设计真的制造成成品的话,就会添加很多不必要的投入。寻找适合的器件对于我们这些接触电子技术时间不长的人来说是一件很辛苦的事,那些日子我翻阅了很多电子技术方面的书,虽然过程是辛苦的,而我得到的结果是收获了很多有用的知识。选择元器件也花了我好长一段时间,主要就是传感器,当时找了好多。有一次偶尔看见有种计步器上用的加速传感器来技术,这次找到MMA7260三轴加速度传感器。把器件选好后就要画原理图了,这是我初次使用VISIO制图工具,它与我以前所接触过的CAD不同,所以刚用起来比较陌生,进展的也很慢,但等到熟悉了画图的技巧以后画起来也是很得心应手。而且我又掌握了一种画图工具的使用。在画实际接线图时问题又来了,因为实际的器件管脚排列是由顺序的,所以要把器件连到一起就比画原理图时难了很多,但有了画原理图的经验,在画实际接线图时也就没有想象的那么困难了。最后看到自己画好的图纸
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美妆护肤品电商直播销售渠道授权合同
- 2025年中级会计实务考试复习策略与试题及答案
- 如何应对2025年工程法规考试挑战试题及答案
- 2025年工程法规应试策略试题
- 厦门建房相邻协议书
- 2025年工程法规考试高频考点及试题及答案
- 合同门面出租协议书
- 医药代理合同协议书
- 双方授权转款协议书
- 合作交流私人协议书
- 遂宁遂宁市住房和城乡建设局公开招聘编外人员笔试历年参考题库附带答案详解
- 2025高考化学复习新题速递之有机合成(解答大题)(2025年4月)
- 驾校挂靠合同协议书
- 2025年福建武夷旅游集团有限公司人才教育板块自主招聘17人笔试参考题库附带答案详解
- 2025-2030中国面粉行业市场深度调研及前景趋势与投资研究报告
- 民法典进企业讲稿课件
- 2025年计算机编程能力测试试卷及答案
- 2025信息技术系统维护服务合同范本
- 中暑及热射病防治
- 2025年湖北省高考数学调研试卷(4月份)(含答案)
- 河南能源焦煤集团赵固一矿11231作业规程
评论
0/150
提交评论