第一篇:基于单片机体温检测仪系统的设计与实现
In this paper, a temperature detection system based on a single-chip microcomputer is designed to detect human body temperature, display it in digital form, and play the detected human body temperature specific value through the mode of voice playback.The system is composed of several parts: SCM, sensor, LCD, and voice module.The hardware structure is designed with the microcontroller STC89C52 as the core.It detects the human body temperature through the temperature sensor DS18B20, displays the human body temperature value on the LCD1602, and then plays the detected value through the voice module..Part of the system software through the software keil C language program development and design, debugging.The designed electronic body temperature detector has realized temperature detection, digitization, and electronization, which is of great help to the development of future thermometers.The electronic thermometer can gradually replace mercury(toxic element)thermometers, which greatly improves the use value of thermometers, makes readings clear, and reduces Human body damage, safety and environmental protection have further improved the smart life of people.Keywords: Body temperature detector;Electronic;STC89C52 microcontroller;LCD1602
I
基于单片机体温检测仪系统的设计与实现
目录
摘要...........................................................................................错误!未定义书签。Abstract.....................................................................................错误!未定义书签。目录...........................................................................................................................II 1 绪论.............................................................................................................................................1 1.1 背景..................................................................................................................................1 1.1.1 项目背景.......................................................................................................................1 1.1.2 国内发展状况...............................................................................................................1 1.1.3 项目研究内容和要求...................................................................................................2 2 系统分析与设计.........................................................................................................................3 2.1 系统分析..........................................................................................................................3 2.1.1 系统流程.......................................................................................................................3 2.2 概要设计..........................................................................................................................3 2.2.1 程序流程.......................................................................................................................3 2.2.2 功能模块介绍...............................................................................................................3 3 系统实现...................................................................................................................................12 3.1 读ROM地址...............................................................................................................12 3.2 读取温度........................................................................................................................13 3.3 显示温度........................................................................................................................14 4 测试结果...................................................................................................................................16 4.1 测试计划........................................................................................................................16 4.2 仿真结果........................................................................................................................18 5 总结与展望...............................................................................................................................IV 参考文献...................................................................................................................V 致谢...........................................................................................错误!未定义书签。
II
基于单片机的体温探测仪设计 绪论
1.1 背景
体温是人们身体状况的重要指标之一。体温的高低影响着人们的健康状况,会引起一系列的疾病,所以在生病的时候,体温的数值至关重要,而温度检测仪是人们常用的手段。1.1.1 项目背景
在正常的健康状态下,体温是稳定的,保持在约36.2至37.2℃,具体的温度数值产生状况可以区分为:低热:37.4℃~38℃;中等度热:38.1℃~39℃:高热:39.1℃~41℃;超高热:41℃以上。体温的变化会影响人们的健康,所以检测体温就显得非常重要。在现代发展过程中,体温探测器是最重要的手段之一。我们经常使用的水银温度计就是其中之一。然而,由于包含有毒元素和电子技术的水银温度计的发展,电子温度计逐渐发展并渐渐取代水银温度计。
最早的温度计产生在16世纪,由意大利发明家伽利略发明,后来伽利略的学生和其他科学家,在这个基础上反复改进,华氏温度计诞生了;华氏温度计制成后又经过30多年,瑞典人摄尔修斯改进了华伦海特温度计的刻度,他把水的沸点定为100度,把水的冰点定为0度。后来施勒默尔把两个温度点的数值又倒过来,就成了现在的百分温度,即摄氏温度,用℃表示,成为了人们常用方式。
在现代技术的高速发展,电子体温检测仪逐步出现发展壮大,渐渐取代普通体温计,电子体温计由温度传感器,LCD显示器,和集成电路等电子元件组成。电子体温检测仪可以快速准确地测量一个人体温,与传统的水银温度计相比,电子温度检测仪具有读数方便,测量时间短,精度高,记忆性好等优点。特别是电子体温计不含水银,对人体和环境没有影响,特别适合家庭,医院等场合使用。
1.1.2 国内发展状况
中国的电子温度计产业起源于1998年,发展速度超过30%,并在一年内超过10年。利润率,政策壁垒和技术壁垒低一倍甚至10倍以上,吸引了大量公司进入该行业。目前,拥有80多个电子温度计的国产品牌是行业领先的国外品牌,如“欧姆龙”,“夏尔”,“网关”等。有“海尔”,“Delcon”,“Yucon”和“Hypercon”。华辰,华安,康复,冲等迅速发展。未来国内品牌扩张,试图进入该行业的厂商将达到50家以上。由于电子温度计行业逐步标准化和高新类的电子产品的兴起,电子体温计产品行业进入空前高速发展阶段。
常用的电子温度计有三种类型:硬棒温度计:广泛应用于家庭的温度计,使用腋下测量和口腔测量。软棒类型:软头电子体温计可以任意弯曲,多方位,无死角,适合所有部位的测量,一般可以使用口,腋,肛三种测量方法。安抚奶嘴类型:婴儿安抚奶嘴电子体温计是根据宝宝的生理特点精心设计和制造的。所有部件都设计
基于单片机体温检测仪系统的设计与实现
成圆弧形,曲率基于婴儿嘴巴的形状。硅胶奶嘴中的温度传感器包含一个温度传感器。与以往传统市场的体温计相比,它的误差一般不超过±0.1℃,易于读取和携带,但是当由体温,时间和外界空气,体内不同部位测得的体温和温度差异导致稳定性差。
1.1.3 项目研究内容和要求
在本项目中,设计的体温检测仪要求便于携带,精度准确,具有播报功能。所以在设计中选取了单片机STC89C52为核心,因为STC89C52它具有便携性,易用性和高性能等优点,它内部具有存储器4K,宽度8bit,128内存,本设计使用它可以满足我们所有的需求。此外还选用了温度传感器DS18B20为主的检测体温模块,检测体温温度,用LCD1602显示体温数值作为体温检测仪的显示器,最后加以来实现体温检测到的数值播报功能。在本项目中研究的主要是体温检测,经过温度传感器进行温度采集,再进行数字转换,通过单片机转发给显示模块LCD1602,在进行数值播报这一系列功能实现的过程。
具体功能:
1、显示温度范围 0摄氏度到85摄氏度。
2、温度精确到小数点后一位。
3、LCD1602显示DS18B20检测到的温度数值。
4、当温度超过一定上限的数值,会进行温度交警,LCD显示“temp is too high”
基于单片机体温检测仪系统的设计与实现 系统分析与设计
2.1 系统分析
在这个设计当中选用了单片机STC89C52作为核心,主要起主控作用,控制着整个系统的运行。这个体温检测仪系统采用了温度传感器DS18B20进行温度的检测,当传感器检测温度之后,会在LCD1602上显示相应的温度数值。2.1.1 系统流程
系统设计流程图如图1-1所示。
图2-1系统设计框图
2.2 概要设计 2.2.1 程序流程
程序流程图如图2-2程序流程图所示
图2-2程序流程图
2.2.2 功能模块介绍
单片机系统模块:主要由STC89C52单片机、复位电路和晶振电路三个部分组成。
基于单片机体温检测仪系统的设计与实现
STC89C52单片机是ATMEL公司制造的低电压,高性能CMOS 8位微控制器。它采用ATMEL的高密度非易失性存取技术,内置8个字节的只读存储器(EPROM)和128字节内部RAM,k字节Flash闪速存储器。STC89C52单片机拥有较高的性能,而且成本低,可用于各种控制领域,它集成了微型计算机的主要组件,包括CPU,存储器,可编程I / O端口,定时器/计数器和串行端口。
芯片参数:
1、工作电压:3.3V--5.5V
2、工作频率范围:0--40MHz 3、8位CPU
4、片集成256字节RAM。5、4个8位的并行I/O接口:P0,P1,P2,P3
6、单片机下载程序直接通过P30 P31 RXD和TXD串行端口。
7、具有EEPROM功能。8、2个16位定时/计数器 9、5个优先级别的5个中断源
10、定时器可以用来模拟许多异步串行端口。它的基本结构如图3-1所示。
图2-3单片机基本结构图
电源电路:此最小系统中的电源供电模块的电源可以通过计算机的USB口供给,也可使用外部稳定的5V电源供电模块供给。电源电路中接入了电源指示LED,图中R2为LED的限流电阻。当LED发亮时,这表示USB电源电路供电成功。
基于单片机体温检测仪系统的设计与实现
图2-4电源电路图
晶振电路:电路中的C1非极性电容器和C2非极性电容器是启动电容器。当12MHz晶体振荡器工作在高频时,它会产生一定的寄生电感。为了平衡电感并产生谐振,可以添加两个10-33pf的非极性电容。
单片机内部有一个振荡电路,我们需要将晶振电路连接到外部工作。晶体和电容以及内部电路组成一个振荡电路。只要MCU接通电源,电容就开始振荡,晶体振荡器工作,从而使MCU具有连续的时钟信号。51单片机有一个12路分频器,所以时钟周期为t = 1 /12000000≈1us。
图2-5晶振电路图
基于单片机体温检测仪系统的设计与实现
LCD显示模块:LCD1602是一种用于显示字母,数字,符号等的点阵式液晶模块。由多个5X7或5X11点阵字符位组成,每个点字符位都可以显示一个字符,每一位在点线之间有一个间隔,每行也有一个间隔,它会播放一个字符间距和行。间距的作用。LCD1602指显示内容为16X2,表示可显示两行,每行16个字符的LCD模块(可显示字符或者数字)。我们可以通过单片机的端口来控制LCD1602的数据引脚,数据命令和使能引脚由SCM的P1.5,P1.6和P1.7端口控制。通过遵循LCD1602通信时序控制,我们可以显示要显示的数据,通过P2端口发送给LCD实时显示。
图2-6 LCD显示电路图
LCD1602采用标准的16脚接口,其中: 1:GND是电源地
2:VCC连接到5V电源的正极。
3:V0是LCD对比度调节端子。当正电源连接时,对比度最弱。当电源接地时,对比度最高。(对比度过高,会产生“鬼影”,使用时可用10K电位器调节对比度)。
4:RS为寄存器选择,高电平为1时选择数据寄存器,低电平为0时选择指令寄存器。
5:RW是读/写信号线。读操作在高电平(1)下执行,写操作在低电平(0)下执行。
6:E(或EN)端为使能端,高电平时读信息(1),负跳时执行指令。7〜14:D0〜D7为8位双向数据终端。第15至第16脚:空脚或背光电源。15:针背光正极 16:针背光负极。
功能特点:3.3V或5V工作电压,对比度可调,包括复位电路,提供多种控制命令,如:清屏,字符闪烁,光标闪烁,显示移位等功能,具有80字节数据显存DDRA内存是192个字符发生器CGROM与5X7点阵和8个用户可定义的5X7字符发生器CGRAM。
特点应用:微功耗,体积小,显示内容丰富,超薄轻便,常用于袖珍仪器和低功耗应用。LCD1602指令、功能令、指令码如下图所示:
基于单片机体温检测仪系统的设计与实现
图2-7
LCD1602指令集图
测温模块:由DS18B20传感器组成,单总线结构,DS18B20的DQ与单片机P3口连接,通过上拉电阻接电源,只要发送DS18B20传感器相应的ROM地址,就能访问该器件。本系统通过DS18B20传感器检测到人体温度,再调用单片机中的读取DS18B20温度的程序:向总线放启动温度转换命令,启动连接总线上的DS18B20模块温度装换——根据传感器的64位ROM地址,发送到总线匹配对应的传感器模块——向总线发读取暂存器命令读DS18B20模块转换的温度值。
图2-8
测温模块电路图
基于单片机体温检测仪系统的设计与实现
DS18B20传感器的工作原理:DS18B20的读写时序和温度测量原理与DS1820相同,但由于温差取得的位数不同,温度转换延时时间从2s到750ms不等。DS18B20温度测量原理:低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号给计数器1。高温度系数晶体振荡器随着温度显着地改变其振荡速率,并且所产生的信号用作计数器2的脉冲输入。计数器1和温度寄存器预设为对应于-55°C的基准值。计数器1对由低温度系数晶体振荡器产生的脉冲信号进行倒计数。当计数器1的预置值减小到0时,温度寄存器值将增加1,计数器1的预置再次被加载,并且计数器1重新启动。对由低温度系数晶体振荡器产生的脉冲信号进行计数,并且重复该周期直到计数器2达到0.温度寄存器值的累积被停止。此时,温度寄存器中的值是测量温度。斜率累加器用于补偿和校正温度测量过程中的非线性,其输出用于校正计数器的预设值。技术性能:
1、独特的单线接口模式,DS18B20只需要一条端口线即可连接微处理器,实现微处理器与DS18B20的双向通信。
2、温度范围-55°C〜+ 125°C,固有温度误差(注意,不是分辨率,以前出错了)1°C。
3、支持多点联网功能,多个DS18B20可以并行连接在三根线上,最多只能并联8根,实现多点温度测量,如果数量过多,会使电源电源电压过低,导致信号传输不稳定。
4、电源:3.0〜5.5V / DC(数据线寄生供电)
5、不需要使用任何外部组件
6、测量结果以9〜12位串行传输
7、不锈钢保护管直径Φ6
8、适用于DN15〜25,DN40〜DN250各种传媒行业管道和狭小空间设备的测温
9、标准安装螺纹M10X1,M12X1.5,G1 / 2“可选
10、PVC电缆直接出线或德式球接线盒出线,方便与其他电器设备连接。接线方法:
面对传感器平坦的一面,左正右负,一旦逆转,它们会立即变热,并可能燃烧!同时,反过来也是传感器始终显示85°C的原因。在实际操作过程中,正负旋转反转,传感器立即发热,液晶屏不显示读数,正负极端显示85°C。另外,如果使用51单片机,中间引脚必须连接4.7K-10K的上拉电阻,否则,由于高电平不能正常输入/输出,或者在电源显示85°C后立即或 使用几个月后温度升至85°C并正常。特点:
独特的第一线接口只需要一个端口通信,简化了分布式温度检测应用。不需要外部组件来提供数据总线电力。电压范围为3.0 V至5.5 V.不需要备用电源。测量温度范围为-55°C至+ 125°C。华氏度相当于-67°C至257°F-10°C至+85°C±0.5°C
基于单片机体温检测仪系统的设计与实现
温度传感器可编程分辨率为9至12位,温度转换为12位数字格式,最大可达750毫秒,用户可定义的非易失性温度报警设置,应用包括温度控制,工业系统,消费类电子产品温度计,敏感系统。
描述DS18B20的数字温度计提供9到12位(可编程设备温度读数)。由于DS18B20是一种端口通信,中央微处理器只有一个与DS18B20的端口连接。对于读写和温度转换,可以从数据线本身获得能量,无需外部电源。由于每个DS18B20包含一个唯一的序列号,所以同一条总线上可以同时存在多个DS18B20。这使得温度传感器可以放置在许多不同的地方。它有许多用途,包括空调环境控制,建筑物中温度设备或机器的传感,以及过程监控和控制。
DS18B20使用单线通信接口,由于第一线通信接口,必须先完成ROM设置,否则存储器和控制功能将不可用。主要提供以下功能命令之一:1.读取ROM 2.ROM匹配3.搜索ROM 4.跳过ROM 5.报警检查。这些指令在没有设备的64位平版ROM序列号上运行。可以选择一条线上的多个设备来选择一个设备。同时,总线可以知道总线上有多少设备以及总线上有哪些设备。
如果指令成功完成DS18B20温度测量,则数据将存储在DS18B20的存储器中。控制功能指示DS18B20执行温度测量。测量结果将被放入DS18B20的存储器中,并可由存储器功能的指令器读取,读取内容的片上存储器。温度报警触发TH和TL有一个字节的EEPROM数据。如果DS18B20不使用警报检查指令,则这些寄存器可用于一般用户存储目的。片内还包含配置字节以理想地解决温度数字转换问题。写入TH,TL指令和配置字节是使用存储器功能指令完成的。通过寄存器读寄存器。所有数据的读写从最低位开始。
部件描述:DS18B20的存储器由暂存RAM和电可擦除RAM组成,电可擦除RAM又包括温度触发器TH和TL以及配置寄存器。内存可以完全确定第一线端口的通信,用写入寄存器的命令将数字写入寄存器,然后读取寄存器的命令也可用于确认这些数字。当进行确认时,可以使用命令复制寄存器将这些数字传送到电可擦除RAM中。当寄存器中的数字被修改时,此过程确保数字完整性。
高速缓冲存储器RAM由8个字节的存储器组成;读取寄存器的命令可以读取第九个字节。该字节用于验证前八个字节。
64位光刻ROM,其前8位是DS18B20自己的代码,接下来的48位是连续的数字代码,最后8位是CRC校验的前56位。64位光刻ROM还包含五个ROM功能命令:读取ROM,匹配ROM,跳转ROM,查找ROM和报警查找。
外部电源连接:DS18B20可以使用外部电源VDD或内部寄生电源。当VDD端口连接到3.0V至5.5V的电压时,使用外部电源;当VDD端口接地时使用内部寄生电源。无论是内部寄生电源还是外部电源,I / O端口线都必须连接一个约5KΩ的上拉电阻。
配置寄存器配置有不同的位数,以确定温度和转换次数。可以看出,R1和R0
基于单片机体温检测仪系统的设计与实现
是温度决定位,可以通过R1和R0的不同组合来配置为9位,10位,11位和12位温度显示。这样,可以知道对应于不同温度转换位的转换时间。四种配置的分辨率分别为0.5℃,0.25℃,0.125℃和0.0625℃,出货时配置为12位。
温度读数:DS18B20配置为12位。读取温度时,读取16位数据。前5位是符号位。当前5位为1时,读取温度为负值;目前的5位。在0时,读取温度为正值。当温度为正值时,读取方法为:将十六进制数转换为十进制数。当温度为负值时,读数方法为:将16加到16的倒数,然后转换为10进制。例:0550H = +85 度(0*16^0+5*16^1+5*16^2+0*16^3=1360;1360*0.0625=85),FC90H =-55 度。
ROM指令表如下所示:
图2-9 ROM指令表图
RAM指令表:
图2-10 RAM指令表图
时序:
使用时间间隙来读写 DSl8B20 的数据位和写命令(1)初始化
时序见图 2.11 总线 在to 时段发送一复位脉冲(最短为 480us 的低电平信号)接着在 tl 时段释放总线并进入接收状态 DSl8B20 在检测到总线的上升沿之后 等待 15-60us 接着 DS18B20 在 t2 时段发出存在脉冲(60-240 us)如图中虚线所示。
基于单片机体温检测仪系统的设计与实现
图2-11 初始化时序
(2)写时间隙
当总线 t0 时段从高电平到低电平时,就产生写时间隙,见图 2-12和 图 2-13,从 t0时段开始在15us 之内应将所需写的位送到总线上 DSl8B20 在 t 后 15-60us 间对总线采样,若低电平写入的位是 0。见图 2-12,若高电平写入的是 1,见图 2-13连续写 2 位间的间隙应大于 1us。
图2-12 写0时序
图2-13 写1时序
(3)读时间隙
见图 2-13主机总线 to 时段从高拉至低电平时 总线只须保持低电平l 7us 之后在 t1 时段将总线拉高 产生读时间隙 读时间隙在 t1 时段后 t 2 时段前有效 t z 距 to 为 15us 也就是说 t z 时段前主机必须完成读位 并在 t o 后的 60 us 一 120 us 内释放总线。
图2-14 读时序
读取温度过程:调用初使化子程序---送入跳过 ROM 命令(0xcc)---送入温度转换命令(0x44)---温度转换,再次初使化 ds18B20---送入跳过 ROM 命令(0xcc)-----送入读温度暂存器命令(0xbe)---读出温度值低字节----读出温度值高字节。
报警模块:当检测到的体温数值超过37摄氏度时,系统会进行报警显示,LCD1602进行报警提示,LCD第二行会显示“temp is too high”。
基于单片机体温检测仪系统的设计与实现 系统实现
3.1 读ROM地址
读ROM地址程序要把DS18B20模块连接到单总线上,并把当前DS18B20模块的ROM地址读取:过程如下,首先计算存储当前DS18B20模块ROM地址的存储单元的偏移地址,然后初始化DS18B20,发送和读取ROM命令,并将ROM地址读入内存位置。读ROM地址部分程序: void read_ROM(){
uchar j;
j = NUM1*8;
DS18B20_init();
write_byte(0x33);
ROM[j] = read_byte();}
图3-1 ROM读取地址程序的流程图
基于单片机体温检测仪系统的设计与实现
3.2 读取温度
读取DS18B20温度时,首先向总线放启动温度转换命令,启动连接总线上的DS18B20模块温度装换;再根据传感器的64位ROM地址,发送到总线匹配对应的传感器模块;最后向总线发读取暂存器命令读DS18B20模块转换的温度值。读取温度部分程序: void read_temp()
{ DS18B20_init();write_byte(0xcc);
write_byte(0x44);
delay(400);
DS18B20_init();write_byte(0xcc);write_byte(0xbe);
DATA_L = read_byte();
DATA_H = read_byte();
temp1=DATA_H*256 + DATA_L;
temp=temp1*0.0625;temp2=temp*10;}
图3-2 DS18B20读取温度程序的流程图
基于单片机体温检测仪系统的设计与实现
3.3 显示温度
显示温度传感器读出的温度值,DS18B20传感器的温度值是12位,存放在2个字节中,其中高字节的高5位为符号位,如果温度值是正数,则符号位0,如果温度值是负数,则符号位为1。在显示温度程序时,首先根据高位字节的高5位确定是正数或者负数,并提取高位字节的百位,十位和十位数字,并将其转换为字符代码并将其放入相应的缓冲区;将其内容显示在液晶监视器上。显示温度部分程序: void disp_temp(){
uchar k;
} 报警提示: if(temp2 > 370)
{
wc51r(0xc0);
{
wc51ddr(LCD2_line[k]);
delay(2);
} } else {
wc51r(0xc0);
wc51r(0x80);
LCD1_line[10] =(temp2%100)%10+0x30;LCD1_line[7] =(temp2/100)+0x30;
LCD1_line[8] =(temp2%100)/10+0x30;
LCD1_line[9] = '.';LCD1_line[12] = '^';LCD1_line[13] = 'C';for(k=0;k<16;k++){
wc51ddr(LCD1_line[k]);
delay(2);}
for(k=0;k<16;k++)
基于单片机体温检测仪系统的设计与实现
for(k=0;k<16;k++)
}
{
wc51ddr(LCD3_line[k]);
delay(2);
} }
图3-3 DS18B20显示温度程序的流程图
基于单片机体温检测仪系统的设计与实现 测试结果
4.1 测试计划
在keil,我们编译程序并通过keil编译编译器,以确保程序没有错误。如果没有错误,我们使用keil软件模拟逐步模拟并检查相关寄存器的值以确认程序是否正确。或者,通过编译生成的十六进制文件编译仿真软件并检查结果,直到结果没有错误。
Proteus仿真软件不仅可以在仿真软件的接线图中,Keil编译的编译程序可以直接下载到单片机仿真器上,可以模拟实验结果,从而检测出设计成功。
在keil中,我们编写了一个由keil中的编译器编译的程序。这确保语法无错误。我们在keil中使用软件仿真来模拟逐步模拟,并且检查相关寄存器的值。该过程是正确的。或者编译生成的HEX文件并将其写入仿真软件以查看特定效果,并且可以无误地完成。
Keil C51由ARM公司开发。它是一款非常强大的单片机开发工具,用于51单片机的开发和设计,内部具体的编译和调试软件仿真等等。您也可以开发ARM程序。Keil软件只需要设置生成HEX,就可以将高级语言翻译成机器可识别的机器语言。
设计开发过程使用Keil C51开发环境。首先打开keil C51程序开发软件,双击这个软件进入软件开发的主界面,这时候没有项目文件,我们需要创建一个项目,点击项目项目,选择第一个选项,然后选择保存位置和项目名称,然后弹出选择单片机类型的接口,因为我们使用的硬件单片机STC89C52和AT89S52属于同一个。当keil创建项目时,我们可以用AT89C52替换STC89C52微控制器。由于它们都属于5微控制器,请选择确定,然后单击确定。
图4-1 keil创建工程
完成上述步骤后,需要创建.c文件并将其保存,然后想要将保存的.c文件添加
基于单片机体温检测仪系统的设计与实现
到项目中,右键单击该项目组,然后选择添加文件...,然后 你可以看到项目目录中的.c文件。此时,您可以将程序写入程序区域。程序编写完成后,需要编译。Keil C51软件可以生成可直接使用的HEX格式文件。因此,还必须生成HEX文件。要生成HEX文件,您必须在IDE的“Projet”>“Output”HEX-80中选择HEX Format列,然后勾选Create HEX File列。如下图所示:
图4-2 keil配置图
接下来我们把编译生成的hex文件,下载到仿真软件中的模拟单片机,进行仿真测试。
Proteus软件是英国Lab Center Electronics公司发布的EDA工具软件(该软件是广州飞马电子科技有限公司的总代理)。它不仅具有其他EDA工具软件的仿真功能,而且还可以仿真MCU和外围设备。它是模拟微控制器和外围设备的更好工具。尽管目前国内的推广工作刚刚起步,但单片机爱好者,从事单片机教学的教师以及致力于单片机开发和应用的科技工作者对此表示赞赏。
Proteus是英国着名的EDA工具(仿真软件)。从原理图布局和代码调试到单片机和外围电路的协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。它是世界上唯一将电路仿真软件,PCB设计软件和虚拟模型仿真软件相结合的设计平台。该处理器型号支持8051,HC11,PIC10 / 12/16/18/24/30 / DsPIC33,AVR,ARM,8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并继续增加其他系列处理器模型。在编译方面,它也支持许多编译器,如IAR,keil和MPLAB。
特征: 1.原则布局
2.PCB自动或手动布线 3.SPICE电路仿真
基于单片机体温检测仪系统的设计与实现
革命性的特点: 1.交互式电路仿真
用户甚至可以使用RAM,ROM,键盘,电机,LED,LCD,AD / DA,一些SPI器件和一些IIC器件等实时应用。
2.仿真处理器及其外围电路
可以仿真51系列,AVR,PIC,ARM等。常用的主流单片机。您也可以直接在基于原理图的虚拟原型上编程,然后显示和输出。运行后您可以看到输入和输出的效果。通过配备系统配置的虚拟逻辑分析仪和示波器,Proteus建立了完整的电子设计开发环境。4.2 仿真结果
经过仿真测试,系统顺利运行,LCD显示准确地得出检测的结果。
图4-3 电路模拟仿真图
实物检测成果如下图所示:
基于单片机体温检测仪系统的设计与实现
图4-2 系统实物检测图
基于单片机的体温探测仪设计 总结与展望
本系统通过以单片机STC89C52为核心设计开发的体温检测仪,用DS18C20传感器检测体温,在LCD1602显示体温数值,在最后的实验下基本实现了这些功能,满足了项目需求。但是该系统还是存在着不少的缺陷,还有许多改进的地方需要完善。相较于其他的温度检测系统来说,本次设计的体温检测仪最大的亮点就在于它的集成度较高,携带也比较方便,我对此系统还有更近一步的空间,对于温度传感器的知识了解还不是很深入,对此掌握的还不是很熟练。通过了这次的温度检测仪的设计和开发,对温度传感器的知识有了进一步的了解,在设计的过程中也学习到了很多知识,也了解了自己的不足之处,希望在今后能够加深对这方面的知识,在以后的设计过程中能更一步。
IV
基于单片机体温检测仪系统的设计与实现
参考文献
[1] 杨加国,谢维成.单片机原理与应用及C52程序设计(第三版)[M].北京:清华大学出版社,2014.[2] 李泉溪.单片机原理与应用实例仿真.北京:北京航空航天大学出版社,2007: 266-275.[3] 高卫东.51单片机原理与实践[M].北京航空航天大学出版社,2011.[4] 潘永雄.新编单片机原理及应用[M].西安电子科技大学出版社,2008.[5] 何立民.单片机应用系统设计[M].北京:北京航天航空出版社,1990:50-490.[6] 刘瑞新.单片机原理及应用教程.机械工业出版社,2003:7 [7] 楼然苗.单片机课程设计指导.北京:北京航空航天大学出版社,2007:55-63.[8] 贾巍.单片机仿真开发软件的应用[M,]中国水运出版社,2007.[9] 刘文涛.单片机应用开发实例[M].清华大学出版社,2005.[10] 王勇等.凌阳单片机原理及其毕业设计精选[M].科学出版社, [11] 刘笃仁,韩保君.传感器原理及应用技术[M].机械工业出版社,2003:8.[12] 何希才.传感器及其应用电路.北京:电子工业出版社,2001:36-47.[13] 张开生,郭国法.MCS-51单片机温度控制系统的设计[M].2005:7.[14] 赵丽娟,邵欣.基于单片机的温度监控系统的设计与实现[M].机械制造,2006:3.[15] 朱旭光,刘建辉.农业大棚的温湿度控制系统[J].自动化技术与应用,2005.V
基于单片机体温检测仪系统的设计与实现
VI
第二篇:基于单片机的恒压供水系统的设计与实现
湖南科技大学毕业设计(论文)
题目 作者 学院 专业 学号 指导教师
二〇一一年四月八日
单片机构成的恒压供水控制系统设计 李铁雄 信息与电气工程 自动化
0704020117 沈宏远老师
IV 湖南科技大学毕业设计(论文)
目录
前言.................................................................1 1 绪论...............................................................1 1.1 恒压供水系统的概念..............................................1 1.2变频器的基本概念
1.3变频恒压供水系统主要特点.........................................2 1.4 恒压供水技术实现................................................2 2 变频恒压调速供水系统的工作原理.....................................3
2.1 系统工作过程..................................................4 2.2 变频调速的基本调速原理........................................6 2.3 水泵变频调速节能分析..........................................7 2.4 本章小结......................................................8 3 变频恒压调速供水系统硬件设计.......................................8
3.1 硬件总体说明..................................................9 3.2 555定时器复位电路............................................9 3.3 LED数值显示 D/A数值采集 D/A数值反馈........................11
3.3.1 LED数值显示模块........................................11 3.3.2 数据采集A/D转换电路...................................12 变频恒压调速供水系统软件设计......................................13
4.1 编程软件.....................................................13
4.1.1 C051编译器介绍.........................................13 4.1.2 KEIL编译器.............................................14 4.2 单片机资料...................................................14 4.3 软件的程序设计图.............................................15 5 结论..............................................................17 附录................................................................19 参考文献............................................................26
V 湖南科技大学毕业设计(论文)
基于单片机恒压供水系统设计
前言
随着社会经济的迅速发展,人们对供水的质量和安全可靠性的要求不断提高。把先进的自动化技术、通讯技术、网络技术等应用到供水领域,成为对供水企业新的要求。在大力提倡节约能源的今天,研究高性能、经济型的恒压供水监控系统。所以,对于某些用水区提高劳动生产率、降低能耗、信息共享,采用恒压供水系统,具有较大的经济和社会意义。恒压供水是指在供水管网中用水量发生变化时,出口压力保持不变的供水方式。供水压力值是根据用户需求确定的,传统的恒压供水方式是采用水塔、高位水箱、气压罐等设施来实现,随着变频调速技术的日益成熟和广泛应用,利用变频器、PID调节器、传感器、PLC等器件的有机组合,构成控制系统,调节水泵的输出流量,实现恒压供水。绪论
1.1 恒压供水系统的提出
采用电动机调速装置与可编程控制器(PLC)构成控制系统,进行优化控制泵组的调速运行,并自动调整泵组的运行台数,完成供水压力的闭环控制,在管网流量变化时达到稳定供水压力和节约电能的目的。系统的控制目标是泵站总管的出水压力,系统设定的给水压力值与反馈的总管压力实际值进行比较,其差值输入CPU运算处理后,发出控制指令,控制泵电动机的投运台数和运行变量泵电动机的转速,从而达到给水总管压力稳定在设定的压力值上。恒压供水就是利用变频器的PID或PI功能实现的工业过程的闭环控制。即将压力控制点测的压力信号(4~20mA)直接输入到变频器中,由变频器将其与用户设定的压力值进行比较,并通过变频器内置PID运算将结果转换为频率调节信号调整水泵电机的电源频率,从而实现控制水泵转速。
供水系统选用原则水泵扬程应大于实际供水高度。水泵流量总和应大于实际最大供水量。
变频调速恒压供水技术其节能、安全、供水高品质等优点,在供水行业得到了广泛应用。恒压供水调速系统实现水泵电动机无级调速,依据用水量的变化(实际上为供水管网的压力变化)自动调节系统的运行参数,在用水量发生变化时保持水压恒定以满足用水要求是当今先进、合理的节能型供水系统。在实际应用中如何充分利用变频器内置的各种功能,对合理设计变频器调速恒压供水设备,降低成本、保证产品质量等有着重要意义。
变频器的基本概念
1、基本概念
(1)VVVF
改变电压、改变频率(Variable Voltage and Variable Frequency)的缩写。
(2)CVCF 湖南科技大学毕业设计(论文)
恒电压、恒频率(Constant Voltage and Constant Frequency)的缩写。各国使用的交流供电电源,无论是用于家庭还是用于工厂,其电压和频率均200V/60Hz(50Hz)或100V/60Hz(50Hz)。通常,把电压和频率固定不变的交流电变换为电压或频率可变的交流电的装置称作“变频器”。为了产生可变的电压和频率,该设备首先要把三相或单相交流电变换为直流电(DC)。然后再把直流电(DC)变换为三相或单相交流电(AC),我们把实现这种转换的装置称为“变频器”(inverter)。
变频器也可用于家电产品。使用变频器的家电产品中不仅有电机(例如空调等),还有荧光灯等产品。用于电机控制的变频器,既可以改变电压,又可以改变频率。但用于荧光灯的变频器主要用于调节电源供电的频率。汽车上使用的由电池(直流电)产生交流电的设备也以“inverter”的名称进行出售。变频器的工作原理被广泛应用于各个领域。例如计算机电源的供电,在该项应用中,变频器用于抑制反向电压、频率的波动及电源的瞬间断电。
1.2 变频恒压供水系统主要特点
a.节能,可以实现节电20%~40%,能实现绿色省电。b.占地面积小,投资少,效率高。
c.配置灵活,自动化程度高,功能齐全,灵活可靠。
d.运行合理,由于是软启和软停,不但可以消除水锤效应,而且电机轴上的平均扭矩和磨损减小,减小了维修量和维修费用,并且水泵的寿命大大提高。
e.由于变频恒压调速直接从水源供水,减少了原有供水方式的二次污染,防止了很多传染疾病。
f.通过通信控制,可以实现五人职守,节约了人力物力。
1.3 恒压供水技术实现
通过安装在管网上的压力传感器,把水转换成4~20mA的模拟信号,通过变频器内置的PID控制器,来改变电动水泵转速。当用户用水量增大,管网压力低于设定压力时,变频调速的输出频率将增大,水泵转速提高,供水量加大,当达到设定压力时,电动机水泵的转速不再变化,使管网压力恒定在设定压力上;反之亦然。
目前交流电机变频调速技术是一项业已广泛应用的技能技术,由于电子技术的飞速发展,变频器的性能有了极大的提高,它可以实现控制设备软启停,不仅可以降低设备故障率,还可以大幅缩减电耗,确保系统安全、稳定、长周期运行。
长期以来区域的供水系统都是由市政管网经过二次加压和水塔或天而水池来满足用户对供水压力的要求。在供水系统中加压泵通常是用最不利水电的水压要求来确定相应的扬程设计,然后泵组根据流量变化情况来选配,并确定水泵的运行方式。由于用水有着季节和时段的明显变化,日常供水运行控制就常采用水泵的运行方式调整加上出口阀开度调节供水的水量水压,大量能量因消耗在出口阀而浪费,而且存在着水池“二次污染”的问题。变频调速技术在给水泵站上的应用,成功解决了能耗和污染两大难题[1]。湖南科技大学毕业设计(论文)变频恒压调速供水系统的工作原理
在变频调速供水系统中,是通过变频调速来改变水泵的转速从而改变水泵工作点来达到调节供水流量的目的。反应水泵运行工程的水泵工作点也称为水泵工况点,是指水泵在确定的管路系统中,实际运行时所具有的扬程、流量以及相应的效率、功率等参数。调节水泵转速的过程中,水泵工况点的调节是一个十分关键的问题。如果水泵工况点偏离设计工作点较远,不仅会引起水泵运行效率降低、功率升高或者发生严重的气穴现象,还可能导致管网压力不稳定而影响正常的供水。水泵在实际运行时的工作点取决于水泵性能、管路水力损失以及所需实际扬程,这三种因素任一项发生变化,水泵的运行工况都会发生变化因此水泵工况点的确定和工况调节与这三者密切相关。
图2-1 变频恒压供水系统组成框图 湖南科技大学毕业设计(论文)
图2-1就是一个典型的由8051单片机控制的恒压调速供水系统。系统由微机控制器、交流变频调速器、水泵机组、供水管网和压力传感器等组成,控制系统结构原理如图2-2所示。8051单片计算机在这里主要起压力采集,PID调节器计算、功能判断处理、消防处理、逻辑切换、压力显示和声光报警等作用[2]。
图2-2 单片机的变频恒压调速系统原理框图
2.1 系统工作过程
根据现场生产的实际状况,白天一般只需开动一台水泵,就能满足生产生活需要,小机工频运行作恒速泵使用,大机变频运行作变量泵;晚上用水低峰时,只需开动一台大机就满足供水需要,因此可采用一大一小搭配进行设计,即把1#水泵电机(160KW)和2#水泵电机(220KW)为一组,自动控制系统可以根据运行时间的长短来调整选择不同的机组运行。
分析自动控制系统机组Ⅰ(1#、2#水泵机组)工作过程,可分为以下三个工作状态:a.1#电机变频启动;b.1#电机工频运行,2#电机变频运行;c.2#电机单独变频运行,一般情况下,水泵电机都处于这三种工作状态中,当管网压力突变时,三种工作状态就要发生相应变换,因此这三种工作状态对应着三个切换过程。
切换过程Ⅰ
1#电机变频启动,频率达到50Hz,1#电机工频运行,2#电机变频运行。系统开始工作时,管网水压低于设定压力下限P。按下相应的按钮,选择机组Ⅰ运行,在PLC可编程控制器控制下,KM2得电,1#电机先接至变频器输出端,接着接通变频器FWD端。变频器对拖动1#泵的电动机采用软启动,1#电机启动,运行一段时间后,随着运行频率的增加,当变频器输出频率增至工频f0可编程控制器发出指令,接通变频器BX端,变频器FWD端断开,KM2失电,1#电机自变频器输出端断开,KM1得电,1#电机切换至工频运行,1#电机自变频器输出端断开,KM1得电1#电机切换至工频运行。1#电机工频运行后,开启1#泵阀门,1#泵工作在工频状态。接着KM3得电,2#电机接至变频器输出端,接通变频器FWD端,变频器BX端断开,2#电机开始软启动,运行一段时间后,开启2#泵阀门,2#水泵电机工作在变频状态。从而实现1#水泵由变频切换至工频电网运行,2#水泵接入变频器并启动运行,在系统调节下变频器输出频率不断增加,湖南科技大学毕业设计(论文)
直到管网水压达到设定值(Pi<P<Pm)为止。
切换过程Ⅱ
由1#电机工频运行,2#电机变频运行转变为2#电机单独变频运行状态。当晚上用水量大量减少时,水压增加,2#水泵电机在变频器作用下,变频器输出频率下降,电机转速下降,水泵输出流量减少,当变频器输出频率下降到指定值fmin,电机转速下降到指定值,水管水压高于设定水压上限Pk时(2#电机,f=fmin,P<Pk),在PLC可编程控制器控制下,1#水泵电机在工频断开,2#水泵继续在变频器拖动下变频运行。
切换过程Ⅲ
由2#电机变频运行转变为2#电机变频停止,1#电机变频运行状态。当早晨用水量再次增加时,2#电动机工作在调速运行状态,当变频器输出频率增至工频fi(即50Hz),水管水压低于设定水压上限Pi时(2#电机f=fi,P≦Pi),接通变频器BX端,变频器FWD断开,KM3断开,2#电机自变频器输出端断开;KM2得电,1#电机接至变频器输出端;接通变频器FWD端,于此同时变频器BX端断开。1#电机开始软启动。控制系统又回到初始工作状态Ⅰ,开始新一轮循环。
图2.1-1 1#和2#机组工作过程流程图 湖南科技大学毕业设计(论文)
2.2 变频调速的基本调速原理
水泵机组应用变频调速技术。即通过改变电动机定子电源效率来改变电动机转速可以相应的改变水泵转速及工况,使其流量与扬程适应管网用水量的变化,保持管网最不利点压力恒定,达到节能效果。
如图2.2-1所示,n为水泵特性曲线,A管路特性曲线,H0为管网末端的服务压力,H1为泵出口压力。当用水量达到最大Qmax时,水泵全速运转,出口阀门全开,达到了满负荷运行,水泵的特性n0和用水管特性曲线A0汇交于b点,此时,水泵输出口压力为H,末端服务压力刚好为H0.当用水量从Qmax减少到Q1的过程中,采用不同的控制方案,其水泵的能耗也不同[3]。
图2.2-1 节能分析曲线图
★ 水泵全速运转,靠关小泵出口阀门来控制;此时,管路阻力特性曲线变陡(A2),水泵的工况点由b点上滑到c点,而管路所需的扬程将由b点滑到d点,这样c点和d点扬程的差值即为全速水泵的能量浪费。
★ 水泵变速运转,靠泵的出口压力恒定来控制;此时,当用水量由Qmax下降时,控制系统降低水泵转速来改变其特性。但由于采用泵出口压力恒量方式工作。所以其工况点是在H上平移。在水量到达Q1时,相应的水泵特性趋向为nx。而管路的特性曲线将向上平移到A1,两线交点e即为此时的工况点,这样,在水量减少到Q1时,将导致湖南科技大学毕业设计(论文)
管网不利点水压升高到H0﹥H1,则H1即为水泵的能量浪费。
★ 水泵变速运转,靠管网取不利点压力恒定来控制;此时,当用水量由Qmax下降到Q1时,水泵降低转速,水泵的特性曲线n1,其工况点为d点,正好落在管网特性曲线A0上,这样可以使水泵的工作点式中沿着A0滑动,管网的服务压力H0恒定不变,其扬程与系统阻力相适应,没有能量的浪费。此方案与泵出口恒压松散水相比,其能耗下降了h1。
根据水泵相似原理:
Q1/Q2=n1/n2 H1/H2=(n1/n2)*2 P1/P2=(n1/n2)*3 式中,Q、H、P、n分别为泵流量、压力、轴功率和转速。即通过控制转速可以减少轴功率。根据以上分析表明,选择供水管网最不利点允许的最低压力为控制参数,通过压力传感器以获得压力信号,组成闭环压力自控调速系统,以使水泵的转速保持与调速装置所设定的控制压力相匹配,使调速技术和自控技术相结合,达到最佳节能效果。
采用变频恒压供水系统除可节能外,还可以使水泵组启动,降低了起动电流,避免了对供电系统产生冲击负荷,提高了供水供电的安全可靠性。另外,变频器本身具有过电流、过电压、失压等多种保护功能,提高了系统的安全可靠性。
目前水泵电机绝大部分是三相交流异步电动机,根据交流电机的转速特性,电机的 转速n为
n=120(1-s)/p 式中s为电机的滑差(s=0.02),p为电机极对数,f为定子供电频率。当水泵电机选定后,p和s为定值,也就是说电机转速与电源的频率高低成正比,频率越高,转速越高,反之,转速越低,变频调速时是根据这一公式来实现无级调速的。
由流体力学知:管网压力P、流量Q和功率N的关系为 N=PQ 由功率与水泵电机转速成三次方正比关系,基于转速控制比,基于流量控制可以大幅度降低轴频率[4]。
2.3 水泵变频调速节能分析
水泵运行工况点A是水泵性能曲线n1和管道性能曲线R1的交点。在常规供水系统中,采用阀门控制流量,需要减少流量时关小阀门,管路性能曲线有R1变为R2。运行工况点沿着水泵性能曲线从A点移到D点,扬程从H0上升到H1,流量从Q0减少到Q1。采用变频调速控制时,管路性能曲线R1保持不变,水泵的特性取决于转速,如果水泵转速从n0降到n1,水泵性能曲线从n0平移到n1,运行工况点沿着水泵性能曲线从A点移到C点,扬程从H0下降到H1,流量从Q0减少到Q1。在图2.3-1中水泵运行在B点时消耗的轴功率与H1BQ1O的面积成正比,运行在C点时消耗的轴功率与H2CQ1O的面积成正比,从图2-6上可以看出,在流量相同的情况下,采用变频调速控制比恒速泵控制节能效果明显。湖南科技大学毕业设计(论文)
图2.3-1 变频调速恒压供水单台水泵工况调节图
求出运行在B点的泵的轴功率 NBkQyHy 运行在C点泵的轴功率 NCkQyHy 两者之差 hjj2j2Q 2g2gA2也就是说,采用阀门控制流量时有ΔV的功率被白白浪费了,而且损耗阀门的关小而增加。相反,采用变频调速控制水泵电机时,当转速在允许范围内降低时,功率以转速的三次方下降,在可调节范围内与恒速泵供水方式中用阀门增加阻力的流量控制方式相比,节能效果显著。
2.4 本章小结
本章从水泵理论和管网特性曲线分析入手讨论水泵工作点的确定方法。接着介绍了水泵工况调节的几种常用方法。在变频调速恒压供水系统中,水泵工况的调节是通过改变水泵性能曲线得以实现的。本章重点对变频调速恒压供水系统中水泵能耗机理进行深入研究,得到以下几个结论:
a.水泵的工作点就是在同一坐标系中水泵的性能曲线和管路性能曲线的交点,水泵工作点是水泵运行的理想工作点,实际运行时水泵的工作点并非总是固定不变的。
b.水泵工况的调节就是采用改变管路性能曲线或改变水泵性能曲线的方法来移动工作点,使其符合要求。变频恒压调速供水系统硬件设计 湖南科技大学毕业设计(论文)
3.1 硬件总体说明
单片机系统的硬件结构框架图如图3.1-1所示。
本系统以8951单片机为核心,它有4KEPROM,所以不用外扩EPROM,这样可以利用P0、P2口作为输入、输出I/O口,简化了硬件结构。系统的显示采用4片74LS164驱动LED,使用8951的串行通讯口TXD,DXD。93C46为串行EEPROM,用于保存开机设定的原始参数[5]。
图3.1-1 系统硬件结构框图
3.2 555定时器复位电路
用NE555组成的硬件定时复位系统,可以有效地防止程序死机现象。
NE555封装 湖南科技大学毕业设计(论文)
图3.2-1 NE555封装图
如图3.2-1和图3.2-2可知,NE555定时电路V0口输出连续的脉冲信号至RST,达到定时复位的效果。电路使用电阻电容产生RC定时电路,用于设定脉冲的周 期和脉冲的宽度。调节RW或者电容C,可以得到不同的时间常数。
脉冲宽度计算公式:TW =0.7(R1+RW+R2)C 振荡周期计算公式:T=0.7(R1+ RW+2*R2)C 从而通过控制振荡周期和脉冲宽度就可以控制定时时间。内部结构图
图3.2-2 NE555内部结构 湖南科技大学毕业设计(论文)
图 3.2-3 NE555定时电路及工作波形
3.3 LED数值显示 D/A数值采集 D/A数值反馈
3.3.1 LED数值显示模块
数码管由7 个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共阳极。通过解码电路得到的数码接通相应的发光二极而形成相应的字,这就是它的工作原理。基本的半导体数码管是由7 个条状的发光二极管(LED)按图1 所示排列而成的,可实现数字“0~9”及少量字符的显示。另外为了显示小数点,增加了1 个点状的发光二极管,因此数码管就由8 个LED 组成,我们分别把这些发光二极管命名为“a,b,c,d,e,f,g,dp”,排列顺序如下图3.3.1-1。
图3.3.1-1 共阴数码管引脚图 湖南科技大学毕业设计(论文)
3.3.2 数据采集A/D转换电路
a.AD0809的逻辑结构
ADC0809 是8位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成,如图3.3.2-1。多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。
图3.3.2-1 AD0809内部结构
b.AD0809的工作原理
IN0-IN7:8 条模拟量输入通道
ADC0809 对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路[6]。
c.AD0809转换电路
电路见图3.3.2-2,主要由AD 转换器AD0809,频率发生器SUN7474,单片机AT89S51及显示用数码管组成。AD0809的启动方式为脉冲启动方式,启动信号START启动后开始转换,EOC 信号在START 的下降沿10us后才变为无效的低电平。这要求查询程序待EOC无效后再开始查询,转换完成后,EOC 输出高电平,再由OE 变为高电平来输出转换数据。我们在设计程序时可以利用EOC 信号来通知单片机(查询法或中断法)读入已转换的数据,也可以在启动AD0809 后经适当的延时再读入已转换的数据。AT89S51的输出频为晶振频的1/6(2MHZ),AT89S1 与SUN7474连接经与7474的ST脚提供AD0809 的工作时钟。AD0809 的工作频范围为10KHZ-1280KHZ,当频率范围为500KHZ 时,其转换速度为128us。湖南科技大学毕业设计(论文)
AD0809 的数据输出公式为:Dout=Vin*255/5=Vin*51,其中Vin为输入模拟电压,Vout为输出数据。
图3.3.2-2 A/D转换电路 变频恒压调速供水系统软件设计
4.1 编程软件
4.1.1 C051编译器介绍 现在比较流行的51系列编程软件
a.American Automation:编译器通过#asm和endasm预处理选择支持汇编语言。b.IAR: 瑞典的IAR是支持分体切换的编译器。
c.Bso/Tasking:是Intel,LSI,Motorola,Philips,Simens和Texas Instruments嵌入式系统的配套软件工具 湖南科技大学毕业设计(论文)
d.Dunfield Shareware:非专业的软件包,不支持floats,longs或结构等
e.KEIL:KEIL在代码生成方面处于领先地位,可以产生最少的代码。它支持浮点或长整数、重入和递推。使用单片机模式,KEIL是最好的选择
f.Intermetrics:使用起来比较困难,要由可执行的宏语句控制编译、汇编和链接,且选项很多。
编译器的算法技术支持(float和long)很重要。生成代码的大小比编译速度重要,这里KEIL具有性能领先、紧凑的代码和使用方便等优点,所以本系统用KEIL编译器[7]。
4.1.2 KEIL编译器
KEIL开发工具套件可用于编译C源程序、汇编源程序、链接和定位目标文件及库,创建HEX文件以及调试目标程序。
a.uVision2 for Windows:是一个集成开发环境。它将项目管理、源代码编辑和程序调试等组合在一个强大功能的环境中。
b.CX51国际标准优化C交叉编译器:从C源代码产生可重定位的目标模块。c.AX51宏汇编器:从8051汇编源代码产生可重定位的目标模块。
d.BL51链接器/定位器:组合有CX51和AX51产生的可重定位的目标模块,生成绝对目标模块。
e.LIB51库管理器:从目标模块生成链接器可以使用的库文件。
f.OH51目标文件至HEX格式的转换器:从绝对目标模块生成Intel HEX文件。g.RTX-51实时操作系统:简化了复杂的实时应用软件项目的设计[8]。
4.2 单片机资料
单片微型计算机简称为单片机,有称为微型控制器,是微型计算机的一个重要分支。单片机是70年代中期发展起来的一种大规模集成电路芯片,是CPU、RAM、ROM、I/O接口和中断系统于同一硅片的器件。80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能新型机种,现已逐渐成为工厂自动化和各控制领域的支柱产业之一。
ALE/PROG 地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。ALE与74LS373锁存器的G相连接,当CPU对外部进行存取时,用以锁住地址的低位地址,即P0口输出。ALE有可能是高电平也有可能是低电平,当ALE是高电平时,允许地址锁存信号,当访问外部存储器时,ALE信号负跳变(即由正变负)将P0口上低8位地址信号送入锁存器。当ALE是低电平时,P0口上的内容和锁存器输出一致。
在没有访问外部存储器期间,ALE以1/6振荡周期频率输出(即6分频),当访问外部存储器以1/12振荡周期输出(12分频)。当系统没有进行扩展时ALE会以1/6振荡周期的固定频率输出,因此可以做为外部时钟,或者外部定时脉冲使用。
PORG为编程脉冲的输入端:在8051单片机内部有一个4KB或8KB的程序存储器(ROM),ROM的作用就是用来存放用户需要执行的程序的,通过编程脉冲输入才能湖南科技大学毕业设计(论文)
写进去的,这个脉冲的输入端口就是PROG。
EA/VPP 访问和序存储器控制信号
a.接高电平时: CPU读取内部程序存储器(ROM)。
扩展外部ROM:当读取内部程序存储器超过0FFFH(8051)1FFFH(8052)时自动读取外部ROM。
b.接低电平时:CPU读取外部程序存储器(ROM)。在前面的学习中我们已知道,8031单片机内部是没有ROM的,那么在应用8031单片机时,这个脚是一直接低电平的。
c.8051写内部EPROM时,利用此脚输入21V的烧写电压。
RST 复位信号:当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作,当复位后程序计数器PC=0000H,即复位后将从程序存储器的0000H单元读取第一条指令码。
XTAL1和XTAL2 外接晶振引脚。当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
VCC:电源+5V输入
VSS:GND接地。
AVR和pic都是跟8051结构不同的8位单片机,因为结构不同,所以汇编指令也有所不同,而且区别于使用CISC指令集的8051,他们都是RISC指令集的,只有几十条指令,大部分指令都是单指令周期的指令,所以在同样晶振频率下,较8051速度要快。
ARM实际上就是32位的单片机,它的内部资源(寄存器和外设功能)较8051和PIC、AVR都要多得多,跟计算机的CPU芯片很接近了[9]。
4.3 软件的程序设计图
a.主程序框图 湖南科技大学毕业设计(论文)
图 4.3-1 主程序流程图
b.继电器控制子程序
图4.3-2 继电器控制流程图
c.A/D子程序 湖南科技大学毕业设计(论文)
图4.3-3 A/D子程序流程图
d.PID控制子程序
图4.3-4 PID计算子程序流程图 结论 湖南科技大学毕业设计(论文)
本文在分析和比较用于供水行业的控制系统的发展和现状的基础上,结合我国供水的现状,设计了一套一拖多的控制系统,在这个毕业设计中有如下认识;
a.在变频调速恒压供水系统中,单台水泵工况的调节是通过变频器来改变电源的频率f,来改变电机的转速n,从而改变水泵性能曲线得以实现的,分析水泵工况点激流调节和变速调节能耗比较土,可以看出利用变频调速实现恒压供水,当转速降低时。流量与转速成正比,功率以转速的三次方下降,与恒速泵供水方式中用闸阀增加阻力节流相比,在一定程度上可以减少能量损耗,能够明显节能。水泵转速的工矿调节必须限制在一定范围以内,也就是不要使变频器频率下降得过低,避免水泵在低效率段运行。
b.通过对供水控制模式进行分析,发现传统的生产控制模式是一种被动的控制方式,没有对供水管网的水量平衡进行综合考虑。针对传统控制模式的缺陷,提出了综合考虑水压和水量平衡的自适应平衡调节方法,为该供水控制系统的设计提供了依据。湖南科技大学毕业设计(论文)
附录1: A/D数据采集转化及显示子程序
#include
uchar codetd[]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};//通道先择数组 uint ad_0809,ad_data1,ad_data2,ad_data3,ad_data0;uchar m,number;uchar x[8];//八通道数据待存数组 void delaynms(uint x);//nms延时程序 void display();//显示程序 void ad0809();//芯片启动程序 void key();//键扫描程序 main(){ number=1;P1=0x00;while(1){ ad0809();//调AD0809 启动子程序 key();//调按键子程序
ad_0809=x[number];//把相关通道数据给ad_0809 display();//调显示 }} //nms 延时程序 void delaynms(uint x){ uchar i;while(x-->0){ for(i=0;i<125;i++){;}}} 湖南科技大学毕业设计(论文)
void display(){ uchar a;ad_data1=(ad_0809*49/25)/100;//读得的数据乘以2 再乘以98%除以100 得百位 ad_data2=((ad_0809*49/25)%100)/10;//读得的数据乘以2 再乘以98%再分出十位 ad_data3=(((ad_0809*49/25)%100)%10);//读得的数据乘以2 再乘以98%再分出个位 for(a=0;a<10;a++){ P0=tab[ad_data3];//送小数点后第二位显示 P2=0x07;//选通第一个数码管 delaynms(3);P0=tab[ad_data2];//送小数点后第一位显示 P2=0x0b;//选通第二个数码管 delaynms(3);P0=tab[ad_data1];//送整数显示 P0_7=0;//点亮第三个数码管小数点 P2=0x0d;// 选通第三个数码管 delaynms(3);P0=tab[number];//送通道号显示 P2=0x0e;delaynms(3);}} void ad0809(){ uchar i,m=1;for(i=0;i<8;i++){ P0=td[i];//选通通道
oe=0;//以下三条指令为起动AD0809 st=0;st=1;st=0;delaynms(1);while(!eoc);//等待转换结束 oe=1;//取出读得的数据 x[m]=P2;//送相关通道数组 oe=0;湖南科技大学毕业设计(论文)
m++;}} void key(){ if(!P3_5)//P3.5 是否按下 { delaynms(20);//延时判误
if(!P3_5)//再一次判断P3。5 是否按下 { while(!P3_5);//等待P3。5 为高电平number++;//通道号显示加一 if(number>8)number=1;//八通道 } } }
附录2: PID控制子程序
#include
struct _pid {
int pv;/*integer that contains the process value*/
int sp;/*integer that contains the set point*/
float integral;
float pgain;
float igain;
float dgain;
int deadband;
int last_error;
};
struct _pid warm,*pid;
int process_point, set_point,dead_band;
float p_gain, i_gain, d_gain, integral_val,new_integ;;
/*----------湖南科技大学毕业设计(论文)
pid_init
DESCRIPTION This function initializes the pointers in the _pid structure
to the process variable and the setpoint.*pv and *sp are
integer pointers.----------*/
void pid_init(struct _pid *warm, int process_point, int set_point)
{
struct _pid *pid;
pid = warm;
pid->pv = process_point;
pid->sp = set_point;
}
/*----------
pid_tune
DESCRIPTION Sets the proportional gain(p_gain), integral gain(i_gain),derivitive gain(d_gain), and the dead band(dead_band)of
a pid control structure _pid.----------*/
void pid_tune(struct _pid *pid, float p_gain, float i_gain, float d_gain, int dead_band)
{
pid->pgain = p_gain;
pid->igain = i_gain;
pid->dgain = d_gain;
pid->deadband = dead_band;
pid->integral= integral_val;
pid->last_error=0;
}
/*----------
pid_setinteg
DESCRIPTION Set a new value for the integral term of the pid equation.This is useful for setting the initial output of the
pid controller at start up.----------*/
void pid_setinteg(struct _pid *pid,float new_integ)
{
pid->integral = new_integ;湖南科技大学毕业设计(论文)
pid->last_error = 0;
}
/*----------
pid_bumpless
DESCRIPTION Bumpless transfer algorithim.When suddenly changing
setpoints, or when restarting the PID equation after an
extended pause, the derivative of the equation can cause
a bump in the controller output.This function will help
smooth out that bump.The process value in *pv should
be the updated just before this function is used.----------*/
void pid_bumpless(struct _pid *pid)
{
pid->last_error =(pid->sp)-(pid->pv);
}
/*----------
pid_calc
DESCRIPTION Performs PID calculations for the _pid structure *a.This function uses the positional form of the pid equation, and incorporates an integral windup prevention algorithim.Rectangular integration is used, so this function must be repeated on a consistent time basis for accurate control.RETURN VALUE The new output value for the pid loop.USAGE #include “control.h”*/
float pid_calc(struct _pid *pid)
{
int err;
float pterm, dterm, result, ferror;
err =(pid->sp)pid->last_error))* pid->dgain;
result = pterm + pid->integral + dterm;
}
else result = pid->integral;
pid->last_error = err;
return(result);
}
void main(void)
{
float display_value;
int count=0;
pid = &warm;
// printf(“Enter the values of Process point, Set point, P gain, I gain, D gain n”);
// scanf(“%d%d%f%f%f”, &process_point, &set_point, &p_gain, &i_gain, &d_gain);
process_point = 30;
set_point = 40;
p_gain =(float)(5.2);
i_gain =(float)(0.77);d_gain =(float)(0.18);
dead_band = 2;
integral_val =(float)(0.01);
printf(“The values of Process point, Set point, P gain, I gain, D gain n”);
printf(“ %6d %6d %4f %4f %4fn”, process_point, set_point, p_gain, i_gain, d_gain);
printf(“Enter the values of Process pointn”);
while(count<=20)
{
Scanf(“%d”,&process_point);湖南科技大学毕业设计(论文)
pid_init(&warm, process_point, set_point);
pid_tune(&warm, p_gain,i_gain,d_gain,dead_band);
pid_setinteg(&warm,0.0);//pid_setinteg(&warm,30.0);
//Get input value for process point
pid_bumpless(&warm);
// how to display output
display_value = pid_calc(&warm);
printf(“%fn”, display_value);
//printf(“n%f%f%f%f”,warm.pv,warm.sp,warm.igain,warm.dgain);
count++;
}
} 湖南科技大学毕业设计(论文)
参考文献:
[1] 何立民:MCS-51系列单片机应用系统设计,北京航空航天大学出版社,1990,P122-P130 [2] 秦进平、官英双:基于单片机的恒压供水系统,黑龙江工程学院学报,2005,P103-P112 [3] 解宏基、任 光:一种多功能变频恒压供水单片机供水控制系统,大连海事大学轮机工程研究所,P258-P262 [4] 周黎辉、冯正进:变频器在多泵并联调速系统中的应用,机电一体化,1999,P35-P40 [5] 王幸之、钟爱琴:AT89系列单片机原理及接口技术,北京航空航天大学出版社,2004,P76-P94 [6] 苏 夯:控制恒压供水系统的设计,大连交通大学,2009,P76-P80 [7] 童 占:新概念51单片机C语言教程,电子工业出版社,2003,P275-P284 [8] 马忠梅、籍顺心、张 凯:单片机的C语言应用程序设计,北京航空航天大学出版社,2003,P241-P249 [9] 南建辉、熊 鸣、王军茹:MCS-51单片机原理及应用实例,清华大学出版社,2003,P286-P294
第三篇:基于单片机的交通灯控制系统设计与实现
基于单片机的交通灯控制系统设计与实现
目的:本文以AT89S51 单片机为核心器件,设计了多功能交通灯控制系统。软件仿真和硬件实现的结果表明该系统具有红绿灯显示功能、时间倒计时显示功能、左转提示和紧急情况发生时手动控制等功能。
由于计算机技术、自动控制技术和人工智能技术不断发展,城市交通的智能控制有了良好的技术基础,各种交通方案实现的可能性大大提高。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。本文设计的交通灯管理系统在实现了现代交通灯系统的基本功能的基础上,增加了左转提示和紧急情况(重要车队通过、急救车通过等)发生时手动控制等功能。交通方案:东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯和一组红、绿两色的左转指示灯,指挥
车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯闪亮提示人们注意红、绿灯的状态即将切换,且黄灯闪亮时间为东西、南北两干道的公共停车时间.。当发生紧急情况发生时,所有信号灯转变为红色禁行信号。当深夜时, 信号灯呈黄灯缓行信号。2 电路设计
2.1 电源电路设计
由于单片机工作时需要的+ 5V 电压,所以在设计电源电路时,需要一个电子元件能提供+ 5V电压,本文采用7805 提供5V 的电压,即在7805 的1 脚和公共接地端(即2 脚)之间接入0.3μF 的电容,在公共接地端和三脚+ 5V电压输出端之间接入0.1μF 的电容。
2.2
复位电路设计
MCS51 提供了初始化的手段。有了它可以使程序从指定处开始执行,即从程序存储器中的0000H 地址单元开始执行程序。在MCS51循环复位。只有当RST 由高电平变低电平以后,MCS51 的时钟可以由两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另外一种为外部方式。本文根据实际需要和简便,采用内部振荡方式.MCS51 虽然有内部振荡电路,但要形成时钟,必须外接元件所以实际构成的振荡时钟电路.外接晶体以及电容C1 和C2 构成并联谐振电路接在放大器的反馈回路中。对接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。晶体频率可在1.2MHz~12MHz 之间任选,电容C1 和C2 的典型值在20pF~100pF 之间选择,考虑到本系统对于外接晶体的频率稳定性要求不高,所以采取比较廉价的陶瓷谐振器。由于本系统应用的机器周期为1μs ,所以晶振选择为12MHz ,根据调试电容选择30pF。
在硬件电路焊接时,晶体或陶瓷振荡器和电容应该尽可能地与单片机芯片靠近,以减少寄生电容,可以更好地保证振荡器稳定和可靠的工作。
2.4
数码时间显示电路
七段LED 数码管是有八个发光二极管构成,通过给其引脚不同的高低电平,从而显出0~9 的数字和小数点。本文的交通灯数字显示部分,通过将四个一位数码管并联通过P1口控制作为个位实时显示,四个数码管并联通过P3 口控制作为十位实时显示,但考虑到单片机的系统功耗问题以及焊接电路后的实际显示效果等, 本部分的电路中又引入一7805 进行单独供电。交通灯的时间倒计时显示部分是通过将数码管分别与单片机的P1 口和P3 口连接,通过单片机
内部已经烧录好的程序,对P1 口和P3 口进行电平输出控制,从而实现数码管的倒计时时间显示。
2.5
信号灯电路设计
本部分电路设计,应用单片机的P0 口对直行方向提示灯控制,P2 口对左转方向提示灯控制。其中P0.0 ,P0.1 ,P0.2 三个输出控制口,分别控制东西方向上的绿灯、黄灯、红灯。P0.3 , P0.4 , P0.5 三个输出控制口,分别控制南北方向上的绿灯、黄灯、红灯。P2.0 ,P2.1 ,两个输出控制口,分别控制东西道左转方向的绿灯和红灯.。P2.2 ,P2.3 两个输出控制口分别控制南北道左转方向的绿灯和红灯。3
软件设计
本设计使用keil 软件完成该系统的软件设计.通过新建源文件、建立工程文件、编译和连接,最后生成所需单片机烧录的HEX文件。依据硬件电路图和设计方案设计的本系统实现程序如下: ①东西红灯,南北绿灯,倒计时30s 部分程序:
MOV P0 , # 0F3H;东西方向红灯,南北方
向绿灯
MOV P2 , # 09H;东西左转红灯,南北左转绿灯
MOV P1 , # 0C0H;倒计时时间个位显示0 MOV P3 , # 0B0H;倒计时时间十位显示3
⋯⋯
②黄灯闪烁,倒计时5s 部分程序: MOV P0 , # 0EDH;黄灯点亮
MOV P1 , # 92H;倒计时时间的个位显示5 MOV P3 , # 0C0H;倒计时时间的十位显示0
⋯⋯
③东西绿灯南北红灯,倒计时30s 部分程序: MOV P0 , # 0DEH;东西方向绿灯,南北方向红灯
MOV P2 , # 06H;东西左转绿灯,南北左转红灯
MOV P1 , # 0C0H;倒计时时间个位显示0 MOV P3 , # 0B0H;倒计时时间十位显示3
⋯⋯
④紧急状况控制程序 JB P2.7 ,L1 JMP L2
L1 : JMP ZHONGDUAN L2 : MOV P1 , # 0C0H MOV P3 , # 0B0H
⋯⋯
ZHONGDUAN: MOV P0 , # 0EDH 4
系统的硬件实现
通过对AT89S51 专用底座的焊接、时钟电路的焊接、复位电路的焊接、数码管和信号灯的焊接、电源电路的焊接,最后完成了本文设计的交通灯系统。
通电进行调试后证明该硬件系统实现了绿灯显示功能、时间倒计时显示功能、左转提示和紧急情况发生时手动控制等功能。5
结论
本设计利用AT89S51 单片机设计的城市交通灯控制系统,通过软件仿真和硬件实现证明了该系统在实现了交通灯控制系统基本功能的基础上还实现了车辆左转提示以及紧急事件手动控制等功能。
第四篇:人事管理系统设计与实现
人事管理系统设计与实现
目 录
前 言....1 1 需求分析....2 1.1 系统需求...2 1.1 功能需求...2 1.3 可靠性要求...3 1.4 性能需求...3 2 开发环境简介....4 2.1 Delphi简介...4
2.1.1 Delphi7的集成开发环境(IDE)...5 2.1.2 Pascal简介...9
2.2 SQL Server 2000 简介...10 2.2.1 SQL Server 数据平台...10 2.3 TQuery部件在SQL编程中的运用...12 3 总体设计....14 3.1 基本设计...14 3.1.1 设计概念...14 3.1.2 功能分析...14 3.1.3 数据流图...14 3.1.4 系统模块...16 3.2 用例图...18 4 数据库设计....21 4.1 数据库概念设计...21 4.2 数据库逻辑结构设计...23 5 详细设计....30 5.1 系统主窗体...30 5.2 数据库连接...31 5.3 用户登陆界面...32 5.4 用户功能选择...34 5.5 用户信息录入...34 5.6 查询功能窗体...36 5.7 数据备份和还原窗体...37 5.8 工作日记及工作日记管理...39 5.9 用户管理及用户密码修改...41 5.10 打印报表模块...43 5.11 数据公用模块...45 5.12 其它模块...46 6 总 结....47 参考文献....49 致谢....50
人事管理系统
网络工程 雷灵明 指导老师:曹步青
摘要:随着企业自身人力资源的日益庞大、复杂程度逐渐增强,人机作坊再也无法适应如今企业的人事管理了,取代的是运用各种领域的知识,结合计算机科学而开发的人事管理系统。人事管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。人事管理系统是对工作人员进行统一的管理,可以方便的进行录入,查询,修改,删除,退出。经过以上分析,本系统使用Delphi 7.0作为界面和功能开发工具和SQL Sever 2000作为后台数据库,利用其提供的各种面向对象的开发工具进行界面和数据库开发。软件过程结合了快速原型模型与增量模型的优点:首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成可行系统。关键词:人事管理;DEPHI;ADO;SQL server 2000
Personnel Management System Network engineering Lei Lingming Teacher:Cao Buqing
Abstract: Along with their own human resources increasing, complexity growing, the man-machine workshop also is unable adapt the present enterprise’s personnel management again, but the personnel management system that make use of knowledge in different fields and computer science and technology.Personnel management system is a typical management information system(MIS), including the establishment and maintenance of the background-database and front-end application development.To the former, the request for the data which is powerful in consistency and integrity, database which is good in security.For the latter, the request for the applications program which is integrity and easy to easy, Personnel management system can manage the staff and admit input, enquiries, modify, delete, and exit.Through such analysis, the system use Delphi 7.0 as the interface and functions of development tools and take SQL Sever 2000 database as background-database, the development of the interface and database which made use of its object-oriented tools, the software process is formed which is combine the advantage of rapid prototype models and incremental model, as follows: At first application prototype of system is built in a short time, Secondly, the initial prototype system needs to be revised and improved, Finally, it is feasible that the system is built.Key words: human resource management;DEPHI;ADO;SQL server 2000
前 言 背景
在竞争越来越激烈的社会里,企业人事管理就越显示出其不可缺性,成为企业一个非常重要的模块。企业人事管理系统主要是用于员工个人相关信息的管理。使用人事管理系统,便于公司领导掌握人员的动向和人员的综合素质,及时调整人才的分配,使用计算机对人事劳资信息进行管理,具有检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等优点,能够极大地提高人事资源管理的效率,也是企业科学化、正规化管理的重要条件。目标
设计一个企业人事信息管理系统,此系统要以人为中心,为企业提供全面的人事管理解决方案;
a)为企业建立规范化、实时化人事管理机制;
b)提高企业人事管理的效率、节约相关的管理成本,增强人事管理的安全性;
c)满足企业管理层,人事业务操作层和全体员工的不同层次和不同方面的需要;
d)对企业将来的整体信息化建设提供必要的支持。需求分析
需求分析是系统开发必要环节,也是重中之重。作为该过程的结果,需求规格说明书是对系统的功能和行为完整的描述。系统设计将来自于需求分析的抽象规格说明转变为面向真实世界的设计。一旦构建完成,该系统就会投入使用,同时会不可避免地产生更多的新需求。同时,需求过程与分析活动之间有相当程度的重叠,分析建模对于设定工作的范围和其他一些事来说是必要的,所以我们利用分析模型来描述需求过程,随着开发工作的继续,分析活动在工作中占的比例将变得越来越大,直到所有需求都已知。[1]
1.1 系统需求
企业的人事管理职能主要分为人事档案信息管理、人事变动管理、员工培训管理、奖惩管理等内容。
a)在人事系统开发时应考虑以下需求: b)满足人事管理职能的基本要求;
c)进行多层次数据汇总,为各层次管理者的决策分析提供数据; d)具有完整的系统接口,满足灵活的数据导入与导出; e)对操作人员的技能要求比较低,操作方便; f)能够实现方便的扩展,满足企业发展的需要; g)能够保障人事管理数据的安全、准确。
1.1 功能需求
基于系统需求分析,该系统需要实现以下基本功能:
a)用户管理:管理系统操作人员,设置操作人员口令和权限。在满足不同系统用户的操作需求的基础上,提高系统的安全性。
b)人事档案管理:完成企业对员工个人档案(包括员工的基本档案和在职信息)的管理及相关操作。操作员进行员工档案信息录入及更改,其中包括员工的基本信息、工作经历、家庭关系、奖惩记录和培训经历,要求对这些员工档案信息进行新增、修改、删除操作,同时可以进行查询和浏览操作。该模块是本系统的重点,用户可以通过该模块为单位建立一个比较完整的人事档案系统,同时可以对档案进行查看。
c)基础数据管理:维护人事管理相关的一些基础数据。主要包括以下功能:
(a)民族档案设置:维护职工中民族档案信息;
(b)职工类型设置:维护当前企业职工与企业的关系的类别信息;(c)文化程度设置:维护企业职工的文化程度类别信息;(d)政治面貌设置:维护企业职工的政治面貌类别信息;(e)部门类别设置:维护企业中设立的部门类别信息;(f)职务类别设置:维护企业中设立的职务类别信息;(h)职称类别设置:维护企业职工的职称类别信息;
d)人事变动管理:对于人事上的变动调整进行管理,对人员档案的信息进行更新(如:员工职务、员工职称、员工性质等的变动)。
e)工作日志管理:记录部门或系统用户的一些备忘信息,包括日常的一些事件记录,以及工作日记的管理维护。
f)数据库管理:对现有的数据库进行管理,包括数据备份和恢复,以方便用户对数据库的管理和维护工作,提高系统的数据安全性。1.3 可靠性要求
a)计算机稳定可靠,网络服务和数据库服务稳定可靠;
b)网络通畅、稳定;软件运行稳定;数据计算及数据传输无误;提供数据备份和数据恢复方案。1.4 性能需求 1)硬件环境
在最低配置的情况下,系统的性能往往不尽如人意,现在的硬件性能已经相当出色,且
价格也很便宜,因此通常给服务器端配置高性能硬件。推荐配置为: ·处理器:Intel 奔腾Ⅲ 或更高 ·内存:128MB ·硬盘空间:40GB ·显卡:Geforce系列显示适配器或更高。2)软件环境
·操作系统:windows 98/ME/2000/N ·数据库:Microsoft SQL server 2000 开发环境简介 2.1 Delphi简介
Delphi这个名字源于古希腊的城市名。它集中了第三代语言的优点。以Object Pascal为基础,扩充了面向对象的能力,并且完美地结合了可视化的开发手段。Delphi自1995年3月一推出就受到了人们的关注,并在当年一举夺得了多项大奖。
Delphi的出现打破了Visual系列可视化编程领域一统天下的局面。并且Delphi使用了本地编译器直接生成技术,使程序的执行性能远远高于其它产品生成的程序。它还是真正的面向对象的编程语言。PASCAL语言的严谨加上可视化的优势和强大的数据库功能使得它有充分的资本和微软的VB叫板。许多人当时都认为Pascal 是最有前途的程序设计语言,并预测Delphi将会成为可视化编程的主流环境。
Delphi在你编好程序后自动转换成。EXE文件它运行时速度比VB快,而且编译后不需要其他的支持库就能运行。它的数据库功能也挺强的,是开发中型数据库软件理想的编程工具。Delphi适用于应用软件、数据库系统、系统软件等类型的开发。而且它拥有和VB差不多一样的功能,而且一样能应用API函数,这在控制Windows很有用。
Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。
Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。
Delphi已经为您做好了一切基础工作——程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。在空白窗口的背后,应用程序的框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应所有Windows的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。Delphi把Windows编程的回调、句柄处理等繁复过程都放在一个不可见的Romulam覆盖物下面,这样您可以不为它们所困扰,轻松从容地对可视部件进行编程。
面向对象的程序设计(Object-Oriented Programming,简记为OOP)是Delphi诞生的基础。OOP立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进Windows编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。
说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼
其中多媒体音频视频播放器是通过TMediaPlayer组件来实现的,支持的格式与系统已安装的解码器有关。
总 结
6.1 程序设计风格
在设计的时候采用了增量模型的思想:把软件作为一系列的构件来设计,编码,集成和测试。
用户管理,密码修改,用户登陆,万年历,这些模块都有高度的独立性,因此他们的可重用性比较高,基本上是一个单元完成一个功能,模块规模也比较小,模块的作用域在控制域之内,只使用了两个全局变量来存储用户名和用户权限。[1] 在人机界面设计方面,本系统做到了以下几点: a)保持一致性(界面,背景的致性);
b)提供有意义的反馈(用户验证和用户管理,提供了比较精确的反馈信息);
c)在执行有较大破坏性的动作之前要求用户确认(数据备份与还原); d)允许大多数取消操作(大多数单元有取消操作功能);
e)允许犯错误(由于权限的限制,系统能保护自己不受严重错误的破坏);
f)按功能对动作分类(在主窗口就是按动作类型组织菜单的); 6.2 有待加强项
a)帮助的制作 一个完整的应用程序必须具有完整的帮助系统;帮助系统可以在必要的时候给用户信息提示和一些系统相关服务。
b)声音制作在这里主要是对声音的加载,我们可以加载一些一般的声音;主要来源有:音频CD盘;波形音频文件;MP3文件等等。其中波形音频文件以WAV作为文件的后缀,我们可以播放现成的,也可以播放自己录制的文件。c)我们还可以使用各种组件和ActiveX控件等技术来完善系统。利用一些做好的activeX组件,会缩短开发周期。
由于在开发工程方面缺少经验,所以这个系统还存在着许多不足之处,在测试过程中总结如下:
a)数据表的设计还不是很合理;
b)数据异常处理要更加人性化,错误信息的反馈要更加精确; 6.3 心得
经过一个月的设计和开发,人事管理系统基本开发完毕,其基本功能符合用户需求,能够完成基础数据录入,数据查询等基本功能,以及相关报表的打印。在这次毕业设计中,我获益良多。首先我明白了需求分析对于一个系统的开发的重要性。其次我还学到了如何把一个软件作为一个工程来做,在真正的软件开发中,一个软件系统的开发不是一个人来做,而是很多人合作来完成的,另外还有软件的后期维护等等,这时就显现出了把软件作为一个工程来做的优越性,而这些都离不开数据流图和模块的分解。
Delphi是一个非常强大的开发工具,它具有运行速度快、易于学习和使用以及开发效率高的特点,使用起来真的是很顺手。学习好一门编程语言以后可以为今后的学习和工作带来很大的便利。
虽然本系统实现了基本的用户需求功能,但是还有待于完善和加强,总之通过这次设计和开发过程,我对软件开发有了进一步的了解。
参考文献
[1] 张海藩编著.软件工程导论[M].清华大学出版社出版,2003,1-173. [2] 宋一兵,赵景波,李春艳著.Delphi 7.0基础教程[M].机械工业出版社,2003,2-30.
[3] 刘瑶儒著.新概念SQL Server2000教程[M].北京科海集团公司出,2001,12-23.
[4] 韩强编著.SQL SERVER 2000 程序员手册[M].机械工业出版社出版,2000,4-35.
[5] 萨师煊著.数据库系统概论(第二版)[M].高等教育出版社,1991,8-40. [6] 施伯乐,丁宝康,汪卫著.数据库系统教程[M].高等教育出版社,2002,1-202.
[7] 肖健著.SQL Server2000实践与提高[M].中国电子出版社,2002,13-53. [8] 林金霖著.Delphi6 实务经典[M].中国铁道出版社,2002年5月,6-110. [9] 黄超,王志伟著.Delphi企业经营管理系统开发实例导航[M].人民邮电出版社,2003,20-90.
[10] 程文刚主编.Delphi数据库实用编程100例[M].中国铁道出版社,2004,8-63.
[11] 王晟,万科著.Delphi数据库开发经典案例解析[M].清华大学出版社,2005,85-89.
[12] 王惠刚,唐晨光彭为著.delphi7/8程序设计[M].清华大学出版社, 2002,42-63.
[13] 潇湘工作室,邢增平著.Delphi 6.0最佳专辑[M].人民邮电出版社,2003,1-404.
[14] 心铃.Delphi问答.软件报[N],2004-07-5.
[15] 高永惠.浅谈Delphi中的异常处理方法[J].湖南轻工业高等专科学校学报,2002-04,9-10.
[16] 徐萌飞.在Delphi中使用ADO技术对数据库操作[J].中国学术期刊(光盘版)电子杂志社,2001,12-13.
[17] 陈建兵.Delphi中基于安全灵活的动态连接远程数据库SQL的实现[J].福建电脑,2005,12-13.
[18] 孙育红.关于地方法院管理信息系统分析设计与实施[D].中国学术期刊电子杂志社,2001,8-9. [19] 岳冰.南部引嫩工程信息管理系统开发[D].中国学术期刊电子杂志社,2003,20-21.
[20] 庞芳,王丽玫.南宁市自动气象站业务服务数据库系统[D].中国学术期刊电子杂志社,2004,21-23.
[21] 徐军.研究生院综合管理信息系统的研究与实现[D].中国学术期刊)电子杂志社,2004,32-33.
[22] 鲁媛媛.硕士生导师综合素质能力评价指标体系的研究[D].中国学术期刊电子杂志社,2005,18-19.
第五篇:《单片机系统设计与应用(公选)》教学大纲
《单片机系统设计与应用(校公选)》教学大纲
一、课程基本信息
1.课程英文名称:Microcontroller system design and application
2.课程类别:技术基础课程
3.课程学时:总学时32,实验学时32
4.学分:2
5.先修课程:C语言
6.适用专业:所有理工类本专科生
7.大纲执笔:电气信息实验教学中心高凤水
8.大纲审批:电气信息学院学术委员会
9.制定时间:2011年12月
二、课程的目的与任务
本课程是独立开设的实验课,一切从实践应用出发,使学生初步掌握单片机电路设计和单片机程序开发的方法;掌握常用的单片机开发调试工具的使用方法;掌握单片机集成开发环境使用;熟悉常见单片机的性能指标和选型方法;基本掌握单片机系统的设计、组装和调试方法,为以后从事工程技术和科学研究等方面的工作,在实践能力方面打下基础。
三、课程的基本要求
本课程在不影响学生理解的前提下,尽量淡化繁复的单片机工作原理理论,从实际应用出发,着重介绍单片机程序开发方法和硬件设计技巧。包括:常用的单片机设计开发平台、单片机小系统设计方法、单片机程序调试方法和技巧、单片机设计原则和注意事项、常见单片机片上外设的使用、单片机外部器件扩展方法,等。
四、教学内容、要求及学时分配
(一)理论教学
无
(二)实验教学
1.单片机系统概述验证性教学时数:2 实验目的:
(1)学习和认识什么是单片机;
(2)初步掌握单片机的基本工作原理;
(3)了解和认识单片机系统的硬件组成。
实验仪器设备:单片机通用开发平台,下载器,计算机。
2.单片机开发平台和调试工具使用验证性教学时数:3 实验目的:
(1)学习常用的单片机集成开发环境和下载工具的使用;
(2)学习和认识单片机最小系统板的机构和使用;
(3)学习单片机的IO访问方法。
实验仪器设备:单片机通用开发平台,下载器,计算机。
3.单片机片内资源使用综合性教学时数:3 实验目的:
(1)学习和掌握单片机内数据传递及运算的基本方法;
(2)学习和掌握利用SPI总线驱动七段数码管的方法;
(3)学习和掌握单片机内timer以及中断系统的使用方法。
实验仪器设备:单片机通用开发平台,下载器,计算机。
4.单片机片上外设使用综合性教学时数:3 实验目的:
(1)认识和了解什么是单片机片上外设;
(2)学习利用单片机片载EEPROM存取数据。
实验仪器设备:单片机通用开发平台,下载器,计算机。
5.单片机UART总线使用综合性教学时数:3 实验目的:
(1)认识和学习什么是UART总线;
(2)学习利用RS232接口实现数据传输。
实验仪器设备:单片机通用开发平台,下载器,计算机。
6.单片机I2C总线使用综合性教学时数:3 实验目的:
(1)认识和学习什么是I2C总线;
(2)利用I2C总线实现外部存储器的数据存储。
实验仪器设备:单片机通用开发平台,下载器,计算机。
7.用单片机做个数字温度计综合性教学时数:3 实验目的:
(1)学习和掌握温度的数字化测量方法;
(2)了解基于one-wire总线的数字温度传感器DS18B20的使用方法;
(3)初步掌握综合性程序的设计调试方法。
实验仪器设备:单片机通用开发平台,下载器,计算机。
8.单片机红外接收实验综合性教学时数:3 实验目的:
(1)学习和掌握什么是红外遥控;
(2)初步掌握低速红外数据传输的方法;
(3)初步掌握利用单片机接收、解码红外遥控信号的方法。
实验仪器设备:单片机通用开发平台,下载器,计算机。
9.字符液晶使用综合性教学时数:3 实验目的:
(1)学习和掌握字符液晶的工作原理;
(2)初步掌握字符型液晶的单片机驱动方法和程序编写。
实验仪器设备:单片机通用开发平台,下载器,计算机。
10.单片机PWM波的产生综合性
实验目的:
(1)学习什么是PWM波以及PWM波的简单应用;
(2)学习和掌握PWM的单片机产生方法。
实验仪器设备:单片机通用开发平台,下载器,计算机。
11.单片机A/D转换器使用综合性
实验目的:
(1)初步掌握单片机A/D转换器的使用方法;
(2)利用单片机的片内A/D转换器测量电压。
实验仪器设备:单片机通用开发平台,下载器,计算机。
12.单片机最小系统设计设计性
实验目的:
(1)学习基本的单片机的硬件设计方法;
(2)初步掌握单片机电路设计的基本原则;
(3)能够设计基于单片机最小系统的硬件电路。
实验仪器设备:单片机通用开发平台,下载器,计算机。
在所有设定的实验项目中任选32学时实验。
五、考试考核办法
课程成绩=平时(作业、实验、考勤)50%+考试50%
六、教材及参考书
(一)教材
《单片机系统设计与应用实验指导书》自编
(二)参考书
教学时数:3 教学时数:3 教学时数:3 3
《单片机系统设计与应用实例》,韩志军,机械工业出版社