版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4依楸4族孵院毕业设计题目基于单片机的病房呼叫系统姓名雷顺螟学号学126005系部理工系年级专业2012级电子信息工程指导教师亚妮2016年3月5日摘要呼叫系统是医院和养老院的必备设备,是日常护理和紧急抢救重要通讯手段。传统有线呼叫系统施工繁琐、检修困难、施工成本高,更重要的是有线系统没有移动接收呼叫信息的功能,使很多病人丧失了抢救的良机。随着医院、养老院的医疗条件的不断提高,越来越多的场所采用无线呼叫系统,施工和维护简便,呼叫操作简单,医护人员可随时随地接收病人的呼叫。医护呼叫系统采用调幅(FSK)技术,保证呼叫成功率,避免信号干扰。根据医院和养老院的功能要求、场地大小、管理要求等因素,多种
2、解决方案以供选择。关键词:单片机STC89C51,无线传输模块,病床呼叫Title:WardcallingsystembasedonsinglechipmicrocomputerAbstract:Callsystemisnecessaryequipmentinhospitalsandnursinghomes,isthedailycareandemergencyrescueofanimportantmeansofcommunication.Thetraditionalwiredcallsystemandfussyconstruction,maintenancedifficulties,highc
3、onstructioncost,moreimportantisthecablesystemisnotmobilereceivesthecallinformation,makemanypatientslosttheopportunitytosave.Alongwiththehospital,nursinghomemedicalconditionscontinuetoimprove,moreandmoreplacesusingwirelesscallsystem,constructionandeasymaintenance,operationsimplecall,callmedicalperson
4、nelcanwheneverandwhereverpossibletoreceivepatients.Addfastwirelessmedicalcallsystemusingamplitudemodulation(FSK)technology,ensurethecallsuccessrate,toavoidinterference.Accordingtothehospitalsandnursinghomes,thesizeofthesitefunctionalrequirements,managementrequirementsandotherfactors,plusXunseriespro
5、ductsprovideavarietyofsolutionstochoosefrom.Keywords:singlechipSTC89C51,wirelesstransmissionmodule,SickbedCalling1绪论错误!未定义书签。1.1 病床系统背景与意义3.1.2 目标3.1.3 可行性分析3.1.4 设计步骤3.2基于单片机的病床呼叫系统的设计实现42.1系统总体设计4.3系统硬件设计5.1.1 单片机介绍5.1 单片机的发展介绍51 单片机的结构特点51 单片机的实际应用51 控制器AT89C5161.2 系统原理框图错误!未定义书签。1.3 硬件模块设计9.1 无线
6、发射模块91 无线接收模块91 声音报警模块111 应答电路121 键盘接口121 显示接口121.4 外围电路设计1.71 控制器AT89C51121 键盘电路设计124系统软件设计204.1程序设计语言的介绍20机器语言207匚编语百20高级语言203.1.0 主函数程序设计2j3.2.0 初始化程序设计1.73.3.0 延时子程序设定243.4.0 液晶显小子程序245液晶显示子程序254 软件调试254 硬件调试26参考文献27附录A28附录B29致.301引言病床系统背景与意义医院建设呼叫中心系统有十分的重要现实意义,国部分医院都有成功应用的经验。医院建设呼叫中心系统具有以下几个方面
7、的重要现实意义:改善医院服务质量;提升医院的品牌优势;优化医院的服务流程;降低医院的服务成本;开辟新的收入来源;提升医疗信息化的水平等。通过医院呼叫中心的建设,医院不仅可以更大程度的提高服务质量及工作效率,更可以体现出医院的人文特色、全面提高就医者对医院的满意度,同时也可以利用医院呼叫中心多种多样的增值业务来提高医院的利润、起到盈利性的目的。我们正是基于这种考虑,利用现有发达的网,采用计算机网络技术和语音交换技术设计了医院呼叫中心系统,为医疗机构提供了全面有效的解决方案。目标设计要求:设计出稳定高效的运行系统,并且有一定的抗干扰能力,能够实现多路呼叫且互不干扰。距离在100m围,实现多路无线病
8、床呼叫,并留有扩展空间。预期目标:病人按呼叫键时,无线发射器发射信号,无线接收器接收无线信号,通过单片机控制处理,护士值班室发出呼叫警报,同时1602液晶上显示相应的床位号,当护士按键应答,呼叫报警停止,液晶显示以应答,警报由定时器控制关闭。当有多个病人呼叫没有及时应答时,对应显示各床床位号,同时报警。可行性分析有线呼叫器受位置的制约不能很好的达到医患沟通,无线呼叫系统就显示其很大的优越性,可移动,不受位置制约,现今无线传输技术有了突飞猛进的发展,技术越来越成熟,普遍应用到生活、娱乐、学习和军工等领域,这为无线传输技术与医学临床的结合提供了技术支持。在校期间也学习了与单片机相关的课程,有了一定
9、的理论基础。因此,本课题具有可行性,能够得到。设计步骤针对单片机的无线病床呼叫系统,制定以下方案及步骤:第一步,根据设计目的构想设计的原理图框架,学习设计中要用到的知识,如无线发射模块的原理、编码解码,单片机C语言编程设计,液晶1602的显示,使用的芯片引脚工作原理,Protel软件使用等。第二步,对硬件模块进行设计。如无线发射模块、无线接收模块、1602显示模块、声音呼叫模块。在Protel中绘制原理图。第三步,对系统软件进行设计。如主函数程序设计、初始化程序设计、延时子程序设计、液晶显示子程序设计、定时器中断服务子程序设计2基于单片机的病床呼叫系统的设计系统总体设计功能要求本课题主攻方向是
10、使系统实现以下目的:任一病房(共16)呼叫,医护值班室马上能响应并显示病房号;显示病房床号;若有多个病床呼叫就循环显示;处理完毕后清除记录;显示器不重复显示按一次以上的病床号设计方案用8051自身接口实现数码管静态显示和键盘扫描,使用8051单片微机外加作地址锁存用的四块三态锁存器74LS373芯片和一块74LS138芯片可构成一个完整的最小微机电路。以此为基础,在智能装置中若要配置多位数码管显示器,以及m行n列矩阵键盘的话,可以不扩展I/O芯片而由8051自身I/O口,实现上述功能,即用P0口的八个端口作为LED的段选,用P2口的高三位连接一个三八译码器74LS138作为四个LED的片选用P
11、1口和P2口的低五位做键盘电路的接口。总体结构框图本设计是基于AT89C51单片机设计的病房呼叫系统设计,该系统就是以Atmel公司的AT89C51单片机作为主控器,包括键盘输入电路,显示电路,以及晶振复位电路等来实现病房呼叫系统。图2.1病房呼叫系统结构框图3系统硬件设计单片机介绍单片机的介绍单片机也被称作“单片微型计算机”、“微控制器”和“嵌入式微控制器”,单片机一词最初源于"SingleChipMicrocomputer",简称SCM。随着单片机在技术和体系结构上的进步,其控制功能不断扩展,国际上逐渐采用“MCU"(MicroControllerUnit,微
12、控制器)来代替SCM。单片机的结构特点单片机是微型机的一个重要分支,它在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模的集成电路芯片上。单片机是一种在线式实时控制计算机,在线式就是现场控制,需要有较强的抗干扰能力,较低的成本。单片机由于这种结构,所以具有很多显著的特点。主要有控制能力强,抗干扰能力强、可靠性高,性能价格比高,低功耗、低电压,扩展了多种串行口和系统扩展容易等特点。单片机的实际应用单片机广泛应用于仪表仪器、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为以下几个畴:(1)在智能仪器仪表上的应用单片机具有体积小、功耗
13、低、控制功能强、扩展灵活、微型化和使用方便等特点,广泛应用于仪器仪表中看,结合不同类型的传感器,可以实现诸如电压、功率、频率、温度、流量、速度、角度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化。且功能比采用电子和熟悉电路更加强大。例如精密的测量设备(功率计、示波器和各种分析仪)。(2)在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。(3)在家用电器中的应用可以这样说,现在的家电基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音
14、响视频器材、再到电子称量设备,五花八门,无其不有,无所不在。(4)在计算机网络和通信领域的应用现在的单片机普遍具有通信接口,可以很方便的与计算机实现数据通信,为计算机网络和通信设备间的应用提供了极好的物质条件,可以的通信设备基本上都实现了单片机智能控制,从手机,机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动,集群移动通信,无线对讲机等。(5)单片机在医用设备领域中的应用单片机在易用设备领域中的应用相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声波诊断设备及病床呼叫系统等等。此外单片机在工商、金融、科研、教育、国防、航空航天领域都有相当广泛的应用。3.1.
15、4控制器AT89C51AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域2。主要特性:与MCS-51产品指令系统完全兼容4K字节可重擦写Flash闪速存储器1000次擦写周期全静态操作:0Hz-24MHz三级加密程序存储器128X8字节部RA
16、M32个可编程I/O线2个16位定时/计数器5个中断源可编程串行UART通道AT89C51单片机采用40Pin封装的双列直插DIP结构,图1.1是它的引脚配置图。40个引脚中,正电源和地线两根;4组8位I/O口,共32个引脚;时钟电路引脚XTAL1和XTAL2;控制信号引脚包含:复位输入端RET,地址锁存允许输出/编程脉冲输入端ALE/PROG,片外程序存储器选通控制信号端PSEN,外程序存储器选择/编程电源输入端EA/VPPo3.2单片机外围电路(1)时钟电路STC89C51单片机的时钟信号通常有两种方式产生:一是部时钟方式,二是外部时钟方式。部时钟方式如图3.1所示。在STC89C51单片
17、机部有一振荡电路,只要在单片机的XTAL1(18)和XTAL2(19)引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机部产生时钟脉冲信号。图中电容C1和C2的作用是稳定频率和快速起振,电容值在530pF,典型值为30pF。晶振CYS的振荡频率围在1.212MHz间选择,典型值为12MHz和6MHz。图3.1STC89C51部时钟电路(2)复位电路当在STC89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。复位电路通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路中上电自动复位是通过外部
18、复位电路的电容充放电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST(9)端与电源Vcc接通而实现的。按键手动复位电路见图3.2。时钟频率用11.0592MHZ时C取10uF,R取10kQo图3.2STC89C51复位电路(四)STC89C51中断技术概述中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并作出快速响应、及时处理。这是由片的中断系统来实现的。当中断请求源发出中断请求时,如果中断请求被允许,单片机暂时中
19、止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求。中断服务处理程序处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。图3.3为整个中断响应和处理过程。如果单片机没有中断系统,单片机的大量时间可能会浪费在查询是否有服务请求发生的定时查询操作上。采用中断技术完全消除了单片机在查询方式中的等待现象,大提高了单片机的工作效率和实时性。硬件模块设计系统原理框图,整个系统分为五个模块:无线发射模块、无线接收模块、声音报警模块、液晶显示模块、按键应答模块。下面将简单的介绍各个模块设计方案。无线发射模块PT2262是一种CMOST艺制造的低功耗低价位通用编码电路,P
20、T2262最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。PT2262管脚说明如表3.1表3.1PT2262管脚说明名称管脚说明A0-A111-8,10-13地址管脚,用于进行地址编码,可置为“0”、“1”、“悬空”。D0-D57-8,10-13数据输入端,有一个为“1”即有编码发出,部下拉。VCC18电源正端(+)GND9电源负端(一)TE14编码启动端,用于多数据的编码发射,低电平有效;OSC116振荡电阻输入端,与OS
21、C所接电阻决定振荡频率;OSC215振荡电阻振荡器输出端;DOUT17编码输出端(正常时为低电平)T10A发射模块(如表3.2)采用SMD术,在稳频处理上采用最先进声表谐振器(SAVV元件,电路板(PCB采用介质损耗最小的材料,体积小巧。表3.2T10A发射模块技术指标:参数工作电压3V-12V工作电流w25mA(12Vw2mA(3V)谐振方式声表谐振(SAW调制方式AM/ASK/OOK工作频率315MHz433.92MHz可选频率误差±150kHz(max)发射功率25mW(315MHz,12V时)图3.4所示为无线发射模块图,由PT2262编码,发射模块的四个按键分别代表不同的病
22、床号,按卜表示病人呼叫。TNA取81A0VCCA1DOUTA2OSC2A3OSC1A4TEA5D0A6D1A7D2GNDD323_4-L6789PT2262U2图3.4无线发射模块图发射模块有密码保证功能,最多可以编6个数据码和6561个地址码,使重复的机会大大减少。其性能参数如下:?电源电压:DC3VDC12V?静态电流:W0.02uA?发射频率:315MHz?发射电流:550mA?发射距离:50800m?调制方式:ASK在通常使用中,一般采用8位地址码和4位数据码,这时编码芯片PT2262和解码芯片PT2272的第18脚为地址设定脚,有三种状态可供选择:悬空、接正电源、接地三种状态,3的8
23、次方为6561,所以地址编码不重复度为6561组,只有发射端PT2262和接收端PT2272的地址编码完全相同,才能配对使用,一般生产厂家都把地址编码端悬空,用户可以自己设置编码。设置地址码的原则是:同一个系统地址码必须一致;不同的系统可以依靠不同的地址码加以区分。无线接收模块解码接收模块包括接收头和解码芯片PT2272两部分。接收头将接收的信号输入PT2272的14引脚(DIN),PT2272对接收到的信号解码。无线接收模块如图3.5所示。3.5无线接收模块图编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较
24、核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。PT2272f脚说明如表3.3表3.3PT2272管脚说明
25、名称管脚说明A0-A111-8,10-13地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),必须与2262一致,否则不解码D0-D57-8,10-13地址或数据管脚,当做为数据管脚时,只有在地址码与2262一致一致,数据管脚才能输出与2262数据端对应的高电平,否则输出为低电平,锁存型只有在接收到下一数据才能转换VCC18电源正端(+)GND9电源负端(一)DIN14数据信号输入端,来自接收模块输出端OSC116振荡电阻输入端,与OSC2所接电阻决定振荡频率;OSC215振荡电阻振荡器输出端;VT17解码后效确认输出端(常低)解码后效变成局电平(瞬态)PT2262和PT2272
26、B地址编码必须完全一致外,振荡电阻还必须匹配,一般要求译码器振荡频率要高于编码器振荡频率的2.58倍,否则接收距离会变近甚至无法接收,随着技术的发展市场上出现一批兼容芯片,在实际使用中只要对振荡电阻稍做改动就能配套使用。在具体的应用中,外接振荡电阻可根据需要进行适当的调节,阻值越大振荡频率越慢,编码的宽度越大,发码一帧的时间越长。市场上大部分产品都是用2262/1.2M=2272/200K组合的,少量产品用2262/4.7M=2272/820K。解码接收模块包括接收头和解码芯片PT2272两部分组成。接收头将收到的信号输入PT2272的14脚(DIN),PT2272再将收到的信号解码。接收板工
27、作电压为DC5V,接收灵敏度:-103dBm,尺寸(mm):49*20*7,工作频率:315MHz,工作电流:5mA,编码类型:固定码(板上焊盘跳接设置)应用说明:与各类型遥控器配合使用,解码输出后进行相应控制,在通常使用中,我们一般采用8位地址码和4位数据码,这时编码芯片PT226不口解码芯片PT2272的第18脚为地址设定脚,有三种状态可供选择:悬空、接正电源、接地三种状态,地址编码不重复度为38=6561组,只有发射端PT226才口接U攵端PT2272的地址编码完全相同,才能配对使用,遥控模块的生产厂家为了便于生产管理,出厂时遥控模块的PT226®PT2272的八位地址编码端全
28、部悬空,这样用户可以很方便选择各种编码状态,用户如果想改变地址编码,只要将PT226环口PT2272白18脚设置相同即可,例如将发射机的PT2262的第2脚接地,第3脚接正电源,其它引脚悬空,那么接收机的PT2272R要也第2脚接地,第3脚接正电源,其它引脚悬空就能实现配对接收。当两者地址编码完全一致时,接收机对应的D1D端输出约4V互锁高电平控制信号,同时VT端也输出解码有效高电平信号。1602LCD的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图3.6所示:TO0图3.6160
29、2LCD尺寸图1602LCD主要技术参数:显示容量:16X2个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95>4.35(WXH)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3.4所示:编R符号引脚说明编R符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表3.4:引脚接口说明表第1脚:V
30、SS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正
31、极。第16脚:背光源负极。声音报警模块该设计有声音报警,当有病人呼叫时,蜂鸣器就会大声提示,直到护士应答回复,才会停止鸣叫,控制引脚接在P3.4引脚上,利用三极管当做开关电路可以保护单片机,还可以起到放大电流的作用,当三极管基极为高电平时,发射极截止,为低电平时,发射极导通。报警模块如图3.7所示。图3.7声音报警模块应答电路本设计中四个床位使用一个应答按钮,接在P3.3引脚上,当有病人按下按钮,报警开始时,按下应答按钮,即可停止报警,声音模块图如图3.8所示图3.8应答电路键盘接口在单片机的应用系统中,通常都有人一机对话功能。它包含人对系统的状态干预、数据的输入以及应用系统向人报告运行状态与
32、运行结果等。键盘成为人一机联系的必要手段,此时需要配置适当的键盘输入设备5。键盘工作原理键盘中的每个按键都是一个常开的开关电路,当所设置的功能键或数字键按下时,则处于闭合状态。对于一组键或一个键盘,需要通过接口电路与单片机相连,以便将键的开关状态通知单片机。单片机可以采用查询或中断方式检查有无键的输入以及是哪个键被按下,并通过转移指令转入执行该键的功能程序,执行完再返回到原始状态。独立式按键独立式按键是指直接用I/O口线构成的单个按键电路。每个独立式按键单独占有一根I/O口线,每根I/O口线的工作状态都不会影响其他I/O线的工作状态。行列式键盘独立式按键电路每一个按键开关占用一根I/O口线。当
33、按键数较多时,要占用较多的I/O口线。因此,在按键数大于8时,通常采用行列式(也称“矩阵式”)键盘电路。最简单的键盘,每个键对应I/O端口的一位,没有什么键闭和时,各位均处于高电位。当有一个键按下时,就是对应位接地而成为低电位,而其它位仍为高电位。这样,CPU只要检测到某一位为“0”,便可判别出对应键已经按下。但是,当键盘上的键较多时,引线太多,占用的I/O端口也太多。比如,一个有64个键的键盘,采用这种方法来设计时,就需要64条连线和8个8位并行端口。所以,这种简单结构只用在仅由几个键的小键盘中。通常使用的键盘结构是矩阵式。设有m*n个键盘,那么,采用矩阵式结构以后,便只要条引线就行了。比如
34、,有m+n个键,那么,只要用两个并行端口和16条引线便可以完成键盘的连接。显示接口为了方便人们观察和监视单片机运行情况,通常需要利用显示器作为单片机的输出设备,以显示单片机的键输入值、中间信息以及运算结果等。在单片机应用系统中,常用的显示器主要有LCD(液晶显示器)和LED(发光二极管显示器)。这两种显示器都具有耗电省,配置灵活,线路简单,安装方便,耐振动,寿命长等优点。液晶显木器液晶显示器LCD(LiquidCrystalDisplay)是一种极低功耗的显示器。由于其具有清晰度高,信息量大等特点,从而使得它越来越广泛地应用在小型仪器的显示中。把LCD与驱动器组装在仪器的部件的英文名称为LCD
35、Module,简称LCMLCML般分为三类,即段码型液晶模块、点阵字符液晶模块和点阵图形液晶模块。LED点阵显示屏LED点阵显示屏的构成型式有多种,其中典型的有两种。一种把所需展示的广告信息烧写固化到EPRO总片,能进行固定容的多幅汉字显示,称为单显示型;另一种在机设置了字库、程序库,具有程序编制能力,能进行容可变的多幅汉字显示,称可编程序型口。目前,国的LED点阵显示屏大部分是单显示型,其显示的容相对较少,显示花样较单一。一般在产品出厂时,显示容就已写入显示屏控制系统中的EPRO曲片,当需要更换显示容时就非常困难,这样使该类型的显示屏使用围受到了限制。国的另一种LED显示屏一一可编程序型LE
36、D显示屏,虽然增加了显示屏系统的编程能力,显示容和显示花样都有所增加,但也存在着更换显示容不便的缺点。随着社会经济的迅速发展,如今的广告牌都存在着显示容丰富、信息量大、信息更换速度快等特点。因此传统的LED显示屏控制系统已经越来越不能满足现代广告宣传业的需要。而利用PC机通信技术控制LED显示屏,则具有显示容丰富,信息更换灵活等优点7。8*8点阵为8X8单基色点阵的结构图,从部结构可以看出8X8点阵共需要64个发光二极管,且每个发光二极管是放置在各行和列的交叉点上。当对应的某一列置高电平,另一列置低电平时,则在该行和列的交叉点上相应的二极管就亮。8X8点阵LED外观及引脚图,其等效电路如图9所
37、示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴网。8*8点阵显示原理从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。8*8的点阵共有64个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,8*8的点阵需要64/8=8个锁存器。这个数字很庞大,因为我们仅仅是8*8的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本
38、将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如8行)的同名列共用一套驱动器。具体就8*8的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第8行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看
39、到显示屏上稳定的图形了。采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的阿。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行
40、的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重叠处理的目的,列数据的显示就需要具有所存功能。经过上述分析,就可以归纳出列驱动器电路应具有的功能。对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据
41、打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。注:总硬件电路图见附录B。外围电路设计控制器AT89C51复位电路:RST引脚是复位信号输入端,高电平有效。采用上电加按钮复位,因为本系统设计考虑到该系统比较重要,所以除了采用上电复位的方式外,应该还有按钮复位备用复位方式以防止系统死机时能。如下图3.9所示:图3.9上电复位和按键复位时钟电路:时钟是时序的基础,AT89C51核片由一个反相放大器构成振荡器,可以由它产生时钟,时钟可以由两种方式产生部方式和外部方式。本系统采用部方式,在XTAL1和XTAL2端外接石英晶体作为定时元件,部反相放大器自激振荡,产
42、生时钟。时钟发生器对振荡脉冲二分频。电容采用30pF电容。如P3.4P3.3P3.6P37XTAI_1L=EJI2THZ下图3.10所示:HFairC2在33P图3.10部时钟电路键盘电路设计键的识别为了识别键盘上的闭合键,通常采用两种方法,一种称为行扫描法,另一种称为行反转法。(1)行扫描法的原理:行扫描法识别闭合键的原理如下:先使第0行接地,其余行为高电平,然后看第0行是否有键闭合,这是通过检查列线电位来实现的,即在第0行接地时,看是否有条列线变成低电平。如果有某条列线变为低电平,则表示第0行和此列线相交位置上的键被按下;如果没有任何一条列线为低电平,则说明第0行上没有键被按下。此后,再将
43、第1行接地,然后检测列线中是否有变为低电平的线。如此往下逐行扫描,直到最后一行。在扫描过程中,当发现某一行有键闭合时,也就是列线输入中有一位为0时,便在扫描中途退出,而将输入值进行移位,从而确定闭合键所在的列线位置。根据行线位置和列线位置便能再扫描法来确定具体位置。将行线和一个并行接口相接,CPU每次使并行输出接口的某一位为0,便相当于将某一行线接地,而其他位为1,则相当于使其他行线处于高电平。为了检查列线上的电位,将列线和一个并行输入输出口相接,CPU只要读取输入输出口中的数据,就可以设法判别出第几号键被按下。(2)程控扫描法从上面的原理中知道,程控扫描法是由程序控制键扫描的方法。程控扫描的
44、任务是:首先判断是否有键按下。其方法是使所有的行输出均为低电平,然后从端口A读入列值。如果没有键按下,则读入的列值为FFH;如果有键按下,则读入的列值不为FFH。去除键抖动。若有键按下,则延时510ms,再一次判断有无键按下,如果此时仍有键按下,则认为键盘上有一个键处于稳定闭合期。若有键闭合,则求出闭合键的键值.求键值的方法是对键盘逐行扫描。(3)行反转法的原理。行反转法也是识别闭合键的常用方法,它的原理如下所述。这了叙述方便,以4X4=16键的键盘为例。图3.11是行反转法的工作示意图:图3.11行反转法连接图从图中可以看到,用行反转法识别闭合键时,要将行线接一个并行口,先让它工作为输出方式
45、,将列线接到一个并行口,先让它工作在输出方式。程序使CPU通过输出端口往各行线上全部送低电平,然后读入列线的值。如果此时有某一个键被按下,则必定会使某一列线值为0,然后,程序再对两个并行端口进行方式设置,使接行线的并行端口工作在输出方式,而使接列线的并行端口工作在输出方式,并且将刚才读得的列线值从所接的并行端口输出,再读取行线的输入值,那么,在闭合键所在的行线上的值必定为0。这样,当一个键被按下时,必定可以读得一对唯一的行值和列值。在键盘设计时,除了以键码的识别以外,还有抖动问题需要解决。有软件方法可以很容易解决抖动问题,这就是通过延迟来等待抖动消失,这之后,再读入。4系统软件设计程序设计语言
46、的介绍单片机能执行的程序可以用很多种语言编写。从语言结构及其与单片机的关系两方面可分为三大类:分别是机器语言、汇编语言和高级语言。机器语言机器语言是一种用二进制代码“0”和“1”表示指令和数据的最原始的程序设计语言。由于计算机只能识别二进制代码,因此,这种语言与计算机的关系最为直接,计算机能够快速识别并立即执行,响应速度最快。但这种语言编写程序非常繁琐、费时,且不易看懂,不便记忆,容易出错。汇编语言是一种用助记符来表示的面向机器的程序设计语言。不同的机器所使用的汇编语言一般是不同的。这种语言比机器语言更加直观、易懂、易用,且便于记忆。但是由于不同机器的汇编语言不同,这种语言有一定的局限性,移植
47、性差。高级语言高级语言是一种面向过程且独立于计算机硬件结构的通用计算机语言。目前在单片机应用最广泛的是c语言。主函数程序设计一个完整的程序中只有一个main函数,首先调用初始化函数进行初始化,然后判断并调用显示子程序使液晶1602显示、蜂鸣器鸣响报警。程序流程如图4.1所示。开始图4.1主程序流程图初始化程序设计初始化程序包括液晶初始化显示、定时器中断系统初始化。(一)、液晶初始化根据液晶使用手册,在液晶使用之前,要对其设置显示模式,光标设置,然后进行清屏操作。方便之后使用。(二)、定时器中断系统初始化STC89C51有两个定时/计数器,都有定时和计数两种工作模式,四种工作方式(方式0、方式1
48、、方式2、方式3),属于增一计数器。特殊功能寄存器TMO网于选择定时器/计数器T0、T1的工作模式和工作方式。但无论是工作在定时器模式还是计数器模式,实质都是对脉冲信号进行计数,只是计数的来源不同,计数器模式是对加在T0(P3.4)和T1(P3.5)两个引脚的外部脉冲进行计数,而定时器模式是对单片机的时钟振荡器信号经片12分频后的部脉冲信号计数。3、工作方式控制寄存器TMOD不能位寻址,其格式如表4.1所示。1D7DfiB5D4D3D?DIDOGATECTMlM0GATECTMlMO11方式字及¥TO方式字星-1表4.1寄存器TMO而格式GATE:门控位。MQM1:工作方式选择位。C
49、/T:计数器和定时器模式选择位。C/T=0,为定时器模式;C/T=1为计数器模式。MRM1共有4种编码,对应于4种工作方式的选择,见表4.2。表4.2M1、M0工作方式选择M1M000方式0,为13位定时器/计数器01方式1,为16位定时器/计数器10方式2,8位的常数自动重装的定时器/计数器11方式3,仅用于T0,此时T0分为两个8位计数器,T1停止计数定时器的工作方式设置好以后就要给定时器装入初值,工作方式不同初值也不同。1、下面介绍一下单片机的时钟周期、机器周期和指令周期。(1)时钟周期是单片机时钟控制信号的基本时间单位。若时钟晶体的震荡频率为f0sc,则时钟周期Tosc=1/foscO
50、(2)机器周期是CPU完成一个基本操作所需要的时间。AT89C51单片机的每12个时钟周期为一个机器周期,即TCY=12/fOSCo(3)指令周期是执行一条指令所需的时间。AT89C51单片机中指令按字节来分,可分为单字节、双字节和三字节指令,单字节和双字节指令一般为单机器周期和双机器周期,三字节指令都是双机器周期,只有乘、除指令占4个机器周期。本设计中,时钟晶体的频率为11.0592MHZ,所以时钟周期为1/12M。T0作为定时器使用,工作方式为方式1,作为16位计数器。设计数个数为N,计数初值为X,那么X=216-N,定时时间=NX12/晶振频率,所以,定时时间=(216-X)X12/晶振
51、频率。本设计设置每隔50ms中断一次,那么得出初值X=0x4BFF,定日器T0的高8位TH0赋值0x4B,低8位TL0赋值0xFF。2、定时器/计数器控制寄存器TCON可位寻址,其格式见表4.3。表4.3特殊寄存器TCON勺格式D7D6D5D4D3D2D1doTCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8DH8BH8AH89H88HTR0:定时器启动位。TR0=0,关闭定时器0;TR0=1,开启定时器0.IT0:选择外部中断0为跳沿触发方式还是电平触发方式。IT0=0,为电平触发方式;IT0=1,为跳沿触发方式。4、单片机对各中断源的开放或屏蔽是由片的中断允许寄存器IE
52、控制的,可位寻址,其格式见表。表4.4中断允许寄存器IE的格式D7D6D5D4D3D2D1DOIEEAESET1EX1ETOEXO位地址AFHACHANHAAHA9HA8H(1)EA中断允许总开关控制位。EA=Q所有的中断请求被屏蔽;EA=1,所有的中断请求被开放。ES:串行口中断允许位。ES=0,禁止串行口中断;ES=1,允许串行口中断。(3)ETO:定日器/计数器T0的溢出中断允许位。ETO=0禁止T0溢出中断;ETO=1允许T0溢出中断。(4)EXO:外部中断0中断允许位。EX=Q禁止外部中断0中断;复位后,IE被清零,所有的中断请求被禁止。所以在初始化时,要允许T0中断。初始化程序如下:ES=1,允许外部中断0中断。STC89C51令EA=1,EX0=1,ET0=1,开放总中断、voidinit()bg_1602=0;TMOD=0x01;TL0=0x4b;TH0=0xff;EA=1;ET0=1;TR0=1;E=0;_1602(0x38);_1602(0x0c);_1602(0x06);_1602(0x80);_1602(0x01);延时子程序设定延时子程序作为方便其他程序调用,避免程序繁琐重复。我将延时子程序定为有参函
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论