51单片机课程设计汇本电子时钟

合集下载

单片机课程设--电子钟设计

单片机课程设--电子钟设计

单片机MCS-51数钟课程设计系别:专业:班级:姓名及学号:日期:目录单片机MCS-51数钟 (1)课程设计 (1)一、课程设计的目的 (3)二、课程设计任务 (3)三、硬件结构概述 (4)(一)复位电路 (4)(二)晶振电路 (4)(三)按键电路 (4)(四)显示部分 (5)四、软件结构概述 (5)(一)代码说明 (5)(二)按键处理思路 (10)(三)秒表设计思路 (11)五、调试过程 (12)(一)系统仿真 (12)(二)仿真过程中出现的问题及解决方案 (12)六、心得体会 (13)七、参考文献 (14)一、课程设计的目的(1)巩固、加深和扩大单片机应用的知识面, 提高综合及灵活运用所学知识解决工业控制的能力;二、(2)培养针对课题需要, 选择和查阅有关手册、图表及文献资料的自学能力, 提高组成系统、编程、调试的动手能力;三、(3)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程, 软硬件设计的方法、内容及步骤。

四、课程设计任务(1)在ZY15MCU12BD型综合单片机实验箱的硬件结构上编写软件完成设计。

也可以在其它MCS—51单片机硬件板上完成, 或自行设计硬件并制做完成。

(2)程序的首地址应使目标机可以直接运行, 即从0000H开始。

在主程序的开始部分必须设置一个合适的栈底。

程序放置的地址须连续且靠前, 不要在中间留下大量的空闲地址, 以使目标机可以使用较少的硬件资源。

(3)6位LED数码管从左到右分别显示时、分、秒(各占用2位), 采用24小时标准计时制。

开始计时时为000000, 到235959后又变成000000。

(4)在键盘上选定3个键分别作为小时、分、秒的调校键。

每按一次键, 对应的显示值便加1。

分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。

在调校时均不向上一单位进位 (例如分加到59后变为00, 但小时不发生改变)。

(5) 软件设计必须使用MCS-51片内定时器, 采用定时中断结构, 不得使用软件延时法。

单片机课程设计--- 基于51单片机的简约电子钟

单片机课程设计--- 基于51单片机的简约电子钟

单片机课程设计项目名称基于51单片机的简约电子钟专业班级通信091班学生姓名指导教师2012 年12 月21 日摘要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。

单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。

由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。

这次课程设计通过对它的学习、应用,以STC11F02E芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。

关键词:STC11F02E;单片机;电子时钟;AbstractSCM since its introduction in the 1970s, with its high performance and low cost, the attention and concern of the people of the very wide application microcontroller since its introduction in the 1970s, with its high performance and low cost, by the peoplewide attention and concern, has developed rapidly. Microcontroller small size, light weight, strong anti-interference ability, the environment less demanding, low price, high reliability, good flexibility, easier development. Due to the above advantages, in our country, the microcontroller has been widely used in all aspects of industrial automation and control, automatic detection, intelligent instruments, household appliances, power electronics, electromechanical integration equipment, etc., and 51 microcontroller each MCU most typical and most a representative. This course designed by its learning, application, STC11F02E chip as the core, supplemented by the necessary circuitry to design a simple electronic clock, it is powered by 4.5V DC power supply through digital tube display time be able to accurately adjust time, so as to reach the study, design, development software, the capabilities of the hardware.The keywords: STC11F02E;microcontroller;electronic clock;目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 概述 (1)1.2 单片机技术的研究现状 (1)1.3 总体设计方案 (2)1.3.1 设计思路 (2)第2章系统硬件原理及设计 (4)2.1 核心器件STC11F02E介绍 (4)2.2 主要设计软件介绍 (6)2.2.1 PROTEUS软件简介 (6)2.2.2 KEIL简介 (6)2.3 硬件电路 (7)2.3.1 总体设计框图及设计原理图 (7)第3章系统软件设计 (8)3.1 软件设计分析 (8)3.2 软件程序设计 (8)结论 (19)参考文献 (20)附录 1 (21)附录 2 (22)项目创新及特色 (23)第1章绪论1.1 概述单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

单片机课程设计电子时钟

单片机课程设计电子时钟

xxxxxx大学课程设计报告课程设计名称:单片机系统综合课程设计课程设计题目:电子时钟院(系):专业:班级:学号:姓名:指导教师:完成日期:xxxxxx大学课程设计报告目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (1)1.3实验环境 (2)第2章详细设计方案 (3)2.1硬件电路设计 (3)2.2主程序设计 (3)2.3功能模块的设计与实现 (4)第3章结果测试及分析 (11)3.1结果测试 (11)3.2结果分析 (11)参考文献 (12)附录 A (13)附录 B (21)附录 C (22)第1章总体设计方案1.1 设计原理根据课程设计任务书的内容,要求实现在MCS51单片机上对数字电子钟的基本功能设计,对当前时间正确显示,并可根据需要对时间进行更改,以完成时间的校对和闹钟的设置。

时钟时间以时、分、秒在6位数码管上显示,小时以24小时计时模式,分秒均为60进位。

用6MHz晶振产生振荡脉冲,定时器进行秒计时。

调整设置时间的过程运用可编程键盘上的按键进行控制,共设有5个按键,首先按键A进入校时模式或E进入闹钟模式,再分别按键B对小时或C分钟进行更改,每按键一次数码管计数显示加一,更改结束后按键D退出设置,时钟正常显示。

闹钟时间到时,蜂鸣器鸣响10秒后时钟正常显示。

1.2 设计思路采用C语言程序设计结合硬件电路设计方法,利用Lab6000实验箱来实现数字电子钟的设计。

1)提出方案根据设计要求,可将本次设计分为3个模块进行:1)时钟显示模块:主要用于时间的正确显示。

2)校时模块:此模块用于时钟的校对,以完成用户更改时间的需求。

3)闹钟模块:用于实现闹钟的时间设置和定点闹铃的功能。

2)方案论证时钟显示模块中,利用可编程定时器中断进行秒计时,将时间显示在6位数码管上。

校时模块主要利用键盘上5个键的控制完成各项功能,并在数码管上动态显示改变结果,完成设置后进入时钟显示模块。

闹钟模块的设置过程与校时模块相似,但设置完成进入时间显示模块后则等待闹铃时间,到规定时间后,通过数码管闪烁及蜂鸣器的鸣响来实现定点闹铃提醒功能。

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

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

51单片机课程设计-电子时钟-CAL-FENGHAI.-(YICAI)-Company One1课程设计课程名称:单片机课程设计题目名称:单片机电子时钟学院:电信学院专业:电子工程姓名:曾代科学号: 3201指导教师:杨加国2010年11月7日一、课程设计名称:51单片机电子时钟二、设计方案:1、通过单片机内部的计数/定时器,采用软件编程来实现时钟计数,一般称为软时钟,这种方法的硬件线路简单,系统的功能一般与软件设计相关,通常用在对时间精度要求不高的场合。

2、采用时钟芯片,它的功能强大,功能部件集成在芯片内部,具有自动产生时钟等相关功能,硬件成本相对较高;软件编程简单,通常用在对时钟精度要求较高的场合。

三、设计内容:这里采用应用广泛的AT89C52作为时钟控制芯片,利用单片机内部的定时/计数器T0 实现软时钟的目的。

首先将T0设定工作于定时方式,对机器周期计数形成基准时间(50ms),然后用另一个定时/计数器T1对基准时间计数形成秒,妙计60次形成分,分计60形成小时,小时计到12。

最后通过数码管把它们的内容在相应的位置显示出来,达到时、分、秒计时的功能。

此外还要实现对时间的调整功能,89C52的、、外接三个独立按键,当按下按键时,系统进入调时间的状态或启动时间显示的功能;当按下按键时,对显示的数码管进行加一的功能;当按下按键时,对显示的数码管进行减一的功能,达到调整时间的目的。

四、系统软件程序设计1.主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有按键按下时,则转入相应的功能程序。

2、数码管显示模块本实验有8个数码管,从右到左为妙、横线、分、横线、时。

在本系统中数码管显示采用软件译码动态显示。

在存储器中首先建立一张显示信息的字段码表,显示时,先从显示缓冲区中取出显示的信息,然后通过查表程序在字段表中查出所显示的信息的断码,从P0端口输出,同时在P2端口进行数码管显示。

基于51单片机多功能电子时钟课程设计报告

基于51单片机多功能电子时钟课程设计报告

单片机课程设计报告多功能电子数字钟目录一课程设计题目-------------------------------- 3 二电路设计--------------------------------------- 4 三程序总体设计思路概述------------------- 5 四各模块程序设计及流程图---------------- 6 五程序及程序说明见附录------------------- ** 六课程设计心得及体会---------------------- 11 七参考资料--------------------------------------- 12一题目及要求本次单片机课程设计在Proteus软件仿真平台下实现,完成电路设计连接,编程、调试,仿真出实验结果。

具体要如下:用8051单片机设计扩展6位数码管的静态或动态显示电路,再连接几个按键和一个蜂鸣器报警电路,设计出一个多功能电子钟,实现以下功能:(1)走时(能实现时分秒,年月日的计时)(2)显示(分屏切换显示时分秒和年月日,修改时能定位闪烁显示)(3)校时(能用按键修改和校准时钟)(4)定时报警(能定点报时)本次课程设计要求每个学生使用Proteus仿真软件独立设计制作出电路图、完成程序设计和系统仿真调试,验收时能操作演示。

最后验收检查结果,评定成绩分为:(1)完成“走时+显示+秒闪”功能----及格(2)完成“校时修改”功能----中等(3)完成“校时修改位闪”----良好(4)完成“定点报警”功能,且使用资源少----优秀二电路设计(电路设计图见附件电路图)(1)采用89C51型号单片机(2)采用8位共阴数码管(3)因为单片机输出高电平时输出的电流不足以驱动数码管,所以在P0口与8位数码管之间加74LS373来驱动数码管(4)P2口与数码管选择位直接加74LS138译码器(5)蜂鸣器接P3.7口。

因为单片机输出高电平时输出的电流不足以驱动蜂鸣器所以蜂鸣器,所以P3.7口与蜂鸣器直接接反相器再接蜂鸣器的一端,蜂鸣器的另一端接5V电源。

51单片机课程设计_电子时钟

51单片机课程设计_电子时钟

一、设计方案: (2)二、设计内容: (2)三、电子时钟 (2)1电子时钟简介 (3)2 电子时钟的基本特点 (3)3电子时钟的原理 (3)四、单片机的知识 (5)1单片机的简介 (5)2单片机的发展 (5)3单片机的特点 (7)4单片机的应用与89C51单片机的介绍 (8)五、系统软件程序设计 (14)1.主程序 (14)2、数码管显示模块 (14)3、定时器/计数器T0中断服务程序 (14)4、按键处理模块 (15)6、软件编译环境:Keil uVision2 (19)六、系统硬件电路的设计 (20)七、课程设计总结 (21)一、设计方案:1、通过单片机内部的计数/定时器,采用软件编程来实现时钟计数,一般称为软时钟,这种方法的硬件线路简单,系统的功能一般与软件设计相关,通常用在对时间精度要求不高的场合。

2、采用时钟芯片,它的功能强大,功能部件集成在芯片内部,具有自动产生时钟等相关功能,硬件成本相对较高;软件编程简单,通常用在对时钟精度要求较高的场合。

二、设计内容:这里采用应用广泛的AT89C52作为时钟控制芯片,利用单片机内部的定时/计数器T0 实现软时钟的目的。

首先将T0设定工作于定时方式,对机器周期计数形成基准时间(50ms),然后用另一个定时/计数器T1对基准时间计数形成秒,妙计60次形成分,分计60形成小时,小时计到12。

最后通过数码管把它们的内容在相应的位置显示出来,达到时、分、秒计时的功能。

此外还要实现对时间的调整功能,89C52的P1.0、P1.1、P1.2外接三个独立按键,当按下P1.0按键时,系统进入调时间的状态或启动时间显示的功能;当按下P1.1按键时,对显示的数码管进行加一的功能;当按下P1.2按键时,对显示的数码管进行减一的功能,达到调整时间的目的。

三、电子时钟1电子时钟简介1957,Vebtura发明了世界第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。

51单片机电子时钟课程设计

51单片机电子时钟课程设计

一、设计要求1、准确计时,以数字形式显示时、分、秒地时间.2、小时以24小时计时形式,分秒计时为60进位.3、校正时间功能,即能随意设定走时时间.4、闹钟功能,一旦走时到该时间,能以声或光地形式告警提示.5、设计5V直流电源,系统时钟电路、复位电路.6、能指示秒节奏,即秒提示.7、可采用交直流供电电源,且能自动切换.二、设计方案和论证本次设计时钟电路,使用了ATC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂地线路,使得电路简明易懂,使用键盘键上地按键来调整时钟地时、分、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、LED显示即可满足设计要求. 2.1、总设计原理框图如下图所示:2.2、设计方案地选择1.计时方案方案1:采用实时时钟芯片现在市场上有很多实时时钟集成电路,如DS1287、DS12887、DS1302等.这些实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据地更新每秒自动进行一次,不需要程序干预.因此,在工业实时测控系统中多采用这一类专用芯片来实现实时时钟功能.方案2:使用单片机内部地可编程定时器.利用单片机内部地定时计数器进行中端定时,配合软件延时实现时、分、秒地计时.该方案节省硬件成本,但程序设计较为复杂.2.显示方案对于实时时钟而言,显示显然是另一个重要地环节.通常LED显示有两种方式:动态显示和静态显示.静态显示地优点是程序简单、显示亮度有保证、单片机CPU地开销小,节约CPU地工作时间.但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复杂.需要几个LED就必须占有几个并行口,比较适用于LED数量较少地场合.当然当LED数量较多地时候,可以使用单片机地串行口通过移位寄存器地方式加以解决,但程序编写比较麻烦.LED动态显示硬件连接简单,但动态扫描地显示方式需要占有CPU较多地时间,在单片机没有太多实时测控任务地情况下可以采用.本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式.2.3硬件部分1、STC89C51单片机介绍STC89C51单片机是由深圳宏晶公司代理销售地一款MCU,是由美国设计生产地一种低电压、高性能CMOS 8位单片机,片内含8kbytes地可反复写地FlashROM和128bytes地RAM,2个16位定时计数器[5].STC89C51单片机内部主要包括累加器ACC(有时也简称为A)、程序状态字PSW、地址指示器DPTR、只读存储器ROM、随机存取存储器RAM、寄存器、并行I/O接口P0~P3、定时器/计数器、串行I/O接口以及定时控制逻辑电路等.这些部件通过内部总线联接起来,构成一个完整地微型计算机.其管脚图如图所示.STC89C51单片机管脚结构图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、上电按钮复位电路本设计采用上电按钮复位电路:首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被电路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,单片机芯片正常工作.其中电阻R2决定了电容充电地时间,R2越大则充电时间长,复位信号从VCC回落到0V地时间也长.3、晶振电路本设计晶振电路采用12M地晶振.晶振地作用是给单片机正常工作提供稳定地时钟信号.单片机地晶振并不是只能用12M,只要不超过20M就行,在准许地范围内,晶振越大,单片机运行越快,还有用12M地就是好算时间,因为一个机器周期为1/12时钟周期,所以这样用12M地话,一个时钟周期为12us,那么定时器计一次数就是1us了,电容范围在20-40pF之间,这里连接地是30pF地电容.机器周期=10*晶振周期=12*系统时钟周期4.下载端口设计用到地STC89C52单片机芯片地ISP下载线是通过单片机地TXD,RXD引脚把程序烧进去地.管脚TXD和RXD用于异步串行通信.其实STC89C52单片机地ISP下载线就是一个max232芯片连接STC和计算机地串行通信口.计算机把程序从九针串口送到max232芯片,电平转换后送进单片机地串行口,也就是TXD和RXD.然后单片机地串行模块把数据送到程序区.5、显示电路就时钟而言,通常可采用液晶显示或数码管显示.由于一般地段式液晶屏,需要专门地驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口地液晶显示模块(字符或点阵),一般多采用并行接口,对微处理器地接口要求较高,占用资源多.另外,89C2051本身无专门地液晶驱动接口,因此,本时钟采用数码管显示方式.数码管作为一种主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门地时钟显示组合数码管.对于实时时钟而言,显示显然是另一个重要地环节.通常LED显示有两种方式:动态显示和静态显示.静态显示地优点是程序简单、显示亮度有保证、单片机CPU地开销小,节约CPU地工作时间.但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复杂.需要几个LED就必须占有几个并行口,比较适用于LED数量较少地场合.当然当LED数量较多地时候,可以使用单片机地串行口通过移位寄存器地方式加以解决,但程序编写比较麻烦.LED动态显示硬件连接简单,但动态扫描地显示方式需要占有CPU较多地时间,在单片机没有太多实时测控任务地情况下可以采用.本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式.6、时钟显示校正电路本设计利用按键开关来校正时钟显示地数字.当按钮按下时,将在相应地端口输入一个低电平,通过相应地程序来改变时钟显示.其中S1按键开关用来选择要修改地数字;S2按键用来增加所选数字地数值;S3按键用来减少所选数字地数值.7、蜂鸣器电路电路接法:三极管选定PNP型,基极B连接5V电压,发射极E连接一个1K左右地电阻后接I/O口,集电极C连接蜂鸣器后接地.单片机在复位后地个I/O口是高电平,此时三极管是截止地,编写程序使选定地I/O为低电平,此时三极管导通,导通后蜂鸣器与电源正极连通,构成一个工作回路,从而发出滴滴地响声.其中电阻R1在电路里起分压限流地作用,PNP三极管起到模拟开关地作用.8、外接电源电路外接电源电路用于连接外部5V电源与电子时钟电路,通过自锁开关控制电路地导通与断开,当开关闭合时,电路导通,外部电源给电路正常供电,电子时钟正常工作.当开关断开时,电路停止工作.9、总电路原理图(五)软件部分根据上述电子时钟地工作流程,软件设计可分为以下几个功能模块:(1)主程序模块.主程序主要用于系统初始化:设置计时缓冲区地位置及初值,设置8155地工作方式、定时器地工作方式和计数初值等参数.主程序流程如下图所示.开始定义堆栈区8155、T0、数据缓冲区、标志位初始化调用键盘扫描程序否是C/R键?地址指针指向计时缓冲区主程序流程图(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单片机只有二进制加法指令,而时间是按十进制递增,因此用加法指令后必须进行二-十进制转换.计时模块流程图如下图所示.计时模块流程图(3)时间设置模块.该模块由键盘输入相应地数据来设置当前时间.程序通过调用一个键盘设置子程序通过键盘扫描将键入地6位时间值送入显示缓冲区.设置时间后,时钟要从这个时间开始计时,而时分秒单元各占一个字节,键盘占6个字节.因此程序中要调用一个合字子程序将显示缓冲区中地6位BCD码合并为3位压缩BCD码,并送入计时缓冲区,作为当前计时起始时间.该程序同时要检测输入时间值地合法性,若键盘输入地小时值大于23,分、秒值大于59,则不合法,将取消本次设置,清零重新开始计时.时间设置和键盘设置子程序地流程图如下图所示.时间设置流程图键盘设置子程序流程图(4)显示模块.该模块完成时分秒6位LED地动态显示.因为显示为6位,二计时是3个字节单元,为此,必须将3字节计时缓冲区中地时分秒压缩BCD码拆分为6字节BCD码,并送入显示缓冲区中.当按下调整时间键后,在6位设置完成之前,这6个LED应该显示键人地数据,不显示当前地时间.为此,我们设置了一个计时显示允许标志位F0,在时间设置期间F0=1,不调用刷新显示缓冲区地子程序.显示程序流程图如下图所示.保护现场是显示程序流程图键盘扫描程序流程图程序:ORG 0000H AJMP MAIN ORG 000BH AJMP TIME ORG 0300H MAIN:mov 20h,#00h MOV 21H,#00H MOV 22H,#00H MOV 23H,#00H MOV IP,#02H 。

基于C51单片机的实用电子时钟设计Protel课程设计

基于C51单片机的实用电子时钟设计Protel课程设计

设计任务书题目:基于C51单片机的实用电子时钟设计初始条件1.一台装有PROTEL软件或以上版本的电脑及使用PROTEL软件绘制电路原理图和印刷电路板的根本技能;2.模拟、数字、高频、单片机、或者一个具有完备功能的电子电路系统。

要求完成的主要任务:1.绘制具有一定规模、一定复杂程度的电路原理图*.sch〔自选〕。

可以涉及模拟、数字、高频、单片机、或者一个具有完备功能的电子电路系统。

2.绘制相应电路原理图的双面印刷幅员*.pcb,对电路原理图进展仿真,给出仿真结果〔如波形*.sdf、数据〕并说明是否到达设计意图。

参考书目:1. 谢自美.电子线路设计·实验·测试(第三版).武汉:华中科技大学出版社2. 康华光. 电子技术根底模拟局部.高等教育出版社,2005时间安排查阅资料2天Protel设计2天电路仿真2天报告撰写1天指导老师签名:2021年月日系主任〔或责任老师〕签名:2021年月日摘要Altium Designer 是业界第一款一体化电子产品设计解决方案,它将设计流程、集成化PCB设计、可编程器件〔如FPGA〕设计和基于处理器的嵌入式软件开发功能整合在一起的产品,是一种能同时进展原理图、PCB和FPGA设计及嵌入式设计的解决方案,具有将设计方案从概念转变为最终产品所需的全部功能。

作为电子专业的学生,掌握EDA软件是非常重要的,纯熟使用各种EDA软件对以后的学习研究、工作都很有帮助。

本次课程设计主要是设计一个基于C51单片机的实用电子时钟。

通过课程设计,掌握Altium Designer的根本使用方法,学会画原理图,进展PCB制作,并给予必要的仿真。

关键词:Altium Designer;原理图;PCB制作;电子时钟AbstractAltium Designer is the industry's first unified electronics design solutions that will design flow, integrated PCB design, programmable devices (eg FPGA) design and processor-based embedded software development capabilities integrated products, is the one kind can simultaneously schematic, PCB and FPGA design and embedded design solutions with the design from concept to final product all the necessary functions.As electronics majors, master EDA software is very important, skilled use of a variety of EDA software for future study and research work are very helpful.The course design is to design a practical C51 microcontroller based electronic clock. Through curriculum design, master the basics of using Altium Designer, learn drawing schematics for PCB production and give the necessary simulation.Keywords:Altium Designer; schematic; PCB design; Electronic clock.目录摘要.......................................................................................................................................... I Abstract .................................................................................................................................. II 1 Altium Designer简介 . (1)1.1 Altium Designer特性 (1)1.2 Altium Designer的组成 (1)1.3 Altium Designer改良方面 (2)2 电子时钟系统设计 (3)2.1 MCU控制器简介 (3)2.2 单片机最小系统 (4)2.3 独立键盘 (4)2.4 LCD1602模块 (5)2.5 DS12C887时钟芯片 (7)2.6 电源模块 (8)3 原理图绘制 (9)3.1 创立新的PCB工程文件 (9)3.2 添加新的原理图空文件 (9)3.3 安装元件库 (10)3.4 放置电路元器件并绘制连线 (10)3.5 完善原理图 (11)3.6 检查电路原理图 (11)3.7 输出元件清单 (11)4 PCB幅员设计 (13)4.1 导入原理图设计数据 (13)4.2 PCB板型设计及元件布局 (13)4.3 PCB网络布线 (13)4.4 设计规那么DRC检查 (14)4.5 覆铜编辑及补泪滴处理 (15)4.6 PCB的3D显示 (16)5 仿真分析 (17)6 小结体会 (19)参考文献 (20)附录局部程序 (21)1Altium Designer简介1.1 Altium Designer特性Altium Designer是美国Altium公司开发的设计电路板软件Protel的晋级版本,其沿袭了Protel以前版本方便易学的特点,内部界面与Protel DXP大体一样,为了适应目前高密度和信号高速度的要求新增加了一些功能模块。

基于C51单片机的数字时钟课程设计(C语言带闹钟)

基于C51单片机的数字时钟课程设计(C语言带闹钟)

单片机技术课程设计数字电子钟学院:班级:姓名:学号:教师:摘要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。

所以设计一个简易数字电子钟很有必要。

本电子钟采用AT89C52单片机为核心,使用12MHz 晶振与单片机AT89C52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。

该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEY5键,进行相应的操作就可实现校时、定时、复位功能。

具有时间显示、整点报时、校正等功能。

走时准确、显示直观、运行稳定等优点。

具有极高的推广应用价值。

关键词:电子钟 AT89C52 硬件设计软件设计目录NO TABLE OF CONTENTS ENTRIES FOUND.一、数字电子钟设计任务、功能要求说明及方案介绍1.1 设计课题设计任务设计一个具有特定功能的电子钟。

具有时间显示,并有时间设定,时间调整功能。

1.2 设计课题的功能要求说明设计一个具有特定功能的电子钟。

该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时59分0秒开始运行,进入时钟运行状态;按电子钟S5键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按S5键再次进入时钟运行状态。

1.3 设计课的设计总体方案介绍及工作原理说明本电子钟主要由单片机、键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1所示:图1-1总体设计方案图本电子钟的所有的软件、参数均存放在AT89C52的Flash ROM和内部RAM 中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。

键盘采用动态扫描方式。

利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。

电子时钟课程设计51

电子时钟课程设计51

电子时钟课程设计51一、教学目标本课程旨在让学生了解和掌握电子时钟的工作原理和设计方法。

通过本课程的学习,学生将能够:1.知识目标:理解电子时钟的基本构成,包括时钟芯片、显示器、按键等;掌握电子时钟的编程方法,包括定时器、中断、I/O口控制等。

2.技能目标:能够独立完成电子时钟的电路设计,包括元器件的选择、电路连接等;能够使用编程语言进行电子时钟的编程,实现基本功能。

3.情感态度价值观目标:培养学生的创新意识和团队合作精神,提高学生对电子科技的兴趣和热情。

二、教学内容本课程的教学内容主要包括以下几个部分:1.电子时钟的基本构成和工作原理;2.电子时钟的编程方法,包括定时器、中断、I/O口控制等;3.电子时钟的电路设计,包括元器件的选择、电路连接等;4.电子时钟的实际应用案例分析。

三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括:1.讲授法:讲解电子时钟的基本原理和编程方法;2.讨论法:引导学生进行思考和讨论,提高学生的理解能力;3.案例分析法:分析电子时钟的实际应用案例,帮助学生了解电子时钟的应用场景;4.实验法:让学生动手设计电子时钟电路,提高学生的实践能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:电子时钟设计的相关教材,用于引导学生学习;2.参考书:提供电子时钟设计的详细资料,帮助学生深入理解;3.多媒体资料:包括电子时钟的设计视频、图片等,丰富学生的学习体验;4.实验设备:提供电子时钟设计所需的电路板、元器件等,让学生动手实践。

五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,占总评的30%;2.作业:评估学生完成的作业质量,包括电路设计、编程等,占总评的30%;3.考试:进行一次电子时钟设计相关的考试,评估学生的知识掌握程度,占总评的40%。

六、教学安排本课程的教学安排如下:1.教学进度:共10次课,每次课2小时;2.教学时间:每周六上午9:00-11:00;3.教学地点:学校实验室。

电子时钟课程设计51

电子时钟课程设计51

电子时钟课程设计51一、课程目标知识目标:1. 学生能够理解电子时钟的基本原理,掌握电子时钟的组成和功能。

2. 学生能够描述电子时钟中数字显示技术的基本原理,如LED、LCD显示。

3. 学生能够解释电子时钟中时间计算和校准的方法。

技能目标:1. 学生能够运用所学知识,设计简单的电子时钟电路,并进行组装和调试。

2. 学生能够运用编程语言,编写简单的电子时钟程序,实现时间显示和校准功能。

3. 学生能够通过实际操作,培养动手能力和问题解决能力。

情感态度价值观目标:1. 学生能够培养对电子技术的兴趣,提高对科学探究的热情。

2. 学生能够认识到电子时钟在生活中的广泛应用,增强学以致用的意识。

3. 学生能够养成团队协作、沟通交流的良好习惯,培养合作精神。

分析课程性质、学生特点和教学要求:本课程为电子技术相关课程,结合学生所在年级的知识深度,注重理论联系实际,提高学生的动手实践能力。

课程针对的学生群体具有一定物理基础和编程能力,对电子技术有一定了解。

教学要求注重培养学生的创新能力、问题解决能力和团队协作能力。

二、教学内容1. 电子时钟原理及组成- 介绍电子时钟的基本工作原理,包括时钟振荡器、分频器、计数器、显示器等组成部分。

- 分析电子时钟中晶振的作用,探讨如何实现精确的时间计数。

2. 数字显示技术- 介绍LED和LCD显示技术的基本原理,对比分析两种显示技术的优缺点。

- 学习数字显示电路的设计,掌握如何驱动LED和LCD显示数字。

3. 时间计算与校准- 学习电子时钟中时间计算的方法,如秒、分、时的计算。

- 探讨电子时钟校准的原理和方法,了解实时时钟芯片(RTC)的应用。

4. 电子时钟电路设计与组装- 制定电子时钟电路设计方案,选择合适的元器件。

- 学习电路图的绘制,进行电路组装和调试。

5. 电子时钟编程- 使用编程语言(如C语言)编写电子时钟程序,实现时间显示和校准功能。

- 学习如何在微控制器上运行程序,实现电子时钟的实时显示。

课程设计51单片机电子时钟

课程设计51单片机电子时钟

课程设计51单片机电子时钟姓名:学号:指点教员:2010 年06 月05 日课程设计〔论文〕义务书指点教员〔签字〕:先生〔签字〕:课程设计〔论文〕评阅表先生姓名学号系别电气工程系专业班级标题称号电子时钟课程称号单片机原理与接口技术一、先生自我总结二、指点教员评定目录单片机电子时钟的设计摘要单片机自20世纪70年代问世以来,以其极高的功用价钱比,遭到人们的注重和关注,运用很广、开展很快。

单片机体积小、重量轻、抗搅扰才干强、环境要求不高、价钱昂贵、牢靠性高、灵敏性好、开发较为容易。

由于具有上述优点,在我国,单片机已普遍地运用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。

这次毕业设计经过对它的学习、运用,以A T89S51芯片为中心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,经过数码管可以准确显示时间,调整时间,从而抵达学习、设计、开发软、硬件的才干。

Design of the singlechip electronics clockAbstractSingle slice machine from published in 70's for 20 centuries, is compare with its very high function price, is value by people and pay attention to, apply very widely, develop very quickly. Single slice the machine physical volume is small,the weight is light,the anti- interference ability is strong,the environment haven't high request,the price is cheap,the credibility is high,vivid good,develop more easy. In order to having an above-mentioned advantage, at the our country, single slice the machine is broadly applied already to turn an equipment at industrial automation control,automatic examination,intelligence instrument appearance,home appliances,electric power electronics,the machine electricity integral whole etc. each aspect, but 51 machines is is a typical model most and have a representative most in each machine of a kind. This graduation design passes to its study and application, Take the AT89S51 chips as core, assist with the electric circuit of the necessity, design a simple electronics clock, it from the 4.5 V direct current power supply power supply, pass the figures tube can accurate manifestation time, adjust time。

我的51单片机课设报告——电子钟

我的51单片机课设报告——电子钟

课程设计任务书课程名称:微型计算机技术设计题目:多功能数字钟基于AT89C51单片机的电子钟的设计电子钟使用外接时钟芯片作为时钟源,精确到秒。

显示部分为LED动态显示设计;并有键盘设计;硬件设计:1)最小系统设计:AT89C51单片机为本设计的控制器,包括外扩ROM,RAM各32 M(其大小由设计者自己设计),系统时钟电路、复位电路等构成的最小系统;2)接口电路的设计:设计者扩展一个并行接口〔8155或8255〕,键盘设计由设计者根据需要设计键盘的数量,显示采用LED显示,显示电路也根据显示的内容设计(年、月、日,时、分、秒;可用两屏显示);3)有开机显示状态(如显示888888);4)在完成基本设计功能同时可以增加功能。

软件设计:1)主程序设计(包括初始化芯片,定时器,中断以及SP指针等);2)各功能子程序设计,键盘子程序、\显示子程序设计,定时,中断程序等;引言:单片机因将其主要组成部分集成在一个芯片上而得名,单片机具有体积小、功能多、价格低廉、使用方便、系统设计灵活等优点。

它把中央处理单元、随机存储器、只读存储器、定时/计数器以及I/O接口电路等主要部件集成在一块半导体芯片上。

因此从某种意义上说,一块单片机芯片就是一台微型计算机。

自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,录像机、摄像机、全自动洗衣机的控制等等,这些都离不开单片机。

随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,从4位、8位、16位到32位,单片机功能越来越强大,价格越来越低,同时应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。

数字时钟应用广泛,在现实生活中有着至关重要的作用,在工业控制和日常生活中它不仅可以用于计时、提醒又可用于对机器的控制。

基于51单片机的多功能电子时钟设计

基于51单片机的多功能电子时钟设计

单片机应用设计入门课程设计尹康2012029010010一. 题目利用51单片机设计一个电子时钟要求:能够用数码管显示小时、分钟、秒,各2位数字;系统应具有复位电路、电源电路等基本组成部分;能够进行时间设定;能够进行日期设定。

二. 方案设计1.系统框图直流电源复位电路独立按键控制部分STC89C51显示部分(8位共阴数码管)2.设计说明用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h 到了。

采用动态显示法实现LED显示:通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。

由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。

该电子时钟由STC89C51,BUTTON,共阴数码管等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ。

60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。

没有按键按键按下时,时钟正常运行。

当按下调节时钟按键change,时钟就会进入设置时间界面(时钟不会停止工作),重复按下change 键,系统状态在调整小时、调整分钟、正常显示之间切换。

按add或reduce键,就可以数值进行加1或减1操作。

三. 电路设计1.整体电路:2.8位共阴数码管电路:3.单片机系统:4.独立按键电路:5.晶振6.复位电路:7.电源电路:四. 程序设计#include<reg52.h> //包含单片机寄存的头文件sbit led1=P1^0; sbit led2=P1^2; sbit led5=P1^5; sbit du=P2^6;//段选sbit we=P2^7;//位选sbit s1=P3^4;sbit s2=P3^5;sbit s3=P3^6;sbit s4=P3^7;sbit beep=P2^3; sbit dot=P0^7; unsigned char shi,fen,miao,unit,keyv,key,av,ashi,afen,ami ao;void delay() //1ms{unsigned char a,b;for(b=102;b>0;b--)for(a=3;a>0;a--);}void delay5(void) //误差5ms{unsigned char a,b;for(b=15;b>0;b--)for(a=152;a>0;a--);}void delayhalf (void) //误差0.5s{unsigned char a,b,c;for(c=23;c>0;c--)for(b=152;b>0;b--)for(a=70;a>0;a--);}void display( unsigned char h,f,s){unsigned char codeduma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d, 0x7d,0x07,0x7f,0x6f,0x77,0x38}; unsigned char codemawei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0 xbf,0x7f};unsigned char shiwan,wan,qian,bai,shi,ge;shiwan=h/10;wan=h%10;qian=f/10;bai=f%10;shi=s/10;ge=s%10;P0=duma[shiwan];du=1;du=0;P0=mawei[0];we=1;we=0;delay();P0=duma[wan];dot=1;du=1;du=0;dot=0;P0=mawei[1];we=1;we=0;delay();P0=duma[qian]; du=1;du=0;P0=mawei[2];we=1;we=0;delay();P0=duma[bai]; dot=1;du=1;du=0;dot=0;P0=mawei[3];we=1;we=0;delay();if(key!=1&&key!=2) {P0=duma[shi];du=1;du=0;P0=mawei[4];we=1;we=0;delay();P0=duma[ge];du=1;du=0;P0=mawei[5];we=1;we=0;delay();}if(key==1||key==2) {P0=duma[10];du=1;du=0;P0=mawei[4]; we=1;we=0;delay();P0=duma[11]; du=1;du=0;P0=mawei[5]; we=1;we=0;delay();}P0=0xff;we=1;we=0;}passtime(){if(unit==100) {miao++;unit=0;led1=!led1;led2=!led2; }if(miao==60) {fen++;miao=0;}if(fen==60) {shi++;fen=0;}if(shi==24) {shi=0;} }void InitTimer0(void)//10ms{TMOD = 0x01;TH0 = 0x0DC;TL0 = 0x00;EA = 1;ET0 = 1;TR0 = 1;unit=0;}void Timer0Interrupt(void) interrupt 1 {TH0 = 0x0DC;TL0 = 0x00;unit++ ;//add your code here! passtime();}void adjustment(void){if(s1==0){delay5();if(s1==0){while(!s1);amiao=0;key++;led5=0;if(key==5){key=0;TR0=1;led5=1;}}}//s1 countif(s2==0){delay5();if(s2==0){while(!s2);if(key==1)//alram{ashi++;if(ashi==24){ashi=0;}}if(key==2){afen++;if(afen==60){afen=0;}}//alramif(key==4)/////{miao=0;TR0=0;fen++;if(fen==60){fen=0;}}if(key==3)///{miao=0;TR0=0;shi++;if(shi==24){shi=0;}}}}//adj +///////////////////adj-if(s3==0) {delay5();if(s3==0){while(!s3);if(key==1)//alram{ashi--;if(ashi==-1){ashi=23;}}if(key==2){afen--;if(afen==-1){afen=59;}}//alramif(key==4)//{miao=0;TR0=0;fen--;if(fen==-1){fen=59;}}if(key==3)///{miao=0;TR0=0;shi--;if(shi==-1){shi=23;}}}}//adj -}void alarm(void){if(fen!=afen){av=0;}if(av==0){if(shi==ashi&&fen==afen){beep=0;delayhalf();beep=1;delayhalf();beep=0;delayhalf();beep=1;delayhalf();}}//av==0}********************************* 主函数*********************************void main(void){ashi=7;afen=0;InitTimer0();led2=0;while(1){if(keyv==0)//close display{if(s4==0){delay5();if(s4==0){while(!s4);keyv=1;av=1;}}}if(keyv==1){if(s4==0){delay5();if(s4==0){while(!s4); keyv=0; } }}//close displayif(keyv==0){adjustment();if(key!=1&&key!=2){display(shi,fen,miao);}if(key==1||key==2){display(ashi,afen,amiao);}}if(key==0||key==3||key==4){alarm();}}//while}五. 实物仿真六. 心得体会1.单片机,是集CPU ,RAM ,ROM ,定时器,计数器和多种接口于一体的微控制器,自20世纪70年代问世以来,以其极高的性价比,受到人们的重视和关注,应用很广、发展很快。

51电子钟课程设计

51电子钟课程设计

51电子钟课程设计一、课程目标知识目标:1. 让学生理解51单片机的原理及其在电子钟设计中的应用。

2. 使学生掌握电子钟的基本组成部分,包括时钟芯片、显示模块、按键等。

3. 帮助学生掌握定时器、中断等单片机技术的使用。

技能目标:1. 培养学生运用51单片机进行电子钟设计的能力,学会编写程序、调试电路。

2. 提高学生动手实践能力,能独立完成电子钟的组装和调试。

3. 培养学生分析问题和解决问题的能力,能够对电子钟进行故障排查和优化。

情感态度价值观目标:1. 培养学生对电子制作的兴趣,激发创新意识。

2. 培养学生团队合作精神,学会在团队中发挥自己的优势,共同完成任务。

3. 培养学生严谨的学习态度,养成良好的学习习惯。

分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握51单片机及其周边器件的基础上,运用所学知识完成一个具有实际应用价值的电子钟项目。

通过课程学习,使学生将理论知识与实际操作相结合,提高综合运用知识的能力,培养创新精神和实践能力。

同时,注重培养学生的情感态度价值观,使他们在学习过程中形成良好的学习习惯和团队协作精神。

二、教学内容1. 理论知识学习:- 51单片机基本原理及结构- 定时器、中断等技术的应用- 时钟芯片的原理与使用- 显示模块的工作原理及其与单片机的连接方法- 按键输入原理及电路设计2. 实践操作环节:- 电子钟电路图的绘制- 51单片机程序的编写与调试- 电子钟的组装与调试- 故障分析与优化3. 教学内容安排与进度:- 第一周:51单片机基本原理及结构学习,熟悉开发环境- 第二周:定时器、中断技术学习,时钟芯片原理介绍- 第三周:显示模块及按键输入学习,设计初步电路图- 第四周:编写程序,进行电子钟的组装与调试- 第五周:对电子钟进行故障分析与优化,撰写实验报告教材章节关联:本教学内容与教材中以下章节相关:- 第四章:51单片机原理与结构- 第五章:定时器与中断技术- 第六章:显示与键盘接口技术- 第七章:单片机应用实例三、教学方法为了提高教学效果,激发学生的学习兴趣和主动性,本课程将采用以下多样化的教学方法:1. 讲授法:教师通过生动的语言、丰富的案例,为学生讲解51单片机的基础知识、电子钟的设计原理等理论内容。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计
课程名称:单片机课程设计
题目名称:单片机电子时钟
学院:电信学院
专业:电子工程
姓名:曾代科
学号:1
指导教师:杨加国
2010年11月7日
一、课程设计名称:51单片机电子时钟
二、设计方案:
1、通过单片机内部的计数/定时器,采用软件编程来实现时钟计数,一般称为软时钟,这种方法的硬件线路简单,系统的功能一般与软件设计相关,通常用在对时间精度要求不高的场合。

2、采用时钟芯片,它的功能强大,功能部件集成在芯片内部,具有自动产生时钟等相关功能,硬件成本相对较高;软件编程简单,通常用在对时钟精度要求较高的场合。

三、设计内容:
这里采用应用广泛的AT89C52作为时钟控制芯片,利用单片机内部的定时/计数器T0 实现软时钟的目的。

首先将T0设定工作于定时方式,对机器周期计数形成基准时间(50ms),然后用另一个定时/计数器T1对基准时间计数形成秒,妙计60次形成分,分计60形成小时,小时计到12。

最后通过数码管把它们的内容在相应的位置显示出来,达到时、分、秒计时的功能。

此外还要实现对时间的调整功能,89C52的P1.0、P1.1、P1.2外接三个独立按键,当按下P1.0按键时,系统进入调时
间的状态或启动时间显示的功能;当按下P1.1按键时,对显
示的数码管进行加一的功能;当按下P1.2按键时,对显
示的数码管进行减一的功能,达到调整时间的目的。

四、系统软件程序设计
1.主程序
先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有按键按下时,则转入相应的功能程序。

2、数码管显示模块
本实验有8个数码管,从右到左为妙、横线、分、横线、时。

在本系统中数码管显示采用软件译码动态显示。

在存储器中首先建立一张显示信息的字段码表,显示时,先从显示缓冲区中取出显示的信息,然后通过查表程序在字段表中查出所显示的信息的断码,从P0端口输出,同时在P2端口进行数码管显示。

3、定时器/计数器T0中断服务程序
T0用于计时,选中方式一,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加一。

秒单元加到60则对分单元加一,同时秒单元清0;分单元加到60则对时单元加
一,同时分单元清0;时单元加到24则对时单元清0,标
志一天时间计满。

在对各单元计数的同时,把他们的值放到存储器单元的指定位置。

流程图如下:
4、按键处理模块
按键设置为:如果没有按键吗,则时钟正常走时。

当按下K0键时,进入调分状态,时钟停止走动;按K1和K2按键可以进行加一和减一操作;继续按K0键可以分别进行分和小时的调整;最后按K0键启动计时。

5、汇编语言程序
ORG 0000H
LJMP START
ORG 000BH
LJMP INIT0
START: MOV R0,#70H ;主程序开始
MOV R7,#0CH
INIT: MOV @R0,#00H
INC R0
DJN Z R7,INIT
MOV 72H,#10 ;对连字符进行装值
MOV 75H,#10
MOV TMOD,#01H ;选择定时器/计数器T0的方式1
MOV TL0,#0B0H ;对低位赋初值
MOV TH0,#03CH ;高位赋初值
SETB EA
SETB ET0
SETB TR0
START1: LCALL SCAN
LCALL KEYSCAN
SJMP START1
DL1MS: MOV R6,#14H ;延时1子程序
DL1: MOV R7,#19H
DL2: DJNZ R7,DL2
DJNZ R6,DL1
RET
DL20MS: ACALL SCAN ;延时20ms子程序
ACALL SCAN
ACALL SCAN
RET ;数码管显示程序开始
SCAN: MOV A,78H
MOV B,#0AH
DIV AB ;时间秒的十位送给A,时间秒的个位送B
MOV 71H,A ;时间秒要显示的十位
MOV 70H,B ;时间秒要显示的个位
MOV A,79H
MOV B,#0AH
DIV AB ;时间分的十位送给A,时间分的个位送B
MOV 74H,A ;时间分要显示的十位送地址
MOV 73H,B ;时间分要显示的个位送地址
MOV A,7AH
MOV B,#0AH
DIV AB ;时间时的十位送给A,时间时的个位送B
MOV 77H,A ;时间时显示的十位送地址
MOV 76H,B ;时间时要显示的个位送地址
MOV R1,#70H
MOV R5,#0FEH
MOV R3,#08H
SCAN1: MOV A,R5 ;数码管的显示程序
MOV P2,A
MOV A,@R1
MOV DPTR,#TAB
MOVC A,@A+DPTR ;对字段表取值显示
MOV P0,A
MOV A,R5
LCALL DL1MS
INC R1
MOV A,R5
RL A
MOV R5,A
DJNZ R3,SCAN1
MOV P2,#0FFH。

相关文档
最新文档