设计说明书
设计题目: 医院病床呼叫系统
学院:计算机学院
专业:电子信息与科学技术
参赛学生:陈文进 翟磊 袁槊(信息安全10级)
2010 年 11月 28日
目录:
摘要------------------------------------------------------------------------3
一 方案论证-------------------------------------------------------------4
控制器模块选型-------------------------------------------------------------------------4
液晶模块选择----------------------------------------------------------------------------4
键盘矩阵模块选择----------------------------------------------------------------------4
应答模块----------------------------------------------------------------------------------4
二 详细硬件电路设计-------------------------------------------------4
主控模块设计---------------------------------------------------------------------------5
液晶显示设计---------------------------------------------------------------------------6
键盘矩阵设计---------------------------------------------------------------------------7
电源电路设计---------------------------------------------------------------------------7
应答模块选择----------------------------------------------------------------------------7
三 系统设计-------------------------------------------------------------7
系统流程图-------------------------------------------------------------------------------8
四 系统调试-------------------------------------------------------------8
五 操作说明-------------------------------------------------------------9
六 结论-------------------------------------------------------------------11
七 硬件清单-------------------------------------------------------------11
八 参考文献-------------------------------------------------------------12
摘要
此系统以ATMEGA16为核心处理器进行全局控制,此外加上按键、1602、矩阵键盘等外围设备实现病床的呼叫和显示功能。本系统采用按键扫描作为控制信号,当有按键按下时,进入相应的功能,并把扫描出的按键号用1602输出,并且用1602显示优先级最高的两个按键数。
关键词:Atmega16 1602 矩阵键盘
一.方案论证
根据竞赛试题要求,我们对医院病床呼叫系统所需方案的各个方案进行设计论证如下
1. 控制器模块选型
方案一:系统采用ATS51单片机为主控制芯片, 32个可编程的I/O口线,为用户提供了丰富的I/O口资源。6个中断,2个16位定时、计数器,128*8字节内部RAM,全双工串行UART通道,4~5.5V的工作电压范围,1000次可重复擦写周期。
方案二:系统采用ATmega16单片机为主控制芯片,有非常丰富的资源:4个8位并行I/O接口,其中三个有中断功能;8 位的ADC;强大的定时器和精密的比较器;超的RAM和 ROM,能存储大容量的程序。四个八位的并行I/O接口具有更强的驱动能力。
具有JTAG接口。内部具有时钟。
基于上述分析,我们选择方案二。
2.液晶模块选择
方案一:采用LED数码管显示器。LED 数码管亮度高,醒目,但是
电路复杂,占用资源较多,显示信息量较少。
方案二:采用LCD1602。不仅有LCD共同的优点:微
功耗、显示信息量较大、字迹清晰、美观、视觉舒适;
综上所述,LCD1602液晶显示模块能满足本题目的要求,所以选用1602作为此系统的显示模块。
3.键盘矩阵模块选择
方案一:采用键盘,需要16个I/0端口,输入输出简单,容易判断。
方案二:采用4*4矩阵键盘,需要8位I/O端口,键盘扫描逻辑性强,准确判断按键,而且可以消除按键同时按下出现的问题。
综上所述,采用矩阵键盘。
4. 应答模块
方案一:蜂鸣器和发光二极管采用可以直接驱动,端口输出值固定,简单方便。而且应答键采用中断方式省去了判断按键是否被按下的程序。
二、详细硬件电路设计
根据题目要求和本系统的设计思想,系统主要包括下图所示模块。
系统结构框图
●主控制模块
产品特性
• 高性能、低功耗的 8 位AVR® 微处理器
• 先进的RISC 结构
• 非易失性程序和数据存储器
• JTAG 接口( 与IEEE 1149.1 标准兼容)
• I/O 和封装
• 速度等级
– 0 - 8 MHz ATmega16L
– 0 - 16 MHz ATmega16
• ATmega16L 在1 MHz, 3V, 25°C 时的功耗
– 正常模式: 1.1 mA
– 空闲模式: 0.35 mA
–掉电模式: < 1 μA
引脚配置:
●液晶显示设计
本系统中选用LCD1602液晶显示屏显示运动过程中的状态,方便且直观。其对应接口如下表所示。
表2 LCD1602引脚功能说明
| 1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示: 编号 | 符号 | 引脚说明 | 编号 | 符号 | 引脚说明 |
| 1 | VSS | 电源地 | 9 | D2 | 数据 |
| 2 | VDD | 电源正极 | 10 | D3 | 数据 |
| 3 | VL | 液晶显示偏压 | 11 | D4 | 数据 |
| 4 | RS | 数据/命令选择 | 12 | D5 | 数据 |
| 5 | R/W | 读/写选择 | 13 | D6 | 数据 |
| 6 | E | 使能信号 | 14 | D7 | 数据 |
| 7 | D0 | 数据 | 15 | BLA | 背光源正极 |
| 8 | D1 | 数据 | 16 | BLK | 背光源源负极 |
PD0~PD7
●PD0~PD7
PB5~PB7
矩阵键盘扫描模块
●电源模块的设计
本系统中采用双压电源供电的模式。由电压为12V的电池组供电,见LM7805连线图和1117稳压电路图。由于电机的存在,在设计时具体为:U2(7805)将适配器输出的12V电压转换成5V(MVCC5.0)给电机驱动供电,再通过AMS1117-3.3将5V电压稳压成3.3V给msp430f149供电。
三、系统软件设计
本系统通过扫描键盘获得病人的相应床号,将得到的床号存入相应的数组,然后进入取优函数进行相应的处理,得到最先服务的病人床号以及下一位需要服务的病人床号,并做相应的提示显示。具体系统流程图如下:
四、系统调试
调试方法:采用以硬件实物调试为主,软件调试相结合的测试方法。
调试内容:
| 序号 | 测试项目 | 测试目的 | 测试结果 |
| 1 | 测试显示模块 | 测试液晶显示屏硬件是否好完好和液晶显示程序是否正确 | 能正常显示 |
| 2 | 测试键盘模块 | 测试键盘模块各按键是否正常工作 | 能正常工作并得到相应的数值 |
| 3 | 应答模块 | 测试有病人请求时蜂鸣器和LED是否有提示信息;当基于应答后能否更新显示信息。 | 有请求时有声、光提示(硬件测试失败);应答后显示信息有所更新。 |
| 4 | 综合模块测试 | 所有功能综合起来是否可以进行相应操作并得到预期结果。 | 测试顺利 |
该病床呼叫系统的请求控制键是一个4x4的矩阵键盘,编号为从1到16,可实现病人发出请求的功能;医生应答按键1个,用于实现对病人请求的应答。
按键布置:
注:1 - 16键为病床号对应数值;应答键:医生应答按键。
操作步骤:
1.打开电源液晶屏初始化并预显示,“first NO”为最优需要服务的床号,“next NO”为次优需要服务的床号,其中“00”表示没有病人请求。显示界面如下图所示:
2.按1 - 16键后,进入病人请求阶段,并做出相应显示。具体
示结果如下图所示:
5.2.1 一个病人请求时
5.2.2 多个病人请求时
(注:07号床先请求,但优先级低于02号床。)
3.按“应答键”后,进入医生应答阶段,医生最先给“最优病床号”
病人提供服务,即“first NO”所对应的床号。同时,屏幕显示信息同步更新,等待下次应答。显示界面如下:
5.3.1 一人请求时
(应答前) (应答后)
5.3.2 多人请求时(以3人为例)
(应答前) (第一次应答后)
(第二次应答后) (第三次应答后)
六、结论
由于本次选择的题目涉及到显示和按键输入的问题,并且含有有优先编码的考虑,再加上在本次操作过程中,小组成员对于ATmega16的熟悉程度有所欠佳,使得在作品的制作过程中遇到了一些困难。作品在软件仿真上顺利实现题目要求的基本功能,并根据题目要求对其功能进行了进一步的拓展。在本次作品制作过程中,从软件仿真到硬件电路实现上出现了问题,曾因电路焊接错误导致未能实现预期的功能;经小组成员在调试过程中的仔细检查,针对硬件电路上的问题稍加修改,最终还是顺利达到预期的功能,本次制作过程中最困难的可以说是键盘扫描和中断处理,不过在不断尝试修改、不断调试,最终还是克服了遇到的问题,使得作品基本达到预期目的。
七、硬件清单:
ATmega16 1片 按键 17个
蜂鸣器 1个 发光二极管 1个
LCD1602 1片 外接电源 1个
10K电位器 1个 10KΩ电阻 1个
220Ω电阻 2个
八、参考文献:
[1]《单片机应用入门——ATS51和AVR》 龙威林 杨冠声 胡山 化学工业出版社
[2]《Proteus教程——电子线路设计、制版与仿真》 朱清慧 张凤蕊 翟天嵩 王志奎 清华大学出版社
[3]《C++程序设计》 谭浩强 清华大学出版社下载本文