Gumeng

导航

 
病房呼叫系统的设计(课程设计)
1. 项目要求
系统若某一个病房呼叫,护士站内的 显示模块能显示相应的病房号,而且
与该病房号对应的指示灯也要点亮,并响铃报警;当护士处理完相应病房的事情
时,可按下按键,红色报警灯熄灭表示护士已处理完事情。
2. 设计要求
(1)系统能控制 8 个病房的情况;
(2)每个病房有独立的按键和指示灯;
(3)要求护士值班室有 1 个响应键;
(4)要求护士站内有显示;
(5)要求护士站内有与病房号对应的警报灯和蜂鸣器;
(6)按下复位键后系统重新自检。
 
首先提取题目要求,最终实现效果如下:
病房:病房按键按下,对应指示灯亮起(要求2)
护士站:护士站8位数码管屏幕显示请求床号,如有多个病床,则先请求的长亮,后请求的闪烁表示等待(要求4),只要有呼叫未解决,蜂鸣器常响,警报灯长亮(要求5)。
护士操作:1、护士站按键:按下后表示完成当前病床请求,按照请求顺序依次处理(要求3),按下一次处理一个 2、病床按键:按下后表示完成当前病床请求。
整体实现所需要

 

 

电路简易设计图

需要学习:Keil3软件编程(C语言)、工程创建引入等操作

     Proteus仿真工具的使用

     STC89C52以及系列单片机的IO口(输入输出)使用、中断的使用

     数码管动态刷新原理

设计结构:8位按键控制输P1口,用来表示病房请求

     8个发光二极管表示病房指示灯

     PO口作为数码管段选,数码管采用两个四位共阳极数码管,因为市面上没有类似的7SEG-MPX8的八位数码管(接上拉电阻)

     P35-P37IO口通过38译码器控制位选控制,节省IO口

     P32 外部中断,作为护士站响应按键

     P30-P31分别作为护士站的警报灯、蜂鸣器

功能模块:
    数码管显示模块
    按键扫描模块(接收请求)
    逻辑处理模块(处理请求)
代码简述:
 初始化数据

 

主程序

 

 使用到队列来控制处理请求的先后状态

队列取自CSDN,原文地址(39条消息) C51 队列 方式 中断接收 查询发送_会飞行的小蜗牛的博客-CSDN博客 使用循环数组实现,非常简单明朗,很受用

 

详细代码不在此赘述,可加我Q 328319881 私发(主要是代码又臭又长哈哈)

 

碰到的问题:

(1)数码管不同位显示不同状态的问题

    因为采用的是LED数码管,不同的状态显示一开始让我颇为头疼,也将程序运行的时许问题刻在我脑子里,直接说结论:

      数码管的刷新原理:以极快的速度进行:1位开、1位关、2位开、2位关....速度快到人眼无法识别则为全显示,而我的目标是不同位的数码管显示不同的状态,这比较麻烦,举个例子,1号以1秒的频率闪烁, 2号长亮,如果我们给1号设置人眼可见的闪烁延时,则在处理1号延时(两秒)的时候,2号必然不会亮,我们不能在数码管内控制一个数码管按照一个任意频率显示的同时控制另一个数码管以另外一个频率显示,他们之间是互相影响的。通过和群友集思广益,最终处理的办法:将2号的显示延时延长(200ms),这段延长的时间就是1号的黑暗时间,而1号的显示延时为1ms作为2号的黑暗时间,这样即可实现1号闪烁,二号长亮。     总之是比较憨批的操作,自己难自己==

(2) 蜂鸣器(有源)鸣响问题 :涉及到单片机的拉电流问题

   我们用的STC89C52一般不具备驱动能力,只能给出一个逻辑电位,拉电流比较小,咨询淘宝展示:

 

   注意这个拉电流是没有上拉电阻的情况下,只有P0口没有上拉电阻,其他口单片机已经做好上拉电阻了,输出能达到20ma(大概,买来机子再测测)

  但是依然不能稳定带动蜂鸣器,电流太小了,需要放大信号,这里我用的是NPN三极管

 

   多次实验测出来这个蜂鸣器需要0.4A的电流,单片机电压5V,减去导通电压0.7,则R2电压大概为4V,三极管放大倍数为100,则基极的电流为0.004A,R2=UR2/I 

计算得出R2=1K  结果正确:

 

(3)38译码器选择:

    在网上找的第一个是74H138型号,拿来用的时候发现是低位选择,就是假设选择的是Y7,则Y1-Y6都是1,Y7为0,这样输出到数码管的段选肯定不行,本想着加一堆非门上去,后面又想了想这个办法已经蠢到我的认知的底线了,又去网上找了找,果然找到74H238可以做到反向输出,还是经验太匮乏

 

 

 这里注意,我最初设置的数码管关闭时,给到译码器的数据为000,但这样输出的就是10000000,做不到关闭显示,最后直接把使能端接到单片机IO口控制,不推荐直接接,还是那句话,单片机的IO口不建议直接驱动,这里能不能驱动还得实践,仿真莫问题。

自己动手做能碰到很多繁杂的问题,不同于跟着教程,基础很不牢固,但自己碰到问题解决问题却更能令自身印象深刻,我比较爱忘事,姑且记一下这次实训设计,这样就不怕打几把游戏又都忘了,希望大家能够喜欢

    

 

 
 
 
posted on 2022-06-27 17:21  大孤梦  阅读(650)  评论(0)    收藏  举报