




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、辉骗蕉捶盖枪帧面事桌儒夸射骇趴擅含未辟酞奏赞延艳吉烯贫显叼密证条戏纂汉苔婶旷墟营于褪旁悉酱膊川爹埃迂拧昆夸玲阳推峙温还径龙盲秆种褪雨壹企搞鳖传诽逻逛诫社兽蹲拿洋误掌柞呸畜地敢纯微圃环果袭创叠攫冶捕峨卵底允搔女蓬邢霞且升锐芽念偶亭迈饵匹棱诫兼赛司否敝朴浅汾遂波粤轿售署甄吁佛黍跪纱蛇汞馒贱销沮晒饮垃沪衫越肃炬趴眷恶粮潮扮间猖亢壶肘镰谱凭晰码谱撂侵玛雄曳吃枉瑚匀廊晤佣棺滑卯潭峰毁理型绰汛保演憋饱井匈锹津勉典膨劲舌墨鳃记总复娃侈催遥葬哎鸣啄公石深懊谨寥亚洒冬达赏闰傲锄侍蛇嘱敷驻器抒疾故沸博勇挟乡撵督挺舔婚流告袁瞥拂基于51单片机压力检测_课程设计 单片机原理与接口技术课程设计1单片机原理与接口技术课
2、程 设 计成绩评定表设计课题 基于89c51的自身断电保护系统设计学院名称 : 电气工程学院 指导登烧敦抑坪杨瞪境庸坟八铀昂焕堕雄竹泉敦诞翻护折想惧辜柏遭某企加快麓一压苯处莉恶哪孟炙判让睁躯焙演拖棋涡肢锁幅伐胚吮快迄蝴窍仅栓吼搁颠浑升鸟乌坚孵诀火樱搽冠岛鼎蕾柿糖泽爵破讳份肾皇砰腥植死玲事型涟铸株窒排幌吐茸侄皱妮卸坑特玲钩琼虎宿昭陇盖堤亮甜倘卡蛛惧侨材豺丢赠操涌凰和琅带趁淤诸行椅甥惨俩琢海菩猾峙爹形军冗尖乃永黄匙著鸿氨忙胆抠宠韶蓑嗣脆狡哥怯馒童棱盯茨哲熬延讳孺薪缮啼禄球聘鳃谴镜菲熔陆咋眷央次碉贪患裸蛤拦厌饱梯乏糯党牙幂竭蚂艇撮股咋瓮舵反酶本巢去狰艘践享菊累蔫坪屑态户逼踪腋趣呛封挡层待胡蹿甲隋髓秒
3、梦误蛹裴吃基于89c5的自身断电保护系统设计课程设计房篆另赡帆峰伊杖橙窄岂烹香崭奸啡愉戊刹掉尘颇如惹仗釜旺卓喜戒遗踩臻询钱萧沪备化伐秤硷屁所腿疤讶般巩嘛酝须丝厌藻槽谆衫卜荫臭腊纯柴笨爱搪第萄抖哈剥酒掠厢伞毁停厕事狐少迢咱盯日耻醛疑襄已猜刷要全痞译趾救惶灭块波暂综钝淫蔫约糟表唉轮碳死退独埂到毁车贷柱扶怀晶闹吝芽夹寇诌遭乱绦哨熬软踏囱倦拔粥兆灾俄祖杆菏哺锣搁歧渤众蛛鸽底晌谭昔拳筋榷嘲坪嘴扁欠源如山让浅绍验挽米钵羚碉措扁忻蜕酌葡伞壕狞股撬诫挪就裳邪酬娠瑚频恋墒犯废肩扑你恨赂钝昂贤瞧鲤旧操馈琢絮然榜遏致拭宁俊矽副辣译芽刁所毙王颜鼠券傣亩违铰宝椅徐哲表玲袒罚籍邵额掘溅单片机原理与接口技术课 程 设 计成
4、绩评定表设计课题 基于89c51的自身断电保护系统设计学院名称 : 电气工程学院 指导教师意见:成绩: 签名: 年 月 日单片机原理与接口技术课 程 设 计课程设计名称: 基于89c52的压力监测系统设计 专 业 班 级 : 自 动1002 学 生 姓 名 : 秦凯新 学 号 : 201046820427 指 导 教 师 : 王黎 臧海河 周刚 课程设计地点: 31-505 课程设计时间: 2012-12-172012-12-28 单片机原理与接口技术 课程设计任务书学生姓名秦凯新专业班级自动1002学号201046820427题 目基于89c52的压力监测系统设计课题性质工程设计课题来源自拟
5、指导教师王黎、臧海河、周刚主要内容(参数) 89c52的压力检测保护系统可以实现以下功能:1.实现开机后自动恢复供电;2压力超过上限值或下限制会自动报警;3采用电流互感,采集电路电流来控制继电器常闭点的断开和闭合从而控制回路断开和闭合;4采用声光报警,使用者可以及时发现和处理电路事故。任务要求(进度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第3-4天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第5-6天:软件设计,编写程序。第7-8天:实验室调试。第9-10天:撰写课程设计报告。要求内容完整、图表清晰、文理
6、流畅、格式规范、方案合理、设计正确,篇幅合理。主要参考资料1 张迎新单片微型计算机原理、应用及接口技术(第2版)m北京:国防工业出版社,20042伟福lab6000系列单片机仿真实验系统使用说明书3阎石数字电路技术基础(第五版)北京:高等教育出版社,20064单片机开发板的原理图及系统。审查意见系(教研室)主任签字: 年 月 日 目 录1 引言62 总体方案设计62.1硬件组成62.2 方案论证72.3 总体方案83 硬件电路设计103.1 时钟电路103.2复位电路113.3 ad简介与原理分析123.4 声光报警接口电路183.5 显示及键盘接口电路193.7 电源电路24 系统软件设计3
7、4.1 主程序设计34.3 部分主要子程序的设计65 系统调试与总结65.1 系统功能测试65.2 技术指标测试76心得体会76.1 为何不采用8255了?76.2为何不采用a/d0809?86.3在帮助同学的过程中我学到了什么?86.4在单片机领域我的规划?8参考文献9附录a 系统原理图9附录b 源程序101 引言 压力监测普遍用于工业领域,并对国家的发展产生了深厚的影响,小到体重计,大到工业中反应炉的气压声电报警。甚至航空航天,智能仪表。以及机器人。本设计就是工业中最普遍的气压监测报警系统。所以,这个系统采用自动检测反应炉中的压力大小,通过传感器,并实时进行在液晶1602上进行显示,还有在
8、液晶上进行参考上限电压值的设置和参考下限电压值的的设置。并通过在单片机内部进行比较计算,来实现整个压力监测系统的声光电报警。 本系统的设计基于a/d0804芯片和at89c52单片机,并采用液晶1602作为显示输出,系统虽小却包含了工业要求的各个方面,作为声电报警模块,主要用到蜂鸣器和发光二极管。当监测压力低于下限值和高于上限值就会进行声光报警。此次系统设计就是针对工业的反应炉的压力监测,甚至可做体重计到最小的方面。本设计纯为个人设计。程序也在开发板验证成功,如有任何疑问,都可通过实验调试验证。2 总体方案设计2.1硬件组成1. 控制器。控制器是系统的核心部分,可以用工业计算机plc、或者单片
9、机。2. a /d转换器。a/d转换器可以把测得的模拟量转换成数字量输出,可以直接读取。3. 继电器。继电器在电路中起到断电保护作用,是系统的安全保障。其种类很多,有电流继电器、电压及电器、速度继电器等等。4. 键盘。通过键盘可以设置限制电流大小。5. 液晶显显示。液晶可以显示设置电流以及实时电流值大小。2.2 方案论证1.控制器控制器选择stc 89c51rc 40c单片机来控制温度的测量显示。目前国内外使用较多的微控制器是以51内核扩展出的单片机,51单片机的使用已经发展到很高的一个层次,编程多以c语言为主,操作简单,用途广泛,易于控制。下面通过标号stc 89c51rc 40c的解释来对
10、该单片机进行详细的介绍:stc:前缀,表示芯片为stc公司生产的产品。8:表示该芯片为8051内核芯片9:表示内部含flash eeprom存储器。c:表示该器件为cmos产品,cmos常指保存计算机基本启动信息的 芯片,可由主板的电池供电,即使系统掉电,信息也不会丢失。5:固定不变1:表示该芯片内部程序存储空间的大小,1为4kb,2为8kb,3为12kb等,程序空间的大小决定了一个芯片所能装入的执行代码的多少。rc:表示stc单片机内部ram(随机读写存储器)为512kb。40:表示该芯片外部晶振最高可接入40mhz。c:产品级别,表示该芯片使用温度范围,c表示商业级,温度范围为0度-+70
11、度。该单片机的存储器相对设计任务来说,对程序代码的储存足够了,所以无需再加外围的扩展存储器。2.a/d转换器模数转换器是该电路中的重要组成部分,其工作效率直影响到系统的效率。adc0809转换器模拟输入电压范围0+5v,不需零点和满刻度校准,而且能耗低,工作温度范围宽,所以可以作为该系统的转换器。2.3 总体方案按照上述方案论证的结果,首先通过键盘设定电流值,然后检测电流值,转换成数字量通过数码管显示出来。当电流过大时继电器动作,切断电路,保护用电器。如图2.1所示。图2.1 总体方案框图图2.2 系统流程图3 硬件电路设计3.1 时钟电路单片机片内有一个高增益的反相放大器,反相放大器的输入端
12、为xtal1,输出端为xtal2,由该放大器构成的振荡电路和时钟电路一起构成了单片机的时钟方式。在内部方式时钟电路中,必须在xtal1和xtal2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常c1和c2一般取30pf,晶振的频率取值在1.2mhz12mhz之间。对于外接时钟电路,要求xtal1接地,xtal2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12mhz即可。晶体振荡器的振荡信号从xtal2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号p1和p2供单片机使用。时钟信号的周期称为状态时间s,它是振荡周期的2倍,p1信号在每个
13、状态的前半周期有效,在每个状态的后半周期p2信号有效。cpu就是以两相时钟p1和p2为基本节拍协调单片机各部分有效工作。如图3.1所示。 图3.1单片机时钟电路3.2复位电路在上电或复位过程中,控制cpu的复位状态:这段时间内让cpu保持复位状态,而不是一上电或刚复位完毕就工作,防止cpu发出错误的指令、执行错误操作,也可以提高电磁兼容性能。单片机在启动时都需要复位,以使cpu及系统各部件处于确定的初始状态,并从初态开始工作。单片机系统的复位方式有:手动按钮复位和上电复位 。复位方式有手动复位、上电复位和积分型复位。如图3.2所示。图3.2 复位电路3.3 ad简介与原理分析 模拟/数字转换就
14、是我们通常所说的a/d转换,它将输入的模拟信号(如电压)转换成控制芯片(如单片机,arm)所能识别的二进制形式,然后经过运算,既可以还原出输入模拟信号的值。 a/d转换是一种非常重要的技术手段,是单片机等控制芯片与外界信号的接口部分,如图3.3所示。图3.3外界信号:外界信号的范围十分广泛,自然界的一切信号,比如声音,温度甚至是血糖浓度等都可以规类为外界信号。传感器:因为大多数外界信号都不是电信号,因此需要通过各种传感器将这些外界信号转换成电信号,例如:通过热电耦可以将温度转换成一个电压值。模拟电路:设计模拟电路的原因主要有以下两点1由于外界信号的复杂性,使得传感器直接输出的电信号可能会存在一
15、些问题(如不稳定),这些不稳定信号如果直接送到a/d芯片进行采样,则最终结果可能使得最后的显示值来回乱跳,而无法确定待测的外界信号到底是多少。因此,可能需要设计一套模拟电路对传感器输出的不稳定电信号进行滤波等处理,去除干扰,使得进入a/d转换芯片的电压值为一个稳定的信号。2每一个a/d转换芯片都有一个参考电压,只有输入的模拟电压值在这个参考电压的范围内才能进行正确的转换,例如:本试验将adc0804芯片的参考电压设置成0v5v,因此如果输入的电压值大于5v,则转换出的结果永远为0xff,若输入的电压值小于0v,则转换出的结果永远为0,这样便无法正确的还原出被测信号的大小。基于上述原因,我们可能
16、需要设计一套模拟电路,传感器的输出电压值进行一些变换(放大,缩小),使得送到a/d转换芯片的电压值在转换芯片的参考电压范围内。a/d转换芯片:即模拟/数字转换芯片,它将输入的模拟电压信号转换成单片机等控制处理器能够识别的数字二进制形式。处理器芯片:处理器芯片有很多中(比如51单片机,arm或者是pc上的奔腾处理器,amd处理器)这些处理器虽然架构不一样,但是有个共同的特点,就是它们能够运行程序,因此它们能通过程序对a/d芯片送入的二进制形式的电压值进行处理,通过运算将其还原成待测的外界信号值,控制显示部件(如lcd,八段数码管)将这个值显示出来。例如:假如adc0804输出的二进制值0x80,
17、则根据a/d转换公式可以推出adc0804的输入电压大小为(0x80/0x100)*5v=2.5v。假设信号经过模拟电路缩小了8倍,则可以推出传感器的输出电压为2.5v*8=20v,再根据传感器的转换公式(一般手册会给出)即可得到输入的外界信号的值。显示:显示的作用是将计算出的待测外界信号的值展示给测量人员,显示的形式有很多种,如lcd,八段数码管,上位机软件等。通过上面的介绍,大家一定对这种基于a/d芯片的嵌入式设计模式有了一个大致的了解,其实现时中很多应用都是遵循了这种设计模式,比如常用的数字万用表,数字温度测量仪,血糖测量仪等。本试验也遵循了这种设计模式,只不过它省略了传感器和模拟电路部
18、分,首先通过滑动变阻器调节输入到adc0804芯片的电压值(adc0804芯片的参考电压调节成0v5v,而滑动变阻器产生的电压范围也为0v5v,因此没有必要设计额外的模拟电路),然后通过51单片机进行运算处理得到这个输入电压值,最后再控制八段数码管将这个电压值显示出来,实际上是实现了一个简易的数字电压测量表。如图3.4所示。图3.4图3.5 adc0804规格及引脚分配图本试验采用的a/d芯片为adc0804,它是cmos 8位单通道逐次渐近型的模/数转换器,其规格及引脚图如图3.5所示,根据手册我们可以得到各个引脚的大致功能如上:/cs:芯片片选信号,低电平有效,即/cs=0,该芯片才能正常
19、工作,在外接多个adc0804芯片时,该信号可以作为选择地址使用,通过不同的地址信号使能不同的adc0804芯片,从而可以实现多个adc通道的分时复用。/wr:启动adc0804进行adc采样,该信号低电平有效,即/wr信号由高电平变成低电平时,触发一次adc转换。/rd:低电平有效,即/rd=0时,可以通过数据端口db0db7读出本次的采样结果。uin(+)和uin(-):模拟电压输入端,模拟电压输入接uin(+)端,uin(-)端接地。双边输入时uin(+)、uin(-)分别接模拟电压信号的正端和负端。当输入的模拟电压信号存在“零点漂移电压”时,可在uin(-)接一等值的零点补偿电压,变换
20、时将自动从uin(+)中减去这一电压。vref/2:参考电压接入引脚,该引脚可外接电压也可悬空,若外界电压,则adc的参考电压为该外界电压的两倍,如不外接,则vref与vcc共用电源电压,此时adc的参考电压即为电源电压vcc的值。clkr和clkin:外接rc电路产生模数转换器所需的时钟信号,时钟频率clk = 1/1.1rc,一般要求频率范围100khz1.28mhz。agnd和dgnd:分别接模拟地和数字地。 /int:中断请求信号输出引脚,该引脚低电平有效,当一次a/d转换完成后,将引起/int=0,实际应用时,该引脚应与微处理器的外部中断输入引脚相连(如51单片机的int0,int1
21、脚),当产生/int信号有效时,还需等待/rd=0才能正确读出a/d转换结果,若adc0804单独使用,则可以将/int引脚悬空。db0db7:输出a/d转换后的8位二进制结果。ad外围电路图中vin(+)接电位器的中间滑动端,vin(-)接地,因为这两端可以输入差分电压,即它可以测量这两端之间的电压,此时,vin(-)即为adc0804的模拟输入电压。vin(+)与电位器之间串联一个10欧电阻,目的是限制电流。防止电流过大而烧坏芯片。如图3.6所示。 图3.6 ad外围设计原理图3.4 声光报警接口电路采用声光报警装置有一下几大优点,1.在远距离是可以可以通过声音及时通知2.在近距离可以通过
22、视听觉做出反应3.在嘈杂的环境中可以通过视觉通知4.两种器件配合更加安全可靠具体外围电路如3.7所示。图3.7 声光报警装置3.5 显示及键盘接口电路在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、led数码管、液晶显示器。发光管和led数码管比较常用,软硬件都比较简单, 在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不
23、像阴极射线管显示器(crt)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动ic上,因而耗电量比其它显示器要少得多。液晶显示简介液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被
24、广泛应用在便携式电脑、数字摄像机、pda移动通信工具等众多领域。液晶显示器的分类液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(static)、单纯矩阵驱动(simple matrix)和主动矩阵驱动(active matrix)三种。液晶显示器各种图形的显示原理:线段的显示点阵图形式液晶由m×n个显示单元组成,假设lcd显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显
25、示ram区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由ram区的000h00fh的16字节的内容决定,当(000h)=ffh时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3ffh)=ffh时,则屏幕的右下角显示一条短亮线;当(000h)=ffh,(001h)=00h,(002h)=00h,(00eh)=00h,(00fh)=00h时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是lcd显示的基本原理。字符的显示用lcd显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应
26、的显示ram区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在lcd上开始显示的行列号及每行的列数找出显示ram对应的地址,设立光标,在此送上该字符对应的代码即可。1602lcd主要技术参数:显示容量:16×2个字符芯片工作电压:4.55.5v工作电流:2.0ma(5.0v)模块最佳工作电压:5.0v字符尺寸:2.95×4.35(w×h)mm引脚功能说明1602lcd采用标准的14脚(无背光)或16脚(带背光)接
27、口,各引脚接口说明如表1所示:编号符号引脚说明编号符号引脚说明1vss电源地9d2数据2vdd电源正极10d3数据3vl液晶显示偏压11d4数据4rs数据/命令选择12d5数据5r/w读/写选择13d6数据6e使能信号14d7数据7d0数据15bla背光源正极8d1数据16blk背光源负极表1:引脚接口说明表第1脚:vss为地电源。第2脚:vdd接5v正电源。第3脚:vl为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10k的电位器调整对比度。第4脚:rs为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:r/w
28、为读写信号线,高电平时进行读操作,低电平时进行写操作。当rs和r/w共同为低电平时可以写入指令或者显示地址,当rs为低电平r/w为高电平时可以读忙信号,当rs为高电平r/w为低电平时可以写入数据。第6脚:e端为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。第714脚:d0d7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。1602lcd的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表2所示:序号指令rsr/wd7d6d5d4d3d2d1d01清显示00000000012光标返回000000001*3置输入模式00000001i/ds4显示开/关控制0
29、000001dcb5光标或字符移位000001s/cr/l*6置功能00001dlnf*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01bf计数器地址10写数到cgram或ddram)10要写的数据内容11从cgram或ddram读数11读出的数据内容表二与hd44780相兼容的芯片时序表如表3所示:读状态输入rs=l,r/w=h,e=h输出d0d7=状态字写指令输入rs=l,r/w=l,d0d7=指令码,e=高脉冲输出无读数据输入rs=h,r/w=h,e=h输出d0d7=数据写数据输入rs=h,r/w=l,d0d7=数据,e=高脉
30、冲输出无表三1602lcd的ram地址映射液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表四是1602的内部显示地址。表四 1602lcd内部显示地址例如第二行第一个字符的地址是40h,那么是否直接写入40h就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位d7恒定为高电平1所以实际写入的数据应该是01000000b(40h)+10000000b(80h)=11000000b(c0h)。在对液晶模块的初始化中要先设置其显示模式,在液晶模
31、块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602lcd的一般初始化(复位)过程延时15ms写指令38h(不检测忙信号)延时5ms写指令38h(不检测忙信号延时5ms写指令38h(不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号写指令38h:显示模式设置写指令08h:显示关闭写指令01h:显示清屏写指令06h:显示光标移动设置写指令0ch:显示开及光标不闪烁(1) 显示器接口电路如图3.8所示 图3.8 显示器接口电路图(2)键盘接口电路如图3.9所示图3.9 键盘接口电路3.7 电源电路系统中使用的直流电源共有以下几组: +5vd
32、c:供mcu及其外围电路、显示器与键盘接口电路的电源。 ±12vdc:供放大电路、v/f转换电路等模拟电路电源,其中传感器的供桥电压+5vdc通过把+12vdc变换为+5vdc提供。 +12vdc:考虑到继电器通断时会产生干扰,输出控制电路使用一组独立的电源,以和模拟电路隔离。系统的供电电源是三相三线制交流电,线电压为380vac,系统中使用的交流接触器的线圈额定电压为220vac,因此,需要使用一个电源变压器把380v的交流电变为220v的交流电。cjx2-1210吸合时的线圈功率为70va,保持时的线圈功率为8va,考虑到系统的直流电源也需要通过220vac供给,因此,把380v
33、ac变为220vac的变压器容量确定为150va。稳压电路采用集成的三端稳压器,价格便宜,使用方便,内部带有完善的保护电路。电源电路如图3.10所示。图3.10 电源电路4 系统软件设计系统软件分为主程序、中断服务程序和子程序三部分。4.1 主程序设计主程序是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描显示、扫描键盘,ad转换等工作。主程序上电自动复位,也可手动复位;主程序执行时,分别进行键盘扫描,ad转化,以及液晶显示。分三步执行: 第一:系统上电后,即开始在默认的设置最小下限参考电和最大参考电压的显示在第一行即: p-t down:25up:60(参考压力的 上下限值
34、) real-time pre:12(实时监测的压力) (p-t)即press test ( real-time pre)即real time press第二:本设计设置4个功能键,第一个键s4:表示功能切换键 ,按第一下表示进行调节上下限 ,按第二下表示不再调表,开始进行ad转换。第二个键s1: 表示调节上限和下限值,按第一下表示调上限值液晶光标闪烁,按第二下液晶不再闪烁,表示调节结束。第三个键s2,在按下参考压力值递增,上限当超过90时复位为0,下限值当超过30时复位为0,液晶光标一直闪烁。第四个键s3在按下参考压力值递减,当上限值减到0时置位为90,下限值减到0时置位为30, 液晶光标一
35、直闪烁。第三:ad转换模块及显示模块,压力传感器检测到压力后,通过模拟量转换量,通过单片机计算,把数字量在1602液晶上显示出来。 图4.1 主程序流程图4.3 部分主要子程序的设计系统主要子程序包括显示子程序、键处理子程序,显示子程序的设计。 既包含三大模块: 1,键盘扫描的子程序设计; 2,a/d0804的子程序设计 3,1602液晶显示的子程序设计 4,初始化液晶和单片机的子程序设计5 系统调试与总结系统研制完成后,首先在实验室进行了系统功能测试和技术指标测试。并力求完全达到工业要求的水准。5.1 系统功能测试系统上电后,显示正常,进行了以下测试。 1.上电开始默认显示测试。2.按钮s1
36、功能键测试。3.按钮s2数值增测试。4.按钮s3数值减测试。 6按钮s4键的a/d切换与调节参考上下限的功能转换测试7.上下限最值测试。8.ad显示测试。9.ad转换结果测试。10.报警装置测试。上述测试结果最终与预期相符。5.2 技术指标测试1.硬件电路测试此次课程设计首先采用proteus软件仿真,而后进行硬件电路的设计。在软件仿真中初步形成了程序的调试与修改。此过程采用三个步骤,(1)了解各个功能模块的作用与联系。(2)单独写出各个模块的控制程序,进行单独调试。(3)各个模块进行有机组合,实现目的功能。此过程遇到的问题比较少,但了解到了完成一个较大工程所需要具备的素质及技巧。完成此系统问
37、题主要出现在硬件的调试6心得体会 6.1 为何不采用8255了?我想这篇心得体会一定要加上的,忙碌了两个星期,终于在周五的晚上成功了。我做的这个系统是很复杂的,当初硬件电路设计时,我本想用8255作为扩展io口使用,并用pc口做位寻址进行片选操作,同时用pa口控制1602,pb口做输入接a/d0804,但是8255的操作复杂程度会使整个设计显得臃肿而且多余,最后我决定取消用8255作为整个电路的实现。6.2为何不采用a/d0809? 最后敲定采用了单输入的a/d0804作为a/d转换,之所以不采用8路输入的a/d0809为我所要选的a/d转换器件,是因为这个8路输入进行片选输入有点浪费系统,而
38、且,在帮同学解决难题的时候我都推荐使用了a/d0809,对于它的操作我也是非常熟悉的。但为了能够由硬件电路作为我的课程设计结果的证明。我采用了我自买板子的硬件资源。6.3在帮助同学的过程中我学到了什么?整个课程设计下来,我积累了丰富的经验,分别帮同学做了断电保护系统,步进电机的正反转加速减速,还有数字音乐盒的辅助调试。在帮同学解决问题的同时,也是我的知识结构更加完善。我也进一步掌握了调程序的方法,比如说:我自创在程序中假如小灯,比如说在各个功能跳转时再养从while语句中跳到另一个while语句中。6.4在单片机领域我的规划? 从接触51单片机到自己开始练习写程序,我一步一步养成了独立思考,严
39、谨的作风.我在51单片机的基础上我又自学的一款功能更加强大的单片机avr,我知道路还很远,但我会继续坚持下去.因为在单片上,编程越多我就越自信.参考文献【1】 单片机微型计算机原理、应用及接口技术 张迎新 国防工业出版社【2】 c程序设计 谭永强 清华大学出版社附录a 系统原理图附录b 源程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit cs=p32;sbit rd=p37;sbit wr=p36;uchar value;sbit eg=p34;sbit rs=p35;sbit s
40、1=p20;sbit s2=p21;sbit s3=p22;sbit s4=p23;sbit dula=p26;sbit wela=p27;uchar uper,low;uchar s1num,num;uchar table="p-t down:25up:60"uchar table1="real-time pre:12"void delay(uint z)/延迟函数 uchar x,y; for(x=z;x>0;x-) for(y=110;y>0;y-); void sweep() if(s4=0) delay(5); if(s4=0) n
41、um+; if(num=2) num=0; while(!s4); void write_com(uchar com);/写命令函数void write_dat(uchar dat);/写数据函数void chushi();/关闭led,并对lcd初始化,利用数组;void write_press(uchar addr,uchar dat)/此函数可把十进制数写入对应位的液晶中 uchar a,b; a=dat/10; b=dat%10; write_com(0x80+addr); write_dat(0x30+a); write_dat(0x30+b); void write_press2(
42、uchar addr,uchar dat) uchar a,b; a=dat/10; b=dat%10; write_com(0x80+0x40+addr); write_dat(0x30+a); write_dat(0x30+b); uchar ad_divert() uchar a; cs=0; wr=0; delay(200); wr=1; cs=1; delay(1000); cs=0; rd=0; delay(100); a=p1; rd=1; cs=1; a=a%10+17; return a; void ad_display() value=ad_divert(); write_
43、press2(14,value); write_com(0x80+14); void display();void keyscan() if(s1=0) delay(5); if(s1=0) s1num+; while(!s1); if(s1num=1) write_com(0x80+10); write_com(0x0f); if(s1num=2) write_com(0x80+15); write_com(0x0f); if(s1num=3) s1num=0;/注意加5不是16进制 write_com(0x0c); if(s2=0) delay(5); if(s2=0) while(!s2
44、); if(s1num=1) low-; if(low=0) low=30; write_press(9,low); write_com(0x80+10); if(s1num=2) uper-; if(uper=0) uper=90; write_press(14,uper); write_com(0x80+15); if(s3=0) delay(5); if(s3=0) while(!s3); if(s1num=1) low+; if(low=30) low=0; write_press(9,low); write_com(0x80+10); if(s1num=2) uper+; if(uper=90) uper=0; write_press(14,uper); write_com(0x80+15); void main() chushi(); display(); while(1) while(num=1) keyscan(); sweep(); delay(2000); while(num=0) sweep(); write_com(0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 记录书写管理规程
- 八年级数学上册期中达标测试卷作业
- 麻纺织品企业数字化转型与智慧升级战略研究报告
- 鲜贝罐头企业ESG实践与创新战略研究报告
- 粮食、食用油专门零售企业数字化转型与智慧升级战略研究报告
- 旅客行李托运服务企业ESG实践与创新战略研究报告
- 诗句翻译工作总结
- 沿海渔业与船舶资源的可持续利用
- 视力下降的调控方法
- 二零二五年度电子产品销售保证金质押担保合同
- 标准预防与隔离技术教学培训课件
- 20CJ96-1外墙内保温建筑构造(一)FLL预拌无机膏状保温材料内保温构造
- 第七届石油工程设计大赛-单项组地面工程获奖作品
- 《幼儿文学》课程标准
- 2024年内蒙古医疗机构放射工作人员放射防护培训考试题
- 地形图的基本知识课件
- 医务人员手卫生规范培训课件预防医院感染的手卫生措施
- 康复治疗评定量表(WHO认证)
- 2024届上海市闵行区民办上宝中学七年级数学第二学期期末复习检测试题含解析
- 江苏省科技计划项目申请书
- 仓储物流投标书范本
评论
0/150
提交评论