一种基于单片机的发电跑步机系统设计毕业论文 联系客服

发布时间 : 星期日 文章一种基于单片机的发电跑步机系统设计毕业论文更新完毕开始阅读e01a8e1acdbff121dd36a32d7375a417866fc1aa

第三章 硬件部分

3.1单片机与中断系统

本次设计中采用经典且稳定耐用的STC89C52单片机作为逻辑主控制器,STC89C52单片机是51单片机的升级版,是一种低功耗,高性能的COMS8位微控处理器,使用经典的MCS-51内核,MAX810复位电路,采用PDIP封装,。它与51单片机的指令完全兼容,不同的是C52单片机的EEPROM为4KB,拥有8KB的可反复擦写FALSH ROM,这使得更大的程序也能够写入单片机,且相比51单片机多出了一个定时器,使用时只要将优先级及延时设置正确多个定时器就可以同时工作且不会互相影响,RAM方面相比51单片机也多出了128Byte,速度响应更加迅速。

图3.1 STC89C52RC引脚图

如上图3.1所示STC89C52单片机的引脚图,其中VCC为+5V电源,GND为接地线,拥有32根可编程输入/输出引脚,4组8位的I/O口分别是P0、P1、P2、P3口,每个口有8根引脚,共计32根可编程双向I/O口,下图3.2为单片机最小系统框图,包括时钟电路、复位电路、MCU和IO设备及电源。

图3.2 单片机最小系统框图

单片机内部中断是单片机技术中非常重要的一项内容,设计中若想使得时间、路程准确计算并变化,一种方案是使用类似于DS1302的RTC时钟芯片,晶振频率32.76KHZ,但是这种方案较为繁琐,还需外加纽扣电池来给时钟芯片供电。另一种方案是使用单片机内置的12MHZ晶振定时器来产生准确时间,这种方案计时/计数精度也非常高,且无需外加电池即可使用,结合本次设计的多方面考虑,并不需要RTC时钟芯片,使用定时器即可准确的计算时间、路程等数据。

图3.3 中断系统的内部原理图

如图3.3所示,本次设计中系统所有参数的动态变化都是由于中断引起的,51单片机中有5种中断方式,分别为外部中断0与1,定时器0与1及串行口中断,在本次设计中我们只使用定时器0及外部中断0的下降沿触发方式就可以满足所有的功能要求且不会造成中断冲突。

定时/计数器是利用单片机晶振产生准确计时的一种方式,打开EA总中断允许与ET0中断允许及开始位TR0后开始计时,在程序运行过程中定时器与主函数同时运行并在定时器初值的基础上一个机器周期内累加1,程序在运行过程中只要判断定时器的值已经溢出即进入定时器中断函数,直到执行中断函数完毕后又回到刚才进入中断的程序处继续执行程序,等待下一次中断并重复这个过程。 设计中使用的12MHZ晶振机器周期为1us,设置中断初值为溢出位减1000并转化为16位赋值定时器的高八位和低八位,得到周期为1MS的中断计时,在主程序中进行变量判断就可以准确的计算各种长度的时间。

图3.4 单片机功能结构框图

如图3.4所示,在本次设计中测速模块使用霍尔磁效应传感器,当INT0检测到下降沿脉冲时触发中断,外部中断函数内对变量进行计数+1,定时器每秒统计变量数并及时清零以计算速度,累加路程及卡路里,需要注意的是单片机在浮点数与整数运算时必然会有误差,软件调试过程中采用了浮点数转换浮点数及四舍五入的方法已经尽可能的减少了误差,实现各参数的精准计算。

3.2 LCD1602液晶显示模块

考虑到本次设计显示信息较多,若使用传统数码管显示内容将无法直观全,且无论共阴极或共阳极数码管多路显示时需动态扫描,对单片机的处理性能影响很大,故应选用液晶屏显示模块。液晶显示型号有例如1601,0801,0802等,其中前两位数字一般表示液晶显示的长度单位,比如0802即为横向8个字符竖向2排字符,1601为横向16个显示字符,竖向1排。本次设计中我们采用常用的

自带背光的1602液晶显示器,它的横向显示内容为16个字符,竖向2排字符。

图3.5 LCD1602管脚图

如上图3.5所示其内置16个管脚,其中VSS为电源地,VDD为+5V电源正接入口,V0处通常接入10K的电阻调节亮度,DB0-DB7为数据传输位,A极和K极分别为背光正极和负极,但编写程序时只用其中的三个(RS寄存器选择、R/W读写信号线与LCD EN使能端)。

图3.6 1602电位器调节图

如图3.6所示:LCD1602液晶通常可以接入一个10K电阻的电位器调整亮度与对比度。但为了节省电能可以使用软硬件结合的方法自动开启及唤醒液晶背光,常用的方法可以在背光正极处接入一只PNP型常开三极管,使用I/O口控制