毕业设计论文-基于LabVIEW的电子万年历的设计

2024-10-01

毕业设计论文-基于LabVIEW的电子万年历的设计(精选6篇)

毕业设计论文-基于LabVIEW的电子万年历的设计 篇1

单片机及接口技术综合实验

——————电子万年日历系统一、题目:电子实时时钟/万年日历系统

二、功能要求:

1. 基本要求:

⑴ 显示准确的北京时间(时、分、秒),可用24小时制式; ⑵ 随时可以调校时间。

2. 发挥要求:

⑴ 增加公历日期显示功能(年、月、日),年号只显示最后两位; ⑵ 随时可以调校年、月、日;

⑶ 允许通过转换功能键转换显示时间或日期。

三、方案考虑:

1、硬件方案:

⑴ 显示器采用6位LED数码管(共阳),可分别显示时间或日期;(通过KB键可切换)⑵ 显示器的驱动采用动态扫描电路形式,以达到简化电路的目的。但要注意所需的驱动电流比静态驱动时要大,因此要增加驱动电路。可采用74LS244或者晶体管;其中74ls244是用来驱动段选码,晶体管是驱动位选码!⑶采用“一键多用方案”,以减少按键数目。本方案只采用了两个按键 ⑷ 整体上要考虑:结构简单、布局美观、操作方便、成本低廉。

2、设计电路图如下:

3、元件清单:

⑴ 89C51

1个

⑵ IC座(40脚)

3个(其中1个用于接插89C51、2个用于接插LED段数码管)。⑶ 74LS244

1个(用于驱动6个共阳的LED段数码管)。⑷ IC座(20脚)

1个(用于接插74LS244)。(5)显示器:LED_8段数码管(共阳型)6个三极管:

(6)PNP(8550)

6个(用于驱动6个共阳型LED段数码管)。

(7)微型开关:

3个(其中1个用于复位电路、其它用于键盘)。(8)晶体振荡器(12MHz):1个(用于振荡电路)。(9)电阻器:

⑴ 3KΩ

1个(用于系统复位电路)。

⑵ 1KΩ

6个(用作PNP三极管基极电阻)。⑶ 100Ω

7个(驱动器用作74LS244输出限流电阻)。(10)电容器:

⑴ 10μF

1个(用于系统复位电路)。⑵ 30 pF

2个(用于系统振荡电路)。(11)其它:

⑴ 万能电路板(10×15):

1块 ⑵ 焊锡条:

2米 ⑶ 带插头、座的电源端子:

1条 ⑷ 各种颜色外皮的导线:

各1米(12)工具:

1.电烙铁:

1把 2.剪钳:

1把 3.镊子:

1把 4.万用表:

1个(13)设备:

编程器(MEP300或TOP851)

6个

4、软件方案:

只使用第一组工作寄存器,功能分布如下:

⑴ “时钟”基准时间由单片机内部定时中断来提供,定时时间应该乘以一个整数得到“秒”,且不宜太长或太短,最长不能超过16位定时器的最长定时时间,最短不能少于定时中断服务程序的执行时间。一般来说,基准时间越短,越有利于提高时钟运行的精确度。本实验定时5mS。乘以一个整数200得到“1秒”.⑵ 用一个计数器(R4)对定时中断的次数进行计数,从而可以实现“秒”定时,同理可以实现“分”定时和“时”定时,甚至于“日”、“月”、“年”定时。

⑶ 显示器采用动态驱动时要注意到:LED的 “启辉时间”和 “余辉时间”。驱动信号的维持时间必须大于启辉时间;而驱动信号的间歇时间必须小于余辉时间。“启辉时间”和 “余辉时间”与驱动电流的大小有关,驱动电流越大,启辉时间越短,而余辉时间越长。但是,驱动电流的大小受到驱动电路的驱动能力和LED极限功耗的限制。本实验采用了74ls244和晶体管8550驱动,并进行适当的延时3ms解决上述问题。

⑷ LED的余辉时间使动态驱动显示得到保证,但也要注意到它在更新显示内容时,可能造成显示字符的混乱模糊。为此,在把“更新显示内容”写入显示器之前,必须把所有的LED熄灭,即要把一个“熄灭驱动信号”先写入显示器。

⑸对于按键的处理,采用中断。产生中断后先判有无按键被按下,还要考虑到“去抖动影响”问题,可采用软件延迟法解决这个问题,延迟时间至少10mS。而单纯进行软件延时的话会令到显示管产生断续的情况,故调用显示程序作为延时时间。这样就合理地处理好这两者的矛盾了。

⑹ 把键盘的按键分两种情况来处理,操作简单。

调整时间时,先按下KA键,(KA键为选择调整位置的键,如选调整秒或分),而此时的KB键只是用来加一操作。在调整时间状态下,若在十秒内检测到没有任何按键按下,则返回正常显示时钟状态。

而不调整时间,即不按下KA键,KB的键只用来切换显示日期和时钟。⑺ 对于自动识别“月大、月小”和“平年、闰年”的问题,主要考虑: ① 月大、月小:

1~7月:逢单月为31天;逢双月为30天,其中2月另行处理。8~12月:逢单月为30天;逢双月为31天。②平年、闰年:

仅仅处理2月份的天数:平年的2月份天数为28天,闰年的2月份天数为29天。

5、程序流程图如下:(1)电子时钟计算程序图

(2)调整流程图

程序编写如下:

;///////////////////////////////////////////////////////// ORG 0000H

LJMP START ORG 0003H LJMP PROINT0

;int0用来切换时钟调整位置

ORG 0013H

;用来调整时间,只加不减 LJMP PROINT1

ORG 001BH

;5ms的延迟,计数200次则为1秒

LJMP PROTIME

ORG 0030H

;主程序

TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

;0 1 2 3 4 5 6 7 8 9

ORG 0050H

START: MOV TCON,#05H

;中断初始化

MOV IE ,#8DH MOV TMOD,#10H MOV TH1,#0eCH

;定时器初始化

MOV TL1,#78H

MOV 31H,#0AH

;10秒 MOV 32H,#1EH;30分 MOV 33H,#09H;9点 MOV 34H,#0AH MOV 35H,#06H MOV 36H,#05H MOV 37H,#14H

;10号;6月;2005年

;R7 存放切换标志 0 NORMAL , 1 HOUR ,2 MINUTE ,3 SECOND ,4 YEAR,5 MONTH,6 DAY

MOV R1,#00H

;确定在调时不按键的最长时间,10秒后返回normal状态

MOV R7,#00H

;切换标志

MOV 40H,#00H

;十六进制转换BCD的高位 MOV 41H,#00H

;十六进制转换BCD的低位

MOV R6,#00H

;调时的位闪烁的时间间隔

MOV R4,#00H

;用来计数5ms的中断次数,200次则一秒

mov r3,#00h

SETB TR1

;开始计时 AGAIN:

ACALL PROSHOW

;显示

AJMP AGAIN

PROSHOW:

CJNE R3,#00H,SHOWDATE

;如果r3等于1就显示日期,等于0就显示时钟 CJNE R7,#04H,DATE1

;显示程序

AJMP SHOWDATE

;showdate显示年月日 AJMP SHOWDATE DATE1: CJNE R7,#05H,DATE2 DATE2: CJNE R7,#06H,SHOWCLOCK AJMP SHOWDATE

showCLOCK: MOV R0,33H

;showclock显示时分秒,先显示时

ACALL PROHTOD

CJNE R7,#01H,CLK1 INC R6

CJNE R6,#03H,CLK2

;若处于调时状态,则该位闪烁

MOV R6 ,#00H CLK1: clr P2.4 mov a,41H MOV P0, a

;显示时的低位 ACALL DELAY3MS CLK2: SETB P2.4 CLR P2.5 mov a,40H

MOV P0,a

;显示时的高位 ACALL DELAY3MS SETB P2.5

MOV R0,32H

;显示分 ACALL PROHTOD CJNE R7,#02H,CLK3 INC R6

CJNE R6,#03H,CLK4

;若处于调时状态,则该位闪烁

MOV R6,#00H CLK3: CLR P2.2

mov a,41H MOV P0, a

;显示分的低位 ACALL DELAY3MS CLK4:

SETB P2.2 CLR P2.3 mov a,40h MOV P0,a

;显示分的高位 ACALL DELAY3MS SETB P2.3

MOV R0,31H

;显示秒

ACALL PROHTOD CJNE R7,#03H,CLK5 INC R6

CJNE R6,#03H,CLK6

MOV R6,#00H CLK5: CLR P2.0 mov a,41H MOV P0, a

ACALL DELAY3MS CLK6: SETB P2.0 CLR P2.1 mov a,40h MOV P0,a

ACALL DELAY3MS SETB P2.1

RET

SHOWDATE: MOV R0,36H

ACALL PROHTOD CJNE R7,#04H,DAY1 INC R6

CJNE R6,#03H,DAY2

MOV R6,#00H DAY1: CLR P2.4 MOV P0,41H

ACALL DELAY3MS DAY2: SETB P2.4 CLR P2.5 MOV P0,40H

ACALL DELAY3MS SETB P2.5

MOV R0,35H

ACALL PROHTOD CJNE R7,#05H,MONTH1

;若处于调时状态,则该位闪烁

;显示秒的低位

;显示秒的高位

;显示年

;若处于调时状态,则该位闪烁;显示年的低位

;显示年的高位

;显示月

INC R6

CJNE R6,#03H,MONTH2

;若处于调时状态,则该位闪烁

MOV R6,#00H MONTH1: CLR P2.2 MOV P0,41H

;显示月的低位

ACALL DELAY3MS MONTH2: SETB P2.2

CLR P2.3 MOV P0,40H

;显示月的高位

ACALL DELAY3MS SETB P2.3

MOV R0,34H

ACALL PROHTOD CJNE R7,#06H,YEAR1 INC R6

CJNE R6,#03H,YEAR2

MOV R6,#00H YEAR1: CLR P2.0

MOV P0,41H

ACALL DELAY3MS YEAR2: SETB P2.0 CLR P2.1 MOV P0,40H

ACALL DELAY3MS SETB P2.1

RET

PROHTOD:PUSH ACC

MOV A,R0 MOV B,#0AH DIV AB MOV DPTR,#0030H MOVC A,@A+DPTR MOV 40H,A MOV A,B MOVC A,@A+DPTR MOV 41H,A POP ACC RET

;显示日

;若处于调时状态,则该位闪烁

;十六进制数转换成bcd码,且可以直接输出p0口

DELAY3MS:

;DELAY3MS MOV 45H,#08H DELAY1: MOV 46H,#0FFH DELAY2: DJNZ 46H,DELAY2 DJNZ 45H,DELAY1 RET

PROINT0:

CLR EX0

;切换键中断程序 MOV R3,#00H ACALL PROSHOW MOV C,P3.2 JC IEXIT0 MOV R1,#00H INC R7 CJNE R7,#07H,IEXIT0

MOV R7,#00H INT01: MOV C,P3.2 JC INT02 ACALL PROSHOW AJMP INT01 INT02: ACALL PROSHOW IEXIT0: SETB EX0 RETI

PROINT1:CLR EX1

ACALL PROSHOW MOV C,P3.3 JC IEXIT1 LCALL ISYEAR

;判断平年闰年

LCALL ISMONTH

;判断月份,确定最大日数

MOV R1,#00H CJNE R7,#00H,NEXT1

;若不是调时状态,按此键就是切换显示日期、时钟

INC R3 CJNE R3,#02H,IEXIT1 MOV R3,#00H AJMP IEXIT1 NEXT1: mov r3,#00h

CJNE R7,#03H,NEXT2

;修改秒位 INC 31H MOV A,31H CJNE A,#3CH,INT11

;遇60变0 MOV 31H,#00H AJMP IEXIT1

NEXT2: CJNE R7,#02H,NEXT3

;修改分位

INC 32H MOV A,31H

CJNE A,#3CH,INT11

;遇60变0 MOV 31H,#00H AJMP IEXIT1 NEXT3: CJNE R7,#01H,NEXT4

;修改时位

INC 33H MOV A,33H CJNE A,#18H,INT11

;遇24变0 MOV 33H,#00H AJMP IEXIT1 NEXT4: CJNE R7,#06H,NEXT5

;修改日

INC 34H MOV A,34H CJNE A,49H,INT11

;到月底就返回月初 MOV 34H,#01H AJMP IEXIT1

NEXT5: CJNE R7,#05H,NEXT6

;修改月

INC 35H

MOV A,35H CJNE A,#0DH,INT11

;十二月过后就跳回1月 MOV 35H,#01H AJMP IEXIT1 NEXT6: CJNE R7,#04H,INT11

;修改年

INC 36H

MOV A,36H CJNE A,#64H,INT11

MOV 36H,#00H MOV C,P3.3 INT11: JC INT12 ACALL PROSHOW AJMP INT11 INT12: ACALL PROSHOW IEXIT1: setb EX1

RETI PROTIME:

MOV TMOD,#10H MOV TH1,#3CH

;定时器初始化 MOV TL1,#60H setb tr1 INC R4

CJNE R4,#0c8H,EXIT

MOV R4,#00H

;计满1秒则清零 CJNE R7,#00H,DIAOSHI

AJMP NORMAL DIAOSHI:INC R1

;调时不按键的最长时间为10秒,在此期间又键按下重新计时

CJNE R1,#0AH,EXIT MOV R7,#00H

;到10秒则返回正常显示状态 MOV R1,#00H AJMP EXIT

NORMAL:ACALL ISYEAR

;判断平闰年,返回标志48h,0为平年,1为闰年

ACALL ISMONTH

;判断哪个月,返回该月的最大日数,存放在49h

INC 31H

MOV A,31H

;秒加一 CJNE A,#3CH,EXIT MOV 31H,#00H

INC 32H

;分加一 MOV A,32H CJNE A,#3CH,EXIT MOV 32H,#00H INC 33H

;时加一 MOV A,33H CJNE A,#18H,EXIT MOV 33H,#00H INC 34H

MOV A,34H CJNE A,49H,EXIT MOV 34H,#01H INC 35H

MOV A,35H CJNE A,#0DH,EXIT MOV 35H,#01H INC 36H

MOV A,36H CJNE A,#64H,EXIT MOV 36H,#00H;年加一;月加一;日加一 EXIT:

RETI

ISYEAR: MOV A,36H;判断平闰年

MOV B,#04H

DIV AB MOV A,B CJNE A,#00H,EXITYEAR1 MOV 48H,#01H

;闰年 SJMP EXITYEAR MOV 48H,#00H

;平年 EXITYEAR1: EXITYEAR: RETI

ISMONTH:

MOV A,35H

;开始检查月份 CJNE A,#02H,NEXTMON1

;判断二月 MOV R2,48H

CJNE R2,#00H,RUNNIAN MOV 49H,#1DH

;平年为28天,赋29给49h AJMP EXITMONTH RUNNIAN:MOV 49H,#1EH

;闰年为29天,赋30天给49h

AJMP EXITMONTH

NEXTMON1: CJNE A,#04H,NEXTMON2

AJMP XIAOYUE

NEXTMON2:CJNE A,#06H,NEXTMON3 AJMP XIAOYUE

NEXTMON3:CJNE A,#09H,NEXTMON4 AJMP XIAOYUE NEXTMON4:CJNE A,#0BH,DAYUE XIAOYUE: MOV 49H,#1FH

;四,六,九,十一月是小月,30天,但应该赋31天给比较值49h,AJMP EXITMONTH DAYUE: MOV 49H,#20H

;其他月份为大月,31天,赋32天给49h EXITMONTH: RETI END

毕业设计论文-基于LabVIEW的电子万年历的设计 篇2

本文设计的基于MCS-51单片机的电子万年历具有读取时间、日期、星期和温度的功能,并能够进行12/24时制转换、整点报时和设置闹铃。

1 功能和外观

本文设计的电子万年历要求能够实现如下功能:

显示公历2001~2049年日历,星期自动对应,闰年、大、小月份自动调整;12/24时制转换;自动显示温度;在24小时内任意时刻设定4次定时闹铃,响闹时进行中文语音报时;在8~21点整点时敲整点钟声进行正点报时;亮度显示自动调节,即数码管显示亮度在晚上22点至早上7点降低亮度,使显示柔和不刺眼;时钟精度小于等于正负0.2秒/天;停电保持时钟运行十年以上;同时实现按键和红外遥控双重控制调时。

电子万年历的外部面板显示年、月、日、时、分、星期、温度以及12/24时制转换显示灯、走秒显示灯、定闹、整点报时显示灯。并标注生产厂家及其标志。

2 硬件设计

2.1 总体方案

电子万年历包括硬件电路板、显示元件和产品外壳三个部分。

硬件电路板包括核心芯片电路、数码管驱动及显示电路、时钟芯片电路、温度感应、外部按键及语音输出电路几个部分。

核心芯片用来接收和处理外部信号及向外发部元器件发送控制命令,温度感应、外部按键和时钟芯片提供显示的时间、日期和温度信息,通过数码管驱动及显示电路放大单片机输出的电流,并送给数码管显示出来。语音输出电路在整点或定点闹铃时刻进行语音报时。

电路总体设计框图如图1所示。

2.2 元器件选用

本文选用的单片机AT89S52是一个低功耗,高性能的CMOS 8位单片机,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和8k ISP Flash存储单元,可反复擦写1000次,有效地降低开发成本。

时钟芯片选择的是DALLAS公司的新型时钟日历芯片DS12c887,能够自动产生世纪、年、月、日、时、分、秒等时间信息,自带可保存时间信息10年的锂电池。支持12/24时制,并可用二进制数或BCD码表示时间,能够满足设计要求。

温度芯片选用的是DALLAS公司的数字化温度传感器DS18B20,具有3引脚TO-92小体积封装形式;温度测量范围为-55~+125℃,测温分辨率可达0.0625℃,它具有独特的单线总线接口方式,占用单片机的端口较少,可节省大量的引线和逻辑电路。用户设定的报警温度存储在EEPROM中,掉电后依然保存,性价比非常出色。

驱动芯片选用的是CH451,它是一款整合了数码管显示驱动、键盘扫描控制和μP监控的多功能外围芯片,内置RC震荡电路,可以动态驱动8位数码管或64只LED发光管,具有BCD译码、闪烁、移位等功能,还可以进行64键的键盘扫描。CH451通过级联的串行接口与单片机交换数据,并且提供上电复位和看门狗等监控功能。

语音芯片选用的是ISD1420,它采用CMOS技术,内含震荡器、话筒前置放大、自动增益控制、防混淆滤波器、平滑滤波器、扬声器驱动及EEPROM阵列。最小的录放系统仅需麦克风、喇叭、两个按钮、电源及少数电阻电容。在录放操作结束后,芯片自动进入低功耗节电模式、功耗仅0.5μA。

根据外观设计要求,本文选用1.2英寸动态数码管,因为数码0管的段电流是10MA,因此电源采用220V交流转5V/10W的普通电源即可。因为选用的数码管工作电压有3.6V和1.8V两种,电阻的阻值分别是140欧和320欧,因此选用1/8W的电阻。

3 软件设计

电子万年历的软件部分主要实现阳历、阴历计算,时间调整,语音报时等功能。采用模块化设计思想,便于程序的调试和维护,最终有C语言编程实现。主程序流程图如图2所示。

4 总结

经过测试,本文设计的电子万年历具备显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子计时器的发展趋势,具有广阔的市场前景。

摘要:基于单片机的电子万年历以AT89S52单片机为核心控制器,具有显示时间、日期、星期、温度,进行12/24时制转换、整点报时和设置闹铃的功能,具有很强的实用价值。本文介绍了其硬件电路的设计,并给出了主程序的流程图。

关键词:AT89S52,单片机,时钟芯片

参考文献

[1]裴彦纯,陈志超.基于单片机系统的红外遥控器应用[J].现代仪器,2004(3):46-48.

[2]高海生,杨文焕.单片机应用技术大全[M].第三版.成都:西南交通大学出版社, 2003:200.

[3]王为青,邱文勋.51单片机应用开发案例精选[M].北京:人民邮电出版社.

[4]赵国亮,侯国锐.单片机C语言编程与实例[M].北京:人民邮电出版社.

一种可测温式电子万年历的设计 篇3

关键词:测温,单片机,万年历

0引言

随着科技的发展,生活中电子万年历越来越普遍,功能也越来越多。本文设计了一种基于单片机STC89C52的可测温式电子万年历,能实时地将当前时间和周围的环境温度显示出来,并具有闹钟、秒表、语音报时的功能。万年历主要使用温度传感器DS18B20采集温度信息,与单片机实现双向通信 ;时钟芯片DS1302实现时钟,准确计时 ;并通过语音芯片完成整点报时和温度报警功能。该万年历电路结构简单,具有时间精确、抗干扰能力强、功耗低、可靠性高等优点。

该可测温式电子万年历主要由CPU(STC89C52)、时钟芯片、温度采集、显示电路、语音报警等组成。按键可以实现显示内容的切换、时间的调整以及语音报警的设置。

1硬件电路的设计

该可测温式电子万年历工作时,首先初始化时钟芯片,单片机从时钟芯片读取时间和日期等信息,同时又从温度传感器采集当前环境温度,经过驱动电路送给液晶显示屏,显示相关的信息。其中,按键可以对时间、日期、星期和温度进行调整,并控制闹钟和秒表的功能。万年历又加入了语音芯片,可以实现整点报时和温度报警的功能。

(1)时钟芯片DS1302

DS1302在时间显示方面应用非常普遍,可以对年、月、日、周、时、分、秒进行计时,并且具有闰年补偿功能,工作电压为2.5V ~ 5.5V。采用三线接口与单片机进行同步通,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个用于临时性放数据的RAM寄存器,具有主电源和后备电源两个引脚,并且具有对后备电源进行电流充电的能力。DS1302与单片机之间采用串行数据传输,控制液晶屏显示时间信息。

DS1302的引脚图如图1所示 , 其中Vcc2为主电源,Vcc1为后备电源。在主电源关闭的情况下,也能保持时钟的连续运行。X1、X2是振荡源,外接32.768k Hz晶振。RST是复位 / 片选线,通过把RST输入驱动置高电平来启动所有的数据传送。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc > 2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端 ( 双向 ) ;SCLK为时钟输入端。

(2)温度传感器DS18B20

温度传感器DS18B20直接与单片机连接,避免A/D模数转换模块,降低硬件成本,简化系统电路。DS18B20的电压范围为 :3.0 ~ 5.5V,在寄生电源方式下可由数据线供电,采用独特的单线接口方式。DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。测量温度的范围为- 55℃~+ 125℃之间,测温精度可以达到0.5℃。测量结果直接输出数字温度信号,串行传送给单片机的CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。

DS18B20与单片机的连接方式有两种 :寄生电源连接方式和外部电源连接方式。该可测温式电子万年历采用外部电源连接方式。连接方法即DS18B20的1脚接地 ,2脚 (DQ引脚 ) 与单片机的一根I/O口线连接(P3.2脚),3脚接电源 +5V。在STC89C52的I/O口线与 +5V之间连接一4.7K的上拉电阻,以保证数据采集的正常进行。

(3)LCD1602温度显示的设计

该室温报警装置液晶显示屏采用LCD1602,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。

在单片机系统中应用晶液显示器作为输出器件有显示质量高、数字式接口体积小、重量轻、功耗低的优点。LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,每一个字符都有一个固定的代码,与单片机连接后通过C语言编程就可以工作。在正常工作状态下,电子万年历的设计连接图如图2所示。

2 软件系统设计方案

该万年历的程序流程图如图3所示,具体流程如下 :首先,接通电源,上电工作,DS1302、DS18B20、LCD1602进行初始化,通过单片机控制液晶屏显示“时分秒”、“温度”、“年月日”、“星期”,并伴随整点报时的功能 ;然后,进入功能设置,第一次按下按键K4可以调整“时分秒”和“年月日”,此时K1、K2和K3分别对应时间和日期“加”、“减”和“移位选择”的功能,日期发生变化相应的“星期”也会跟着变化 ;第二次按下按键K4可以设置闹钟的功能,此时K1、K2和K3分别对应时间和日期“关闭”、“开启”和“移位选择”的功能 ;第三次按下按键K4可以设置秒表的功能,此时K1、K2和K3分别对应时间和日期“复位”、“暂停”和“计时”的功能 ;第四次按下按键K4可以退出设置功能,因为该万年历加入了语音芯片,此时按下K2键具有语音报时的功能。

由于DS18B20具有温度采集检测的功能,所以液晶屏显示的温度会随着周围环境温度的变化而变化。该万年历设置有复位电路,连接一个按键K可以自动实现复位功能。

3 调试和分析

待该可测温式电子万年历焊接和软件编程完成后,进入调试环节,将keil 4中C语言程序生成的hex文件烧入到STC89C52芯片中,连接电源后将万年历放入模拟环境中进行系统调试,调试结果如图4所示。液晶显示屏显示“时间”、“温度”、“日期”和“星期”信息,同时可以整点报时,如图4中A图所示。

第一次按下K4进入时间和日期的设置,调试结果如图4中B图所示 ;第二次按下K4进入闹钟的设置,“Y”为开启闹钟,“N”为关闭闹钟,调试结构如图4中C图所示 ;第三次按下K4进入秒表的设置,调试结构如图4中D图所示 ;第四次按下K4退出功能设置,此时按下K2具有语音报时功能。

4 总结

毕业设计论文-基于LabVIEW的电子万年历的设计 篇4

关键词:万年历,单片机,时钟芯片,温度采集,液晶显示

在现代社会快节奏的生活状态下, 人们对时间观念更加注重。目前, 许多人都在使用电子时钟, 但大多数电子时钟只显示时间, 功能比较单一, 无法满足广大消费者的需求, 功能多样的电子万年历应运而生。

多功能电子万年历除能够清晰准确地显示信息, 还应当根据需求随时对日期、时间、星期、温度、闹钟进行设置。应当具有数据直观显示、功能多样、成本低廉等特点。

1 系统方案

按照预期想要实现的功能, 硬件系统以AT89C52芯片作为主控核心, 它的大部分功能与AT89C51相同, 不同的部分是, 它内部存储空间为8 KB ROM。

电源模块:使用电压值为6 V的干电池, 为了得到稳定电压, 所以需要将电源系统稳压器LDO将电源稳压成5 V的电源, 这种方案设计简单, 设备轻便, 方便携带。

按键控制模块:采用独立按键, 程序处理简单, 可大大节省CPU资源。

时钟模块:采用时钟芯片DS1302, 它的性能相对较高, 可自动实现年、月、日、星期、时、分、秒的计数, 精度及准确度都较高。

温度采集模块:采用温度传感器DS18B20, 被测的温度可以直接读出, 显示直观清晰。编程简单, 使用电压范围比较大, 可操作性强, 分辨率和精确度也都比较高[1]。

显示模块:采用LCD1602显示, 功率损耗低, 价格便宜, 显示内容丰富。可直接与单片机接口, 硬件操作简单。

2 硬件设计

硬件设计主要在Proteus仿真, 设计采用Proteus的ISIS, 进入仿真主界面, 找到要仿真的元件, 将各模块的元件按电路连接后, 设置参数, 编写程序。

2.1 主控芯片AT89C52与最小系统

AT89C52单片机的最小系统分为复位电路和晶振电路两部分。

1) 复位电路

考虑到设计要求, 复位电路集上电自动复位和手动复位于一体。

时钟电路进入工作状态, 当高电平的时间大约超出2 us的时候, 就需要是单片机复位, 该操作是系统自动实现的[2]。手动复位则要通过一个按键就可以实现, 在程序运行时, 若出现问题, 如程序计数器PC没有按照预计的功能运行, 即程序“跑飞”、死机或死循环等现象, 手动复位就可以恢复正常了。其电路设计如图1所示。

2) 时钟振荡电路

考虑系统运行速度, 可用12 MHz的石英晶振, 并使用两个小电容作为微调电容, 可以大大提高电路的运行速度[3]。

2.2 时钟芯片DS1302接口设计

DS1302最主要的功能是实时显示时间, 具有高性能、低功耗的优点。在工作时需要先进行初始化, 否则不能正常运行。它是3线的串行接口, 占用的引脚相对较少, 在内部集成可以编程的时钟日历, 操作者可以根据自己对功能的需求, 在单片机上进行设置。可以使用外部电源和备份电源双电源供电, 当外部电源能源耗尽时, 可以使用备份电源使时钟芯片继续运作。

当单电源与电池供电时, VCC1提供低电源。当双电源供电时, VCC2是主电源, VCC1是备份电源。DS1302在工作前必须进行初始化, 要将SCLK端置“0”, RST端置“1”, 这样SCLK才能得到脉冲信号。控制字的位1至位5是操作单元的地址。DS1302进行读写数据时, 位7必须置1。至于位6, 对时间进行读写时, CK=0, 对程序进行读写时RAM=1。进行读操作时, 位0置1;进行写操作时, 位0置0。

2.3 温度芯片DS18B20接口设计

温度采集采用温度传感器DS18B20, 它的测量精度较高, 便于数据采集, 更加符合设计要求。DS18B20温度传感器由美国DALLAS半导体公司生产, 相比较于传统的热敏电阻等其他这类元件, 它可以直接显示被测温度, 还可以根据实际情况的要求, 编写简单的程序来实现读数方式为9-12位的数字值[4]。温度传感器接口电路如图2所示。

2.4 闹钟模块接口设计

通过三极管来控制蜂鸣器, 三极管导通蜂鸣器响, 三极管截止蜂鸣器不响, 闹钟模块电路图如图3所示。

2.5 LCD接口电路设计

管脚3用于调节LCD1602的灰度。4、5、6是控制管脚, 控制LCD1602写入或读出指令。7至14是数据口与P0连接, 将数据传送到LCD1602中。LCD1602与单片机的接口电路如图4所示。

2.6 按键模块设计

按键电路由四个轻触开关组成, 用按键来对时间进行调整, 还可以实现设置闹钟的功能。电路右端接地, 另一端接单片机的端口。把按键按下时, 与它对应的端口就会转变成低电平。通过检测低电平, 可以找到对应按下的按键, 就可以及时作出对应的操作。

3 软件设计

整个软件系统采用C51编程, 主要实现:时间数据的采集、温度的采集、闹铃的设置、按键的识别处理、LCD的驱动等。

编程软件采用Keil u Vision4, 是51系列单片机C语言软件开发系统。Keil C51软件能够提供大量的库函数, 把高级语言翻译成单片机能识别的语言, 生成目标代码的效率较高, 语句紧凑, 容易理解[5]。

软件总体设计流程图如图5所示。

当接通电源开始工作后, 程序从main () 函数开始运行, 随后对温度模块、时间模块和显示模块进行初始化。DS18B20必须先与单片机芯片达成通信协议, 完成初始化并取得通信后, 启动温度测量程序, 测量过程完成后, 发出温度转换指令, 从而便可将温度转化成数字模式进行显示读取;同时DS1302将读取时分秒星期以及年月日寄存器然后通过液晶显示实时时间、星期及日期;键盘电路中按键可对实时日历时钟进行调整;进行显示时要对标志位赋初值, 随后进入循环中运行按键扫描程序和液晶显示程序。

3.1 时间采集

采用时间芯片DS1302对时间进行采集时, 必须对系统初始化。设置时间后, 看是否对时间进行调整, 若时间需要调整, 则调整时间后才能显示, 读取时间;若不需要调整, 则可以直接显示并读取时间。

3.2 温度采集

DS18B20单线通信的功能要求, 需要分时完成, 确保一定的时延控制。否则, 不能进行读写控制。系统对温度采集, 开始必须进行初始化, 对温度进行写操作, 要对温度采样, 然后复位。再进行初始化, 存储温度数据, 对温度进行读操作就完成了。

3.3 液晶显示模块

LCD1602在工作时, 要进行初始化操作。LCD1602有以下几个基本时序:

1) 读状态:RS=L, RW=H, E=H

2) 写指令:RS=L, RW=L, D0~D7=指令码, E=高脉冲

3) 读数据:RS=H, RW=H, E=H

4) 写数据:RS=H, RW=L, D0~D7=数据, E=高脉冲

3.4 闹钟模块

将要设置的闹钟时间写入存储器, 当前时间与设置的时间一致时, 闹铃就会响;当前时间与设置的时间不一致时, 闹铃不响。

3.5 独立按键模块

设计中识别按键采用查询法, 程序简单。系统中含有命名为SET、UP、DOWN、OUT/STOP四个调整按键。SET、OUT/STOP两个按键是否按下在主函数里面查询, 由SET键来激活UP、DOWN键的功能。这样设计, CPU的工作量大大减少。OUT/STOP是多功能键, 当OUT/STOP是响铃停止功能时, SET键未被按下, 当OUT/STOP是退出调整模式的功能时, SET按下。

4 系统实现

编程器Genius G540在联机时将Keil u Vision4编写的程序烧写到AT89C52主控芯片中。步骤如下[6]:

1) 启动Keil编程软件, 新建工程, 选择与单片机型号相匹配的CPU (该设计使用的是AT89C52) , 再新建文件, 扩展名为“.c”。

2) 在建好的文件中用C语言编写程序。

3) 对编写好的C程序进行编译, 确定无误后, 生成HEX文件。

4) 把单片机固定在G540编程精灵上, 用数据线将编程器和计算机相连。

5) 启动G540编程软件, 选择使用的CPU型号, 首先对单片机进行擦除, 然后加载HEX文件, 再通过查空、编程、比较、加密等步骤, 完成程序的烧写。

5 总结

论文分别从硬件方面和软件方面, 对基于单片机的多功能万年历设计作了详细论述。

在设计的整个过程中, 硬件方面主要设计了AT89C52单片机的最小系统;设计了DS1302接口电路实现时钟设置, 设置了具体时间;设计了DS18B20接口电路显示温度;整个设计成果在LCD液晶显示。软件主要设计了闹铃程序、温度采集程序、以及LCD显示程序;系统的调试主要是通过一块AT89C52开发板, 再借助于Keil4、单片机仿真软件Proteus 7 Professional来实现。

参考文献

[1]张萌.单片机应用系统开发综合实例[M].北京:清华大学出版社, 2007.

[2]楼然苗.单片机课程设计指导[M].北京:北京航空航天大学出版社, 2007.

[3]林志琦, 郎建军.基于Proteus的单片机可视化软硬件仿真[M].北京:北京航空航天大学出版社, 2006.

[4]马忠梅.单片机C语言应用程序设计[M].北京:北京航天航空大学出版社, 2007.

[5]肖炎根, 舒望.基于实时钟芯片的电子万年历的设计[J].电子技术, 2007 (3) :91-94.

[6]王越明.电子万年历的设计[J].黑龙江科技信息, 2004 (8) :18-22.

[7]陈明荧.8051单片机课程设计实训教程[M].北京:清华大学出版社, 2003.

[8]何立民.单片机高级教程[M].北京:北京航空航天大学出版社, 2003.

毕业设计论文-基于LabVIEW的电子万年历的设计 篇5

一、系统总体设计

人体的脉象有6道, 我们要把这6道脉象信号全都提取出来, 以便对其进行观察和比较。如果每个脉象信号都有自己的放大电路和A/D转换电路, 那么就要求这些放大电路和A/D转换电路的性能参数相同, 但是要做到这一点非常困难, 几乎是做不到的, 因此我们采用单个通道循环采集的办法。具体做法是六路脉象信号共用一路放大电路和A/D转换电路, 我们用模拟通道选择开关CD4051来对脉象信号进行选择, 同时利用单片机来控制这个选择开关, 实现对六路脉象信号的循环采集, 具体如图1所示:

二、系统实现

整个系统包括以下几个部分:压阻传感器的信号采集模块、前级信号放大调理模块、单片机控制部分以及计算机中Lab VIEW的实时显示处理模块。

2.1压阻传感器

在脉象信号采集过程中要求传感器体积小、灵敏度高、固有频率高。半导体压阻式压力传感器具有灵敏度高、高精度、体积小、动态响应快等特点, 所以选择压阻式传感器方案, 并且采用恒流源供电, 电路图如2图所示:

2.2前置放大电路

前最级主要考虑噪声、输入阻抗和共模抑制比三项的影响, 选用精密仪用放大器INA114。这里设计的电路, 组成由三部分:输入缓冲、高频滤波和仪用放大器。TLC2254是满电源幅度输出的运放, 它在轻负载下的最大输出电压几乎等于电源电压幅度, 作为电压跟随器, RC低通滤波电路组成高频滤波器。电路图如图3所示:

高频滤波器截止频率100HZ, 由 , 得电容C1的取值为0.16u F, INA114只需一个外部电阻就可以设置1—1000的增益。

2.3低通滤波电路

本设计中要保证低频信号不被衰减, 而对高频要求不高, 因此选择了巴特沃斯滤波器。由于公式法设计滤波器十分繁杂, 本文采用工程上经常使用的归一化法来设计低通滤波器。放大器选用LM324, 可实现高增益频率补偿运算, 且静态功耗小, 价格便宜。由于脉搏信号频带变化范围从0Hz-40Hz, 故选取截至频率40Hz。并在120Hz的最小衰减为50d B, 由样本曲线簇知归一化的滤波器为5阶的。如图4所示。

2.4后级放大电路

根据脉搏信号特点, 信号应被放大1000倍后进入A/D, 前置级放大了10倍, 再次需再次放大100倍, 考虑到放大器的性能问题, 再用两级放大形式。前一级放大10倍电容C的作用使整个模块有了低通 (截止频率100Hz) 的功能, 不仅可以去除信号中的高频干扰, 还由于其超前的补偿作用, 对有效信号中的高频部分进行了相位补偿。后一级可实现增益调节, 放大范围2-10.另外由于后面ADC0809对于输入的模拟信号幅值有一定的要求 (0—5V) , 需要对经信号调理后的电压号进行限幅。

2.5单片机与计算机的通信

系统中, 该单片机通过串口与计算机进行通信, 它能够接收计算机发出的控制命令, 并且负责向计算机发送采集到的数据。

其中MAX232A是由美国MAXIM公司生产, 包含两路驱动和接收器的RS一232转换芯片。芯片内部有一个电压转换器, 可以把输入的+5V电压转换为RS一232接口所需的10V电压。图中, PC DB 9是微机的9针串口, 其中第二脚是接收数据端口, 第三脚是发送数据端口, 第五脚是信号接地端。这里采用了三线连接串口:计算机的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。

三、系统软件设计

3.1单片机程序

在系统中, 单片机作为一个核心的控制部件, 主要完成数据采集和数据向上位机发送的工作, 其中定时采样频率是由定时器0的常数自动装载8位计数器的方式产生的;波特率由定时器l的方式1产生。可以对单片机编程, 让控制信号在000-101之间循环, 这样就可以做到对六路脉象信号的循环采集, 人的脉搏的频率是很低的, 一般都达不到100Hz, 而A/D转换电路的采样速率是6.25KHz, 根据奈奎斯特采样定理, 对脉象信号进行循环采集不会影响脉象信号的恢复, 可以不失真的还原出六路脉象信号。这样, 经过模拟通道选择开关CD4051的选择, 出来的只有一路脉象信号, 也就是只用一路放大电路和一路A/D转换电路就可以对脉象信号进行放大处理和采集。

3.2Lab VIEW脉象显示及诊断

本系统采用的是Lab VIEW8.5版本软件, 对一般动态测试技术中往往需要将时域信号变换到频域上加以分析, 对信号进行FFT变换和分析可以获得信号包含的频率成分以及频率范围幅值分布和能量分布, 如图5所示。

四、结束语

本文设计的一个以Lab VIEW为平台, 利用单片机进行前端微弱脉象信号采集, 通过串口实现与计算机的数据通信, 实际制作了整个硬件电路, 并利用Lab VIEW强大的信号分析与处理功能开发了一套微弱脉象信号采集和处理系统。实验过程中, 整个系统能可靠运行, Lab VIEW表现了很好的灵活性。该系统的突出特点是利用LabVIEW采集和处理微弱信号, 充分发挥了软件的上层应用程序优势, 缩短了开发周期;同时图形化的设计简单易懂, 便于操作控制, 可以扩展为更多的系统所使用。

参考文献

[1]谢家宇, 蔡坤宝, 王永东.连续小波变换在中医脉象信号中的应用.重庆大学学报 (自然科学版) .2003 (01)

[2]谢利.脉诊客观化临床研究进展.甘肃中医.2003 (09)

[3]江迅.R波复合触发电路的设计.医疗设备信息.2003 (8)

[4]蔡轶珩, 沈兰荪.黄祥林.脉象分析仪的研究进展.电子测量与仪器学报.2002 (12)

[5]刘明林, 魏红, 刘静溪.中医脉诊仪的设计思路.辽宁中医杂志.2004 (01)

毕业设计论文-基于LabVIEW的电子万年历的设计 篇6

一、机械系统的设计

转子实验系统由转子—轴承系统和测试系统两部分组成。转子—轴承系统的实施方案是根据柔性转子的平衡方法, 通过计算确定校正平衡量;轴承采用滑动轴承, 以适应高速旋转。转子—轴承系统具体设计如下:

转轴的设计与计算:根据平衡转速的要求, 设计转轴的原则是使转子的三阶临界转速在最高工作转速范围内。

平衡盘的设计与计算:初选平衡盘的直径为d2=120mm;宽度为B=25mm;质量为6kg。在转盘上沿着直径为Ф100mm圆周上每隔22.5°有一个螺纹孔, 可以用来施加校正平衡质量。根据振型平衡法, 平衡三阶临界转速, 需要三个相同的平衡盘。外形如图1所示。

临界转速的确定与计算:图2是转子系统的几何模型和对应的有限元模型。在有限元模型中转盘是通过集中质量点来模拟, 转轴是通过具有横截面的梁来模拟。

首先用有限元法计算出前三阶临界转速分别为1232、4927和11086 r/min。设计要求的平衡转速为0-12000r/m i n, 三阶临界转速均在此范围之内, 满足设计要求。这三阶振型如图3所示:

滑动轴承的设计与计算:滑动轴承采用不完全润滑径向轴承, 要求可调轴与轴瓦之间的间隙, 采用对开式的。轴瓦材料选用铜基合金CuZn31Si1。用油杯滴油润滑, 选用润滑油牌号为L-AN5。

联轴器的选用:联轴器选用挠性联轴器中的梅花形弹性联轴器, 它的特点是结构简单, 安全可靠, 具有减振、缓冲以及补偿等性能, 工作温度为-35~80℃。

安装架的设计:安装架是用来安装电涡流位移传感器的, 为了检测三个平衡面两个方向上的不平衡量, 需要6个传感器, 设计了三个相同的安装架。安装架的外形如下图4所示, 所设计的转子—轴承系统见图5。

1-支架2-平衡盘3-螺栓4-垫圈5-底座

1-电机2-联轴器3-轴承座4-竖向传感器安装架5-转轴6-传感器7-平衡盘8-横向传感器安装架9-底座

二、测试系统

当转子—轴承系统的动力特征参数及转速保持一定的条件下, 采用振型平衡法, 由低阶到高阶逐阶地将转子驱动至它的第N阶临速转速附近, 通过对转子在试加平衡试重前后两次驱动的转子—轴承系统的不平衡振动测量, 获得有关转轴的振动值及其相对于转子的参考信号的相位角。以此为依据进行有关的计算, 即可求得为平衡转子所需要的平衡校正质量的大小及相位。这些工作均由测试系统完成, 它采用位移传感器测量振动信号, 经过信号调理器进行滤波、放大等处理, 连接到数据采集卡进行A/D转换, 然后进入到计算机, 应用LabVIEW开发平台进行信号的分析处理求取不平衡量的大小和相位。采用电涡流位移传感器测量转速, 利用鉴相信号确定不平衡的相位。

测试系统如图6所示。它包括被测信号、数据采集系统以及装有LabVIEW软件开发平台的计算机组成。基于虚拟仪器的LabVIEW软件是一个高效的图形化程序设计平台, 为测试系统的设计提供了一个简单直观的开发环境。

根据转子的振动频率200H z及许用偏心距, 所选的传感器的频率响应范围应大于4~10倍的振动频率, 量程应大于许用偏心距。据此, 选用型号为CWY-DO-502电涡流式位移传感器。

本测试系统选用N I公司生产的信号调理模块—SCC, 它是一种紧凑、便携、低价位的信号调理系统, 由一系列单通道或多通道模块组成。通过SC-2345屏蔽盒与数据采集卡相连, 主要用于E系列数据采集卡。信号调理器作前端信号调理系统时, 它向数据采集卡传递数据有两种基本的操作模式:多路复用模式和并行模式。在默认情况下, 运行在并行模式下的模块将0通道信号以差分方式送到数据采集卡模拟输入0通道, 1通道信号送到数据采集卡模拟输入1通道, 依次类推。

根据振动信号的频率、I/O信号的类型以及电压幅值的范围, 选用NI公司的PCI-6110EDAQ卡。该数据采集卡的性能:同步采集, 每一个通道5KHz的采样率;多达4路DI;模拟输入, 12位精度, ±0.2到±42V输入范围;最高5KHz的磁盘写入速度;两路16位模拟输出, 8条数字I/O线, 两路24位计数/定时器。

三、计算机LabVIEW开发平台

采用图形化编程语言LabVIEW, 对实验台的不平衡振动信号进行分析处理。系统软件总体包括数据采集、波形存储和读取、振动信号幅值及相位计算、显示等几大模块。其功能结构框图如下图7所示。这里仅介绍几个重要模块。

多通道的数据采集程序, 是本测试系统必须具备的。程序框图如下图8所示。

数据处理主要包括:频谱分析、时域分析求不平衡振动信号幅值与相位。回转机械的故障很多, 并不是所有的振动都是由不平衡引起的, 所以在实施动平衡分析之前, 需要判别引起振动的原因。因此在本系统中, 频谱分析是不可少的辅助分析功能模块。做好动平衡, 其前提是必须精确地测出不平衡量的大小和位置, 这要求在振动信号中精确地提取由不平衡引起的振动分量的幅度值和其与基准信号之间的相位差。所以说, 从合成波形中检测出基频信号, 并准确地测定其幅值和相位, 是实施动平衡最基本和最重要的内容。求取相位差和幅值的程序框图如下图9所示。

该系统的数据处理前面板如图10所示, 利用它采集的波形图如图11所示。

四、结束语

采用LabVIEW软件开发平台进行测试系统的设计, 可方便实现动平衡测试。系统除了能完成柔性转子的三阶临界转速以下的动平衡外还具有测转速的功能。对信号的时域和频域显示可帮助操作者对转子振动作出正确的判断, 方便动平衡。系统软件采用模块化结构, 各模块可单独运行。用子程序嵌套实现软件功能, 各子程序功能明确, 易于实现程序的扩展、维护和更新。

利用该系统, 学生可以根据自己的兴趣与能力, 有针对性的进行实验, 充分发挥学生的自主性与能动性, 同时它也是一个集传感器、信号处理、计算机控制等几部分为一体的综合系统, 使学生在实验的过程中, 更好的了解测试系统的组成与信号的处理过程, 对教学定会起到很好的作用。因此本试验系统为专门从事振动测试、振动研究及大专院校有关实验室提供有效而方便的实验手段, 是一套适合于教学、科研和培训的转子试验系统。

摘要:介绍了基于LabVIEW的转子实验系统的机械系统及测试系统设计过程。该系统利用LabVIEW图形化语言编程, 将振动传感器采集的信号进行处理、分析、存储、显示。本系统适合机械专业师生开展动态数据的采集、保存及数据处理算法等方面的实验和研究, 适合开展柔性转子动平衡实验。

关键词:柔性转子,动平衡,LabVIEW,数据采集

参考文献

[1]王汉英等.转子平衡技术与平衡机[M].北京:机械工业出版社, 1988

[2]钟一谔等.转子动力学[M].北京:清华大学出版社, 1987

[3]孙宝元, 杨宝清.传感器及其应用手册[M].北京:机械工业出版社, 2004

[4]雷振山, 赵晨光等.LabVIEW8.2基础教程[M].北京:中国铁道出版社, 2008

上一篇:解放思想要坚持以人为本下一篇:青春的价值初中作文500字