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

一、设计内容

该课程设计是利用MCS-51单片机内部的定时/计数器、中断系统、以及行列键盘和LED显示器等部件,设计一个单片机电子时钟。设计的电子时钟通过数码管显示,并能通过按键实现设置时间和暂停、启动控制等。

二、电子时钟设计思想:

用定时/计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,初值设为XXYY(自己计算)。形成定时时间为50ms。用片内RAM的7BH单元对50ms计数,计20次产生秒计数器78H单元加1,秒计数器加到60则分计数器79H单元加1,分计数器加到60则时计数器7AH单元加1,时计数器加到24则时计数器清0。然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来。显示格式为小时十位、小时个位---分十位、分个位---秒十位、秒个位。在处理过程中加上了按键判断程序,能对按键处理。

三、MCS-51单片机系统简介

单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、I\O接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。

在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I\O接口,使单片机应用系统能够运行。

在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可以是LCD显示器,还可以使用CRT显示器。单片机应用系统中键盘一般用的比较多的是矩阵键盘,显示器用的比较多的是LED数码管还LCD显示器。

四、MCS-51单片机内部定时器\计数器、中断系统简介

定时器\计数器

1、MCS-51系列中51子系列有两个16位的可编程定时\计数器可:定时\计数器T0和定时\计数器T1。它由加法计数器、方式寄存器TMOD、控制寄存器TCON等组成。方式寄存器用于设定定时计数器T0和T1的工作方式,控制寄存器用于对定时计数器启动、停止进行控制。

2、每个定时计数器既可以对系统时钟计数实现定时,也可以外部信号计数实现计数功能通过编程设定来实现。

3、每个定时计数器都有多种工作方式,其中T0有四种工作方式,T1有三种工作方式,T2有三种工作方式。通过编程可设定工作于某种方式。四种工作方式为:13位定时\计数器、16位定时\计数器、8位自动重置定时\计数器、两个8位定时\计数器(只有T0有)

4、每一个定时计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理。

中断系统:

1、MCS-51单片机提供5个硬件中断源,2个外部中断源,2个定时计数器T0和T1的溢出中断TF0和TF1,1个串行口发送TI和接收RI中断。

2、MCS-51单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器IE的各位来控制的。中断允许寄存器IE的字节地址为A8H,可以进行位寻址。系统复位时,中断允许寄存器IE的内容为00H,如果要开放某个中断源,则必须使IE中的总控置位和对应的中断允许位置“1”。

3、MCS-51单片机有5个中断源,为了处理方便,每个中断源有两级控制,高优先级和低优先级。通过由内部的中断优先级寄存器IP来设置,中断优先级寄存器IP的字节地址为B8H,可以进行位寻址。如果某位被置“1”,则对应的中断源被设为高优先级;如果某位被清零,则对应的中断源被设为低优先级。对于同级中断源,系统有默认的优先权顺序,从高到低优先权顺序为外部中断0、定时计数器T0中断、外部中断1、定时计数器T1中断、串行口中断。通过设置中断优先级寄存器IP能够改变系统默认的优先级顺序。

4、MCS-51单片机响应中断的条件为:中断源有请求且中断允许。

五、键盘和LED数码管显示器简介

键盘是单片机应用系统中最常用的输入设备,在单片机应用系统中,操作人员一般都是通过键盘向单片机系统输入指令、地址和数据,实现简单的人机通信。键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。键盘的结构形式一般有两种:独立式键盘和矩阵式键盘。矩阵式键盘的工作方式有3种:查询工作方式、定时扫描工作方式和中断工作方式。

LED数码管显示器:在单片机应用系统中,经常用到LED数码管作为显示输出设备,LED数码管显示器虽然显示信息简单,但它具有显示清晰、亮度高、使用电压低、寿命长、与单片机接口方便等特点,基本上能够满足单片机应用系统的需要,所以在单片机应用系统中经常用到。LED数码管显示器是由发光二极管按一定的结构组合起来的显

示器件。在单片机应用系统中通常使用的是8段式LED数码管显示器,它有共阴极和共阳极两种。所谓译码方式是指由显示字符转换得到对应的字段码的方式。对于LED数码管显示器,通常的译码方式有两种:硬件译码方式和软件译码方式。LED数码管在显示时,通常有两种显示方式:静态显示方式和动态显示方式。在使用时可以把它们组合起来。在实际应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时,则通常用软件译码动态显示。

六、基本原理

软时钟是利用单片机内部的定时器\计数器来实现的,它的处理过程如下:首先设定单片机内部的一个定时器\计数器工作于定时方式,对机器周期计数形成基准时间,然后用另一个定时器\计数器或软件计数的方法对基准时间计数形成秒,秒计60次形成分,分计60次形成小时,小时计24次则计满一天。然后通过数码管把它们的内容在相应位置显示出来即可。

数码管显示可以采用静态显示方法或动态显示方法。静态显示方法需要数据锁存器等硬件,接口复杂,时钟显示一般用6个或8个数码管。由于系统没有其他的复杂的任务处理,而且显示的时钟信息随时都可能变化,一般采用动态显示方式。动态显示方法线路相对简单,但需动态扫描,扫描频率要大于人眼视觉暂留频率,信息看起来才稳定。译码方式可分为软件译码和硬件译码,软件译码通过译码程序查得显示信息的字段码;硬件译码通过硬件译码器得到显示信息的字段码,实际中通常采用软件译码。

在具体处理时,定时器计数器采用中断方式工作,对时钟的形成在中断服务程序中实现。在主程序中只需对定时器计数器初始化、调用显示子程序和控制子程序。另外,为了使用方便,设计了简单的按键,可以通过按键实现时、分的调整,这样在主程序中就加入了键盘设置子程序。

七、系统硬件电路的设计

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

八、系统软件程序的设计

电子时钟的软件系统由主程序和子程序组成,主程序程序包含初始化参数设置、按键处理、数码管显示模块等,

1.主程序

主程序执行流程如图11.2,主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,则转入相应的功能程序。 2.数码管显示模块

本系统共用8个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。采用软件译码动态显示。

3.定时器/计数器T0中断服务程序 定时器/计数器T0用于时间计时。选择方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。在对各单元计数的同时,把它们的值放到存储单元的指定位置。定时器/计数器T0中断服务程序流程图如图11.3。

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

图11.2 主程序流程图 图11.3 定时器/计数器T0中断服务程序流程图

4.按键处理模块 按键处理设置为:如没有按键,则时钟正常走时。当按下K0按键时,进入调分状态,时钟停止走动;按K1可K2按键可进行加1或减1操作;继续按K0键可分别进行分和小时的调整;最后按K0键将退出调整状态,时钟开始计时运行。

5.汇编语言源程序清单

;采用8位LED软件译码动态显示程序

;使用AT89C51单片机,12MHZ晶振,P0输出字段码,P2口输出位选码,用共阳 ;LED数码管,P1.0为调时位选择按键,P1.1为加1键,P1.2为减1键。 ;片内RAM的70H到77H单元为LED数码管的显示缓冲区 ;78H,79H,7AH分别为秒、分、小时计数单元

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

;7BH为50ms计数器,7CH为调时按键计数器

九、设计过程

1、在PROTEUS中设计硬件

PROTEUS软件使用过程如下:

1)选择元器件

2)放置元器件

3)连线

4)添加程序

5)运行仿真

元器件清单如下:

单片机:80C52

按键:BUTTON

电阻:RES

电容:CAP

晶振:CRYSTAL

LED数码管:7SEG-MPX8-CA-BLUE(CA:共阳,CC:共阴)

地:GRAND

电源:POWER

2、在KEIL51中编写程序,编译、连接形成HEX文件。

3、在PROTEUS中把HEX文件加载到单片机芯片上。

4、运行仿真看结果。

十、总结

通过这次的课程设计,我了解了Keil C51集成环境和PROTEUS仿真软件的使用,用此软件练习电子时钟的设计,不仅能够掌握此软件的使用方法,而且复习了原来的汇编语言,对电子时钟的原理和电子时钟的汇编程序有了更进一步的理解。仿真实现了把抽象的东西具体化,把理论和实际结合起来,更利于对单片机程序的理解掌握。并且,在这次的课程设计中,我知道了,要自己熟练地掌握一个软件,不能光看老师的演示过程,得自己去学习这个软件,

明白每一个步骤的确切含义,自己逐步的亲手去进行演示,这样才能变成自己的知识来熟练应用。

20xx年6月

 

第二篇:单片机课程设计报告—LED显示电子钟

《单片机原理及其接口技术》

课程设计报告

课    题      LED显示的电子钟     

姓    名                           

学    号                            

院    系   自动控制与机械工程学院  

班    级                            

指导教师                            

 2012 6

                              目录

一、课程设计目的    ………………………………………………………3

二、课程设计要求    ………………………………………………………3

三、设计内容        ………………………………………………………4

四、硬件设计需求    ………………………………………………………5

1、硬件系统各模块功能 ………………………………………………5

(1)、单片机最小系统——AT89C51 …………………………………5

(2)、LED数码管显示模块 ……………………………………………8

(3)、晶振模块  ………………………………………………………9

(4)、按键模块  ………………………………………………………10

五、电路软件系统设计………………………………………………………10

1、protues软件简介 …………………………………………………10

2、仿真结果     ………………………………………………………11

3、流程图       ………………………………………………………13

六、误差分析        ………………………………………………………15

七、总结与心得体会  ………………………………………………………15

八、参考文献        ………………………………………………………16

九、附录(程序)    ………………………………………………………16

一、课程设计目的

单片机课程设计作为独立的教学环节,是自动化及相关专业集中实践性环节系列之一,是学习完《单片机原理及应用》课程后,并在进行相关课程设计基础上进行的一次综合练习。

单片机课程设计过程中,学生通过查阅资料,接口设计,程序设计,安装调试等环节,完成一个基于MCS-51系列单片机,涉及多种资源应用,并且有综合功能的小应用系统设计。使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路,电子元器件等方面的知识进一步加深认识,同时在软件编程,调试,相关仪器设备和相关软件的使用技能等方面得到较全面的锻炼和提高。使学生增进对单片机的感性认识,加深对单片机理论方面的理解,加深单片机的内部功能模块的应用,如定时器/计数器,中断,片内外存储器,I/O接口,串行口等。使学生了解和掌握单片机应用系统的软硬件设计过程,方法及实现,强化单片机应用电路的设计与分析能力。提高学生在单片机应用方面的实践技能和科学作风,培育学生综合运用理论知识解决问题的能力。

二、课程设计要求

课程设计应以学生认知为主体,充分调动学生的积极性和能动性,重视学生自学能力培养。根据课程设计具体课题安排时间,确定课题的涉及,变成和调试内容,分团队开展课程设计活动,安排完成每部分工作。课程设计集中在实验室进行。在课程设计过程中,坚持独立完成,实现课题规定的各项指标,并写出设计报告。

要求学生自己调研,设计系统功能,划分软硬件功能,选择器件,用Proteus软件在PC机上完成硬件原理图设计。然后使用使用Proteus软件在PC机运行系统仿真,调试电路和修改调试程序。对整个系统做试运行,有问题再进一步修改调试,直至达到设计的要求和取得满意的效果。最后编写系统说明书,其内容主要包括系统功能介绍,使用范围,主要性能指标,使用方法,注意事项等。

三、设计内容:

1、设计题目:LED显示的电子钟

2、设计任务:基于AT89C51单片机,制作一个LED显示的智能电子钟。

3、设计要求及功能:

   (1)、用6个7段LED数码管作为显示设备,设计时钟功能。

   (2)、显示格式,日期:YY MM DD,时间:HH MM SS.

   (3)、可以分别设计年、月、日,时、分、秒。在复位后的日期应该为:12  01  01,时间为:00  00  00。

   (4)、秒钟复位功能,当秒位键按下后,秒的那位回到00 。

   (5)、键盘按键个数应该万为己确定。

(6)、@时间、月、日自行交替显示,或者按键切换显示。

   (7)、@12小时和24小时切换功能。

   (8)、@还要实现闹钟功能。

4、设计提示:

   1)、LED宜采用动态扫描显示;

   2)、采用定时器,也可以考虑外部扩展专用时钟芯片DS1302.

   3)、参考Protuse仿真效果图。

5、设计要求:

    要求学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机原理与接口技术》课程中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。基于AT89C51单片机,制作一个LED显示的智能电子钟。

6、设计课题总体方案及工作原理说明

 设计中采用AT89C51芯片及LED显示器,一些独立式按键构成一个简单的数字电子钟。设计中是采用单片机的内部定时器进行定时,程序框图如图3.1所示

整个电子钟的工作原理是:在正常的供电状态下,首先利用单片机定时,到了相应的时间由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则进入相应的按键显示和调整状态,进行按键调整。

图3.1  总的设计的框图

四、     硬件设计需求:

硬件设计是指应用系统的电路设计,包括单片机芯片、控制电路、存储器、I/O接口等等。硬件设计时,应考虑留有充分余量,电路设计力求无误,因为在系统调试中不易修改硬件结构。

如原理图所示,硬件系统主要由单片机最小应用系统、LED数码管显示模块、电源模块、晶振模块、按键模块等组成。

1、硬件系统各模块功能:

(1)、单片机最小系统——AT89C51:

由AT89C51单片机由时钟电路和复位电路构成。AT89C51是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。时钟电路由一个12MHZ的石英晶体振荡器和两个22pF的的电容组成振荡电路和分频电路,为单片机提供内部时钟。复位电路采用上电复位和按键复位结合的方式对电路进行复位,主要是通过RST引脚送入单片机。

                   

图4.1   89C51单片机

VCC:电源。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作 输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器 的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚 备选功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

(2)、 LED数码管显示模块

LED数码管是由发光二极管构成的,亦称半导体数码管。将条状发光二极管按照共阴极(负极)或共阳极(正极)的方法连接,组成“8”字,再把发光二极管另一电极作笔段电极,就构成了LED数码管。若按规定使某些笔段上的发光二极管发光,就能显示从0~9的…系列数字。同荧光数码管(VFD)、辉光数码管(NRT)相比,它具有:体积小、功耗低、耐震动、寿命长、亮度高、单色性好、发光响应的时间短,能与TTL、CMOS电路兼容等的数显器件。+、-分别表示公共阳极和公共阴极。a~g是7个笔段电极,DP为小数点。另有一种字高为7.6mm的超小型LED数码管,管脚从左右两排引出,小数点则是独立的。                              

本系统利用6位LED数码管显示时间,共阴极结构。LED数码管由7段发光二极管组成,当要显示某个数字时只要将数字所对应的引脚送入低电平。

http://www.wenqi89s51.com/leddon3.gif

 图4.2  LED数码管的数值表及其引脚图

(3)、晶振模块:

下图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。

图4.3  晶振电路                                                 

表二 元件清单与封装

(4)、按键模块:

     本设计中主要有7 个控制按键,按键功能为:

1)、P1.0键位为清零键,当使用时,使其所显示数据清零,复位;

2)、P1.1键位口为时间加“1”;

3)、P1.2键位口为分钟加“1”;

4)、P1.3键位口为秒钟加“1”;

5)、P1.4键位口为暂停键;

6)、P1.5键位口为恢复端;

7)、P1.6键位口为秒钟清零端。

               图4.4  独立按键模块

五、电路软件系统设计:

1、 protues软件简介

 Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。本章介绍Proteus ISIS软件的工作环境和一些基本操作。2、电路功能仿真

在protues绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在protues的原理图中看到模拟的实物运行状态和过程。protues是单片机课堂教学的先进助手。

protues不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。

它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。

课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台

随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTUES也能茯得愈来愈广泛的应用。

2、.仿真结果

Proteus 软件所提供了30多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。在Proteus软件包中,不存在同类仪表使用数量的问题。Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。

用Protues软件进行仿真,其仿真的电路图如图3.2.1所示

                  图5.1   仿真电路图

仿真结果:

             图5.2   仿真电路复位时电路图

                 图5.3   仿真电路暂停时的电路图

3、流程图

(1)、程序流程图:

图5.4   主程序流程图1

          图5.5      程序流程图2

(2)、键盘扫描程序流程:

       图5.6   键盘扫描程序流程图

(3)、时间处理程序流程图:

图5.7   时间处理程序流程图

六、误差分析:

本数字电子钟在跟标准的电子钟比较时,时间稍微慢一点,产生此种情况的原因有:其一是在执行程序指令时,由于需要耗费一定的时间,因此会比标准的电子钟要慢一点。其二是晶振不够标准,使得定时器定时时不够精准。

七、总结与心得:

我们电气工程机自动化专业的学生学习单片机原理及接口技术课程,配套的开设课程设计。

我们三个班的同学在一起进行了一次单片机的课程设计的实训,实训的时间为一个周,在这个周的实训中,我们通过本课程设计明白了这样的课程是培养学生的主专业课,是培养现代化人才的重要技术之一。

单片机的课程设计是学习单片机理论的重要实践环节,在单片机的实验课程基础上,我们通过课程的设计和学习,使我们增进对单片机的感性认识,加深对单片机理论的的理解,使我们掌握单片机的内部功能模块的应用,掌握单片机的接口功能和扩展的应用,掌握一些特殊器件的使用方法,学习编辑综合的程序。使我们了解和掌握单片机应用系统的硬件和软件的设计的方法和调试的过程。充分发挥我们的主观能动性,更好的激发了我们的学习激情和学习的兴趣。

这次试训培养了我们大学生能主动利用芯片解决工程上实际的问题的意识,培养了我们的工程实践能力、实际动手能力和自我学习的能力。使我们为完成从实际项目立题、调研、方案论证、方案实施、系统的调试、编写使用说明书等调研过程的基本训练,为今后在相关的领域中从事和单片机有关的设计、开发、应用等工作打下扎实的基础。

八、参考文献

[1]吴亦锋,陈德为。单片机原理与接口技术   电子工业出版社 2010

[2]李建中。 单片机原理及应用      西安电子科技大学出版社 20##年

[3]胡汉才。 单片机原理及其接口技术        清华大学出版社 20##年

九、附录:《程序》

          ORG   0000H

MOV   40H,#00H

MOV   41H,#00H

MOV   42H,#00H

MOV   43H,#00H

MOV   44H,#00H

MOV   45H,#00H

MOV   R0,#01H

MOV   R1,#02H

CLR    P3.0

CLR    P3.1

UU:   MOV   TMOD ,#01H         ;中断

MOV    TH0,#3CH

MOV    TL0,#0B0H

CLR     TR0

MM:   MOV    A,40H;             ;显示程序:

MOV    50H,#0FEH

MOV    P2,50H

MOV    DPTR ,#TAB

MOVC   A,@A+DPTR

MOV     P0,A

LCALL   YY                    ;延时

MOV     A,50H

RL        A

MOV     50H,A

MM1:  MOV     P2,50H

MOV     DPTR,#TAB

MOV     A,41H

ADD     A,#0AH

MOVC   A,@A+DPTR

MOV     P0 ,A

LCALL   YY

MOV     A,50H

RL       A

MOV     50H,A

MM2:    MOV     P2,50H

MOV      DPTR,#TAB

MOV      A,42H

MOVC    A,@A+DPTR

MOV     P0 ,A

LCALL   YY

MOV     A,50H

RL       A

MOV     50H,A

MM3:    MOV     P2,50H

MOV      DPTR,#TAB

MOV      A,43H

ADD       A,#0AH

MOVC     A,@A+DPTR

MOV       P0 ,A

LCALL     YY

MOV       A,50H

RL          A

MOV      50H,A

MM4:    MOV      P2,50H

MOV      DPTR,#TAB

MOV      A,44H

MOVC    A,@A+DPTR

MOV     P0 ,A

LCALL   YY

MOV     A,50H

RL       A

MOV     50H,A

MM5:    MOV    P2,50H

MOV    DPTR,#TAB

MOV    A,45H

ADD    A ,#0AH

MOVC   A,@A+DPTR

MOV    P0 ,A

LCALL   YY

MOV    A,50H

RL A

MOV     50H,A

JNB    P1.0,KK1                         ;按键判断程序

JNB    P1.6,KK7

JNB    P1.1,KK2

JNB    P1.2,KK3

JNB    P1.3,KK4

CJNE   R0,#01H,HH1

JNB    P1.4,KK5

SETB   TR0

BB:        JB     TF0, GG

LJMP   MM

KK5:    JNB    P1.4,KK5

MOV   R0,#00H

LJMP   UU

HH1:    JNB     P1.5 ,KK6

LJMP    UU

KK1:  LJMP    KKK1

KK7:    LJMP   KKK7

GG:     CLR    TF0

MOV   A,47H

CJNE   A,#09H,LL1

MOV   47H,#00H

MOV   A,46H

CJNE   A,#09H,LL2

MOV   46H,#00H

KK4:    JNB    P1.3,KK4

JNB    P3.1,QQ1

MOV   A,45H

CJNE   A,#09H,QQ1

CLR    P3.1

QQ1:    MOV    A,45H

CJNE    A,#09H,LL3

MOV    45H,#00H

MOV    A,44H

CJNE    A,#05H,LL4

MOV    44H,#00H

KK3:    JNB     P1.2,KK3

MOV   A,43H

CJNE   A,#09H,LL7

MOV   43H,#00H

MOV   A,42H

CJNE   A,#05H,LL8

MOV   42H,#00H

KK2:    JNB    P1.1,KK2

MOV   A,41H

CJNE   A,#09H,LL5

MOV   41H,#00H

LL6:     INC    40H

LJMP   UU

KKK1:   MOV   A,#00H

MOV   40H,A

MOV   41H,A

MOV   42H,A

MOV   40H,A

MOV   43H,A

MOV   44H,A

MOV   45H,A

LJMP   MM

KKK7:   MOV   A,#00H

MOV   44H,A

MOV   45H,A

MOV   46H,A

MOV   47H,A

LJMP   MM

KK6:    JNB    P1.5 ,KK6

MOV   R0,#01H

LJMP   UU

LL1:     INC    47H

LJMP   UU

LL7:     INC   43H

LJMP   UU

LL8:     INC    42H

LJMP   UU

LL2:     INC    46H

LJMP   UU

LL3:     INC    45H

LJMP   UU

LL4:     INC    44H

LJMP   UU

LL5:     CJNE   A,#03H,DD1

MOV   A,40H

CJNE   A,#02H,DD1

MOV   40H,#00H

MOV   41H,#00H

LJMP   UU

DD1:    INC    41H

LJMP   UU                             

YY:     MOV    R6,#10                   ;延时程序

YY1:    MOV    R7,#09

YY2 :    NOP

NOP   

DJNZ   R7,YY2

DJNZ   R6,YY1

RET

TAB:    DB      3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H        

DB  0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0E7H

     END

相关推荐