铁道大学 单片机 病房呼叫系统 课程设计

合集下载

基于单片机的病房呼叫控制系统设计

基于单片机的病房呼叫控制系统设计

基于单片机的病房呼叫控制系统设计病房呼叫控制系统是一种应用于医院病房的设备,通过使用单片机和各种传感器、继电器等元件,实现对病人呼叫的监测与控制。

该系统能够提高病患的就医体验,提高医院的工作效率,以下是基于单片机的病房呼叫控制系统的设计。

1.系统架构设计硬件设计:包括单片机主控模块、呼叫按钮模块、显示屏模块、继电器模块、传感器模块等。

软件设计:包括单片机程序设计、呼叫处理逻辑设计、数据传输协议设计等。

2.系统功能设计(1)病人呼叫功能:病房里的每个床铺都配有一个呼叫按钮模块,病人可以通过按压呼叫按钮向医护人员发出求助信号。

(2)呼叫接收功能:当病人按下呼叫按钮后,系统会自动检测到并将呼叫信息传输给医护人员。

(3)医生呼叫功能:医生可以通过医护专用操作面板发送呼叫信号给病房内的病人,以提醒病患或派对应的护理人员。

(4)报警功能:当病人在紧急情况下按下呼叫按钮时,系统会自动触发报警装置进行报警。

(5)护士响应功能:当病人发起呼叫后,医护人员可以通过显示屏模块实时看到病人的呼叫信息,及时进行响应。

(6)历史记录功能:系统会记录下每次呼叫的相关信息,以供医院后续分析统计。

3.系统工作流程设计(1)病人按下呼叫按钮后,按钮模块会检测到信号变化,并将信号传输给单片机主控模块。

(2)单片机主控模块接收到呼叫信号后,会将信号转化为相应的数据,并发送给显示屏模块和继电器模块。

(3)显示屏模块会显示病人的呼叫信息,继电器模块会触发相应的继电器,比如触发报警装置或者呼叫专用手机。

(4)医护人员根据显示屏上的信息来判断病人的需求,及时进行回应。

(5)在医护人员回应完病人的呼叫后,单片机主控模块会将响应状态记录下来。

4.系统测试与改进设计完系统后,需要进行系统的测试和改进。

测试需要验证系统的各项功能是否正常,包括呼叫功能、呼叫接收功能、报警功能等。

在测试过程中,可以模拟真实病房环境,通过按下呼叫按钮来触发系统的运行。

同时,还需进行系统的改进调整,以使系统更加可靠、稳定和易于维护。

单片机病房呼叫系统设计

单片机病房呼叫系统设计

摘要本设计是以AT89C51为核心的病人呼叫系统,对该系统的硬件和软件结构进行了相应的描述。

通过对病区的数据采集,实现医院医疗人员值班室和病人房之间的通信呼叫联系,具有使用方便、操作简单等特点。

伴随着医疗体制改革的不断深化和医疗事业的飞速发展,越来越多的人们需要迅捷、方便地得到医院的各种各样的医疗服务。

这使得衡量一个医院的综合水平高低,不再仅局限于软、硬件的建设上,更要比服务。

临床呼叫求助装置是传送临床信息的重要手段,关系病员安危,传统的有线呼叫系统历来受到各大医院的普遍重视。

如果采用无线传输,会节约布线和改造线路的资金,为医院节约成本,并且及时、准确、可靠、简便可行,比目前的同类产品更能受到医院及病人的认可,有更强的竞争力,能大量推广。

在医院的病房里每个床位边都装有一个呼叫按钮,当病人需要帮助时,按下呼叫按钮,护士办公室里呼叫显示板上相应房间号的指示灯点亮并进行语音提示,同时在走廊里安装一个电子显示牌,使值班护土能及时的知道哪个房间的病人需要帮助或需要进行抢救。

目录1 概述1.1设计任务 (3)1.2设计要求 (3)1.3 功能简介 (3)2 系统总体方案及硬件设计2.1 系统总体方案 (4)2.2 硬件设计 (5)3 软件设计3.1 程序设计简要 (7)3.2 系统的工作流程 (8)3.3 软件设计 (9)4 Proteus软件仿真 (10)5设计体会 (11)参考文献 (11)附录:源程序代码 (12)附录:系统原理图 (18)1 概述1.1设计任务本次设计主要是设计一个单片机控制的病房呼叫系统。

利用AT89C51结合显示电路,LED数码管以及按键来设计。

在设计时,我们应将软硬件有机地结合起来,使得系统能够正确的反应病人的呼叫并使服务台能够回应。

1.2 设计要求设计一个可容64张床位的病房呼叫系统。

要求每个床位都有一个按钮,当患者需要呼叫护士时,按下按钮。

此时护士值班室内的呼叫系统板上显示该患者的床位号,并振铃。

病房呼叫系统的课程设计

病房呼叫系统的课程设计

病房呼叫系统的课程设计一、课程目标知识目标:1. 学生能够理解病房呼叫系统的基本原理,掌握其关键组成部分及功能。

2. 学生能够描述病房呼叫系统在医疗环境中的作用,以及它对提高医疗服务质量的重要性。

3. 学生能够掌握与病房呼叫系统相关的电子技术基础,如电路原理、信号传输等。

技能目标:1. 学生能够运用所学的电子技术知识,设计简单的病房呼叫系统电路图。

2. 学生通过小组合作,能够实际搭建病房呼叫系统的模型,并对其进行基本的测试。

3. 学生能够运用批判性思维,对现有病房呼叫系统进行分析和评价,提出改进建议。

情感态度价值观目标:1. 学生培养对医疗科技的兴趣,认识到科技在提升人类生活质量方面的作用。

2. 学生通过课程学习,增强团队协作能力,学会尊重他人意见,培养合作精神。

3. 学生能够树立科技创新意识,认识到持续学习和探索新技术的重要性。

课程性质:本课程为信息技术与电子技术的融合课程,旨在通过病房呼叫系统的设计,让学生将所学知识应用于实际情境,提高解决实际问题的能力。

学生特点:学生为初中年级,对电子技术有一定了解,具备基础电路知识,好奇心强,喜欢动手实践。

教学要求:结合学生特点,课程注重实践性、操作性和创新性,引导学生通过动手实践,掌握病房呼叫系统的设计与搭建,培养其科技创新能力。

教学过程中,注重启发式教学,鼓励学生主动探索,激发学习兴趣。

通过分解课程目标为具体学习成果,为教学设计和评估提供明确依据。

二、教学内容1. 病房呼叫系统概述:介绍病房呼叫系统的定义、发展历程、应用场景及其在医疗领域的重要性。

- 教材章节:第三章“通信技术在医疗领域的应用”2. 病房呼叫系统组成与原理:讲解系统的主要组成部分,如呼叫按钮、接收器、显示屏等,以及信号传输、处理和反馈的基本原理。

- 教材章节:第四章“电子技术与电路原理”3. 病房呼叫系统设计要求与规范:阐述系统设计过程中需要遵循的技术要求和安全规范。

- 教材章节:第五章“电子产品的设计与制作”4. 病房呼叫系统电路设计:指导学生利用所学电路原理,设计病房呼叫系统的电路图,并进行电路仿真。

病床呼叫系统plc课程设计

病床呼叫系统plc课程设计

病床呼叫系统 plc课程设计一、课程目标知识目标:1. 让学生理解PLC(可编程逻辑控制器)的基本原理和功能,掌握其在病床呼叫系统中的应用;2. 学会使用相关软件进行PLC编程,实现对病床呼叫系统的控制;3. 了解病床呼叫系统的基本构成、工作原理及其在医疗领域的实际应用。

技能目标:1. 培养学生运用PLC技术解决实际问题的能力,能独立完成病床呼叫系统的PLC程序设计;2. 提高学生的实际操作能力,熟练使用相关工具和仪器进行系统调试;3. 培养学生的团队协作能力,学会在项目中进行有效沟通与分工。

情感态度价值观目标:1. 激发学生对自动化技术、特别是PLC技术的学习兴趣,提高其学习积极性;2. 培养学生关注社会热点问题,了解医疗领域的发展需求,树立为社会发展贡献自己的力量的意识;3. 引导学生认识到科技在提高人们生活质量方面的重要作用,培养其创新精神和责任感。

课程性质:本课程为实践性较强的课程,结合实际项目案例,使学生能够将理论知识与实际应用相结合。

学生特点:学生具备一定的PLC基础知识,具备初步编程能力,对实际项目具有一定的兴趣。

教学要求:注重理论与实践相结合,强调学生的动手实践能力,培养解决实际问题的能力。

在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。

通过课程学习,使学生具备病床呼叫系统PLC设计的能力,为今后的职业发展打下坚实基础。

二、教学内容1. PLC基础知识回顾:包括PLC的定义、分类、工作原理等,重点回顾PLC 的编程语言及编程方法,为后续病床呼叫系统的PLC程序设计打下基础。

2. 病床呼叫系统概述:介绍病床呼叫系统的基本构成、功能、应用场景及其在医疗领域的意义。

3. 病床呼叫系统PLC设计:a. 分析系统需求,明确设计任务;b. 选择合适的PLC型号,了解其性能参数;c. 设计PLC硬件接线图,掌握输入输出端口分配;d. 编写PLC程序,实现病床呼叫系统的各项功能;e. 调试与优化系统,确保系统稳定可靠。

数电课程设计——病房呼叫系统

数电课程设计——病房呼叫系统

数电课程设计——病房呼叫系统一、课程设计目的:通过本设计课程的学习,让学生深刻理解数字电路的设计和应用,提高学生的电路设计能力,并能够运用所学知识完成一个完整的电路设计和实践应用。

二、课程设计内容:1.设计目标本设计课程旨在设计一个病房呼叫系统,该系统可以根据对应的呼叫按钮,向医护人员的接收设备发送呼叫信息,以便医护人员及时处理相关事项,保障病人的生命安全和健康。

2.设计要求本课程设计要求学生掌握数字电路的基本原理和设计方法,能够运用寄存器、计数器、门电路等数字电路芯片实现病房呼叫系统的设计。

3.电路功能和结构设计病房呼叫系统主要由呼叫按钮、控制器、显示器、接收器四个部分组成。

a、呼叫按钮:将病人的呼叫信息发送给控制器,可以设置多个呼叫按钮。

b、控制器:接收呼叫按钮的信号并将相应的信号发送给对应的接收器,同时将呼叫信息进行存储和显示。

c、显示器:将呼叫信息显示在屏幕上,提醒医护人员及时处理。

d、接收器:接收控制器发送的信号,发出声音或振动提醒医护人员。

4.电路实现电路实现的关键是对病房呼叫系统的设计进行详细规划。

a、呼叫按钮部分:根据病房的实际情况,需要设置多个呼叫按钮,每个呼叫按钮都需要连接到控制器上。

呼叫按钮可以选择常开或常闭两种形式,常开按钮需要通过电路控制而常闭按钮则直接连接。

b、控制器部分:控制器是整个系统的核心部分,需要安装多个触发器,以接收不同按钮的信号,并将信号进行存储、比较和转换,最终实现呼叫信息的显示和发送。

c、显示器部分:显示器可以采用一块数码管,将呼叫信息的编号进行展示,提醒医护人员及时处理。

d、接收器部分:接收器部分可以选择蜂鸣器、灯光或振动器等形式,将呼叫信息传达给医护人员。

5.相关细节设计为了使整个系统稳定可靠,需要对相关的细节进行设计:a、电源:最好采用稳压电源,以保证电路工作的稳定性。

b、防雷保护:在系统设计中需要注意对各个部位进行综合防雷保护,以保障电路安全和可靠。

基于单片机的病床呼叫系统的设计课程设计

基于单片机的病床呼叫系统的设计课程设计

基于单片机的病床呼叫系统的设计摘要病房呼叫系统是病人请求值班医生或护士进行诊断、护理的紧急呼叫工具,它主要用于协助医院病员在病床上方便地呼叫医务人员,可将病人的请求快速传送给值班医生或护士,是提高医院和病房护理水平的必备设备之一。

医院的竞争越来越激烈,商业医院的生存是第一位的,提升档次和服务质量迫在眉睫,陪护问题一直是医患矛盾的主体,也是长期困扰卫生系统服务质量的大问题,使用病房呼叫系统,方便病人更快找到医生,以节约病人的宝贵时间系统是基于51系列的单片机设计的病床呼叫系统。

该系统以AT89C51单片机为核心辅以矩阵键盘、LED显示电路和部分简单模拟和数字电路组成的能够实现病人和医护人员之间信息的传递。

每个病人要呼叫可以按键,同时会有蜂鸣器响,不同的数码管显示床位号,相应的指示灯亮。

这里主要矩阵键盘输入信号,这是编程的关键。

在该设计中每个病房都有一个按键,当患者有需要时,按下按键,此时值班室的显示屏可显示此患者的床位号,多人使用时可实现循环显示,医护人员按下“响应”键取消当前呼叫。

此系统能够为医院提供一个成本低、效率高、操作方便和易于安装维护的快捷系统。

关键词:AT89C51,矩阵键盘,LED,病床呼叫DESIGN OF WARDS CALL SYSTEMBASED ON MICROCONTROLLERABSTRACTWard call system is the patient's request to the doctor on duty or nurse emergency call tools for diagnosis, care, and it is mainly used to assist the hospital patient in the bed easily call the medical staff, the patient's request can be quickly sent to the duty doctor or nurse is to improve one of the essential equipment of hospital and ward level of care.Increasingly fierce competition in the hospital, commercial hospital survival is the first to enhance the grade and quality of service is imminent,accompany the issue has been the main body of the patient conflict, but also long-troubled health system quality of service issues, using the ward call system more convenient for patients to find a doctor to save the valuable time of the patient.The system is a ward call system based on the 51 series micro-chip design. The sy-stem uses AT89C51 micro-controller as the core, supplemented by matrix keybo ard, LED dot matrix display of a simple circuit and some analog and digital circuit s to achieve the transfer of information between patients and health care.In this design,each ward has a button, when patients in need, press the butto n, the display of the duty room to display the number of beds in this patient, people u se to achieve circular display, press the medical staff "response" to cancel the curre nt call. This system can provide a low cost, high efficiency, easy operation and eas y installation and maintenance system for the hospital.KEYWORD: AT89C51, matrix keyboard, LED, ward call目录前言 (1)第一章系统整体设计 (2)§1.1 功能与方案确定 (2)§1.1.1 功能要求 (2)§1.1.2 方案论证 (2)§1.1.3 总体结构框图 (3)§1.2 框架模块功能描述 (3)第二章系统硬件设计 (4)§2.1 硬件构成示意图 (4)§2.2 单片机介绍 (4)§2.3 主要单元模块介绍 (4)§2.3.1 控制器AT89C51 (4)§2.3.2键盘电路设计 (7)§2.3.3显示电路设计 (10)§2.3.3报警电路设计 (12)§2.3.4控制电路设计 (12)第三章系统软件设计 (13)§3.1 系统软件环境介绍 (13)§3.1.1 KEIL_C (13)§3.1.2 Protues ISIS (13)§3.2 系统程序设计 (15)§3.2.1 系统主程序流程图 (15)§3.2.2 显示程序流程图 (17)§3.2.3 键盘扫描流程图 (17)第四章系统调试与结果 (19)§4.1 硬件调试 (19)§4.2 软件调试 (20)结论 (21)参考文献 (22)致谢 (24)附录 (25)前言伴随着医疗体制改革的不断深化和医疗事业的飞速发展,越来越多的人们需要迅捷、方便地得到医院的各种各样的医疗服务,这必将使医院之间的竞争日趋激烈。

单片机病房呼叫系统设计

单片机病房呼叫系统设计

单片机病房呼叫系统设计摘要:一般来说,病房呼叫系统是方便于病人患者与医护人员灵活沟通的一种呼叫系统,是解决医护人员与病人患者之间信息反馈的一种手段。

病床呼叫系统的好坏直接关系到病人患者的生命安危,像今年的新冠型肺炎,没有一个灵活可靠的医疗系统真的不行。

本课题的任务是设计出基于STM32单片机的病床呼叫系统以及对它的各项功能进行控制的控制系统。

系统设计包括矩阵键盘,LCD12864液晶显示器显示电路,在该设计中每个病房都有一个按键,当患者有需要时,按下按键,此时值班室的显示屏可显示此患者的床位号,多人使用时可实现循环显示,医护人员按下“响应”键取消当前呼叫。

值班室与病房终端利用zigbee无线通信技术进行信息传输。

值班人员可以从LCD12864显示器显示病床的信息,护士站可以快速掌握消息。

软件部分用C语言进行编程,采用模块化设计思想。

该系统硬件电路简单,子程序具有通用性,完全符合设计要求。

关键词:STM32,病床呼叫系统,zigbee,LCD12864目录第1章绪论 (1)1.1课题研究背景 (1)1.2国内外研究现状 (1)1.3课题设计内容 (3)第2章系统的总体设计 (4)2.1系统核心硬件的选择 (4)2.1.1主控芯片的选择 (4)2.1.2显示模块的选择 (4)2.1.3无线模块的选择 (5)2.1.4按键模块的选择 (6)2.2系统总体方案 (6)第3章硬件电路设计 (8)3.1单片机STM32及最小系统 (8)3.2LCD12864液晶显示模块 (9)3.2.1LCD12864液晶显示屏的介绍 (9)3.2.2LCD12864的显示原理 (10)3.3zigbee模块设计 (11)3.4矩阵键盘的设计 (12)3.5电源电路的设计 (12)3.6报警模块电路设计 (13)第4章系统软件的设计 (15)4.1软件和工作分析 (15)4.2主程序设计 (15)4.3无线zigbee的连接程序设计 (16)4.4显示电路流程图 (17)第5章系统调试 (19)5.1硬件的焊接 (19)5.2系统硬件调试 (20)5.3实物测试 (21)附录 (23)第1章绪论1.1课题研究背景一般来说,病房呼叫系统是方便于病人患者与医护人员灵活沟通的一种呼叫系统,是解决医护人员与病人患者之间信息反馈的一种手段。

病房呼叫系统课程设计报告

病房呼叫系统课程设计报告

目录第一章技术指标1.1 课题及要求1. 2 功能描述1.3 提高要求第二章整体方案设计2.1 整体方案结构方框图2.2 整体方案原理第三章单元电路设计3.1 主控制电路设计3.2 显示电路设计3.3 病房门口指示灯电路设计3.4 护士值班室报警电路设计3.5 整体电路3.6 整机原件清单第四章测试与调整4.1 主控制电路的测试与调整4.2 显示电路的测试与调整4-3 病房门口指示灯电路测的试与调整4.4 护士值班室报警电路的测试与调整4.5 整体电路测试第五章设计小结5.1 设计任务完成情况5.2 问题及改进5.3心得体会附录参考文献第一章技术指标1.1课题及要求某医院有七个病室,每个房间都装有呼叫按钮,同时在护士室有相应的显示电路,即能看到是哪个病室呼叫。

现要求:一号病室的呼叫优先权最高,七号最低,使用74LS148及其它门电路设计满足上述要求的组合逻辑电路。

有病人呼叫时蜂鸣器响起,显示单元电路显示病房间号。

1.2功能描述:1、呼叫功能:七个病室每个病室都装有一个呼叫按钮,当病室有需要时,可以通过呼叫按钮进行呼叫2、显示功能:在护士值班室内有相应的显示电路,可以看到是哪个病室在呼叫及相应病房门口LED指示灯亮起并闪烁,蜂鸣器响起。

3、优先权:七个病室呼叫具有优先权,其中一号病室优先权最高,七号病室优先权最低。

只要有一号病室呼叫时,不管其他六个病室是否呼叫,显示电路均显示一号病室;一号病室不呼叫时,只要有二号病室呼叫,不管其他病室是否呼叫,显示电路均显示二号病室……依次类推。

优先权的功能是由74LS148芯片实现的。

4、LED指示灯的闪烁及蜂鸣器的响起由555定时器组成的多谐震荡器控制第二章整体方案设计2.1 整体方案结构方框图2.2 整体方案原理1、检测病房信号通过病房开关控制输入高低电频从而使后续电路产生相关信号。

2、编码译码电路通过开关J9—J3的开与关控制振荡电路LED的闪烁,也控制74LS148的输入进而控制其输出,但74LS148有优先编码功能(当一号病房的按钮按下时,无论其它病房的按钮是否按下,护士值班室的数码显示“1”,即“1”号病房的优先级别最高,其它病房的级别依次递减)74LS148的输出控制74LS48的输入,由74LS48的输出控制其显示电路的相关功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机接口设计自己选择的题目专业:电气工程及其自动化班级:XXX姓名:XXX学号:XXX2012.06.20一、设计目的和意义呼叫器对于每一个住院的人来说都很重要,尤其对那些在住院期间需要经常有护士护理的病人来讲,呼叫器对医院来讲也很重要,它能间接的决定医院能够提供给病人的服务质量,但是由于医院护理人员数量有限,护士不能时刻保证呆在每一位病人身边,病床呼叫系统能够使病人在危急时刻及时的联系上医生或者护士,从而得到及时的救治或看护。

所以拥有一套功能完善的病床呼叫系统,对于一个提供高质量服务的医院来讲,是非常重要的。

本次课程设计要求我们通过运用所学过的单片机理论知识和积极的思考,设计出要求病房呼叫系统。

在分析和设计的过程中,锻炼我们从理论知识到实际应用的过度能力。

二、课程设计要求模拟一个护理站下管8个床位,哪个病人要呼叫可以按键,相应蜂鸣器响,数码管显示:呼叫数量_床位号。

要求:1.6个数码管,正常情况下显示时间(时分秒),时间可通过按键调整2.有人呼叫则闪烁显示数量_床位号并蜂鸣器响,按应答键后继续显示时间3.若同时有多个病人呼叫则依次轮流显示:数量_床位号4.呼叫信息通过串行口传递(可借用一个实验箱的按键)本机地址为01H,当接到上位机发的01H时,则回发01H三、使用说明本课程设计我们用试验箱键盘和拨码开关来模拟病床按键,上电无病床呼叫时,数码显示时钟,并且可以调整分钟和小时,按下外部中断脉冲即可调整分钟和小时的显示。

当病人呼叫时,病人按下床边的按钮,值班室立即在数码管上从左向右依次显示病人病床的号码(多个病人呼叫时显示完一个时,数量不变,病床号码每隔一秒改变一次)和呼叫的个数(即同时有几个人在呼叫),这样就可以实现多个病人的同时呼叫显示,并且蜂鸣器响,以作为提醒。

当听到呼叫时,按下响应应答按钮,此时数码管重新开始显示时钟,并且在原来基础上,不是重置。

功能实现完毕。

四、课程设计方案的说明我们结合老师要求和考虑到实际硬件设施的情况,大家认真分析和思考拿出了三种设计思路:1、利用实验箱键盘按键设计的呼叫系统,充分利用了试验箱器件的齐全性,并且外部线路连接少,功能齐全且好,还可以完成多机通信及与主机的数据传送;2、利用试验箱的拨码开关和单片机来模拟设计呼叫系统,此方案是在所用电路板无法工作的情况下实现,抗扰能力不强,能实现全部功能;3、利用Proteus仿真软件来设计全部硬件电路,再下载编写好的程序,即可利用仿真电路实现功能要求也。

四、硬件电路设计1、试验箱键盘电路五、流程图设计六、实验箱键盘按键程序设计如下:LEDBuf equ 60h ; 显示缓冲 LEDBuf1 equ 50h Hour equ 40h Minute equ 41h Second equ 42h C100us equ 43hOUTBIT equ 8002h OUTSEG equ 8004h IN equ 8001h ORG 0000H LJMP MAIN开始否是是否设定定时器及外中断控制字置定时器初始常数开定时器0及外中断呼叫按键查询程序查询是否有按键按下时间数据转化调用显示子程序查询键值调显示床位号和数量程序应答键是否按下和应答次已完ORG 0003HLJMP MTORG 000BHLJMP TOINTORG 0013HLJMP HTORG 001BHLJMP T1INTorg 0023hljmp txMAIN: mov sp,#67hmov TMOD,#23h ; 模式3,定时器T0200us中断一次mov TH0,#0mov TL0,#156mov TL1,#0FdHmov TH1,#0FdHmov IE,#10011111B; EA=1, IT0 = 1mov Hour, #0mov Minute, #0mov Second, #0mov C100us, #100mov C100us+1, #50SETB IT0SETB IT1SETB EX0SETB EX1MOV SCON,#01011000bMOV PCON,#0clr f0setb TR0MLoop:clr tr1mov a, Hourmov b, #10div abcall ToLEDmov LEDBuf, amov a, bcall ToLEDmov LEDBuf+1, amov a, Minutemov b, #10div abcall ToLEDmov LEDBuf+2, amov a, bcall ToLEDmov LEDBuf+3, amov a, Second mov b, #10div abcall ToLEDmov LEDBuf+4, amov a, bcall ToLEDmov LEDBuf+5, amov r5,#6mov r0,#ledbufcall DisplayLEDmov r1,#73hmov r3,#0call testkeyjz mloopaa: clr p1.2call getkeycjne a,#0,bbcjne r3,#0,lp1ajmp mloopbb: cjne r3,#0,cccajmp loop1ccc: push 00hpush 01hmov r0,#73hmov r1,30hbbt: mov 20h,@r0cjne a,20h,loppop 01hpop 00hajmp loop2lop: inc r0djnz r1,bbtpop 01hpop 00hajmp loop1loop1: setb tr1mov @r1,ainc r1inc r3mov 30h,r3loop2: call xianshimov r3,30hjb p1.2,aaacall testkeyjnz aajnb p1.0,lp1ljmp loop2lp1: dec 30hmov a,30hmov r3,30hdec r1cjne a,#0,loop2clr tr1ljmp mloopMT: ;分調整mov Second, #0INC MinuteMOV A,MinuteCJNE A ,#60,LOP1MOV Minute, #0LOP1: RETIHT: ;時調整mov Second, #0INC HourMOV A, HourCJNE A, #24, lop2MOV Hour, #0lop2: RETItx: push accpush 00hjnb ri,l2clr rimov a,sbufcjne a,#01h,l0mov sbuf,#01hjnb ti,$clr tisetb f0pop 00hpop accretil0: cjne a,#0aah,l2mov sbuf,30hjnb ti,$clr tipop 00hpop accretil2: pop 00hpop accretiT1INT: MOV TH0,#0CPL P1.1 ;报警RETITOINT: mov TL0,#156push PSWpush ACCDJNZ C100us+1,exit0mov C100us+1, #50djnz C100us,exit0mov C100us, #100mov C100us+1, #50inc Secondmov a, Secondcjne a, #60, Exit0mov Second, #0inc Minutemov a, Minutecjne a, #60, Exit0mov Minute, #0inc Hourmov a, Hourcjne a, #24, Exit0mov Hour, #0Exit0:pop ACCpop PSWretiDelay: mov r7, #0 ; 延时子程序DelayLoop: djnz r7, DelayLoopdjnz r6, DelayLoopretLEDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hdb 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hDisplayLED:mov r2, #00100000b ;共6个八段管从左边开始显示Loop:mov dptr,#OUTBITmov a, #0movx @dptr, a ; 关所有八段管mov a,@r0mov dptr,#OUTSEGmovx @dptr, amov dptr,#OUTBITmov a, r2movx @dptr,a ; 显示一位八段管mov r6, #1call Delaymov a,r2 ; 显示下一位rr amov r2,ainc r0djnz r5,LoopretToLED: mov dptr,#LEDMapmovc a,@a+dptrretTestKey: mov dptr,#OUTBITmov a, #0movx @dptr, a ; 输出线置为0mov dptr,#INmovx a,@dptr ; 读入键状态cpl aanl a,#0fh ; 高四位不用retKeyTable:db 16h, 15h, 14h, 0ffhdb 13h, 12h, 11h, 10hdb 0dh, 0ch, 0bh, 0ahdb 0eh, 03h, 06h, 09hdb 0fh, 02h, 05h, 08hdb 00h, 01h, 04h, 07h ; 键码定义GetKey: mov dptr,#OUTBITmov P2,dphmov r0,#Low(IN)mov r4,#00100000bmov r2,#6KLoop: mov a,r4 ; 找出键所在列cpl amovx @dptr,acpl arr amov r4,a ; 下一列movx a,@r0cpl aanl a,#0fhjnz Goon1 ; 该列有键入djnz r2,KLoopmov r2,#0ffh ; 没有键按下, 返回0ffhljmp ExitGoon1: mov r4,a ; 键值= 列X 4 + 行mov a,r2dec arl arl amov r2,a ; r2 = (r2-1)*4mov a,r4 ; r1中为读入的行值mov r4,#4LoopC: rrc a ; 移位找出所在行jc Exitinc r2 ; r2 = r2+ 行值djnz r4,LoopCExit: mov a,r2 ; 取出键码mov dptr,#KeyTablemovc a,@a+dptrmov r2,aWaitRelease:mov dptr,#OUTBIT ; 等键释放clr amovx @dptr, amov r6,#10call Delaycall TestKeyjnz WaitReleasemov a, r2retxianshi: mov a,30hlcall toledmov 50h,amov 51h,#40hdec r1mov a,@r1lcall toledmov 52h,amov 38h,#120pp0: mov r0,#50hmov r5,#3lcall displayledlcall testkeyjnz ccdjnz 38h,pp0djnz r3,xianshiajmp ddcc: setb p1.2dd: mov a,#73hadd a,30hmov r1,aretend七、课程设计总结:不知不觉中一周多的单片机的课程设计就结束了,从刚开始接受课题,查阅相关资料,思考设计方案,从而确定设计方案,然后进行具体的硬件设计、软件设计,实验箱调试等,但看着最后的调试结果,看着自己的设计成果,心中好是高兴。

相关文档
最新文档