单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx

上传人:b****4 文档编号:7892764 上传时间:2023-05-09 格式:DOCX 页数:57 大小:791.56KB
下载 相关 举报
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第1页
第1页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第2页
第2页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第3页
第3页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第4页
第4页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第5页
第5页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第6页
第6页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第7页
第7页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第8页
第8页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第9页
第9页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第10页
第10页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第11页
第11页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第12页
第12页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第13页
第13页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第14页
第14页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第15页
第15页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第16页
第16页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第17页
第17页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第18页
第18页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第19页
第19页 / 共57页
单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx_第20页
第20页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx

《单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx(57页珍藏版)》请在冰点文库上搜索。

单片机STC89C52RC病床呼叫控制系统毕业设计论文Word文档格式.docx

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

CPU是单片机的核心部件。

它由运算器和控制器等部件组成。

⑴运算器

运算器的功能是进行算术运算和逻辑运算。

可以对半字节(4位)、单字节等数据进行操作。

例如能完成加、减、乘、除、加1、减1、BCD码十进制调整、比较等算术运算和与、或、异或、求补、循环等逻辑操作,操作结果的状态信息送至状态寄存器。

8051运算器还包含有一个布尔处理器,用来处理位操作。

它是以进位标志位C为累加器的,可执行置位、复位、取反、等于1转移、等于0转移、等于1转移且清0以及进位标志位与其他可寻址的位之间进行数据传送等位操作。

也能使进位标志位与其他可位寻址的位之间进行逻辑与、或操作。

1)程序计数器PC

程序计数器PC用来存放即将要执行的指令地址,共16位,可对64K程序存储器直接寻址。

执行指令时,PC内容的低8位经P0口输出,高8位经P2口输出。

2)令寄存器

指令寄存器中存放指令代码。

CPU执行指令时,由程序存储器中读取的指令代码送入指令寄存器,经译码后由定时与控制电路发出相应的控制信号,完成指令功能。

本设计采用ATMEL的AT89S52微处理器,主要基于以下几个因素:

1)AT89S52为51内核,仿真调试的软硬件资源丰富;

2)性价比高,货源充足;

3)功耗低,功能强,灵活性高;

4)DIP40封装,体积小,便于产品小型化;

5)为EEPROM程序存储介质,1000次以上擦写周期,便于编程调试;

6)工作电压范围宽:

2.7V-6V,便于交直流供电;

1.2.2数码显示电路

对于数字显示电路,通常采用液晶显示或数码管显示。

对于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性差,不适合远距离观看;

对于具有驱动电路和单片机接口的液晶显示模块(字符或点阵),一般多采用并行接口,对单片机的接口要求较高,占用资源多;

另外,AT89S52单片机本身无专门的液晶驱动接口。

而数码管作为一种主动显示器件,具有亮度高、响应速度快、防潮防湿性能好、温度特性极性、价格便宜、易于购买等优点,而且有远距离视觉效果,很适合夜间或是远距离操作。

因此,本设计的显示电路采用7段数码管作为显示介质。

数码管接口有静态接口和动态接口两种。

1、静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阴或共阳接地或电源正极。

这种接法占用接口多。

2、动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。

为了节约接口资源和简化电路,本设计采用了串行口输出方式,将利用移位寄存器扩展并行输出接口,驱动共阳数码显示管工作,通过在数码显示管的阳极串行接口若干个二极管达到整体降压的效果,避免加入大量电阻的麻烦。

74HC164为8位左移移位寄存器,有串行输入并行输出的功能。

当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。

串行数据输入端(A,B)可控制数据。

当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。

当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态。

其引脚图如图8所示:

引出端符号:

CLK:

时钟输入端

CLR:

同步清除输入端(低电平有效)

A,B:

串行数据输入端

QA-QH:

输出端

极限值:

电源电压…………………7V

输入电压………………5.5V

真值表(如图9):

H:

高电平L:

低电平

X:

任意电平↑:

低到高电平跳变           图9 真值表

QA0,QB0,QH0:

规定的稳态条件建立前的电平QAn,QGn:

时钟最近的↑前的电平

51系列单片机的串行口是一个可编程的全双工串行通信接口,通过软件编程,它可以作为通用异步接收和发送器,也可作为同步移位寄位器。

本设计串行口的工作方式为方式0。

在方式0工作时,串行数据通过RXD输入或输出,TXD输出频率为fosc/12频率的时钟脉冲。

数据格式为8位,低位在前,高位在后,波特率固定:

波特率=fosc/12(fosc/12为单片机外接的晶振频率)。

发送过程以写SBUF寄存器开始,当8位数据传送完,TI被置为“1”,方可再发送下一帧数据。

接收必须预先置REN=1(允许接收)和RI=0,当8位数据接收完,RI被置为“1”,此时,可通过读SBUF指令,将串行数据读入。

移位寄存器方式多用于接口的扩展,当用单片机构成系统时,往往感到并行口不够用,此时可通过外接串入并出移位寄存器扩展输出接口,通过外接并入串出移位寄存器扩展输入接口。

1.2.3呼叫开关电路

键盘是计算机系统中不可缺少的输入设备,当键盘少时可接成线性键盘,当按键较多时,这样的接法占用口线较多,甚至根本就不够用。

考虑到本设计的系统要监控的开关数量太多,采用键盘开关的方法,可键盘接成矩阵的形式,两个8位接口就可接64个按键开关(8×

8矩阵的形式)

  按键的编码可由软件对行、列值的运算完成,称为非编码键盘;

也可由硬件编码器完成,称为编码键盘。

本设计系统采用的是非编码键盘。

此外,按键在闭合或断开时会出现抖动。

消除抖动的方法可采用消抖电路(R-S触发器闩锁电路硬件消除抖动),也可采用延时方式软件消除抖动(延时后再重读,以跳过抖动期)。

本设计系统由于监控的呼叫开关数量比较多,所有的呼叫开关集合起来,采用键盘控制电路设计,电路设计将采用的软件消除抖动方式。

1.2.4声音告警电路

考虑到该系统是用于医院里的,告警声音必须够响亮却不刺耳,不那么令人心烦,本设计病床呼叫控制系统的声音告警电路采用蜂鸣器发声音;

又考虑到直接接单片机I/0口可能驱动电流不够大的问题,采用三极管驱动蜂鸣器发声。

为了避免无间断发声对人心情引起的不良影响,告警声音的发音方式将设计成500ms响500ms断的周期性声响,在软件上通过使用T1定时器实现对其的控制。

1.2.5显示复位电路

显示复位是为了当出现有病床呼叫时,医院医护人员发现后想清除该呼叫并查看下一呼叫病床床号而设置的一个按钮。

接显示复位电路的端口可以是任意一个没用到的P口,用端口扫描的方式,判断是否有按复位按键。

但考虑到实际应用中复位按键产生信号出现的时间的任意性,本设计采用一个外部中断口作为复位按键信号的输入口。

这样可以使设计的系统更加地具有实用性,减少出错的机率。

2 病床呼叫控制系统的硬件设计

2.1病床呼叫控制系统的电路原理框图

病床呼叫控制系统的硬件原理框图大致如图2.1所示。

由病床呼叫控制系统的硬件原理框图可知,病床呼叫控制系统在硬件上主要由单片微型计算机及其辅助电路、呼叫开关电路、床号显示电路、声音告警电路、床号显示复位电路五部分组成。

本设计的基本原理大概是:

正常工作下的单片机系统通过不停地对呼叫开关电路扫描、不停地读

         图2-1病床呼叫控制系统的硬件原理框图

取呼叫开关电路的状态,监控键盘的所有呼叫开关,当有病床呼叫出现,单片机就会读取到,并调用对应的程序分析所呼叫的开关号码,单片机分析出该呼叫开关号码后将其存储起来,并发送第一个呼叫开关的床号信息至显示电路,判断是否发出声音。

显示复位按键给出的是中断信号,当单片机接收到中断信号时就会作出显示的复位操作。

2.2病床呼叫控制系统的电路设计

病床呼叫控制系统电路的设计具体地说有:

单片机系统时钟电路的设计、单片机系统复位电路的设计、数码显示电路的设计、声音告警电路的设计、显示复位电路的设计和呼叫开关电路的设计。

下面将逐个讲述。

2.2.1单片机系统时钟电路的设计

单片机的时钟信号用来提供单片机内各种微操作的时间基准,8051片内设有一个由反向放大器所构成的振荡电路,XTAL1和XTAL2分别为振荡电路的输入和输出端,8XX51单片机的时钟信号通常用两种电路形式得到:

内部振荡方式与外部振荡方式。

外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。

对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。

时钟发生器把振荡频率两分频,产生一个两相时钟信号P1和P2供单片机使用。

P1在每一个状态S的前半部分有效,P2在每个状态的后半部分有效。

本设计采用的内部振荡方式,内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。

本设计系

   图2-2-1系统时钟电路图

统的时钟电路如图2-2-1所示。

只要按照图2-2-1

所示电路进行设计连接就能使系统可靠起振并

能稳定运行。

图中,电容器C1 

、C2起稳定振

荡频率、快速起振的作用,电容值一般为

5~33pF。

但在时钟电路的实际应用中一定要

注意正确选择其大小,并保证电路的对称性,

尽可能匹配,选用正牌的瓷片或云母电容,如

果可能的话,温度系数尽可能低。

本设计中采

用大小为30pF的电容和频率为12MHz的晶振。

时序

MCS-51典型的指令周期(执行一条指令的

时间称为指令周期)为一个机器周期,一个机器周期由六个状态(十二振荡周期)组成。

每个状态又被分成两个时相P1和P2。

所以,一个机器周期可以依次表示为S1P1,S1P2……,S6P1,S6P2。

通常算术逻辑操作在P1时相进行,而内部寄存器传送在P2时相进行。

图2-38051时序

图2-3给出了8051单片机的取指和执行指令的定时关系。

这些内部时钟信号不能从外部观察到,所用XTAL2振荡信号作参考。

在图中可看到,低8位地址的锁存信号ALE在每个机器周期中两次有效:

一次在S1P2与S2P1期间,另一次在S4P2与S5P1期间。

对于单周期指令,当操作码被送入指令寄存器时,便从S1P2开始执行指令。

如果是双字节单机器周期指令,则在同一机器周期的S4期间读入第二个字节,若是单字节单机器周期指令,则在S4期间仍进行读,但所读的这个字节操作码被忽略,程序计数器也不加1,在S6P2结束时完成指令操作。

图2-3的(a)和(b)给出了单字节单机器周期和双字节单机器周期指令的时序。

8051指令大部分在一个机器周期完成。

乘(MUL)和除(DIV)指令是仅有的需要两个以上机器周期的指令,占用4个机器周期。

对于双字节单机器周期指令,通常是在一个机器周期内从程序存储器中读入两个字节,唯有MOVX指令例外。

MOVX是访问外部数据存储器的单字节双机器周期指令。

在执行MOVX指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。

图2-3中(c)给出了一般单字节双机器周期指令的时序。

2.2.2单片机系统复位电路的设计

单片机的复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态开始运行。

当8XX51单片机的复位引脚RST出现5ms以上的高电平时,单片机就完成了复位操作。

如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。

因此要求单片机复位后能脱离复位状态。

   图2-2-2系统复位电路图

根据应用的要求,复位操作通常有两种基本形式:

上电复位、开关复位。

上电复位要求接通电源后,自动实现复位操作。

开关复位要求在电源接通的条件下,在

单片机运行期间,如果发生死机,用按

钮开关操作使单片机复位。

本设计采用

上电且开关复位电路,如图2-2-2所示

上电后,由于电容充电,使RST持续一

段高电平时间。

当单片机已在运行之中

时,按下复位键也能使RST持续一段时

间的高电平,从而实现上电且开关复位

的操作。

通常选择C=10~30μF,R=10K,

本设计采用电容值为10μF的电容和电阻值为10K的电阻。

在振荡运行的情况下,要实现复位操作,必须使RES引脚至少保持两个机器周期(24个振荡器周期)的高电平。

CPU在第二个机器周期内执行内部复位操作,以后每一个机器周期重复一次,直至RES端电平变低。

复位期间不产生ALE及PSEN信号。

内部复位操作使堆栈指示器SP为07H,各端口都为1(P0-P3口的内容均匀0FFH),特殊功能寄存器都复位为0,但不影响RAM的状态。

当RES引脚返回低电平以后,CPU从0地址开始执行程序。

复位后,各内部寄存状态下如下:

寄存器内容

PC0000H

ACC00H

B00H

PSW00H

SP07H

DPTR0000H

P0~P30FFH

IP×

×

00000

IE0×

TMOP00H

TCON00H

TH000H

TL000H

TH100H

TL100H

SCON00H

SBUF不定

PCON0×

复位电路在实际应用中很重要,不能可靠复位会导致系统不能正常工作,所以现在有专门的复位电路,如810系列,这种类型的器件不断有厂家推出更好的产品,如将复位电路、电源监控电路、看门狗电路、串行E2ROM存储器全部集成在一起的电路,有的可分开单独使用,有的可只用部份功能,让使用者就具体实际情况灵活选用。

2.2.3数码显示电路的设计

  图2数码管内部结构及引脚图

1)数码显示管 七段数码显示管分共阳

数码管和共阴数码管两种,本设计采用的是

共阳数码管,其结构及引脚排列如图2所

示。

共阳数码管由8只发光二极管共阳连接

在一起并按8字形结构排列而成。

这样我们

将这些二极管的负极接高低不同的电位,把

所有的阳极(共阳极)接电源VCC,当负极

为低电位时,相应的二极管就会导通而发光,

从而使数码管呈现不同的字符。

2)数码显示电路 病床呼叫控制系统的床号数码显示电路如图2-2-3所示。

该显示电路由2个共阳极动态数码管、2个74HC164移位寄存器和3个二极管组成。

采用2个数码管是为了可以显示从01到64的床号,第一个74HC164移位寄存器的A、B口接单片机的输入输出串口RXD引脚、CLK口都接单片机的TXD引脚以接收单片机产生的脉冲信号,其输出端Q0—Q6分别接数码显示管的a—g七个引脚,第一个74HC164的Q7

图2-2-3数码显示电路图

端接第二个的A、B口。

由于本设计中数码显示

管的小数点不需要发亮,

故数码管的H引脚可以

不与驱动器的Q7口连

接上。

电路中采用二极

管整体降压的方式,避

免使用大数量的电阻,

精简了电路的设计。

由于采用的是共阳

的数码显示管,所以,

只要数码管的a、b、c、d、e、f、g、h引脚为低电平,那么其对应的二极管就会发光,使数码显示管显示0~9的编码为gfedcba=03H,9FH,25H,0DH,99H,49H,41H,1FH,

01H,09H

2.2.4声音告警电路的设计

  图2-2-4声音告警电路图

本设计病床呼叫控制系统中,单片机的告

警信号由P1.0口输出,告警声音用蜂鸣器发声,

当P1.0输出信号为高电平时,蜂鸣器发声音连

续的声音告警。

考虑到I/0输出电流太小,可能

驱动不了蜂鸣器,采用三极管驱动蜂鸣器发声。

三极管可以是NPN或PNP三极管,两种三极管

驱动蜂鸣器的电路不大一样,本设计采用NPN

三极管驱动,驱动电路如图2-2-4所示。

采用

PNP三极管驱动时如何连接电路读者自行思考

一下或查阅相关资料。

2.2.5显示复位电路的设计

8XX51单片机有5个中断源,增强型8XX52增加了一个定时/计时器,共有6个中断源,它们只有两个中断源在片外,其余的中断源都是在片内。

外部中断有INT0和INT1两个,中断的方式有低电平中断和下降沿信号中断两种。

单片机响应中断后,应撤

除该中断请求,否则会引起再次中断。

对于边沿触发的外部中断,CPU响应中断后

图2-2-52显示复位电路

  

硬件自动清除IE0或IE1中断请求标志;

如果设计为低电平的中断方式时,CPU在响应中断时不会自动清除中断标志,因此,在CPU响应中断后,应立即撤除

图2-2-51

中断入口的低电平信号。

一般情况下,将利用消抖开关产生中断请求信号,电路如图2-2-51所示。

考虑电路在本设计中的实际应用与实际效果,本设计采用INT0外部边沿触发的中断方式,电路连接如图2-2-52所示。

在实际的硬件连接中,要注意该电路中的触发开关的选取,这将直接影响到实际操作中的效果。

建议不要采用四引脚的触发开关,当然,弹性比较好,比较稳定的为上。

2.2.6呼叫开关电路的设计

矩阵键盘按键的状态同样需变成数字数字量“1”和“0”,开关的一端(列线)通过电阻接VCC,开关另一端(行线)的接地是通过程序输出数字“0”实现的。

矩阵键盘每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。

矩阵键盘的行线和列线分别通过两并行接口和CPU通信,在接键盘的行线和列线的两个并行品,一个输出扫描码,使按键逐行动接地(称行扫描,键盘的行值),另一个并行口输入按键状态(称回馈信号,键盘的列值。

由行扫描值和列回馈信号共同形成键编码。

本设计键盘电路如 

图2-2-7所示,图中P0.0~P0.7分别接按键盘行线,输出接地信号,P2.0~P2.7接列线,输入回馈信号,以检测按键是否按下。

不同的按键有不同的编码,通过编码识别不同的按键。

图2-2-7键盘控制电路图

             

3 病床呼叫控制系统的软件设计

3.1程序设计思想

在程序设计过程中,为了有效地完成任务,把所要完成的任务精心的分割成若干个相互独立但相互又仍可有联系的任务模块,这些任务模块使得任务变得相对单纯,对外的数据交换相对简单,容易编写,容易检测,容易阅读和维护。

这种程序设计思想称为模块化程序设计思想。

模块化结构程序的设计,可以使系统控制软件便于调试与优化,也使读者更好地理解和阅读系统的程序设计。

因此,本医院病床呼叫控制系统在软件的设计上,运用了模块化程序的结构对软件进行设计,使得程序变得更加直观易懂,方便读者阅读。

程序的主要模块有:

主程序、床号显示程序、声音告警程序、床号显示复位程序、键值处理程序。

3.2系统资源的分配

  本设计系统所用到的单片机端口数比较多,为了方便读者阅读程序,节省读者的阅读与理解时间,在这里将对病床呼叫控制系统的硬件资源的大概分配加以说明,供读者参考。

片内RAM的分配、各功能键的定义以及各端口的分配安排如表3-2-2所示。

名称

功能描述

初始化值

R0

所按键编码存储指针,为存储编码提供地址

6FH

R1

所按键编码读取指针,为显示编码提供地址

R2

存储定时器计数次数

05H

R3、R5

存储延时子程序的计数初值

R4

行码,R4=0、8、16、24…分别代表第1、2、3、4…行

00H

R6

暂存编码存储指针

R7

辅助

68H~6FH

存储所按键键值(偏移量)

40H

外部中断INT0

S2键,复位中断信号入口

定时器T1

控制告警声音断、续的时间

表3-2-2

3.3程序功能的流程分析

3.3.1主程序

主程序:

系统(上电)复位后,进入主程序,首先对系统进行初始化,包括设置各入口地址、中断方式、对编码存储地址清“0”、使显示的床号为0号床等;

初始化完毕后,就进入对键盘的中断状态,如果没有呼叫,刚系统保持不停地对呼叫开关电路进行

图3-3-1

监控的状态,直至有呼叫;

发现有叫后,就调用键值处理程序,包括分析出所按的按钮的编码并进其进行存储;

存储完毕后,显示出床号并调用声音告警程序;

最后再返回对呼叫开关电路不停地进行监控的状态。

图3-3-1为主程序的流程图。

      图3-3-2

3.3.2床号显示程序

系统进入到床号显示程序后,马上对

串口的输出方式进行设定,设定为方式0,

然后读取所按键编码读取指针当前指向的

地址的编码(对应列表的偏移量),查找个

位数的列表,输出显示的个位数,一帧输

出完后,清除中断标志,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2