基于单片机的脉搏计毕业设计(编辑修改稿)内容摘要:

时内含5 个中断源, 2 个优先级, 2 个 16 位定时 /计数器。 STC89C52 的存储器系统由 4K 的程序存储器 (掩膜 ROM),和 128B 的数据存储器 (RAM)组成 [3]。 STC89C52 单片机的基本组成框 图见图 31。 时 钟 电 路R O M / E P R O M / F l a s h 4 K BR A M 1 2 8 BS F R 2 1 个定 时 个 / 计 数 器 2C P U总 线 控 制中 断 系 统5 个 中 断 源2 个 优 先 级串 行 口全 双 工 1 个4 个 并 行 口X T A L 2 X T A L 1R S TE AA L EP S E NP 0P 1P 2P 3V s sV c c 图 31 STC89C52 单片机结构图 STC89C52 单片机主要特性 一个 8 位的微处理器( CPU)。 片内数据存储器 RAM( 128B),可以读 /写操作的数据存储,如中间结果,最终结果要显示数据,用 STC89 系列单片机提供高达 1K 的 RAM。 片内程序存储器 ROM( 4KB),用于存储程,一些原始数据和表格。 但也有一些单片机内部无 ROM/EPROM,如 8031, 8032, 80C31 等。 目前的发展趋势是 RAM 和ROM 芯片集成在一个芯片,便于提高系统抗干扰能力的用户设计。 STC 公司推出的 89系列单片机集成 16K, 32K, 64K FLASH 存储器,用户可以根据需要选择。 四个 8 位并行 I/O 接口 P0 ~ P3,每个口可以用作输入,也可以用作输出。 个定时器 /计数器,每个定时器 /计数器可设置和计数的方式,用来计数外部事件,可以设置成定时方式,并可以根据计数或定时实现计算机控制的结果。 为了方便的串行通信的设计, 52 系列将提供 3 个 16 位定时器 /计数器。 6 五个中断源的中断控制系统。 新的已经超过了 5 单片机的中断源例如STC89E58RD,有 9 个中断源。 一 个全双工 UART(通用异步接收发送器)的串行 I/O 口,用于单片机之间或单片机与微机之间的串行通信。 片上振荡器和时钟产生电路,但石英晶体和电容需要外接。 最高振荡频率为12MHz。 并且, STC89V58RD 最高振荡频率可达 40MHz,大大提高了指令的执行速度 [3]。 12345678RESET91011121314151617XTAL218XTAL119VSS202122232425262728PSEN29ALE30EA313233343536373839VCC40U5单片机 图 32 STC89C52 单片机管脚图 STC89C52 单片机的中断系统 STC89C52 系列单片机的中断系统有 5 个中断源, 2 个优先级,可以实现二级中断服务嵌套。 由片内特殊功能寄存器中的中断允许寄存器 IE 控制 CPU 是否响应中断请求;由中断优先级寄存器 IP 安排各中断源的优先级;同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。 在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进行计数。 STC89C52 单片机内集成有两个可编程的定时 /计数器: T0 和 T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,此外,T1 还可以作为串行口的波特率发生器 [5]。 单片机最小系统设计 7 12345678RESET91011121314151617XTAL218XTAL119VSS202122232425262728PSEN29ALE30EA313233343536373839VCC40U1单片机+5V12Y212MHZ30pFC330pFC41 2 3 4 5 6 7 8 9P1 10K 排阻+5VS1SWPB10KR310uFC2+5V 图 33 单片机最小系统电路图 图 33 为单片机最小系统电路图,单片机最小系统有单片机、时钟电路、复位电路组成,时钟电路选用了 12MHZ 的晶振提供时钟,根据官网的数据手册,要让晶振起振还要配备 2 个 30PF 的电容,时钟电路作用为给单片机提供一个时间基准,其中执行一条基本指令需要的时间为一个机器周期,单片机的复位电路可以对单片机进行复位,按下复位按键之后可以使单片机进入刚上电的起始状态,这里 RC 电路的作用就是让单片机有个充电的过程,为 了保证复位成功电容充放电时间要大于 2US,选择了 10K 和 10UF 较为常规的值,充放电时间远大于 2US。 图中 10K 排阻为 P0 口的上拉电阻,由于 P0 口跟 其他 IO 结构不一样为漏极开路的结构,因此要加上拉电阻才能正常使用 [5]。 LCD 液晶显示器简介 由于本设计中要求显示界面显示一些参数,因此这里选用了 LCD1602 作为界面显示,可以把一些相关的参数进行显示。 液晶原理介绍 液晶显示器( LCD)英文称为液晶显示器,这是一个液晶来实现颜色控制透射显示技术。 与 CRT 显示器相比,液晶显示器的优势 是非常明显的。 因为控制是控制光与暗的传输,当颜色变化,液晶是不变的,所以不需要考虑刷新率的问题。 显示界面用于显示系统状态,数据采集的电压数据。 本系统是采用 1602LCD 液晶显示模块。 液晶由 m 行 n 列的显示单元构成,假定液晶显示 64 行,每行有 128 列,每 8 列对应 1 字节的 8 位,其中包括 16 每行字节,共 16 8= 128 点, 64 16 的屏幕显示单元显 8 示 1024 字节 RAM 区对应的屏幕上,内容和相应的光与暗的对应位置的每一个字节。 从6 8 或 8 8 点阵组成一个字符,这是显示一个数对应的位置显示 RAM 区的 8 字节,并使每个 字节的比特“ 1”,“ 0”,其中“ 1”控制亮,“ 0”控制暗,”小暗,于是形成了一个字符。 但对于字符发生器的控制器,显示字符比较简单,可以让控制器工作文本模式,根据列数设置光标显示在 LCD 上,开始在 RAM 查找相应的地址,发送代码的字符 [6]。 液晶模块简介 LCD1602 液晶显示模块 采用 HD44780 控制器 , HD44780 拥有 简单和强大的指令集,可以实现字符运动,闪烁等功能,单片机和 CAN 通信用 LM016L 4 位并行传输 位或 4位并行传输方式。 HD44780 控制器是 两个 8 位寄存器,指令寄存器( IR)和 数据寄存器( DR)忙标志 ( BF), 显示数 RAM(驱动器), 字符发生器( cgorom),字符发生器内存( RAM),地址计数器。 LCD1602 液晶模块的引脚图如图 34 所示。 图 34 LCD1602 引脚图 液晶 寄存器选择控制如表 31。 表 31 寄存器选择控制 RS R/W 操作说明 0 0 写入指令寄存器(清除屏等) 0 1 读 busy flag( DB7),以及读取位址计数器( DB0~DB6)值 1 0 写入数据寄存器(显示各字型等) 1 1 从数据寄存器读取数据 液晶显示部分与 STC89C52 的接口 如图 35 所示。 用 STC89C52 的 P0 口作为数据线,用 、 、 分别作为 9 LCD 的 EN、 R/W、 RS。 其中 EN 是下降沿触发的片选信号, R/W 读写信号, RS 为寄存器选择信号 ,分为:模块的显示模块的初始化设计:第一个清屏,然后设置接口的数据位为 8 位,显示行数为 1 行, 5 7 点阵字体,然后设定总体显示,取消光标和字体闪烁,最后设置一个正向的的增量并且不移位。 向 LCD 发送缓冲区 字符 ,在程序 中采用 2字符数组, 其中一个 显示字符,另一个显示电压数据,显示文字或数据发送到相应的数组 ,完成后统一的显示。 显示缓冲区先要显示的字符或数据送到液晶 经过 延时 ,确定是否显示是不够的,再加上一个地址将要显示的字符或数据 [6]。 12345678RESET91011121314151617XTAL218XTAL119VSS202122232425262728PSEN29ALE30EA313233343536373839VCC40U2单片机+5V12Y212MHZ30pFC830pFC91 2 3 4 5 6 7 8 9P1 10K 排阻VSS1VCC2VEE3RS4RW5EN6DB07DB18DB29DB310DB411DB512DB613DB714A15K16LCD1lcd1602+5V+5V+5VS1SWPB10KR1010uFC6+5V10KR22 图 35 LCD1602 与 STC89C52 的接口 键盘模块设计 本按键模块使用的是多位独立按键,按键一端接 IO 口,一端接地,由于单片机的IO 口都有内部上拉,因此当按键没有按下的时候, IO 检测到的时候高电平,当按键按下的时候,相当于 IO 短接地,因此这时候单片机检测到的电平为低电平,通过检测不同时刻的 IO 口状态就可以判断按下的是那个按键 [4]。 键盘模块电路图 如图 36 所示。 10 12345678RESET91011121314151617XTAL218XTAL119VSS202122232425262728PSEN29ALE30EA313233343536373839VCC40U2单片机12Y112MHZ30pFC830pFC9S2SWPBS3SWPBS4SWPBS5SWPB 图 36 键盘模块电路图 蜂鸣器模块设计 本设计还带有脉搏超出设定范围报警的功能,当检测到当前的脉搏跳动次数超出用户所设定的上限或者下限的时候,单片机就可以驱动蜂鸣器发声。 由于蜂鸣器的工作电流一般比较大,以致于单片机的 I/O 口是无法直接驱动的,所以要利用三极管开关电路来驱动。 本处选用的是 8550 三极管,它是一个 PNP 型的三极管,当基极给低电平的时候三极管导通,这时候蜂鸣器发声,当给高电平的时候,三极管关闭,蜂鸣器不发声 [2]。 蜂。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。