基于51系列单片机的病床呼叫系统的设计_第1页
基于51系列单片机的病床呼叫系统的设计_第2页
基于51系列单片机的病床呼叫系统的设计_第3页
基于51系列单片机的病床呼叫系统的设计_第4页
基于51系列单片机的病床呼叫系统的设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于51单片机的病床呼叫系统的设计摘 要病房呼叫系统是病人请求值班医生或护士进行诊断、护理的紧急呼叫工具,它主要用于协助医院病员在病床上方便地呼叫医务人员,可将病人的请求快速传送给值班医生或护士,是提高医院和病房护理水平的必备设备之一。医院的竞争越来越激烈,商业医院的生存是第一位的,提升档次和服务质量迫在眉睫,陪护问题一直是医患矛盾的主体,也是长期困扰卫生系统服务质量的大问题,使用病房呼叫系统,方便病人更快找到医生,以节约病人的宝贵时间系统是基于51系列的单片机设计的病床呼叫系统。该系统以at89c51单片机为核心辅以矩阵键盘、led显示电路和部分简单模拟和数字电路组成的能够实现病人和医护人员

2、之间信息的传递。每个病人要呼叫可以按键,同时会有蜂鸣器响,不同的数码管显示床位号,相应的指示灯亮。这里主要矩阵键盘输入信号,这是编程的关键。在该设计中每个病房都有一个按键,当患者有需要时,按下按键,此时 值班室的显示屏可显示此患者的床位号,多人使用时可实现循环显示,医护人员按下“响应”键取消当前呼叫。此系统能够为医院提供一个成本低、效率高、操作方便和易于安装维护的快捷系统。关键词:at89c51,矩阵键盘,led,病床呼叫design of wards call system based on microcontrollerabstractwardcall systemis thepatien

3、ts request tothe doctor on dutyor nurseemergency calltoolsfordiagnosis,care,andit is mainly usedtoassistthehospitalpatientinthe bedeasilycallthemedical staff,the patientsrequestcan bequickly sentto theduty doctor or nurseis to improve oneoftheessentialequipmentofhospitaland ward level of care.increa

4、singly fiercecompetitioninthehospital,commercialhospital survivalis the first to enhance thegradeandquality of serviceisimminent,accompany theissue has beenthe main bodyofthepatient conflict, but alsolong-troubledhealth systemquality of serviceissues,usingthewardcall systemmore convenient for patien

5、tsto find a doctorto savethevaluable timeofthepatient.thesystem is awardcall systembased onthe51seriesmicro-chipdesign.the sy-stem usesat89c51 micro-controlleras the core,supplementedbymatrixkeyboard, leddot matrix displayofa simplecircuitand someanaloganddigital circuitsto achievethe transfer of in

6、formationbetweenpatients and health care.in this design,each wardhas abutton,whenpatientsin need, press the button,the displayofthe duty roomto displaythenumberofbedsinthis patient,peopleuseto achieve circular display,press themedical staffresponseto cancelthe current call.this system can providealo

7、w cost, high efficiency,easy operation andeasy installation and maintenancesystemfor the hospital.keyword: at89c51,matrixkeyboard, led, wardcall目 录前 言1第一章 系统整体设计21.1 功能与方案确定21.1.1 功能要求21.1.2 方案论证21.1.3 总体结构框图31.2 框架模块功能描述3第二章 系统硬件设计42.1 硬件构成示意图42.2 单片机介绍42.3 主要单元模块介绍42.3.1 控制器at89c5142.3.2键盘电路设计72.3

8、.3显示电路设计102.3.3报警电路设计122.3.4控制电路设计12第三章 系统软件设计133.1 系统软件环境介绍133.1.1 keil_c133.1.2 protues isis133.2 系统程序设计153.2.1 系统主程序流程图153.2.2 显示程序流程图173.2.3 键盘扫描流程图17第四章 系统调试与结果194.1 硬件调试194.2 软件调试20结 论21参考文献22致 谢24附 录25前 言伴随着医疗体制改革的不断深化和医疗事业的飞速发展,越来越多的人们需要迅捷、方便地得到医院的各种各样的医疗服务,这必将使医院之间的竞争日趋激烈。这使得衡量一个医院的综合水平高低,不

9、再仅仅局限于软、硬件的建设上,更要比服务。原有的服务体系已不足以适应现代社会需求,谋求适合现代社会需求的客户服务系统,是所有企事业单位计划做或正在做的工作。这些工作有利于改善服务量,提高效率并增加企业效益,从而赢得良好的社会声誉。如何利用先进的信息技术为医院服务,更大程度的提高医院的服务质量及利润,是医院信息化建设中的一个重要着眼点。 医院的竞争越来越激烈,商业医院的生存是第一位的,提升档次和服务质量迫在眉睫,陪护问题一直是医患矛盾的主体,也是长期困扰卫生系统服务质量的大问题,使用病房呼叫系统,方便病人更快找到医生,以节约病人的宝贵时间。病床呼叫系统是一种应用于医院病房、养老院等地方,用来联系

10、沟通医护人员和病员的专用呼叫系统,是提高医院水平的必备设备之一。病床呼叫系统的优劣直接影响到病员的安危,历来受到各大医院的普遍重视。它要求及时、准确可靠、简便可行、利于推广。目前市场上存在着许多种型号不一功能各异的医院病房呼叫系统,主要为两大类:有线式和无线式。无线式病房呼叫系统不存在铺设线路的问题,但是可靠性差,而且无线电波会干扰其他医疗仪器设备3。本文设计的是有线式的,适合较小的医院病房使用,具有成本低,易于操作、安装和维护,而且具有可靠稳定,对其他医疗设备不会产生干扰的特点;但受到布线较多,影响美观,故不适宜较大的医院。病床呼叫管理系统便于病员快捷的呼叫护士,缩短人工呼叫的时间。当今病房

11、呼叫系统正在逐步地向智能化发展,它可以和录像机一起使用,当病人按下开关时,在护士值班室的大屏幕能够观察病人的需要。并且可以配备对讲机等设备,能够使病员及时快捷地与医护人员进行沟通。第一章 系统整体设计1.1 功能与方案确定1.1.1 功能要求本课题主攻方向是使系统实现以下目的:一任一病房(共64张)呼叫,医护值班室马上能响应并显示;二显示病房床号;三若有多个病床呼叫就循环显示;四处理完毕后可以清除记录。1.1.2 方案论证方案一:使用8051单片微机外加作地址锁存用的一块8三态锁存器74ls373芯片和一块eprom芯片可构成一个完整的最小微机电路。以此为基础,在智能装置中若要配置多位数码管显

12、示器,以及m行n列矩阵键盘的话,可通过扩展诸如8255或8279之类的并行1/0芯片来完成,或者通过串行通讯口p3.0(rxd)和p3:1(txd)经多块串并,并串转换电路74ls164和74ls165 ic芯片实现接口。按照一般的设计方法,显示和键盘搜索按下键均按动态扫描的方法进行,显示电路接口由p1口和p2口组成,键盘接口由p2口和p3口组成。在完成显示功能过程中,p1口锁存器显示字符的八段字形码,p2口的高6位(p2.7-p2.2)锁存待显示字符的位选码。8051按分时方式执行程序进入到键盘搜索时,经p2.7-p2.2输出键盘扫描的行选码,键盘的列输入由p3口的p3.7-p3.4承担缓冲

13、功能。利用p2 .7-p2.2输出数据代码的做法是通过改变程序计数器高6位数值来实现的。方案二:用8051自身接口实现数码管静态显示和键盘扫描,使用8051单片微机外加作地址锁存用的两块8三态锁存器74ls373芯片可构成一个完整的最小微机电路。以此为基础,在智能装置中若要配置多位数码管显示器,以及m行n列矩阵键盘的话,可以不扩展i/o芯片而由8051自身i/o口,实现上述功能, 即用p0口的八个端口作为led的段选,用p1口和p2口的做键盘电路的接口。综上所述,方案一中键盘显示均采用动态扫描方式,其软件实现起来比较简单,但硬件电路过于复杂,没有合理利用单片机的i/o而方案二外围电路简单,且软

14、件实现起来也不是太复杂,合理利用单片机i/o口,比较起来本文采用的是方案二。1.1.3 总体结构框图输入部分键盘输入 控制器at89c511输出部分led显示图1-1 病房呼叫系统结构框图1.2 框架模块功能描述一.输入部分包括按键输入,按键输入相当于一个外界的干扰信号,用于向单片机传输命令或数据。二.调节电路部分包括晶振和复位,需要时对控制器发出中断信号,以对系统进行调节。三微处理器采用常见的at89c51单片机为控制核心,通过软件编程,对实时采集的信息进行处理,同时也调节电路进行驱动和控制。四输出部分包括led显示电路,将从键盘上输入的信号显示出来,给人以直观的印象。五系统过程的综述:键盘

15、(按钮)输入信号,at89c51单片机收到信号后进行处理,通过输出系统将信号显示在led屏上,此时还可以通过按键进行中断调节,显示会发生相应变化,实际情况出发,人们易于操作。第2章 系统硬件设计2.1 硬件构成示意图图2-1 硬件构成示意图2.2 单片机简介单片机全称为单片微型计算机(single chip microcomputer),又称为微控制器(micro controller unit)或嵌入式控制器(embedded controller)。它是将计算机的基本部件微型化并集成到一块芯片上的微型计算机,通常片内都含有cpu、rom、ram、并行i/o、串行i/o、定时器/计数器、中断

16、控制、系统时钟及系统总线等。随着技术的发展,单片机片内集成的功能越来越强大,并朝着片上系统方向发展。单片机有着体积小、功耗低、功能强、性能价格比高、易于推广应用等显著优点,在自动化装置、智能仪器仪表、过程控制、通信、家用电器等许多领域得到日益广泛的应用1。2.3 主要单元模块介绍2.3.1 控制器at89c51 at89c51是美国atmel公司生产的低电压,高性能cmos8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(perom)和128 bytes的随机存取数据存储器(ram),器件采用atmel公司的高密度,非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8

17、位中央处理器(cpu)和flash存储单元,功能强大at89c51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域2。主要特性:一与mcs-51产品指令系统完全兼容;二4k字节可重擦写flash闪速存储器;三1000次擦写周期 三全静态操作:0hz-24mhz ;四三级加密程序存储器; 五1288字节内部ram; 六32个可编程i/o口线;七2个16位定时/计数器; 八6个中断源; 九可编程串行uart通道; 十低功耗空闲和掉电模式。输入输出引脚at89c51引脚如图2-2示:图2-2 at89c51引脚图p0p3:通用i/o口;vcc:电源端,一般接5v;gnd:电源地;xt

18、al1,xtal2:外接晶体振荡器,不能超过24m;需加微调电容,一般为30pf;rst/vpd:复位端,平时为低电平;ale/prog:地址锁存允许信号端;ea/vpp:外部程序存储器地址允许输入端/固化编程电压输入端。复位电路:rst引脚是复位信号输入端吗,高电平有效。采用上点复位,因为本系统设计的值班室“响应按钮”具有复位键,所以不需要进行手动复位,以节省资源,如图4所示图2-3 复位设计时钟电路:时钟是时序的基础,at89c51核片内由一个反相放大器构成振荡器,可以由它产生时钟,时钟可以由两种方式产生内部方式和外部方式。本系统采用内部方式,在xtal1和xtal2端外接石英晶体作为定时

19、元件,内部反相放大器自激振荡,产生时钟。时钟发生器对振荡脉冲二分频。电容采用33pf电容。如下图2-4所示。图2-4 时钟电路2.3.2键盘电路设计一矩阵式键盘最简单的键盘,每个键对应i/o端口的一位,没有什么键闭和时,各位均处于高电位。当有一个键按下时,就是对应位接地而成为低电位,而其它位仍为高电位。这样,cpu只要检测到某一位为”0”,便可判别出对应键已经按下。但是,当键盘上的键较多时,引线太多,占用的i/o端口也太多。比如,一个有64个键的键盘,采用这种方法来设计时,就需要64条连线和8个8位并行端口。所以,这种简单结构只用在仅由几个键的小键盘中。通常使用的键盘结构是矩阵式的,如图2-5

20、所示。设有个键盘,那么,采用矩阵式结构以后,便只要条引线就行了。比如,有个键,那么,只要用两个并行端口和16条引线便可以完成键盘的连接3。图2-5 矩阵键盘二键的识别为了识别键盘上的闭和键,通常采用两种方法,一种称为行扫描法,另一种称为行反转法。1.行扫描法的原理4:行扫描法识别闭和键的原理如下:先使第0行接地,其余行为高电平,然后看第0行是否有键闭和,这是通过检查列线电位来实现的,即在第0行接地时,看是否有条列线变成低电平。如果有某条列线变为低电平,则表示第0行和此列线相交位置上的键被按下;如果没有任何一条列线为低电平,则说明第0行上没有键被按下。此后,再将第1行接地,然后检测列线中是否有变

21、为低电平的线。如此往下逐行扫描,直到最后一行。在扫描过程中,当发现某一行有键闭合时,也就是列线输入中有一位为0时,便在扫描中途退出,而将输入值进行移位,从而确定闭合键所在的列线位置。根据行线位置和列线位置便能再扫描法来确定具体位置。将行线和一个并行接口相接,cpu每次使并行输出接口的某一位为0,便相当于将某一行线接地,而其他位为1,则相当于使其他行线处于高电平5。为了检查列线上的电位,将列线和一个并行输入输出口相接,cpu只要读取输入输出口中的数据,就可以设法判别出第几号键被按下6。从上面的原理中知道,程控扫描法是由程序控制键扫描的方法。程控扫描的任务是:(1)首先判断是否有键按下。其方法是使

22、所有的行输出均为低电平,然后从端口a读入列值 。如果没有键按下,则读入的列值为ffh;如果有键按下,则读入的列值不为ffh。(2)去除键抖动。若有键按下,则延时510ms,再一次判断有无键按下,如果此时仍有键按下,则认为键盘上有一个键处于稳定闭合期。(3)若有键闭合,则求出闭合键的键值. 求键值的方法是对键盘逐行扫描。如图2-6行扫描法。调显示程序扫描整个键盘有键按下?再次扫描整个键盘有键按下?延时10ms输出使xi为低电平此行有键按?行值08h求下一行为低电平模型各行扫描完了?列值1列数据右移1位延时有键按下?键释放了?计算键值(buff) 键值调查找功能键程序ynynyynnynny开始图

23、2-6 行扫描法流程图2.行反转法的原理7:行反转法也是识别闭合键的常用方法,它的原理如下所述。这了叙述方便,以44=16键的键盘为例。图2-7是行反转法的工作示意图。图2-7 行反转法连接图从图中可以看到,用行反转法识别闭合键时,要将行线接一个并行口,先让它工作为输出方式,将列线接到一个并行口,先让它工作在输出方式。程序使cpu通过输出端口往各行线上全部送低电平,然后读入列线的值8。如果此时有某一个键被按下,则必定会使某一列线值为0,然后,程序再对两个并行端口进行方式设置,使接行线的并行端口工作在输出方式,而使接列线的并行端口工作在输出方式,并且将刚才读得的列线值从所接的并行端口输出,再读取

24、行线的输入值,那么,在闭合键所在的行线上的值必定为0。这样,当一个键被按下时,必定可以读得一对惟一的行值和列值9。在键盘设计时,除了以键码的识别以外,还有抖动问题需要解决10。有软件方法可以很容易解决抖动问题,这就是通过延迟来等待抖动消失,这之后,再读入键码。2.3.3显示电路设计一led显示原理 led即发光二极管,它是一种由某种半导体材料制成的pn结,由于掺杂浓度很高,当正相偏置时,会产生大量的电子-空穴复合,把多余的能量释放为光能。led显示器具有工作电压低、体积小、寿命长(约十万小时)、响应速度快,颜色丰富(红、黄、绿等)等特点,是智能仪器最常使用的显示器11。led的正向工作电压降一

25、般在1.2-2.6v,发光工作电流在5ma-20ma,发光强度基本上与正向电流成正比,故电路须串联适当的限流电阻12。led很适合于脉冲工作状态,在平均电流相同的情况下,脉冲状态比直流工作状态产生的亮度增强20%左右。led显示器有单个、七段和点阵式几种类型,本设计将使用七段led显示器。二七段led显示七段led显示器由数个led组成一个阵列,并封装与一个标准外壳中。为适用于不同的驱动电路,有共阴极和共阳极两种结构,如图所示。用七段led显示器可组成0-9数字和多种字母,为了适应各种装置的需要,这种显示中还有一个小数点,所以实际共有八段13。图2-8 led显示器的两种结构为了显示某个数或字

26、符,就要点亮对应的段,这就需要译码。译码有硬件和软件之分,硬件译码的优点是计算机时间的开销比较小,但硬件开支大14。与硬件电路相比,软件译码显示电路省去了硬件译码器,本设计采用软件译码的方式。按照显示方式,七段led系统又有静态显示和动态显示之分15。这次设计采用的是静态显示,利用74ls373和显示器组成了显示系统。在每一次显示输出后能够保持不变,仅在待显示数字需要改变时,才更新锁存内容。2.3.3报警电路设计采用发光二极管和蜂鸣器相串联,用三极管加限流电阻作为控制开关,用单片机p3.7端口控制,当有高电平导通,显示器显示床号的同时蜂鸣器发出“嘀嘀”声作为呼叫提示。电路连接图如2-9图所示。

27、图2-9 报警设计2.3.4控制电路设计控制按键接p3.3端口,当有呼叫发出时,值班室人员收到相应信息后,可按下“响应按钮”,通过编程令单片机执行中断程序。第三章 系统软件设计3.1 系统软件环境介绍3.1.1 keil_c于at89c51的控制设计,以keil_c为软件编程环境,以proteus软件为电路仿真设计环境。二者的结合为该系统的设计提供有利条件。keil_c软件界面如图3-1所示:图3-1 keil_c软件界面该软件是一款集编程和仿真于一体的软件,它支持汇编、c语言及二者的混合编程16。3.1.2 protues isisproteus isis是英国labcenter公司开发的电

28、路分析与实物仿真软件。它运行于windows操作系统上,可以仿真、分析(spice)各种模拟器件和集成电路17。该软件的特点是:一全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。二具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、rs232动态仿真、i2 c调试器、spi调试器、键盘和lcd系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等18。三目前支持的单片机类型有:arm7系列、68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各种外围芯片。四支持大量的存储器和

29、外围芯片。总之,该软件是一款集单片机和spice分析于一身的仿真软件,功能极其强大 ,可仿真arm、51、avr、pic19。proteus isis的工作界面是一种标准的windows界面,如图所示,包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口20。图3-2 电路仿真界面运行proteus程序后,进入软件的主界面。通过左侧工具栏中的p(从库中选择元件命令)命令,在pick devices 左侧窗口中选择所需元件的关键字21,然后放置元件并调整方向和位置以及参数设置,最后进行连线22(图3-2

30、电路仿真界面)。3.2 系统程序设计病房呼叫系统软件设计均采用模块化设计,整个程序主要包括主程序、键盘扫描程序、显示程序。所有程序均采用c语言编写。病房呼叫系统的软件设计思路说明如下:主程序的作用为程序初始化,显示病房编号(病房号的获得在键盘扫描程序中实现),并在多人按键时实现循环显示的功能。通过不断的扫描,检查是否有病人呼叫。显示程序通过扫描64个病床的判断标志位来决定是否需要显示床号。键盘扫描程序是重要组成部分,它的功能是判断是否有按键并进一步确认是哪个按键按下或释放,同时修改相应的标志位,以运用到显示程序中。3.2.1 系统主程序流程图主程序流程图给出了系统工作的基本过程,描述了信号的基

31、本流向,起到一个向导的作用。图3-1 主程序流程图主程序程序描述:首先对各存储单元初始化,设定定时初值,清零键,然后继续扫描键盘,如扫描到键盘有键按下,则进而判断是哪个床位按下,进而显示病床号时,要判断标志位,若已经按下,则不响应,否则显示病床号。最后,返回扫描键值程序,准备下一次的判断。3.2.2 显示程序流程图显示程序主要是来判断是否需要显示,以及如何去显示,是十分重要的程序之一。设计流程图如图所示。图3-2 显示程序流程图显示程序描述:设定床号显示标志为biaon,令n从1开始,判断biaon是否为0,若不为零,表示有病房呼叫,则显示床号,继续扫描键值判断是否有别的病房呼叫,若n为0,表

32、示无呼叫,则继续扫描下一病床编号。3.2.2 键盘扫描流程图键盘电路设计成8*8矩阵式,在程序中可以先判断按键编码,然后在显示子程序中通过程序进行译码,再显示。设计流程图如图所示。图3-3 键盘扫描程序流程图键盘扫描程序原理参考行反转法。首先将列线(p1口)全部置高,行线(p2口)置低,再判断列线是否有低电平,有则代表有按键按下,则逐行将电平置低,获取键值。如无按键,将再返回判断,接着重新判断按键是否释放,若释放则修改对应的标志,否则返回重新判断。第四章 系统调试与结果系统调试工作是系统开发过程中必不可少的一个过程,一个完整的控制系统调试包含控制系统的硬件联调、软件联调、系统仿真、仿真烧录和现

33、场安装调试等几个环节。在系统设计组装完成后,首先是进行实验室条件下的系统硬件调试,调试成功后,有了硬件的保证,就容易发现软件的漏洞,进而促进改进和完善。所有的调试通过后,要进行现场运行并能持续一定的时间,待其中未发现故障后,方可验收合格,才算完成了整个系统的设计工作4.1 硬件调试下面是我们通过proteus软件编程,使对应的软件仿真模块变成可视化的控制界面:b.键入1后界面a.系统初始界面c.键入6后界面(循环显示)d.按下复位键后界面启动电源,显示屏显示00,在按下1号键时,界面部分显示01;如果现在不按清零键,再按下6号键时,按键号循环显示,可以看出该系统具有记忆功能,以至于不会忽略之前

34、按下的按键;图反映了控制电路的可行性,按复位后则去掉当前界面显示房间.。综上所述,本系统实现了主要功能:显示病床号,亮报警提醒值班人员,若有多个病床同时呼叫,则循环显示病床号,确保性息不丢失,待值班人员处理呼叫信息。通过protuesisis软件仿真,能达到上述结论,满足课题目目的,达到要求。4.2 软件调试单片机应用系统的软件调试也没有规律可循,调试时更多的是凭经验。软件调试的主要任务是排查错误。通过在keil_c编译器下调试程序,有两种错误,一种逻辑错误,也就是语法错误,是很容易被发现的,另一种是功能错误,是指在没有语法错误的基础上,由于设计思想或算法的问题导致不能实现软件功能的一种错误。

35、通过这两方面错误,不断地调试,以及对各模块的调试,最后组成一个完整的程序。结 论至此,本设计的主要内容已经完成。本章是在对前面完成的工作进行总结的基础上,提出今后进一步工作的建议和设想。选择这个课题,难点为:病人都按开关时,在数码显示器能循环显示病床,这也就是考验我们对所学知识有比较透彻的了解和我们的耐心。随着集成电路和计算机技术的迅速发展,使电子仪器的整体水平发生巨大变化,传统的仪器逐步的被智能仪器所取代。智能仪器的核心部件是单片机,因其极高的性价比得到广泛的应用与发展,从而加快了智能仪器的发展在做毕业设计的过程中,虽然碰到了不少的困难,但是在老师的指导以及自己的努力下,终于取得了一定成果。

36、1、 主要工作及结论1、 熟悉at89c51单片机功能及工作特性,掌握其接口扩展方法。2、 对键盘和显示器进行选型比较,得出各种型号优劣比。3、 采用面向对象的思想,分层次、分模块构建设计的总体框架。2、 存在的问题1、 电子电路的设计中对各种影响因素的考虑不够完全。2、 系统设计不够优化,有待改善。如显示屏上数字有闪烁迹象,显示程序仍可完善;又如系统可增加优先级的设定,方便处理急救病人。3、 没有扩展更多电路,如日历时钟电路、通讯接口电路等。这些都为我今后的学习和工作留下了积极的影响。参考文献1 谭浩强.mcs-51单片机应用教程.北京:清华大学出版社,2004:57622 张振荣.mcs-

37、51单片机及实用教程.北京:人民邮电出版社,2000:2312363 康华光.电子技术基础.北京:高等教育出版社,2000:17234 李伯成.单片机及嵌入式系统.北京:清华大学出版社,2005:3373465 肖金球.单片机原理与接口技术.北京:清华大学出版社,2004:1531596 王环,张亚宁 .单片机程序设计实例.北京:清华大学出版社,2003:5205247 康华光.电子技术基础(模拟部分). 北京:高等教育出版社,1999:1121198 李勋.单片机微型计算机大学读本.北京:北京航空航天大学出版社,2002:75779 丁元杰.单片微机原理及应用.北京:机械工业出版社,1996

38、:25627610何立民.单片机应用技术选编.北京:航空航天大学出版社,1996.21822411张培仁等.mcs-51单片机原理与应用.北京.清华大学出版社,2003:13014512治刚.单片机应用技术与实训.北京:清华大学出版社,2004:13013313陈明荧.8051单片机课程设计实训教材.北京:清华大学出版社,2004:32532914胡汉才.单片机原理及接口技术.北京:清华大学出版社,1995:11112315徐淑华等.单片机微机原理及应用.哈尔滨:哈尔滨工业大学出版社,1994:33635116at89c51 data sheep philips semiconductors

39、1999.dec17yang. y., yi. j., woo, y.y., and kim. b.: optimum design for linearityand efficiency of microwave doherty amplifier using a new loadmatching technique, microw. j., 2001, 44, (12), pp. 203618vizimuller, p.: rf design guide-systems, circuits, and equations (artechhouse, boston, ma, 1995)6r.

40、dye, “visual object-orientated programming,” dr. dobbs macintoshjournal, sept. 1st ( 1991).19nishino s f,paoli g c,spain j c. aerobic degradation of dinitroto-luenes and pathway for bacterial degradation of 2,6-dinitrotoluene volume 66,2006.20kennes c,w m wu,l bhatnagar et al. anaerobic dechlorinati

41、on and mineralization of pcp and 2,4,6-trichlorophenol by the methanogenic pcp-degrading granules volume 44,2004.21philips. product specification. coms single-chip 8-bit microcontroller.22hermarn k p. neubert. instrument transducers-an introduction to their performance and design.2nd edm. clarendon

42、press, oxford. 1975.致 谢四年的大学生活也将随着论文结束而结束了。在这里我要向那些曾经给予我关心和帮助的老师、同学和朋友们致以诚挚的谢意。如果没有他们的帮助,这篇论文将难以顺利完成。首先要感谢我的指导老师宋霄薇的耐心指导,宋老师治学严谨,平易近人。从毕业设计工作的进行,到毕业论文的撰写和修改,给我提供了许多十分有益的指导和建议,帮助我开拓思路,深入研究。也向所有教导和关心过我的领导老师致以最诚挚的谢意!衷心的希望老师们都能事业顺利,桃李芬芳!感谢身边的同学对我的帮助,他们使我在设计过程中得到许多启示。我很荣幸生活学习在这个团结,健康,向上的集体中,在大学度过的这四年给我留下

43、了终生难忘的记忆。最后,我要特别感谢我的父母,我所有的成绩都是他们的支持和鼓励下才能取得的,他们真挚的爱和无私的支持,使我一直不畏前路的任何困难,勇往直前,不断进步。附 录附录一整体电路图附录二.程序数码管动态扫描延时:void delay(uint x)while(x-) for(i=0;i120;i+)key_value();按键值的数码管显示子程序: void display(uchar k) s=1;g=0; /点亮数码管1 delay1ms(2); p0=tabk/10; /显示十位 delay1ms(2); /动态扫描延时 s=0;g=1; /点亮数码管2 delay1ms(2);

44、 p0=tabk%10; /显示个位 delay1ms(2); /动态扫描延时 蜂鸣器:void beep()uchar i;for(i=0;i20;i+)delay1ms(1);beep=beep;beep=0;主函数: void main(void) uchar q=0; beep=0; while(1) /无限循环 for(m=1;m=64;m+) if(biao !=0) display(biao ); /调用按键值的数码管显示子程序 beep(); q=1; delay(500); key_value(); /判断床位 if(q=0)display(0); else q=0;键盘扫描

45、,判断键位: void key_value(void) p1=0xff; /所有列线置为高电平? p2=0x00; /所有行线置为低电平“0”?” if(p1&0xff)!=0xff) /列线中有一位为低电平“0”,说明有键按下 p2=0xfe; /第一行置为低电平“0”(p1.1出低电平“0”) if(p1=0xfe) keyval=1; /可判断是s1键被按下 if(p1=0xfd) keyval=2; /可判断是s2键被按下 if(p1=0xfb) keyval=3; /可判断是s3键被按下 if(p1=0xf7) keyval=4; /可判断是s4键被按下 if(p1=0xef) ke

46、yval=5; /可判断是s5键被按下 if(p1=0xdf) keyval=6; /可判断是s6键被按下 if(p1=0xbf) keyval=7; /可判断是s7键被按下 if(p1=0x7f) keyval=8; /可判断是s8键被按下 p2=0xfd; /第二行置为低电平“0”(p1.1出低电平“0”) if(p1=0xfe) keyval=9; /可判断是s9键被按下 if(p1=0xfd) keyval=10; /可判断是s10键被按下 if(p1=0xfb) keyval=11; /可判断是s11键被按下 if(p1=0xf7) keyval=12; /可判断是s12键被按下 i

47、f(p1=0xef) keyval=13; /可判断是s13键被按下 if(p1=0xdf) keyval=14; /可判断是s14键被按下 if(p1=0xbf) keyval=15; /可判断是s15键被按下 if(p1=0x7f) keyval=16; /可判断是s16键被按下 p2=0xfb; /第三行置为低电平“0”(p1.2输出低电平“0”) if(p1=0xfe) keyval=17; /可判断是s17键被按下 if(p1=0xfd) keyval=18; /可判断是s18键被按下 if(p1=0xfb) keyval=19; /可判断是s19键被按下 if(p1=0xf7) k

48、eyval=20; /可判断是s20键被按下 if(p1=0xef) keyval=21; /可判断是s21键被按下 if(p1=0xdf) keyval=22; /可判断是s22键被按下 if(p1=0xbf) keyval=23; /可判断是s23键被按下 if(p1=0x7f) keyval=24; /可判断是s24键被按下 p2=0xf7; /第四行置为低电平“0”(p1.2输出低电平“0 if(p1=0xfe) keyval=25; /可判断是s25键被按下 if(p1=0xfd) keyval=26; /可判断是s26键被按下 if(p1=0xfb) keyval=27; /可判断

49、是s27键被按下 if(p1=0xf7) keyval=28; /可判断是s28键被按下 if(p1=0xef) keyval=29; /可判断是s29键被按下 if(p1=0xdf) keyval=30; /可判断是s30键被按下 if(p1=0xbf) keyval=31; /可判断是s31键被按下 if(p1=0x7f) keyval=32; /可判断是s32键被按下 p2=0xef; /第五行置为低电平“0”(p1.1出低电平“0”) if(p1=0xfe) keyval=33; /可判断是s33键被按下 if(p1=0xfd) keyval=34; /可判断是s34键被按下 if(p1=0xfb) keyval=35; /可判断是s35键被按下 if(p1=0xf7) keyval=36; /可判断是s36键被

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论