单片机时钟计时器课程设计.docx

上传人:b****1 文档编号:2802013 上传时间:2023-05-04 格式:DOCX 页数:41 大小:54.37KB
下载 相关 举报
单片机时钟计时器课程设计.docx_第1页
第1页 / 共41页
单片机时钟计时器课程设计.docx_第2页
第2页 / 共41页
单片机时钟计时器课程设计.docx_第3页
第3页 / 共41页
单片机时钟计时器课程设计.docx_第4页
第4页 / 共41页
单片机时钟计时器课程设计.docx_第5页
第5页 / 共41页
单片机时钟计时器课程设计.docx_第6页
第6页 / 共41页
单片机时钟计时器课程设计.docx_第7页
第7页 / 共41页
单片机时钟计时器课程设计.docx_第8页
第8页 / 共41页
单片机时钟计时器课程设计.docx_第9页
第9页 / 共41页
单片机时钟计时器课程设计.docx_第10页
第10页 / 共41页
单片机时钟计时器课程设计.docx_第11页
第11页 / 共41页
单片机时钟计时器课程设计.docx_第12页
第12页 / 共41页
单片机时钟计时器课程设计.docx_第13页
第13页 / 共41页
单片机时钟计时器课程设计.docx_第14页
第14页 / 共41页
单片机时钟计时器课程设计.docx_第15页
第15页 / 共41页
单片机时钟计时器课程设计.docx_第16页
第16页 / 共41页
单片机时钟计时器课程设计.docx_第17页
第17页 / 共41页
单片机时钟计时器课程设计.docx_第18页
第18页 / 共41页
单片机时钟计时器课程设计.docx_第19页
第19页 / 共41页
单片机时钟计时器课程设计.docx_第20页
第20页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机时钟计时器课程设计.docx

《单片机时钟计时器课程设计.docx》由会员分享,可在线阅读,更多相关《单片机时钟计时器课程设计.docx(41页珍藏版)》请在冰点文库上搜索。

单片机时钟计时器课程设计.docx

单片机时钟计时器课程设计

 

1 课程设计的目的和意义................................................................................................................2

1.1 设计目的.............................................................................................................................2

1.2 设计意义.............................................................................................................................2

2 系统方案设计及确定....................................................................................................................3

3 系统硬件设计................................................................................................................................4

3.1AT89S51 最小系统设计 .....................................................................................................4

3.1.1 时钟电路硬件设计..................................................................................................4

3.1.2 复位电路硬件设计..................................................................................................4

3.2 键盘电路硬件设计.............................................................................................................5

3.3 显示电路硬件设计.............................................................................................................6

3.4 蜂鸣器电路硬件设计.........................................................................................................6

4 系统软件设计................................................................................................................................7

4.1 系统主程序设计.................................................................................................................7

4.2 定时器设计.........................................................................................................................8

4.3 秒表设计.............................................................................................................................9

4.4 闹钟设计.............................................................................................................................9

4.5 其他主要子程序设计.......................................................................................................10

5 系统调试......................................................................................................................................11

6 总结..............................................................................................................................................12

参考文献.........................................................................................................................................13

附录.................................................................................................................................................14

附录一 程序清单...................................................................................................................14

附录二 系统硬件原理图.......................................................................................................14

1 课程设计的目的和意义

 

1.1 设计目的

 

灵活运用单片机的基础知识,依据课程设计内容,能够完成从硬件电路图设计,到

PCB 制版,再到软件编程及系统调试实现系统功能,完成课程设计,加深对单片机基础知

识的理解,并灵活运用,将各门知识综合应用。

能够上网查询器件资料,培养对新知识新技术的独立的学习能力和应用能力。

独立完成一个小的系统设计,从硬件设计到软件设计,增强分析问题、解决问题的能力,

为日后的毕业设计及科研工作奠定良好的基础。

1.2 设计意义

 

单片机课程设计过程中,我们通过查阅资料、硬件设计、程序设计、安装调试等环节,

完成了一个涉及 89S51 单片机多种资源应用并具有综合功能的小系统目标板的设计与编程

应用。

使我们不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电

路、电子元器件、原理图绘制等方面的知识进一步加深认识,同时在软件编程、排错调试、

焊接技术、相关软件及仪器设备的使用技能等方面得到较全面的锻炼和提高。

使我们增进

对单片机的感性认识,加深对单片机理论方面的理解。

使我们了解和掌握单片机应用系统

的软硬件设计过程、方法及实现,强化单片机应用电路的设计与分析能力。

提高我们在单

片机应用方面的实践技能和科学作风;培育学生综合运用理论知识解决问题的能力,实现理

论结合实际,学以致用的原则。

2 系统方案设计及确定

 

本次课程设计,要求用单片机及 6 位 LED 数码管显示时、分、秒,以 24<小>时计时

方式运行,能整点提醒(短蜂鸣,次数代表整点时间),使用按键开关可实现时、分调整,

秒表(或闹钟)/时钟功能转换,以及实现省电(关闭显示)功能。

1.时钟功能

利用单片机片内定时器(如 T0)产生 1s 计时,自行设定时钟计数单元地址,包括秒

单元、分单元、时单元,最大计数值为 23 时 59 分 59 秒。

用 6 位 LED 数码管显示时、分、

秒,以 24<小>时计时方式运行;

使用按键开关可实现时、分调整,可增加“熄灭符”用于时间调整时的闪烁功能;

能整点提醒(短蜂鸣,次数代表整点时间);

可通过按键使系统进入省电状态(数码管不亮,时钟不停)。

2.秒表功能

能通过按键实现秒表/时钟功能之间的转换;

利用单片机内部定时器(如 T1)实现秒表的计时,自行设定秒表计数单元地址,包括

10ms 单元、秒单元、分单元, 通过 6 位 LED 数码管显示,最大计数值为 99 分 59.99 秒。

 

可通过按键实现秒表的暂停、清零、启动。

3.闹钟功能

能通过按键实现闹钟/时钟功能之间的转换;

可通过按键设定闹钟时间,在定时闹铃时精确到分,可通过 6 位 LED 数码管显示闹钟

设定时间。

可通过按键实现闹铃有效、无效,以及在设定闹钟后取消闹时功能。

在闹铃时,可通过按键开关使蜂鸣停止。

4.系统设计方案框图如下:

电源

 

独立按键电路

数码管显示电路

时钟电路

AT89S51

单片机

蜂鸣器电路

复位电路

图 2-1 系统设计方案框图

 

3 系统硬件设计

 

3.1AT89S51 最小系统设计

 

单片机最小系统单片机,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的

系统.对 51 系列单片机来说,最小系统一般应该包括:

单片机、晶振电路、复位电路.

下面给出一个 51 单片机的最小系统电路图:

 

图 3-1 51 单片机最小系统原理图

3.1.1 时钟电路硬件设计

 

时钟电路是计算机最核心的部分,它控制着计算机的工作。

AT 89 S51 单片机内部有一个

高增益反相放大器,用于构成振荡器。

反相放大器的输入端为 XTAL1,输出端为

XTAL2,分别是单片机的 19 脚和 18 脚。

在 XTAL1 和 XTAL2 两端跨接石英晶体及两个电

容就可以构成稳定的自激振荡器。

石英晶振起振后要能在 XTAL2 线上输出一个 3V 左右的

正弦波,使片内的 OCS 电路按石英晶振相同频率自激震荡。

通常,OCS 的输出时钟频率

fosc 为 0.5MHZ~16MHZ,典型值为 12MHZ 电容器 C1 和 C2 通常取 30pF 左右,对震荡频

率有微调作用。

调节它们可以达到微调震荡周期 fosc 的目的。

时钟电路如下:

图 3-2 时钟电路电路图

 

3.1.2 复位电路硬件设计

单片机的 RST 管脚为主机提供一个外部复位信号输入端口。

复位信

号是高电平有效,高电平有效的持续时间应为 2 个机器周期以上。

单片机的复位方式有上电自动复位和手工复位两种。

图 4-2 所示是

51 系列单片机常用的上电复位电路,只要 Vcc 上升时间不超过

1ms,它们都能很好地工作。

复位以后,单片机内各部件恢复到初始

状态。

电阻电容器件的参考值:

R1=200Ω,R2=1KΩ,C3=22μF。

RET 按键可

以选择专门的复位按键,也可以选择轻触开关。

复位电路如下

 

图 3-3 复位电路电路图

3.2 键盘电路硬件设计

单片机中常见的键盘有独立式键盘和矩阵式键盘,独立式键盘适

用于实现功能较少的场合、矩阵式键盘适用于功能复杂的场合。

次课程设计,采用独立式键盘即可。

键盘电路如下:

显示

字符

0

1

2

3

4

5

6

7

8

段码

C0H

F9H

A4H

B0H

99H

92H

82H

F8H

80H

显示

字符

9

A

B

C

D

E

F

全灭

全亮

段码

90H

88H

83H

C6H

A1H

86H

8EH

FFH

00H

图 3-4 键盘电路电路图

上拉电阻保证按键释放时,输入检测线上有稳定的高电平。

当某

一按键按下时,对应的检测线就变成了低电平,与其他按键相连的

检测线仍为高电平,只需读入 I/O 输入线的状态,判别哪一条 I/O

输入线为低电平,很容易识别哪个键被按下。

键的闭合与否,输出电压上就是呈现高电平或低电平。

高电平,

表示键断开,低电平则表示键闭合,通过对电平的高低状态的检测,

可确认按键按下以及按键释放与否。

为了确保对一次按键动作只确

认一次按键有效,必须消除抖动的影响,去抖有硬件去抖和软件去

抖,本次设计采用软件去抖。

3.3 显示电路硬件设计

本次课程设计,采用 LED 数码管作为显示装置。

LED 数码管有共阴极、共阳极两种结构,本次采用共阳极数码

管。

共阳极 LED 数码管的发光二极管的阳极连接在一起,公共阳极

接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点

亮,相应的段被显示。

8 段共阳极 LED 段码如下:

表 3-1 8 段共阳极 LED 段码表

LED 数码管有静态显示和动态显示两种显示方式。

静态显示方

式,数码管亮度高、软件编程简单,但是需要占用大量的 I/O 口,

一般在多位显示时不采用此种方法。

动态显示方式,数码管亮度稍

低、软件编程复杂,但是占用的 I/O 口少,在显示多位数字的时候

适合采用此种方法。

考虑到本次课程设计需要显示六位数字,故采

用动态显示方式。

LED 数码管段选、位选驱动电路均采用 DM74LS244 作为驱动芯

片。

3.4 蜂鸣器电路硬件设计

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广

泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子

设备、电话机、定时器等电子产品中作发声器件。

蜂鸣器的工作原理是,接通电源后,振荡器产生的音频信号电流

通过电磁线圈,使电磁线圈产生磁场。

振动膜片在电磁线圈和磁铁

的相互作用下,周期性地振动发声。

本次课程设计中,由于单片机

的 I/O 口驱动能力不够让蜂鸣器发出声音,所以我们通过三极管放

大驱动电流,从而可以让蜂鸣器发出声音。

蜂鸣器电路如下:

 

图 3-5 蜂鸣器电路电路图

 

4 系统软件设计

 

4.1 系统主程序设计

 

程序中,采用按键 1 作为主功能切换键,按键 2、按键 3、按键 4 作为子功能控制键。

在主程序中,开始即进入定时器子程序,显示当前时间,并同时对按键 1 进行扫描。

如果按键 1 第一次被按下,则进入调整时间子程序,并同时对按键 2 、按键 3、按键 4 进

行扫描,此时按键 2 、按键 3、按键 4 分别作为调整时、分、秒按钮使用;如果按键 1 第

二次被按下,则进入秒表子程序,并同时对按键 2 、按键 3、按键 4 进行扫描,按键 2 、

按键 3、按键 4 分作为秒表启动、暂停、停止并清理按钮使用;如果按键 1 第三次被按下,

则进入闹钟子程序,并同时对按键 2 、按键 3、按键 4 进行扫描,按键 2 、按键 3、按键

4 分作为闹钟的启动/关闭、调整时、调整分按钮使用;如果按键 1 第四次被按下,则进入

节能子程序,此时将不对按键 2 、按键 3、按键 4 分进行扫描;如果按键 1 第五次被按下,

则重新回到定时器子程序,如此循环。

开始

 

调用定时器函数

按键1被按下?

Y

调用时钟设置及显

示函数

按键1被按下?

Y

调用秒表控制及显

示函数

按键1被按下?

Y

调用闹钟控制及显

示函数

按键1被按下?

Y

调用节能函数

 

按键1被按下?

N

 

N

 

N

 

N

 

N

Y

主程序流程图

 

4.2 定时器设计

 

在定时器子程序当中,采用定时器 T0 产生定时中断。

定时器 T0 工作于方式 2,初值

为 TH0=0x9C,TL0=0x9C,时钟电路采用 12MHZ 晶振,所以每 0.1ms 产生一次中断,再

在中断中对时间进位进行判断处理,使之产生较为精准的定时。

定时器T0产生

0.1ms中断,num++

 

num==10000?

 

时钟秒++

 

秒==60?

 

时钟分钟++,秒清

 

分钟==60?

 

时钟小时++,分钟

清零

 

小时==24?

 

小时清零

定时器子程序

4.3 秒表设计

 

在秒表子程序当中,采用定时器 T1 产生定时中断。

定时器 T1 同意工作于方式 2,初

值为 TH0=0x9C,TL0=0x9C,时钟电路采用 12MHZ 晶振,所以每 0.1ms 产生一次中断,

再在中断中对时间进位进行判断处理,使之产生较为精准的定时。

开始

 

按键2被按下?

按键4被按下?

 

开始计时

计时暂停                       计时停止并清零计

时值

秒表子程序

4.4 闹钟设计

 

在闹钟子程序里,按键 2 被按下奇数次时,闹钟打开并在第一位数码管上显示标志位;

按键 2 被按下偶数次时,闹钟关闭并熄灭第一位数码管上的标志位。

按下按键 3,则定时

时间的小时位加一;按下按键 4,则定时时间的分钟位加一。

开始

 

按键2被按下?

按键4被按下?

 

闹钟打开并点亮标志位/闹

钟关闭并熄灭标志位

定时小时++                         定时分钟++

 

闹钟子程序

4.5 其他主要子程序设计

 

在时钟设置子程序中,按键 2 被按下,则当前时间的小时位加一;按键 3 被按下,则

当前时间的分钟位加一;按键 4 被按下,则当前时间的秒位被清零。

开始

 

按键2被按下?

按键4被按下?

 

小时++

分钟++                             秒清零

时钟设置子程序

当进入节能子程序时,数码管将全部被熄灭,此时按键 2、按键 3、按键 4 即使被按下

也不采取任何操作。

开始

 

数码管全部熄灭

节能子程序

其他说明:

当时间的小时位进一时,蜂鸣器将响起,响的“嘀”次数等于当前时间小

时位的值。

当当前时间等于闹钟定时时间时,蜂鸣器将不断响起“嘀”声,按下按键 1 后,

“嘀”声停止。

5 系统调试

 

本次课程设计采用伟福仿真器进行程序的调试,下面介绍伟福仿

真器的调试及使用。

进入 WAVE 软件后,第一步要进行仿真器设置,在仿真器选项卡

中,仿真器为选择“E6000/S”,仿真头选择“POD-H8X5X”,CPU 选

择“89C51RX”; 在目标文件选项卡中,将所有选项前均打钩,;在

通讯设置选项卡中,将“使用伟福软件模拟器”的“√”勾掉,然

后选择“COM1”口,点击“测试串行口”,测试成功后,就完成了所

有的仿真器设置。

第二步,开始创建项目工程,在 C 盘根目录下创建“Project”文件

夹,双击打开,再创建“program . c”文件。

注意,这里

“Project”文件夹为工程项目所存放的文件夹,文件夹名必须是英

文,汉字不能用。

 “program . c”文件为程序源文件,若是用汇

编语言,则相应的改为“program . asm”文件。

这里文件夹名和原

文件名可以是任意英文字符。

点击菜单栏“文件(F)”→“新建项目”

找到刚才创建的源文件(以 C 语言源文件为例),点击“打开”,然

后键入工程项目文件名字(以 project 为例,项目文件名可以任意),

并点击“保存”保存。

 双击左侧源文件“program . c”,此时即可

开始编写程序了。

(WAVE6000 集成开发软件是基于 C 语言内核的,

仅支持“ /* */ ”注释方式,不支持“ // ”注释方式)。

最后介绍程序的编译及执行,点击菜单栏“项目”→“编译”,无语

法错误,编译通过。

点击菜单栏上“执行”→“全速执行”,进行硬

件仿真调试。

按停止按钮则退出调试状态。

本次课程设计,我主要是参考了郭天祥老师的一些例子程序,从

而逐步掌握了有关单片机数码管动态显示、按键的扫描及去抖、时

钟定时赋值等一些内容。

然后根据老师的原理图,参照例子程序,

利用 C 语言进行编程。

程序调试过程中难免出现各种各样的问题,

通过请教老师、网络查询、同学之间相互帮助,都逐一得到了解决。

6 总结

 

为期三周的课程设计就这样结束了,通过这次课程设计,我们不

仅对单片机的学习有了更多的认识和理解,而且又填补了很多以前

的知识漏洞。

本次课程设计,收获最多的当然是单片机方面,但是

同时我们又一次学习了 C 语言、Protel 制图等,熟悉掌握了

WAVE6000 的使用。

课程设计是培养我们综合运用所学知识,发现、提出、分析和解

决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具

体训练和考察过程.回顾起此次课程设计,至今我仍感慨颇多。

过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理

论知识是远远不够的,唯有把所学的理论知识与实践相结合起来,

从理论中得出结论,才能真正提高我们自己的实际动手能力和独立

思考的能力。

在设计的过程中,难免会遇到过各种各样的问题,同

时在设计的过程中发现了自己的很多的不足,自己知识的很多漏洞,

对以前所学过的知识理解得不够深刻,掌握得不够牢固,看到了自

己基础知识还是不够扎实,实践经验还是比较缺乏,理论联系实际

的能力还待急需提高。

通过这次课程设计之后,一定把以前所学过

的知识重新温故。

在这个过程中,我真切的感到了,我又知道了很

多,同时也掌握了很多以后在工作和生活中能真正用到的很多东西。

但是我不会因此而骄傲,相反以后我将会更加虚心,因为我知道这

只是个简单的开始,以后还有很多的路要走。

在此,再次感谢带领我们课程设计的王老师、杜老师、张老师

和蔡老师,正是有了老师们的细心教导、耐心指导、苦心监督,我

们才能够顺利完成各项学习任务、收获真知识、锻炼真本领。

参考文献

 

【1】《单片机原理与接口技术》[M].胡汉才.清华大学出版社

【2】《MCS-51 系列单片机原理及应用》[M]. 王瑾、杜波等.中国电

力出版社

【3】《新概念 51 单片机 C 语言教程》[M].郭天祥.电子工业出版社

【4】《跟我学用单片机》[M]. 肖洪兵. 北京航空航天大学出版社

【5】《单片机实验与实践教程》[M]. 夏继强. 北京航空航天大学出

版社,

【6】《Protel DXP 电路设计技术》[M]. 孙玉军. 冶金工业出版社

【7】《单片机应用设计 20

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

当前位置:首页 > PPT模板 > 商务科技

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

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