基于单片机病房呼叫器(亲测可用)课程设计(编辑修改稿)内容摘要:
扫描方式是利用 CPU 完成其他工作的空余时间,调用键盘扫描子程序来检验按键状态,响应键盘输入。 执行键功能程序时, CPU 不再享有 键输入要求,直到 CPU 重新扫描键盘为止。 定时扫描方式 : 定时扫描方式就是每隔一段时间对键盘扫描一次,她利用单片机内部的定时器产生一定时间(如 20ms)的定时,定时时间到产生定时器溢出中断。 CPU 在中断服务程序中键盘进行扫描,并在有键按下时识别出该键并保存键号,然后在中断服务程序或主程序中执行该键的功能程序。 中断扫描方式 : 本设计采用上述两种键盘扫描方式时,无论是否有键按下,CPU 都要定时扫描键盘,而单片机应用系统工作时,并非经常需要键盘输入。 因此, CPU 经常处于空扫描状态,浪费 CPU 大量时间, CPU 不扫 描键盘,而有键按下时,通过相应电路产生中断请求, CPU 相应中断,执行键盘扫描子程序,并识别键号。 软件程序设计 系统软件的设计 该系统软件主要完成以 AT89C51 为核心的数据的采集、处理和有线传输。 采用模块化程序设计方法,将系统软件的设计主要分为 显示模块,输入模块,输出模块。 单片机扫描发射键,如果扫描到有发射键按下,系统便扫描拨码开关的状态以确定地址码 ,通过 P1口和 P2 口 开始地址码传送当 服务台 接收到呼叫信号后, 13 护士值班室内的呼叫系统板上显示该患者的床位号,并振铃。 当护士按下“响应”键时,结 束当前呼叫。 主程序流程图 单片机扫描发射键,如果扫描到有发射键按下,系统便扫描拨码开关的状态以确定地址码, 再进行中断初始化,去除键的延时抖动,分辨行、列值,进入死循环,这时病房指示灯点亮,服务台显示出床号并响铃,病房等待服务台的回应,如果没有扫描到信号输入,则单片机始终处于初始状态。 如图 所示。 开 始初 始 化 系 统有 键 按 下。 结 束病 房 指 示 灯 亮 , 服 务台 显 示 床 号 , 并 响 铃服 务 台 回 应Y停 止。 YNN 图 主程序流程图 子程序流程图 子程序如图 是一个中断式键盘的流程图,当单片机收到信号后,中断入口开始初始化,去 除键的延时抖动。 而一般的削抖方式有软件和硬件两种,硬件削抖虽能够解决键抖动问题,但 14 如果应用系统所需按键较多,本系统采用的是软件削抖,当检测出有键闭合时,先执行一个延时子程序产数毫秒的延时,待接通时的前沿抖动消失后再判别是否有键按下,分辨出行、列值。 当按键释放时,也要经过数毫秒延时,待后沿抖动消失后再判别是否有键按下。 中 断 入 口中 断 初 始 化中 断 返 回有 键 按 下延 时 去 键 抖 动分 辨 行 、 列 图 子程序流程图 中断程序: void key(void) 扫描键盘值 { uchar hang,lie。 P1=0x00。 P2=0xff。 delay(1)。 if(P2!=0xff) { delay(5)。 延迟后查询行列值 if(P2!=0xff) { switch(P2amp。 0xff) 扫描列值 15 { case 0xfe:lie=0。 break。 case 0xfd:lie=1。 break。 case 0xfb:lie=2。 break。 case 0xf7:lie=3。 break。 case 0xef:lie=4。 break。 case 0xdf:lie=5。 break。 case 0xbf:lie=6。 break。 case 0x7f:lie=7。 break。 } P2=0x00。 P1=0xff。 switch(P1amp。 0xff) 扫描行值 { case 0xfe:hang=0。 break。 case 0xfd:hang=1。 break。 case 0xfb:hang=2。 break。 case 0xf7:hang=3。 break。 case 0xef:hang=4。 break。 case 0xdf:hang=5。 break。 case 0xbf:hang=6。 break。 case 0x7f:hang=7。 break。 } P2=0xff。 P1=0x00。 while(P2!=0xff)。 bed_NO=keytab[hang][lie]。 TR0=1。 行列值赋值给 bed_NO } else bed_NO=0。 16 } } void time_init(void) 计数器的初始化 { TMOD=0x01。 TH0=(655368333)/256。 装入初值 TL0=(655368333)%256。 EA=1。 ET0=1。 } void time(void) interrupt 1 using 1 定义中断块 源程序代码 源程序代码如下: include define uchar unsigned char define uint unsigned int sbit B1=P3^6。 sbit B2=P3^7。 sbit buzzer=P3^5。 sbit clear=P3^4。 sbit FMQ=P3^1。 ucharcodedistab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 uchar code keytab[8][8]={ {1,2,3,4,5,6,7,8},。基于单片机病房呼叫器(亲测可用)课程设计(编辑修改稿)
相关推荐
去 楼 层若 无 下 行 需 求则 反 向 查 询当 前 楼 层 = 目 的 楼 层 ?延 时 等 待 5 s向 上 查 找 下一 个 要 去 楼 层到 最 顶 层 , 无 按键 需 求 电 梯 下 行无 人 时 电 梯停 留 在 1 楼Y Y Y Y NNNNNY 图 43 选择当前要去楼层子程序流程图 本 设计程序流程图主要包括主程序流程图、启动电梯子程序流程图、选择当前要去楼层子程序流程图
PID 控制器 PID 控制的本质是一个二阶线性控制器。 定义:通过调整比例、积分和微分三项参数,使得大多数的工业控制系统获得良好的闭环控制性能。 优点: 1. 技术成熟 中国矿业大学徐海学院 2020 届本科生毕业设计(论文 ) 8 2. 易被人们熟悉和掌握 3. 不需要建立数学模型 4. 控制效果好 5. 鲁棒性 PID 控制器是一种线性的控制器,它根据给定值
能 力。 触摸式红绿灯目前已经在成都、武汉、哈尔滨、烟台等许多城市的不同个路口进行试点并安装。 例如成都市在包括西南财大、西南交大、西南民族大学等几所高校大门附近的路口进行试点。 经过长期的试点观察,成都市有关部门认为效果不错。 为了让成都市民更多地享受高科技带来的“人性化交通”,“聪明红绿灯”开始在城区大街推广。 一环路将成为第一条全线安装“行人过街触摸式红绿灯”的街道。 据介绍
.MCS51 系列单片机系统极其应用 .北京:高等教育出版社 ,2020 [2] 林伸茂 .8051单片机彻底研究实习篇 .北京:人民邮电出版社 ,2020 [3] 胡学海 .单片机原理极其应用系统设计 .北京 :电子工业出版社 ,2020 [4] 张毅刚 .单片机原理极其应用 .哈尔滨:哈尔滨工业大学出版社 ,2020 [5] 韩志军等 .单片机应用系统设计 .北京 :机械 工业出版社
的结构设计,参数计算。 用单片机控制的电机交流调速系统设计 调速系统 总体方案设计 转速开环恒压频比的调速系统,虽然结构简单,异步电动机在不同频率小都能获得较硬的机械特性但不能保证必要的调速精度,而且在动态过程中由于不能保持所需的转速,动态性能也很差,它只能用于对调速系统的静,动态性能要求不高的场合。 如果异步电动机能象直流电动机一样,用控制电枢电流的方法来控制转矩
字节可重擦写 Flash 闪速存储器 1000 次擦写周期 全静态操作: 0Hz- 24MHz 三级加密程序存储器 2568 字节内部 RAM 32 个可编程 I/ O 口线 3 个 16 位定时/计数器 8 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式 功能特性概述: AT89C52 提供以下标准功能: 8k 字节 Flash 闪速存储器, 256 字节内部 RAM,32 个