格式修改红色字体的内容 2Word格式.docx

上传人:b****3 文档编号:6547078 上传时间:2023-05-06 格式:DOCX 页数:32 大小:1.36MB
下载 相关 举报
格式修改红色字体的内容 2Word格式.docx_第1页
第1页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第2页
第2页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第3页
第3页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第4页
第4页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第5页
第5页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第6页
第6页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第7页
第7页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第8页
第8页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第9页
第9页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第10页
第10页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第11页
第11页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第12页
第12页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第13页
第13页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第14页
第14页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第15页
第15页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第16页
第16页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第17页
第17页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第18页
第18页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第19页
第19页 / 共32页
格式修改红色字体的内容 2Word格式.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

格式修改红色字体的内容 2Word格式.docx

《格式修改红色字体的内容 2Word格式.docx》由会员分享,可在线阅读,更多相关《格式修改红色字体的内容 2Word格式.docx(32页珍藏版)》请在冰点文库上搜索。

格式修改红色字体的内容 2Word格式.docx

6.20~6.21

4

程序流程图的设计、源程序的编制及系统调试

6.22~6.23

5

撰写课程设计报告

6.24~6.25

6

五、应收集的资料及主要参考文献

[1]孙育才.MCS-51系列单片微型计算机及其应用[M].东南大学出版社,2004.6

[2]张毅刚,彭喜源,谭晓昀.MCS-51系列单片机实用设计[M].哈尔滨工业大学出版社,2008

发出任务书日期:

2013年06月17日指导教师签名:

计划完成日期:

2013年06月25日教学单位责任人签章:

目录

1系统分析5

1.1功能要求5

1.2方案论证5

2系统设计7

2.1系统硬件电路的设计7

2.2系统程序的设计11

3结束语13

参考文献14

附录1材料清单15

附录2电路原理图16

附录3实物图17

附录4主要程序清单18

利用word的菜单“自动生成目录”:

1、单击工具栏菜单“插入”/引用/索引和目录/目录/去掉“使用超级链接而不使用页码”选项,格式“正式”,显示级别“3级”

2、选中生成的目录,单击菜单“格式”/段落/行距/1.5倍行距

3、选中生成的目录,小四宋体

大标题:

居中,三号黑体加粗,格式/段落/大纲级别/1,1.5倍行距,段前、段后0.5

二级标题:

小四黑体加粗,格式/段落/大纲级别/2,1.5倍行距,段前、段后0.5

1系统分析

1.1功能要求

正文:

小四宋体,1.5倍行距

本文设计一款采用LED显示器件显示的电子时钟,有效克服了时钟存在的误差问题,并能在夜间不必其它照明就能看到时间,且以60只发光管实现秒显示,接近于传统的秒针来显示秒的形式。

另加七只装饰用的LED灯,使整个时钟显的相当美观新颖,故还可作为室内装饰用。

电子钟的外观如图1.1所示。

周边60只发光管顺时旋转来显示秒,中间四只LED数码管用于显示时间,中下方的七只LED灯顺时旋转,供装饰用。

其主要功能有:

(1)整点报时;

(2)四只LED数码管显示当前时分;

(3)每隔一秒钟周边的60只LED发光管旋转一格,装饰用的LED每隔一秒旋转一次;

(4)当发生停电事件时,由后备电池供电,系统进入低功耗状态,所有显示部件停止显示,这样即延长了电池的寿命,同时又保证了CPU继续计数,不至于因停电而时钟停止运行。

当恢复供电后,系统自动恢复工作状态,不影响计时。

图号:

按章编号,如第1章第1个图,图1.1,第1章第2个图,图1.2,第2章第1个图,图2.1,依次类推。

五号宋体

图1.1多功能电子钟外观图

1.2方案论证

从“正文”开始编页码

电脑钟的原理框图如图1.2所示。

它由以下几个部件组成:

单片机89C2051、电源、时分显示部件、60秒旋转译码驱动电路。

图1.2电子钟系统原理框图

时分显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。

时分显示模块、60秒旋转译码驱动电路以及显示驱动都通过89C2051的I/O口控制。

电源部分:

由两部分组成,一是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作;

二是由3V的电池供电,以保证停电时正常走时。

正常情况下电池是不提供电能的,以保证电池的寿命。

2系统设计

2.1系统硬件电路的设计

本系统的应用程序主要由主程序、中断服务程序和子程序组成。

主程序的任务是对系统进行初始化,实现参数输入,并控制电加热炉的正常运行。

主程序主要由系统初始化、数据

2.1.160秒旋转译码驱动原理

按常规传统设计,需60进制译码驱动电路才能实现60秒旋转译码驱动,若用六片十进制计数译码器构成六十进制计数译码电路,则电路连线多(需要120根连线),硬件电路庞大,开销大。

为此,本文巧妙地采用了两片CD4017进行六十进制计数译码,实现60秒旋转译码驱动。

既减少了电路的复杂程度又可降低了成本。

图2.1为CD4017功能引脚图和工作时序图。

图2.1CD4017时序图

CD4017集成电路是十进制计数/时序译码器,共有10个译码输出Q0~Q9;

每个译码输出通常处于低电平,且在时钟脉冲由低到高的上升沿输出高电平;

每个高电平输出维持1个时钟周期;

每输入10个时钟脉冲,输出一个进位脉冲,因此进位输出信号可作为下一级计数器的时钟信号。

在清零输入端(R)加高电平或正脉冲时,只有输出端Q0为高电平,其余各输出端均为低电平“0”。

为实现对发光二极管的驱动,将每一个译码输出端口接一只发光二极管,并将二极管串联限流电阻后接地。

当译码端口Q0~Q9中任一端口为高电平,则对应的发光二极管点亮,如图2.2(左)所示。

根据CD4017的功能,可发现其10个输出的高电平是相互排斥的,即任一时刻只有一只发光二极管点亮,因此可电路进一步简化为如图4(右)所示,从而简化电路设计。

图2.2CD4017控制发光二极管原理图

在本电子钟设计中,每秒点亮一个发光二极管,循环点亮一周共需60个发光二极管,若用上述的6片CD4017实现驱动,显然电路复杂。

为此我们选用两片CD4017和一片6反相器,采用“纵横双译码”技术,巧妙地实现60秒旋转译码驱动,其中一片接成10进制,一片接成6进制,实现6×

10=60的功能,具体连接方法如图2.3所示。

图2.3发光二极管“纵横双译码”循环点亮LED原理图

将周期为1秒的输入脉冲作为其中一片CD4017的时钟脉冲,而此片的级联进位输出端(QC)作为另一片的时钟输入,并将Q6与复位端相连。

在两片译码输出端交叉点上接入发光二极管,构成6×

10矩阵。

根据CD4017时序特点,在初始状态,作为高位(纵)的CD4017译码器输出端口Q0处于高平,经反相器反相后为低电平。

当作为低位(横)的CD4017译码器输出端口Q0~Q9依次输出高电平后,则对应的二极管LD1~LD10依次点亮;

此后由于QC端的进位,高位CD4017译码输出端口Q1输出高电平,反相后输出低电平,当低位的CD4017译码输出端口Q0~Q9依次输出高电平后,二极管LD11~LD20依次点亮。

如此往复,直至高位Q6向复位端输入高电平,CD4017复位,60秒循环点亮重新开始。

2.1.2时分显示部件

由于系统要显示的内容较简单,显示量不多,所以选用数码管既方便又经济。

LED有共阴极和共阳极两种。

二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。

一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)a~g,另一个小数点为dp发光二极管。

当在某段发光二极管施加一定的正向电压时,该段笔划即亮;

不加电压则暗。

为了保护各段LED不被损坏,需外加限流电阻,如图2.4所示。

图2.4LED数码管结构原理图

众所周知,LED显示数码管通常由硬件7段译码集成电路,完成从数字到显示码的译码驱动。

本系统采用软件译码,以减小体积,降低成本和功耗,软件译码的另一优势还在于比硬件译码有更大的灵活性。

所谓软件译码,即由单片机软件完成从数字到显示码的转换。

从LED数码管结构原理可知,为了显示字符,要为LED显示数码管提供显示段码,组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED数码管的显示段码为1个字节。

各段码位与显示段的对应关系如表2.1。

表2.1各段码位的对应关系

段码位

D7

D6

D5

D4

D3

D2

D1

D0

显示段

dp

g

f

e

d

c

b

a

需说明的是当用数据口连接LED数码管a~dp引脚时,不同的连接方法,各段码位与显示段有不同的对应关系。

通常数据口的D0位与a段连接,D1位与b段连接,……D7位与dp段连接,如表1所示,表2.2为用于LED数码管显示的十六进制数和空白字符与P的显示段码。

表2.2LED显示段码

字型

共阳极段码

共阴极段码

C0H

3FH

9

90H

6FH

F9H

06H

A

88H

77H

A4H

5BH

B

83H

7CH

BOH

4FH

C

C6H

39H

99H

66H

D

A1H

5EH

92H

6DH

E

86H

79H

82H

7DH

F

84H

71H

7

F8H

07H

空白

FFH

00H

8

80H

7FH

P

8CH

73H

注:

(1)本表所列各字符的显示段码均为小数点不亮的情况。

(2)“空白”字符即没有任何显示。

根据AT89C2051单片机灌电流能力强,拉电流能力弱的特点,我们选用共阳数码管。

将AT89C2051的P1.0~P1.7分别与共阳数码管的a~g及dp相连,高电平的位对应的LED数码管的段暗,低电平的位对应的LED数码管的段亮,这样,当P0口输出不同的段码,就可以控制数码管显示不同的字符。

如:

当P0口输出的段码为11000000,数码管显示的字符为0。

数码管显示器有二种工作方式,即静态显示方式和动态扫描显示方式。

为节省端口及降低功耗,本系统采用动态扫描显示方式。

动态扫描显示方式需解决多位LED数码管的“段控”和“位控”问题,本电路的“段控”(即要显示的段码的控制)通过P0口实现;

而每一位的公共端,即LED数码管的“位控”,则由P3口控制。

这种连接方式由于多位字段线连在一起,因此,要想显示不同的内容,必然要采取轮流显示的方式,即在某一瞬间,只让其中的某一位的字位线处于选通状态,其它各位的字位线处于断开状态,同时字段线上输出这一位相应要显示字符的字段码。

在这一瞬时,只有这一位在显示,其他几位则暗。

在本系统中,字位线的选通与否是通过PNP三极管的导通与截止来控制,即三极管处于“开关”状态。

系统的时分显示部件由4只7段共阳LED数码管构成,前两只用于时的显示,后两只用于分的显示。

值得一提的是,在设计中需要实现时与分之间的两个闪烁点,为此,将第三只LED数码管倒置摆放,这样就形成了两个很自然的闪烁点。

与此同时,为了能使两点显示能够形象的表示时钟“秒”的变化,设计时,将两个点由P1.7单独控制,每隔一秒使P1.7发送一个正脉冲,从而实现了两个点的闪烁显示,闪烁周期为一秒。

2.2系统程序的设计

本系统的软件系统主要可分为主程序和定时器中断程序两大模块。

在程序过程中,加入了抗干扰措施。

下面对部分模块作介绍。

2.1.1系统主程序设计

主程序的功能是完成系统的初始化,在显示时间之前,对系统是否停电状态进行检测;

若停电,将系统进入低功耗状态,用电池电压维持单片机计时工作,但此时不显示时间,用节省用电;

若不停电,则将时分发送显示。

程序流程如图2.5所示。

2.2.2中断程序设计

中断程序(如图2.6所示)完成时间计数,时间调整,误差消除等功能。

中断采用AT89C2051内部T0中断实现,定时时间为125ms,当时间到达125ms×

8,即1分钟时,分计数缓冲器MINBUFFER增加1,到达1小时,则时计数缓冲器HOURBUFFER增加1,并将分、时的个位、十位放入显示缓冲器。

当分计数缓冲器和时计数缓冲器分别到达60min、24h时,则对它们清零,以便从新计数。

在中断设计中,还通过软件实现了累计误差消除功能,使整个系统时间的精确度得到保证。

图2.5系统主程序流程图图2.6定时中断程序

3结束语

上述电子钟,无论在外观上还是功能上都实现了较为完善的设计。

特别值得一提的是本系统在精度上的设计,突破传统的方法,对可能产生的积累误差采用“抵消法”,从而有效地降低了时间误差。

由于计数时产生的积累误差所导致的时间误差,是所有的电子计时系统共同存在的问题。

但在目前市场上的电子时钟产品,如计算机中的时钟,手机中的时钟等并没有有效的采取消除误差的措施。

本系统设计的消除积累误差来减少时间误差的软件方法,并不需要任何的硬件,因此在不增加成本的情况下,可以普遍用于所有的电子时钟产品。

注意,总结不是写个人体会,不要出现“我”、“本人”之类的词,是总结本设计的内容,例如,实现什么功能,怎么实现的,有什么特别之处,有什么优、缺点,今后可如何改进之类。

参考文献

[1]张毅刚,彭喜源,谭晓昀.MCS-51系列单片机实用设计[M].哈尔滨工业大学出版社,2008.

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

[3]

[4]

[5]

请按实际情况填写,至少5个

附录1材料清单

名称

型号

数量

单片机

AT89C2051

数字集成芯片

CD4017

CD4069

超高亮数码管

共阳尺寸0.5inch

高亮发光二极管

3红、透明

13

3绿、透明

50

普通二极管

IN4001

IN4148

稳压二极管

C4V7(4.7V)

三极管

9012

9013

轻触按键

小(尺寸6×

6mm×

5.5)

蜂鸣器

5V

晶振

6M(小体积)

底座

14脚

16脚

20脚

40脚

电阻

220欧姆,1/8瓦

4.7K,1/8瓦

100欧姆,1/8瓦

10k,1/8瓦

270欧姆,1/8瓦

电容

100微法/25伏

220微法/25伏

30P瓷片

104(0.1微法)

变压器

5V/100MA

电源线

150cm

固定脚

3套

PCB线路板

直径11.5

附录2电路原理图

附录3实物图

附录4主要程序清单

ALARMHBUFF2EQU77H;

闹铃时间的时十位计时绶冲

ALARMHBUFF1EQU76H;

闹铃时间的时个位计时绶冲

ALARMMBUFF2EQU75H;

闹铃时间的分十位计时绶冲

ALARMMBUFF1EQU74H;

闹铃时间的分个位计时绶冲

HBUFF2EQU73H;

时十位计时绶冲

HBUFF1EQU72H;

时个位计时绶冲

MBUFF2EQU71H;

分十位计时绶冲

MBUFF1EQU70H;

分个位计时绶冲

DPEQU6FH;

控制数码管点的亮暗

NUMEQU78H;

前四秒还是后四秒计数

SBUFFEQU79H;

秒十进制计时绶冲(低四位对应个位,高四位对应十位)

MBUFFEQU7AH;

分十进制计时绶冲

HBUFFEQU7BH;

时十进制计时绶冲

ALARMMBUFFEQU7CH;

闹铃时间的分十进制计时绶冲

ALARMHBUFFEQU7DH;

闹铃时间的时十进制计时绶冲

NUMT1EQU67H;

用于控制时间调整时按键p3.2一次按下时,计数器T1中断的次数

NUMT2EQU68H;

用于控制时间调整时按键p3.3一次按下时,计数器T1中断的次数

KEYNUMT1EQU69H;

用于存储NUMT1已经计数到第几个半秒

KEYNUMT2EQU6AH;

STOREKEYNUMT2EQU6BH;

用于存储当前KEYNUMT1的值,以和下次做比较,看是否有变化

STOREKEYNUMT1EQU6CH;

用于存储当前KEYNUMT2的值,以和下次做比较,看是否有变化

ORG0000H

AJMPSTART

ORG000BH

MOVTH0,#0BH;

设置计数初值,R4用来存储低位的初值

MOVTL0,R4

AJMPINTERT0

ORG001BH

AJMPINTERT1

ORG0040H

START:

MOVNUMT1,#00H

MOVNUMT2,#00H

MOVKEYNUMT1,#00H

MOVKEYNUMT2,#00H

MOVSTOREKEYNUMT2,#00H

MOVSTOREKEYNUMT1,#00H

MOVNUM,#8

MOVDPTR,#TAB

MOVALARMHBUFF,#18H;

置闹铃时间初始值为18:

55

MOVALARMMBUFF,#55H

MOVALARMHBUFF2,#01H

MOVALARMHBUFF1,#08H

MOVALARMMBUFF2,#05H

MOVALARMMBUFF1,#05H

MOVHBUFF2,#01H;

置闹钟时间为18:

53

MOVHBUFF1,#08H

MOVMBUFF2,#05H

MOVMBUFF1,#03H

MOVHBUFF,#18H

MOVMBUFF,#53H

MOVSBUFF,#3CH;

置初始秒为60,计时时减

MOVTCON,#05H;

下降沿触发

MOVTMOD,#11H;

初始化定时器,T0,T116位计时

设置计数初值,125ms计时

MOVTL0,#0DBH

MOVTH1,#3CH;

T1置初值,进行100ms计时,用于调整时间

MOVTL1,#0B0H

MOVIE,#82H;

开T0中断

SETBPT0;

T0中断优先级最高

SETBTR0;

允许T0计数

SETBP3.2

SETBP3.3

START1:

MOVA,HBUFF;

显示时,7点以前及21点以后亮度调暗

SUBBA,#7H

JCSTART2

MOVA,HBUFF

SUBBA,#21H

JNCSTART2

ACALLDISPLAY

ACALLZDBS

AJMPSTART3

START2:

ACALLNIGHTDISPLAY

START3:

MOVA,ALARMHBUFF;

检测是否是定闹时间

CJNEA,HBUFF,START4

MOVA,ALARMMBUFF

CJNEA,MBUFF,START4

MOVC,DP;

若是定闹时间,则利用dp的值来决定蜂鸣

MOVP3.2,C

MOVA,SBUFF

JNZSTART1;

若还没到1分钟,则继续蜂鸣

START4:

JNBP3.2,ADJUSTTIME1;

循环等待中断,并检测是否键按下,若是,则进入相应程序

JNBP3.3,ADJUSTTIME2

AJMPSTART1

;

****************

*int0中断子程序*

ADJUSTTIME1:

NOP

MOVKEYNUMT1,#00H

SETBET1;

开T1中断

SETBPT1;

设T1中断优先级最高

SETBTR1;

允许T1计时

MOVSTOREKEYNUMT1,KEYNUMT1;

存储当前次KEYNUMT1的值

TIME1_1:

ACALLDISPLAY

MOVA,KEYNUMT1

CJNEA,STOREKEYNUMT1,TIME1_2;

若当前KEYNUMT1的值与上一次的值不等,则时间加1分,否则继续循环,等等至半分钟

AJMPTIME1_3

TIME1_2:

MOVSTOREKEYNUMT1,KEYNUMT1;

加1后存储当前的KEYNUMT1的值

ACALLADDBUFF0;

分加1

TIME1_3:

JNBP3.2,TIME1_1;

若p3.2已关,则退出增时,否则继续循环

CLRET1

CLRPT1

CLRTR1

;

********************

*****时间增1分******

ADDBUFF0:

MOVA,MBUFF;

若按键小于1s,则分增1

ADDA,#1

DAA

MOVMBUFF,A

ANLA,#0FH

MOVMBUFF1,A

MOVA,MBUFF

SWAPA

MOVMBUFF2,A

CJNEA,#60H,ADDBUFF1

MOVMBUFF,#00H

MOVMBUFF2,#00H

MOVMBUFF1,#00H

时增1

MOVHBUFF,A

MOVHBUFF1,A

MOVHBUFF2,A

CJNEA,#24H,ADDBUFF1;

若没到24小时,则不必初值置0

MOV

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2