单片机电子时钟课程设计报告

单片机课程设计报告

学院:机械与电子工程学院

专业:自动化

姓名:刘洪播

学号:09043132

单片机课程设计报告

一、设计要求

1、准确计时,以数字形式显示时、分、秒的时间。

2、小时以24小时计时形式,分秒计时为60进位。

3、校正时间功能,即能随意设定走时时间。

4、闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。(未实现)

5、设计5V USB直流电源,系统时钟电路、复位电路。

6、能指示秒节奏,即秒提示。

二、设计方案

本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、LED显示即可满足设计要求。

(一)设计方案的选择

1.计时方案

使用单片机内部的可编程定时器。

利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,但程序设计较为复杂。

2.显示方案

对于实时时钟而言,显示显然是另一个重要的环节。通常LED显示有两种方式:动态显示和静态显示。

静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。但占有I/O口线多,每一个LED都要占有一个I/O口,硬

件开销大,电路复杂。需要几个LED就必须占有几个并行口,比较适用于LED数量较少的场合。当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。

LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。

本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式。

(二)硬件部分

1、STC89C52单片机介绍

STC89C52单片机是由深圳宏晶公司代理销售的一款MCU,是由美国设计生产的一种低电压、高性能CMOS 8位单片机,片内含8kbytes的可反复写的FlashROM和256bytes的RAM,2个16位定时计数器[5]。

STC89C52单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0~P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等。这些部件通过内部总线联接起来,构成一个完整的微型计算机。其管脚图如图所示。

STC89C52单片机管脚结构图

各个端口对照朱照优老师编写的《单片机原理与应用》

2、总电路原理图

(五) 软件部分

根据上述电子时钟的工作流程,软件设计可分为以下几个功能模块:

(1)主程序模块。主程序主要用于系统初始化:设置计时缓冲区的位置及初值,设置8155的工作方式、定时器的工作方式和计数初值等参数。主程序流程如下图所示。

主程序流程图

(2)计时模块。即定时器0中断子程序,完成刷新计时缓冲区的功能。 系统使用6MHz的晶振,假设定时器0工作在方式1,则定时器的最大定时时间为65.536ms,这个值远远小于1s。因此本系统采用定时器与软件循环相结合的定时方法。设定时器0工作在方式1,每隔50ms溢出中断一次,则循环中断20次延时时间是1s,上述过程重复60次为1分,分计时60次为1小时,小时计时24次则时间重新回到00:00:00。

因定时器0工作在方式1,则50ms定时对应的定时器初值为:65536-50ms/2us=40536=9E58H,即TH0=9EH,TH0=58H。

但应当指出:CPU从响应T0中断到完成定时器初值重装这段时间,定时器T0并不停止工作,而是继续计数。因此,为了确保T0能准确定时50ms,重装的定时器初值必须加以修正,修正的定时器初值必须考虑到从原定时器初值中扣除计数器多计的脉冲个数。由于定时器计数脉冲的周期恰好和机器周期吻合,因此修正量等于CPU从响应中断到重装完TL0为止所用的机器周期数。CPU响应中断通常要3~8个机器周期。经过测试,定时器0重装的计数初值设为9E5FH~9E67H,可以满足精度要求。另外,MCS-51单片机只有二进制加法指

令,而时间是按十进制递增,因此用加法指令后必须进行二-十进制转换。

计时模块流程图如下图所示。

恢复现场

60s到?

返回

计时模块流程图

2、实验源程序: ORG 0000H

MOV 30H,#1 MOV 31H,#2 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 35H,#0

MOV TMOD,#01 XS0: SETB TR0 MOV TH0,#00H MOV TL0,#00H

XS:

MOV 40H,#0FEH MOV DPTR,#TAB MOV P2,40H MOV A,30H

MOVC A,@A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A

MOV 40H,A

MOV P2,40H MOV A,31H

ADD A,#10

MOVC A,@A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A

MOV 40H,A

MOV P2,40H MOV A,32H

MOVC A,@A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A

MOV 40H,A MOV P2,40H MOV A,33H ADD A,#10

MOVC A,@A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A

MOV 40H,A MOV P2,40H MOV A,34H

MOVC A,@A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A

MOV 40H,A

MOV P2,40H MOV A,35H

MOVC A,@A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A

MOV 40H,A JB TF0,JIA JNB P1.0,P100 JNB P1.1,P1000 JNB P1.2,P10000 AJMP XS

P100: MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 35H,#0 JIA: CLR TF0

MOV A,35H

CJNE A,#9,JIA1 MOV 35H,0

MOV A,34H

CJNE A,#5,JIA10 MOV 34H,#0

P10000: JNB P1.2,P10000 MOV A,33H

CJNE A,#9,JIA100 MOV 33H,#0

MOV A,32H

CJNE A,#5,JIA1000

MOV 32H,#

P1000: JNB P1.1,P1000

MOV A,31H

CJNE A,#9,JIA10000

MOV 31H,#0

MOV A,30H

CJNE A,#2,JIA100000

MOV 30H,#0

AJMP XS0

JIA100000:

INC 30H

AJMP XS0

JIA10000:

CJNE A,#3,JIAJIA

MOV A,30H

CJNE A,#02,JIAJIA

MOV 30H,#0

MOV 31H,#0

AJMP XS0

JIAJIA:

INC 31H

AJMP XS0

JIA1000:INC 32H

AJMP XS0

JIA100: INC 33H

AJMP XS0

JIA10: INC 34H

AJMP XS0

JIA1: INC 35H

AJMP XS0

RET

YS1MS: MOV R6,#9H

YL1: MOV R7,#19H

DJNZ R7,$

DJNZ R6,YL1

RET

TAB:

DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

DB 040H,079H,024H,030H,019H,012H,002H,078H,000H,010H

END

三、实物拍摄

四、设计总结

做了两周的课程设计,有很多的心得体会,有关于单片机的,也有关于模电数电等基础科目的。

因为单片机已经很久没复习,刚拿到题目,不知道从哪入手,后来通过对书本的回顾,加深了对单片机的记忆。有些知识会迁移和联系模电数电。课堂教学考虑到大多数同学的需求,主要强调“基本”——基本知识、基本理论、基本方法、基本技能。而这次设计正是为我们提供了一个深入学习、探索的机会,成为课堂教学的有益补充。我们正面临就业问题,这次课设给了我们一个机会去试验。

单片机理论的学习是为课程的设计作准备的,但有时学习的理论也解决不了实践中的问题。实践中获得的知识能让我对单片机的知识有更好的认识和理解。虽然这次的课程设计我参考了一些文献资料,没有做到创新,但在对程序的读写过程中我明白了许多。这次课程设计的最大收获是只有把理论用到实践中我们才能真正掌握好所学知识。

五、参考文献

[1] 朱兆优等.单片机原理与应用.北京电子工业出版社.2010.09

[2] 何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,1993.

[3] 楼然笛.单片机开发[M].北京:人民邮电出版社,1994.

单片机课程设计报告

学院:机械与电子工程学院

专业:自动化

姓名:刘洪播

学号:09043132

单片机课程设计报告

一、设计要求

1、准确计时,以数字形式显示时、分、秒的时间。

2、小时以24小时计时形式,分秒计时为60进位。

3、校正时间功能,即能随意设定走时时间。

4、闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。(未实现)

5、设计5V USB直流电源,系统时钟电路、复位电路。

6、能指示秒节奏,即秒提示。

二、设计方案

本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、LED显示即可满足设计要求。

(一)设计方案的选择

1.计时方案

使用单片机内部的可编程定时器。

利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,但程序设计较为复杂。

2.显示方案

对于实时时钟而言,显示显然是另一个重要的环节。通常LED显示有两种方式:动态显示和静态显示。

静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。但占有I/O口线多,每一个LED都要占有一个I/O口,硬

件开销大,电路复杂。需要几个LED就必须占有几个并行口,比较适用于LED数量较少的场合。当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。

LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。

本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式。

(二)硬件部分

1、STC89C52单片机介绍

STC89C52单片机是由深圳宏晶公司代理销售的一款MCU,是由美国设计生产的一种低电压、高性能CMOS 8位单片机,片内含8kbytes的可反复写的FlashROM和256bytes的RAM,2个16位定时计数器[5]。

STC89C52单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0~P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等。这些部件通过内部总线联接起来,构成一个完整的微型计算机。其管脚图如图所示。

STC89C52单片机管脚结构图

各个端口对照朱照优老师编写的《单片机原理与应用》

2、总电路原理图

(五) 软件部分

根据上述电子时钟的工作流程,软件设计可分为以下几个功能模块:

(1)主程序模块。主程序主要用于系统初始化:设置计时缓冲区的位置及初值,设置8155的工作方式、定时器的工作方式和计数初值等参数。主程序流程如下图所示。

主程序流程图

(2)计时模块。即定时器0中断子程序,完成刷新计时缓冲区的功能。 系统使用6MHz的晶振,假设定时器0工作在方式1,则定时器的最大定时时间为65.536ms,这个值远远小于1s。因此本系统采用定时器与软件循环相结合的定时方法。设定时器0工作在方式1,每隔50ms溢出中断一次,则循环中断20次延时时间是1s,上述过程重复60次为1分,分计时60次为1小时,小时计时24次则时间重新回到00:00:00。

因定时器0工作在方式1,则50ms定时对应的定时器初值为:65536-50ms/2us=40536=9E58H,即TH0=9EH,TH0=58H。

但应当指出:CPU从响应T0中断到完成定时器初值重装这段时间,定时器T0并不停止工作,而是继续计数。因此,为了确保T0能准确定时50ms,重装的定时器初值必须加以修正,修正的定时器初值必须考虑到从原定时器初值中扣除计数器多计的脉冲个数。由于定时器计数脉冲的周期恰好和机器周期吻合,因此修正量等于CPU从响应中断到重装完TL0为止所用的机器周期数。CPU响应中断通常要3~8个机器周期。经过测试,定时器0重装的计数初值设为9E5FH~9E67H,可以满足精度要求。另外,MCS-51单片机只有二进制加法指

令,而时间是按十进制递增,因此用加法指令后必须进行二-十进制转换。

计时模块流程图如下图所示。

恢复现场

60s到?

返回

计时模块流程图

2、实验源程序: ORG 0000H

MOV 30H,#1 MOV 31H,#2 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 35H,#0

MOV TMOD,#01 XS0: SETB TR0 MOV TH0,#00H MOV TL0,#00H

XS:

MOV 40H,#0FEH MOV DPTR,#TAB MOV P2,40H MOV A,30H

MOVC A,@A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A

MOV 40H,A

MOV P2,40H MOV A,31H

ADD A,#10

MOVC A,@A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A

MOV 40H,A

MOV P2,40H MOV A,32H

MOVC A,@A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A

MOV 40H,A MOV P2,40H MOV A,33H ADD A,#10

MOVC A,@A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A

MOV 40H,A MOV P2,40H MOV A,34H

MOVC A,@A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A

MOV 40H,A

MOV P2,40H MOV A,35H

MOVC A,@A+DPTR MOV P0,A LCALL YS1MS MOV P0,#0FFH MOV A,40H RL A

MOV 40H,A JB TF0,JIA JNB P1.0,P100 JNB P1.1,P1000 JNB P1.2,P10000 AJMP XS

P100: MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 35H,#0 JIA: CLR TF0

MOV A,35H

CJNE A,#9,JIA1 MOV 35H,0

MOV A,34H

CJNE A,#5,JIA10 MOV 34H,#0

P10000: JNB P1.2,P10000 MOV A,33H

CJNE A,#9,JIA100 MOV 33H,#0

MOV A,32H

CJNE A,#5,JIA1000

MOV 32H,#

P1000: JNB P1.1,P1000

MOV A,31H

CJNE A,#9,JIA10000

MOV 31H,#0

MOV A,30H

CJNE A,#2,JIA100000

MOV 30H,#0

AJMP XS0

JIA100000:

INC 30H

AJMP XS0

JIA10000:

CJNE A,#3,JIAJIA

MOV A,30H

CJNE A,#02,JIAJIA

MOV 30H,#0

MOV 31H,#0

AJMP XS0

JIAJIA:

INC 31H

AJMP XS0

JIA1000:INC 32H

AJMP XS0

JIA100: INC 33H

AJMP XS0

JIA10: INC 34H

AJMP XS0

JIA1: INC 35H

AJMP XS0

RET

YS1MS: MOV R6,#9H

YL1: MOV R7,#19H

DJNZ R7,$

DJNZ R6,YL1

RET

TAB:

DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

DB 040H,079H,024H,030H,019H,012H,002H,078H,000H,010H

END

三、实物拍摄

四、设计总结

做了两周的课程设计,有很多的心得体会,有关于单片机的,也有关于模电数电等基础科目的。

因为单片机已经很久没复习,刚拿到题目,不知道从哪入手,后来通过对书本的回顾,加深了对单片机的记忆。有些知识会迁移和联系模电数电。课堂教学考虑到大多数同学的需求,主要强调“基本”——基本知识、基本理论、基本方法、基本技能。而这次设计正是为我们提供了一个深入学习、探索的机会,成为课堂教学的有益补充。我们正面临就业问题,这次课设给了我们一个机会去试验。

单片机理论的学习是为课程的设计作准备的,但有时学习的理论也解决不了实践中的问题。实践中获得的知识能让我对单片机的知识有更好的认识和理解。虽然这次的课程设计我参考了一些文献资料,没有做到创新,但在对程序的读写过程中我明白了许多。这次课程设计的最大收获是只有把理论用到实践中我们才能真正掌握好所学知识。

五、参考文献

[1] 朱兆优等.单片机原理与应用.北京电子工业出版社.2010.09

[2] 何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,1993.

[3] 楼然笛.单片机开发[M].北京:人民邮电出版社,1994.


    相关文章

    单片机电子时钟创新设计报告

    基于单片机的电子时钟 电路设计报告 题 目:基于单片机的电子时钟 院 别: 专 业: 姓 名: 学 号: 指导教师: 日 期: 目录 一.基于单片机的电子时钟电路设计 1.单片机实训目的-------------------2 2.单片机实 ...

    单片机原理设计及应用

    单片机原理及应用课程设计 专 业: 设计题目: 电子时钟 班级:学生姓名:学号: 指导教师: 分院院长: 教研室主任: 电气工程学院 一.课程设计任务书 1.课程设计项目 电子时钟(LED显示) 2.设计内容 1)以MCS-51系列单片机为 ...

    单片机10秒秒表课程设计

    赣 南 师 范 学 院 物理与电子信息学院 课程设计Ⅳ设计报告书 基于AT89S52单片机的 10秒秒表的设计 姓名: 匡远熹 班级: 09电子信息工程 学号: 090802015 指导老师:刘小燕 时间: 2012.1.01 目 录 内容 ...

    单片机课设论文

    单片机原理课程设计报告 电子日历时钟 院 (系): 计算机与控制学院 专 业: 自 动 化 学生学号: 0700320323 学生姓名: 唐光磊 指导教师: 李 平 2010年1月 19 课程名称: 日 摘要: 单片机技术是一门应用性很强的 ...

    电子时钟(论文)任务书及开题报告

    课程设计(论文)任务书 指导教师(签字): 学生(签字): 目 录 摘要----------------------1 第一章 电子时钟的设计-------------2 1.1电子时钟简介----------------2 1.2电子时钟 ...

    电子时钟设计报告

    目 录 1题目设计的要求................................................1 2 系统硬件设计...............................................1-5 ...

    电子钟实训报告

    <单片机原理及应用> 课程设计报告 课题名称:基于单片机的电子钟的设计姓 名:院 系:专 业:学 号:指导教师: 李 伟 应 用 技 术 学 院 谢 辉 完成时间: 2009 年 12 月 28 日 目 录 第1章 引 言„„„ ...

    数字时钟实验报告

    物理机电学院课程设计报告 课程名称: 单片机数字时钟设计 专业班级: 学号: 学生姓名 指导教师: 完成时间: 2014.06.13 报告成绩: 数字时钟设计报告 一.设计任务与要求 1.用单片机设计一数字时钟: 设计基本要求: (1)以2 ...

    单片机电子万年历课程设计

    课程设计报告 课程名称: 设计题目: 院 系: 设计时间: 目录 摘要 一.单片机原理及应用简介.........................................2 二.系统硬件设计..................... ...