教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

基于单片机的病床呼叫系统-毕业论文(3)

来源:网络收集 时间:2026-05-18
导读: ******毕业设计 3 程序设计语言 单片机能执行的程序可以用很多种语言编写。从语言结构及其与单片机的关系两方面可分为三大类:分别是机器语言、汇编语言和高级语言。 3.1机器语言 机器语言是一种用二进制代码“0”

******毕业设计 3 程序设计语言

单片机能执行的程序可以用很多种语言编写。从语言结构及其与单片机的关系两方面可分为三大类:分别是机器语言、汇编语言和高级语言。

3.1机器语言

机器语言是一种用二进制代码“0”和“1”表示指令和数据 的最原始的程序设计语言。由于计算机只能识别二进制代码,因此,这种语言与计算机的关系最为直接,计算机能够快速识别并立即执行,响应速度最快。但这种语言编写程序非常繁琐、费时,且不易看懂,不便记忆,容易出错。

3.2 汇编语言

汇编语言是一种用助记符来表示的面向机器的程序设计语言。不同的机器所使用的汇编语言一般是不同的。这种语言比机器语言更加直观、易懂、易用,且便于记忆。但是由于不同机器的汇编语言不同,这种语言有一定的局限性,移植性差。

3.3高级语言

高级语言是一种面向过程且独立于计算机硬件结构的通用计算机语言。目前在单片机应用最广泛的是C语言。

3.3.1 单片机C语言的特点

①对单片机的指令系统不要求了解,仅要求对单片机的存储结构有初步的了解。 ②寄存器的分配、不同存储器的寻址及数据类型等细节可由编译器管理。 ③程序有规范的结构,可分为不同的函数,可使程序结构化。 ④关键字及运算函数可用近似人的思维过程方式使用。 ⑤编程及程序调试时间显著缩短,从而提高效率。

⑥提供的库包含许多标准子程序,具有较强的数据处理能力等。 3.3.2单片机C语言使用的编程软件 3.3.2.1编程软件

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。

9

******毕业设计 运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

3.3.2.2仿真软件

Proteus 是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。

4 基于单片机的病床呼叫系统的设计实现

4.1系统总体设计 4.1.1功能要求

本课题主攻方向是使系统实现以下目的:

①任一病房(共16张)呼叫,医护值班室马上能响应并显示病房号; ②显示病房床号;

③若有多个病床呼叫就循环显示; ④处理完毕后清除记录;

⑤显示器不重复显示按一次以上的病床号 4.1.2设计方案

用8051自身接口实现数码管静态显示和键盘扫描,使用8051单片微机外加作地址锁存用的四块三态锁存器74LS373芯片和一块74LS138芯片可构成一个完整的最小微机电路。以此为基础,在智能装置中若要配置多位数码管显示器,以及m行n列矩阵键盘的话,可以不扩展I/O芯片而由8051自身I/O口,实现上述功能, 即用P0口的八个端口作为LED的段选,用P2口的高三位连接一个三八译码器74LS138 作为四个LED的片选.用P1口和P2口的低五位做键盘电路的接口。

4.1.3 总体结构框图

本设计是基于AT89C51单片机设计的病房呼叫系统设计,该系统就是以Atmel公司的AT89C51单片机作为主控器,包括键盘输入电路,显示电路,以及晶振复位电路等来实现病房呼叫系统。

10

******毕业设计

图4.1病房呼叫系统结构框图

输入部分 键盘输入 控制器 AT89C51 输出部分 LED显示 4.2 系统硬件设计 4.2.1硬件构成示意图

报警电路 图4.2 硬件构成示意图

键盘电路 单片机 显示电路 4.2.2 外围电路设计 4.2.2.1 控制器AT89C51 复位电路:

RST引脚是复位信号输入端,高电平有效。采用上电加按钮复位,因为本系统设计考虑到该系统比较重要,所以除了采用上电复位的方式外,应该还有按钮复位备用复位方式以防止系统死机时能。如下图4.3所示:

图4.3上电复位和按键复位

R1 2KΩ 81 8W-PB C1 10uF VCC 单片机 RET R2 200KΩ 11

******毕业设计 时钟电路:

时钟是时序的基础,AT89C51核片内由一个反相放大器构成振荡器,可以由它产生时钟,时钟可以由两种方式产生内部方式和外部方式。本系统采用内部方式,在XTAL1和XTAL2端外接石英晶体作为定时元件,内部反相放大器自激振荡,产生时钟。时钟发生器对振荡脉冲二分频。电容采用30pF电容。如下图4.4所示:

图4.4内部时钟电路

C1 XTAL1 单 片 机 XTAL2 C2 4.2.2.2 键盘电路设计 1、 键的识别

为了识别键盘上的闭合键,通常采用两种方法,一种称为行扫描法,另一种称为行反转法。

行扫描法的原理 :

行扫描法识别闭合键的原理如下:先使第0行接地,其余行为高电平,然后看第0行是否有键闭合,这是通过检查列线电位来实现的,即在第0行接地时,看是否有条列线变成低电平。如果有某条列线变为低电平,则表示第0行和此列线相交位置上的键被按下;如果没有任何一条列线为低电平,则说明第0行上没有键被按下。此后,再将第1行接地,,然后检测列线中是否有变为低电平的线。如此往下逐行扫描,直到最后一行。在扫描过程中,当发现某一行有键闭合时,也就是列线输入中有一位为0时,便在扫描中途退出,而将输入值进行移位,从而确定闭合键所在的列线位置。根据行线位置和列线位置便能再扫描法来确定具体位置。将行线和一个并行接口相接,CPU每次使并行输出接口的某一位为0,便相当于将某一行线接地,而其他位为1,则相当于使其他行线处于高电平。为了检查列线上的电位,将列线和一个并行输入输出口相接,CPU只要读取输入输出口中的数据,就可以设法判别出第几号键被按下[11]。

从上面的原理中知道,程控扫描法是由程序控制键扫描的方法。程控扫描的任务是: ①首先判断是否有键按下。其方法是使所有的行输出均为低电平,然后从端口A读

12

******毕业设计 入列值 。如果没有键按下,则读入的列值为FFH;如果有键按下,则读入的列值不为FFH。

②去除键抖动。若有键按下,则延时5~10ms,再一次判断有无键按下,如果此时仍有键按下,则认为键盘上有一个键处于稳定闭合期。

③若有键闭合,则求出闭合键的键值. 求键值的方法是对键盘逐行扫描。如图4.5是行扫描法: 输出使Xi为低电平 键释放了? 有键按下? 延时10ms 有键按下? N 有键按下? Y N 列数据右移1位 调显示程序 列值+1 扫描整个键盘 开始 再次扫描整个键盘 N N 延时 Y N 各行扫描完了? Y 图4.5行扫描法的流程图 13

行值+0SH 此行有键按? BUFF 键值 Y 计算键值 求下一行为低电平模型 调用找功能键程序

…… 此处隐藏:1378字,全部文档内容请下载后查看。喜欢就下载吧 ……
基于单片机的病床呼叫系统-毕业论文(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/412797.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)