PROTEUS仿真的数字电子钟设计
- 格式:doc
- 大小:24.50 KB
- 文档页数:5
基于PROTEUS仿真的数字电子钟设计单片机技术是现代电子工程领域一门迅速发展的技术,它的应用已经渗透到各种嵌入式系统中。
随着计算机技术的普及,采用Proteus软件与Keil软件整合构建单片机虚拟实验平台。
可以使教师在讲述理论的同时,利用Proteus软件进行仿真、演示,使学生消除“抽象感”增加学习的兴趣。
使课堂教学更生动、直观使单片机课程中一些基本理论和基本概念更加容易理解。
标签:虚拟模拟仿真0 引言Proteus软件是英国Labcenter electronice公司开发的电路分析与实物仿真软件。
它不仅具有其他EDA工具软件的仿真功能。
还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件工具。
该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。
目前支持的单片机类型有:8051系列、A VR系列、ARM系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
③提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。
总之,该软件是一款集单片机和SPICE 分析于一身的仿真软件,功能极其强大。
1 数字钟电路设计数字钟的原理框图如图1所示。
它由以下几个部件组成:单片机AT89S52、电源、时分显示部件。
时分显示采用动态扫描,可以降低对单片机I/O口数的要求,同时也降低系统的功耗。
时分显示模块以及显示驱动都通过AT89S52的I/O口控制。
电源部分:两种方法:一种是由220V的市电通过变压、整流稳压(主要用7805稳压块)来得到+5V电压,维持系统的正常工作。
数字钟设计Digital clock design1.实验目的1.掌握数字钟的设计方法。
2.熟悉集成电路的使用方法。
2.实验内容及要求时钟显示功能,能够以十进制显示“时”、“分”、“秒”。
其中时为24进制,分秒为60进。
3.设计思路、芯片选择及单元电路功能简介1.设计思路:数字钟的设计可以分为4个单元电路来设计,分别为1Hz脉冲产生电路、数码管显示电路、60进制计数器电路、24进制计数器电路这四个单元电路。
2.芯片的选择:BCD——七段译码器74LS47十进制可逆计数器74192555定时器集成与门芯片74LS113.单元电路功能简介:①1Hz脉冲产生电路:图1 1Hz脉冲产生电路该单元电路是用由555定时器构成的多谐振荡器来产生的1HZ方波的电路,其中考虑到电路的“延时”效应,该电路产生的方波的频率并不是标准的1HZ方波,而是频率稍大于1Hz的方波。
它是为整个电路提供时钟源的,它的输出脉冲提供给秒单元电路的低位计数芯片。
②数码管显示电路:图2数码管显示电路该单元电路是用来显示一位数字的电路,它由一块数码管和一块数码管驱动芯片组成,它的输入信号由计数器提供。
③60进制计数器电路:图3 60进制计数器电路该单元电路由两片74LS192可逆计数器芯片、一个三输入与非门和一个非门构成的60进制计数器电路,它是为秒显示和分显示电路提供驱动信号的单元电路。
④24进制计数器电路:图4 24进制计数器电路该单元电路是由两片74LS192可逆计数器芯片和一个与门构成的24进制计数器电路,它的低位脉冲信号由分钟计数器单元电路的进位信号提供,它为小时显示电路提供驱动信号。
4.总电路图图5 总电路图5.仿真效果1.在接通电源之前,应保持开关SW1断开且SW2闭合,如下图所示:图6 SW1和SW2状态(1)2.接通电源后应先断开开关SW2,保持开关SW1断开状态不变,如下图所示:图7 SW1和SW2状态(2)3.在做完第二步之后,应保持开关SW2断开状态不变,闭合开关SW1,如下图所示:图8 SW1和SW2状态(3)在执行完以上三步之后,就是仿真的正确结果了,如下图所示:图9 总的运行效果6.实验结论在本次实验中,对于74LS192可逆计数器芯片来说,它本是十进制计数器,若用它构成六进制计数器,据理论知识,仅需要将它的输出端Q1和Q2端通过一个与门后反馈到清零端CR即可。
基于Proteus的数字电子钟的设计与仿真一、设计目的与要求 (1)二、设计内容与方案制定 (1)三、芯片简介 (1)1、AT89C52 (1)2、AT24C02 (2)四、设计步骤 (3)1、硬件电路设计 (3)1.1.硬件电路组成框图 (3)1.2.各单元电路及工作原理 (3)1.3.绘制原理图 (5)1.4.元件清单列表 (6)2、程序设计 (7)2.1程序流程 (7)2.2主程序 (9)2.2.源程序 (10)五、调试与仿真 (22)六、心得体会 (23)七、参考文献 (23)一、设计目的与要求设计目的:通过课程设计,培养学生运用已学知识解决实际问题的能力、查阅资料的能力、自学能力和独立分析问题、解决问题的能力和能通过独立思考。
设计要求:设计一个时、分可调的数字电子钟、断电后将数据保存,开启后时间将从断电后时间继续行走。
二、设计内容与方案制定具有校时功能,按键控制电路其中时键、分键六个键分别控制时、分时间的调整。
按下小时数实现对小时数加减,按下分钟数实现对分钟数进行加减,并设置有复位键,启始键。
以AT89C51单片机进行实现秒、分、时上的正常显示和进位,其中显示功能由单片机控制共阴极数码管来实现,数码管进行动态显示。
通过AT24C02分别写入时、分、秒数据在断电后实现保存,在下次通电后将数据读出保持为断电前数据。
三、芯片简介1、AT89C52AT89C52是一个低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系2、AT24C02AT24C02支持I2C,总线数据传送协议I2C,总线协议规定任何将数据传件为接收器。
数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。
主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,由于A0、A1和A2可以组成000~111八种情况,即通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上,通过进行不同的配置进行选择器件。
电子设计自动化技术与应用设计报告设计题目:基于单片机的电子钟设计学院:通信学院姓名: *******学号: S*******目录一、需求分析 (1)二、系统分析 (1)2.1 硬件系统分析 (1)2.2 软件系统分析 (2)三、系统设计 (2)3.1 主程序流程图 (2)3.2 子程序流程图 (3)四、硬件电路设计 (5)4.1 电源电路 (5)4.2 晶振模块设计 (5)4.3 复位模块设计 (5)4.4 按键模块设计 (6)4.5 显示电路 (6)五、系统仿真 (7)六、心得与总结 (7)基于单片机的电子钟设计一、需求分析名称:电子钟设计输入:功能按钮key1、key2、key3、 输出:数码管显示需实现的功能:显示时钟,24小时制,并可以对时钟进行修改。
二、系统分析2.1 硬件系统分析电子钟要包括信号发生器、时间显示电路、按键电路、供电电源。
整个系统用单片机作为中央控制器,由单片机执行采集芯片内部时钟信号,时钟信号通过单片机I/O 口传给单片机,单片机模块控制驱动模块驱动显示模块,通过显示模块来实现信号的输出、LED 的显示及相关的控制功能。
系统设有按键模块用于对时间进行调整及扩展多个小键盘,系统整体框图如图(1)所示。
该系统使用AT89C51单片机,完成电子钟的主要功能。
AT89C51按键模块晶振电路显示模块复位电路图(1) 系统框图(1)单片机芯片的选择:本实验选用的是A T89C51单片机芯片。
该芯片的主要特点是:与MCS-51 兼容,可反复擦写1000次的Flash 只读程序存储器,三级程序存储器锁定,128×8位内部RAM ,5个中断源,两个16位定时器/计数器,片内振荡器和时钟电路。
128×8位内部RAM ,全静态工作:0Hz-24MHz 。
(2)数码管显示的选择:本实验选用的是动态显示,即各位数码管轮流点亮,对于显示器各位数码管,每隔一段延时时间循环点亮一次。
Proteus 仿真大赛电子时钟仿真第一章电子时钟总体设计1.1电子时钟简介电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
随着人们生活环境的不断改善和美化,在许多场合都用到电子时钟。
很多单片机产品具有实时时钟的功能,例如智能化仪器仪表、工业过程系统及家用电器等。
这里要求实现一个具有实时时钟显示和闹钟控制功能的数字钟。
通过数字钟的设计与制作,将前面所学的单片机内部定时资源、I/O端口、键盘和显示接口等知识融会贯通,锻炼独立设计、制作和调试应用系统的能力,深入领会单片机应用系统的硬件设计、模块化程序设计及软硬件调试方法等,并掌握单片机应用系统的开发过程。
1.2电子钟设计要求设计并制作具有如下功能的数字钟:(1)自动计时,由6位LED先四起显示时、分、秒。
(2)具备校准功能,可以设置当前时间。
(3)具备定时启动功能,可以设置闹钟时间,启闹10s后自动关闭闹铃。
1.3电子钟计时方案(1)采用实时时钟芯片。
针对应用系统对实时功能的普遍需求,各大芯片生产厂家陆续推出了一系列实时时钟集成电路,如DS1287、DS12887、DS1302、PCF8563、S35190等。
这些实时时钟芯片具备年、月、日、时、分、秒、计时功能和多点定时功能,计时数据每秒自动更新一次,不需程序干预。
单片机可通过中断或查询方式读取计时数据。
实时时钟芯片的计时功能无须占用CPU时间,功能完善,精度高,软件程序设计相对简单,在实时工业测控系统中多采用这一类专用芯片来实现。
(2)软件控制。
利用AT89S51内部定时/计数器进行中断定时,配合软件延时、分、秒的计时。
该方案节省硬件成本,且能够使读者对前面所学知识进行综合运用,因此,本系统设计采用这一方案。
1.4电子钟显示方案(1)利用串行口扩展LED,实现LED静态显示。
该方案占用单片机资源少,且静态显示亮度高,但硬件开销大,电路复杂,信息刷新速度慢,比适用于单片机并行口资源较少的场合。
毕业设计(论文)-基于PROTEUS 的多功能数字电子钟的设计自动化专业综合设计报告设计题目:基于PROTEUS的多功能数字电子钟的设计所在实验室:指导教师:学生姓名班级学号撰写时间:成绩评定:一、设计目的利用单片机STC89C52,液晶显示器等实现时间的显示以及闹钟等功能的数字电子钟,数字电子钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,节省了电能。
因此得到了广泛的使用。
数字钟是一种典型的数字电路,包括了组合逻辑电路和时序电路。
通过设计加深对学习了的单片机和PROTEUS的认识。
二、设计内容(1)用PROTEUS画出原理图,并完成下列任务:(2)用6只LED数码管输出显示时、分和秒。
(3)可通过按键设置闹钟功能,且停闹无须手工操作。
(4)可通过按键设置分校时。
(5)写出详细的设计报告。
(6)给出电路的原理图、源程序,仿真实现。
三、设计步骤1 系统主要功能电子钟的主要功能有:整点报时;四只LED数码管显示当前时分;并且具有闹钟功能。
2 系统的硬件构成及功能电脑钟的原理框图如图1所示。
它由以下几个部件组成:单片机89C2051、电源、时分显示部件。
时分显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。
时分显示模块以及显示驱动都通过89C2051的I/O口控制。
电源部分:电源部分有二部分组成。
一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作。
图1 电子钟系统原理框图2.1 AT89C2051单片机及其引脚说明AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版。
内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与Intel MCS-51系列单片机的指令和输出管脚相兼容。
由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。
PROTEUS仿真的数字电子钟设计PROTEUS仿真的数字电子钟设计【摘要】电子钟作为现代人日常生活与工作中一种最为多见的计时工具之一,同人们的生活密切相关,而数字电子钟又凭借着小体积、轻重量与准确计时、结构简单以及少耗电等优点被广泛应用在日常生活中。
故文章介绍一种基于PROTEUS仿真软件的数字电子钟,并对其设计与仿真调试情况展开具体分析。
【关键词】PROTEUS仿真;数字电子钟;设计方案一、引言PROTEUS仿真软件,作为Labeenter Electronics公司研发出来的一款用于电路设计和仿真的软件,主要涵盖了ISIS 与ARES等软件模块,其中,ISIS模块主要是用于电路原理图的布图和仿真,而ARES 模块则多用于PCB设计。
在该仿真软件中,有着极为丰富的资源,拥有30多个元器件库,并为设计者提供了27000个以上的仿真元器件,为数字电路与模拟电路混合仿真效果的实现奠定了良好的基础。
同时,在该软件中,还可为用户提供了逻辑分析仪、虚拟终端与信号发生器以及交直流电压表等仿真仪器与仪表资源,即实现了同一仪器与仪表在同一个电路中的随意调整[1]。
下面,基于PROTEUS仿真软件设计一数字电子钟。
二、数字电子时钟的设计分析从本质上来说,数字电子钟主要可分为分频器、振荡器与译码器等几部分,其中,分频器与振荡器共同构成了一个“标准秒信号的发生器”,而其计时系统则由不同进制的计数器、显示器与译码器构成,当秒信号被输送到计数器中时开始计数,而后用“时”、“分”、“秒”的形式将累积结果显示出来[2]。
下面,对数字电子钟的设计展开具体分析。
图1本次设计主要以AT89C2051为其核心元器件(因PROTEUS仿真软件无该元器件,故设计原理图时以AT89C4051代替),主要分成以下几个部分:①振荡电路,该部分作为计时器的一个核心部分,其频率的精确性与稳定性直接关系到计时器的总体准确度,故为达到最佳精确度,本次设计选用晶体振荡器来组成其振荡电路;②按键电路,如图1-a,即设计了S1、S2与S3三个按键,并使之分别同P3.5、P3.4与P3.2的端口进行复用,只要对应端口输出高电平的时候,该单片机就可读取出按键的当前状态们,并赋予其相对值;③蜂鸣器电路。
数字(一)钟是一个对1Hz频率进行计数的电路。
振荡器产生的时钟信号经过分频器形成秒脉冲信号,秒脉冲信号输入计数器进行计数,显示出时间。
秒计数器电路计满60后触发分计数器电路,分计数器电路计满60后触发时计数器电路,当计满24小时后重零开始计数。
一般由振荡器、分频器、计数器、译码器、数码显示器等几部分组成。
振荡电路:主要用来产生时间信号。
石英晶体振荡器可以提高时间信号的稳定度。
分频器:振荡器产生的信号频率很高,要得到“秒”信号,需一定级数的分频器进行分频。
计数器:有了“秒”信号,则可以根据60秒为1分,24小时为1天的进制,分别设定“时”、“分”、“秒”的计数器,分别为60进制,60进制,24进制计数器,并输出一分,一小时,一天的进位信号。
译码显示:将“时”“分”“秒”显示出来。
将计数器输入状态,输入到译码器,产生驱动数码显示器信号,呈现出对应的进位数字字型。
关键词数字钟振荡计数校正目录1.前言22.系统总体方案设计32.1方案比较42.2方案选择63单元模块设计73.1时间计数电路的设计73.2译码显示电路93.3三个按键的电路113.3.1按键一:光标的移位与闪烁123.3.2按键二:时间的上翻让时间得到修改143.3.3 按键三:确定154 系统调试155 系统功能和指标参数155.1系统功能165.2系统指标参数166 设计总结和体会176.1设计总结176.2设计的收获体会17致谢1818附录数字电子钟电路总图191.前言数字电子钟是一个用数字电路实现的时,分,秒计时的装置,与机械式时钟相比具有更高的准确性。
本次的数字电子钟的设计原理就是一种典型的数字电路,其中还包括了一些组合逻辑电路和时序电路。
本次的数字电子钟的设计主要目的是为了让我们更好的掌握数字电子钟的原理,从而掌握逻辑电路的一些典型运用,学会自己制作电子钟。
通过对数字电子钟得设计进一步的了解各种中小规模集成电路的作用和实用方法。
基于p r o t e u s的数字电子钟的仿真设计文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]课程论文题目:基于Proteus的数字电子钟的设计与仿真课程名称:单片机系统设计与Proteus仿真学生姓名:马珂学生学号: 23系别:电子工程学院专业:通信工程年级: 13级任课教师:徐锋电子工程学院2015年5月目录24六、4基于Proteus的数字电子钟的设计与仿真一、设计目的与要求设计目的:通过课程设计,培养学生运用已学知识解决实际问题的能力、查阅资料的能力、自学能力和独立分析问题、解决问题的能力和能通过独立思考。
设计要求:设计一个时、分可调的数字电子钟、开机显示“9-58-00”。
二、设计内容与方案制定具有校时功能,按键控制电路其中时键、分键两个键分别控制时、分时间的调整。
按分键分加1;按时键时加1。
以AT89C51单片机进行实现秒、分、时上的正常显示和进位,其中显示功能由单片机控制共阴极数码管来实现,数码管进行动态显示。
三、设计步骤1、硬件电路设计.硬件电路组成框图.各单元电路及工作原理(1)晶振电路单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。
本系统中AT89C51单片机采用内部时钟方式。
采用外接晶体和电容组成的并联谐振回路。
其电路图如下:(2)键盘控制电路键盘可实现对时间的校对,用两个按键来实现。
按时键来调节小时的时间,按分键来调节分针的时间。
其电路连接图如下:(3)显示电路LED显示器是现在最常用的显示器之一发光二极管(LED)分段式显示器由7条线段围成8字型,每一段包含一个发光二极管。
外加正向电压时二极管导通,发出清晰的光。
只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。
显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,采用动态显示方式显示时间,其硬件连接方式如下图所示。
.绘制原理图其计时周期为24小时,显示满刻度为23时59分59秒,另外还有校时功能。
电子钟(中断计时)一.实验内容:利用cpu的中断程序,实现1s的精确计时,并仿真出可以调整时间的LED电子钟。
二.实验步骤:i.在proteus中选择相应的元器件,并根据内容要求按一定的方式连接电路;ii.根据在软件仿真中所连接的电路,在keil中编写相应的程序,编译无误后生成相应的*.hex文件;iii.将*.hex加入软件仿真的单片机中,并运行。
1.电路图选取1个8段共阳集成LED灯,89c51单片机,3个按键。
P0和P3分别连接LED 的公共端和位选端。
设置单片机的工作频率为12MHz,中断溢出的时间为10ms,故中断溢出100次的时间为1s。
3个独立按键分别控制时分秒的增1调整。
2.流程图3.c语言程序#include<regx51.h>unsigned char show[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x3f}; unsigned char scan[]={0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; unsigned char second;unsigned char min;unsigned char hour;unsigned char tcount;sbit h=P1^0;sbit m=P1^3;sbit s=P1^7;delay(){int i,j;for(i=10;i>0;i--)for(j=20;j>0;j--) ;}void display(){ P3=scan[0];P0=show[second%10];P3=scan[8];delay();P3=scan[0];P0=show[second/10];P3=scan[7];delay();P3=scan[0];P0=show[10];P3=scan[6];delay();P3=scan[0];P0=show[min%10];P3=scan[5];delay();P3=scan[0];P0=show[min/10];P3=scan[4];delay();P3=scan[0];P0=show[10];P3=scan[3];delay();P3=scan[0];P0=show[hour%10];P3=scan[2];delay();P3=scan[0];P0=show[hour/10];P3=scan[1];delay();}KEY(){ if(h==0){delay();if(h==0)hour++;if(hour==24)hour=0;while(!h);}if(m==0){delay();if(m==0)min++;if(min==60)min=0;while(!m);}if(s==0){delay();if(s==0)second++;if(second==60)second=0;while(!s);}}void main(){ tcount=0;second=0;min=0;hour=0;P1=0Xff;EA=1;ET0=1;TMOD=0X01;TH0=(65535-10000)/256;TL0=(65535-10000)%256;TR0=1;while(1){KEY();display();}}void Time0(void) interrupt 1 using 0 { TH0=(65535-10000)/256;TL0=(65535-10000)%256;tcount++;if(tcount==100){tcount=0;second++;if(second==60){second=0;min++;if(min==60){min=0;hour++;if(hour==24)hour=0;}}}}4.程序运行截图。
基于Proteus的数字钟的设计与实现本系统采用小规模集成电路构成数字钟的硬件电路。
利用多谐振荡器产生时间标准信號,三个计数器(分别为60进制,60进制,24进制)用来设定“时”、“分”、“秒”信号,并输出分,小时,天的进位信号。
译码显示电路则用来将“时”“分”“秒”显示出来。
由于计数的起始时间不可能与标准时间一致,故需要在电路上加个校时电路可以对分和时进行校时。
另外,计时过程要具有报时功能,当时间到达整点前10秒开始,蜂鸣器有间隔地地响5秒钟。
标签:数字钟;振荡;计数;校正;报时0 引言数字电子钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。
数字电子钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。
1.硬件电路设计数字钟的设计框图与原理如图1所示。
首先,用555多谐振荡器产生的方波脉冲信号,再用计数器分频得到1HZ的方波脉冲信号,作为时钟脉冲信号CP。
其次,设计出1个24进制计数器和2个60进制计数器分别连接7段数码管,用来显示时、分、秒。
接着,用2个数据选择器控制小时计数器和分钟计数器的时钟脉冲频率,完成快速校时校分的功能。
最后,用数据选择器选择整点报时和闹钟时间,控制扬声器振动发声。
1KHZ信号可通过555定时器的多谐振荡器来产生。
依据,取,可得。
取,取滑动变阻器。
有关分频,我选取3个异步清零同步置数的十进制计数器74ls160来完成分频功能。
时分秒数字显示电路需用两片74ls160组成60进制计数器,采取异步清零方式,则60作为清零状态。
即权重为40、20的通过与非门接清零端,即Q6和Q5通过与非门接清零端。
同理可得,24可作为24进制计数器的清零状态,即将输出端的Q5和Q2通过与非门接清零端。
校时校分电路即用数据选择器来选择计数器的低位片频率。
数据选择器的使能端由手动开关控制,开关断开则数字钟正常运行,闭合则用来校时校分。
protues 数字钟课程设计一、课程目标知识目标:1. 学生能理解数字时钟的原理,掌握使用Protues软件设计数字时钟电路的基本步骤。
2. 学生能描述数字时钟各部分功能,如时钟振荡器、分频器、计数器、译码器等,并解释它们的工作原理。
3. 学生能运用所学知识,分析并解决数字时钟电路设计中出现的问题。
技能目标:1. 学生能运用Protues软件进行电路设计,包括选择合适的元器件、搭建电路图、设置仿真参数等。
2. 学生能通过仿真实验,调试并优化数字时钟电路,确保其正常运行。
3. 学生能运用所学知识,对数字时钟进行创新设计和改进。
情感态度价值观目标:1. 学生对电子设计产生兴趣,培养探究精神和动手能力。
2. 学生在团队合作中,学会沟通、协作、分享,提高解决问题的能力。
3. 学生养成严谨的科学态度,注重实验数据的真实性,培养诚信意识。
课程性质:本课程为电子技术实践课程,旨在培养学生的实际操作能力和创新思维。
学生特点:学生为高中年级,具有一定的电子技术基础和Protues软件操作能力。
教学要求:结合学生特点,注重理论与实践相结合,提高学生的动手实践能力和创新能力。
将课程目标分解为具体的学习成果,以便在教学过程中进行有效指导和评估。
二、教学内容1. 理论知识:- 数字时钟原理:时钟振荡器、分频器、计数器、译码器等部分的功能和工作原理。
- Protues软件操作:介绍软件界面,元器件选择、放置、连接,仿真参数设置等。
2. 实践操作:- 数字时钟电路设计:按照原理图,在Protues软件中搭建电路图。
- 仿真与调试:进行电路仿真,观察并分析运行结果,调整电路参数,优化电路性能。
3. 教学大纲:- 第一阶段:数字时钟原理学习,预计2课时。
- 第二阶段:Protues软件操作教学,预计2课时。
- 第三阶段:数字时钟电路设计与仿真,预计3课时。
4. 教材章节及内容:- 第四章 电子时钟:学习数字时钟原理,了解各部分功能及工作原理。
基于p r o t e u s的数字电子钟的仿真设计文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)课程论文题目:基于Proteus的数字电子钟的设计与仿真课程名称:单片机系统设计与Proteus仿真学生姓名:马珂学生学号: 23系别:电子工程学院专业:通信工程年级: 13级任课教师:徐锋电子工程学院2015年5月目录24六、4基于Proteus的数字电子钟的设计与仿真一、设计目的与要求设计目的:通过课程设计,培养学生运用已学知识解决实际问题的能力、查阅资料的能力、自学能力和独立分析问题、解决问题的能力和能通过独立思考。
设计要求:设计一个时、分可调的数字电子钟、开机显示“9-58-00”。
二、设计内容与方案制定具有校时功能,按键控制电路其中时键、分键两个键分别控制时、分时间的调整。
按分键分加1;按时键时加1。
以AT89C51单片机进行实现秒、分、时上的正常显示和进位,其中显示功能由单片机控制共阴极数码管来实现,数码管进行动态显示。
三、设计步骤1、硬件电路设计.硬件电路组成框图.各单元电路及工作原理(1)晶振电路单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。
本系统中AT89C51单片机采用内部时钟方式。
采用外接晶体和电容组成的并联谐振回路。
其电路图如下:(2)键盘控制电路键盘可实现对时间的校对,用两个按键来实现。
按时键来调节小时的时间,按分键来调节分针的时间。
其电路连接图如下:(3)显示电路LED显示器是现在最常用的显示器之一发光二极管(LED)分段式显示器由7条线段围成8字型,每一段包含一个发光二极管。
外加正向电压时二极管导通,发出清晰的光。
只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。
显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,采用动态显示方式显示时间,其硬件连接方式如下图所示。
.绘制原理图其计时周期为24小时,显示满刻度为23时59分59秒,另外还有校时功能。
基于proteus的数字电⼦钟零、设计要求1.时钟可以显⽰⼩时、分钟以及秒2.,四个按键可以实现时间的⼿动调节3.加⼊AT24C02,存储关机之前的时间,并且下次开机后可以通过某⼀按键将存储的时间读取出来⼀、硬件仿真⼆、程序设计⼆、程序部分1.IIC#include <I2C.h>/*开始信号*/void I2C_Star(){SDA = 1;SCL = 1;delay();SDA = 0;delay();SCL = 0;}/*停⽌信号*/void I2C_Stop(){SCL = 0;SDA = 0;delay();SCL = 1;delay();SDA = 1;delay();}/*写操作*/bit I2C_Write(uchar date){bit ack;//应答位uchar mask;for(mask=0x80;mask!=0;mask>>=1){if((date&mask)==0)SDA = 0;elseSDA = 1;delay();SCL = 1;//拉⾼让从机读信号delay();SCL = 0;//拉低准备写下⼀位}SDA = 1;//释放数据线,以检测从机应答delay();SCL = 1;ack = SDA;delay();SCL = 0;return (~ack);//返回1--应答返回0--⾮应答}/*读操作 + 应答*/uchar I2C_Read_Ack(){uchar date;//读到的⼀个字节uchar mask;SDA = 1;//确保数据线释放for(mask=0x80;mask!=0;mask>>=1){delay();SCL = 1;//拉⾼时钟线准备读date &= ~mask;delay();SCL = 0;}//读完给从机发送应答SDA = 0;delay();SCL = 1;//从机读⾛应答位delay();SCL = 0;return date;//返回读到的⼀字节}/*读操作 + ⾮应答*/uchar I2C_Read_NAck(){uchar date;//读到的⼀个字节uchar mask;SDA = 1;//确保数据线释放for(mask=0x80;mask!=0;mask>>=1) {delay();SCL = 1;//拉⾼时钟线准备读if(SDA==1)date |= mask;elsedate &= ~mask;delay();SCL = 0;}//读完给从机发送⾮应答SDA = 1;delay();SCL = 1;//从机读⾛⾮应答位delay();SCL = 0;return date;//返回读到的⼀字节}2. 按键#include "key.h"/*毫秒级延时*/void delay_ms(uint z){uint x,y;for(x=z;x>0;x--)for(y=125;y>0;y--);}/*按键扫描*/uint key_scan(){if(sec_up==0){delay_ms(10);while(!sec_up);return 1;}if(sec_down==0){delay_ms(10);while(!sec_down);return 2;}if(min_up==0){delay_ms(10);while(!min_up);return 3;}if(min_down==0){}if(read_e2==0){delay_ms(10);while(!read_e2);return 5;}return 0;}3.液晶显⽰#include "LCD1602.h"/*微秒级延时*/void delay_us(uint x){for(;x>0;x--)_nop_();}/*写命令*/void write_com(uchar com){P0 = com;rs = 0;lcd_en = 0;delay_us(100);lcd_en = 1;delay_us(100);lcd_en = 0;}/*写数据*/void write_date(uchar date){P0 = date;rs = 1;lcd_en = 0;delay_us(100);lcd_en = 1;delay_us(100);lcd_en = 0;}/*初始化*/void Init_lcd(){uchar i=0;rw = 0;//写⼊数据或指令write_com(0x38);//显⽰模式16X2delay_us(100);write_com(0x0c);//开显⽰,不显⽰光标 delay_us(100);write_com(0x06); //写⼊新数据光标右移 delay_us(100);write_com(0x01);//清屏delay_us(100);}/*显⽰位置设置*/void lcd_location(uchar location){write_com(0x80 | location);}4.主函数#include<reg52.h>#include "LCD1602.h"#include "key.h"#include "I2C.h"/**接⼝定义**/sbit START = P3^5;uchar sec,min,hour;uchar count = 0;uchar KeyCount = 0;/**数组定义**/uchar code lcd_date_1[]={" Design-By-WHH "};uchar code lcd_date_2[]={" 00:00:00 "};uchar display[6];uchar buf[3];//24C02缓存/**函数声明**/void display_lcd();void Display_Init();void Timer0_Config();void key_action();void E2PROM_Write(uchar *buf,uchar address,uchar len); void E2PROM_Read(uchar *buf,uchar address,uchar len); void Init_E2Data_Write();void Init_E2Data_Read();/*****//*主函数*/void main(){Timer0_Config();Init_lcd();Display_Init();while(1){if(START==0){if(!START){KeyCount++;switch(KeyCount%2){case 1:EA = 1;break;case 0:EA = 0;break;}}}key_action();display_lcd();}}/*掉电写数据包*/void Init_E2Data_Write(){buf[0] = hour;buf[1] = min;buf[2] = sec;}/*上电读数据包*/void Init_E2Data_Read(){hour = buf[0];min = buf[1];sec = buf[2];}/*显⽰函数*/void display_lcd(){display[0] = hour/10+0x30;display[1] = hour%10+0x30;display[2] = min/10+0x30;display[3] = min%10+0x30;display[4] = sec/10+0x30;display[5] = sec%10+0x30;lcd_location(0x44);//第⼆⾏第五个位置write_date(display[0]);write_date(display[1]);write_date(0x3a);//显⽰':'write_date(display[2]);write_date(display[3]);write_date(0x3a);//显⽰':'write_date(display[4]);write_date(display[5]);}/*显⽰初始化*/void Display_Init(){uchar i;lcd_location(0x00);for(i=0;i<16;i++){write_date(lcd_date_1[i]);}lcd_location(0x40);//第⼆⾏初始位置for(i=0;i<16;i++){write_date(lcd_date_2[i]);}}/*定时器配置*/void Timer0_Config(){TMOD &= 0xF0;TMOD |= 0x01;TH0 = 0x4c;//定时50msTL0 = 0X00;ET0 = 1;TR0 = 1;}/*按键动作操作*/void key_action(){uint key_value = 0;key_value = key_scan();if(key_value==1){min++;}if(key_value==2){min--;}if(key_value==3){sec++;}if(key_value==4){sec--;}if(key_value==5){Init_E2Data_Read();E2PROM_Read(buf,0x3a,sizeof(buf));}}/*E2PROM写多个字节*/void E2PROM_Write(uchar *buf,uchar address,uchar len) {while(len--){do{I2C_Star();if(I2C_Write(0xa0))break;//如果允许写⼊则退出检测循环I2C_Stop();}while(1);I2C_Write(address++);I2C_Write(*buf++);I2C_Stop();}}/*E2PROM读多个字节*/void E2PROM_Read(uchar *buf,uchar address,uchar len){do{I2C_Star();if(I2C_Write(0xa0))break;//如果允许写⼊则退出检测循环I2C_Stop();}while(1);I2C_Write(address);//写⼊要读取的地址I2C_Star();I2C_Write(0xa1);//选择读while(len>1)//读取字节数-1{*buf++ = I2C_Read_Ack();//给应答以继续读len--;}*buf = I2C_Read_NAck();//给⾮应答不继续读了I2C_Stop();}/*定时器0中断服务函数*/void Time0() interrupt 1{TH0 = 0x4c;//定时50msTL0 = 0X00;count++;if(count==20)//1s{Init_E2Data_Write();E2PROM_Write(buf,0x3a,sizeof(buf));//1s时间写⼀次数据到E2 count=0;sec++;}if(sec==60)//1min{sec = 0;min++;}if(min==60)//1h{min=0;hour++;}}。
PROTEUS仿真的数字电子钟设计
【摘要】电子钟作为现代人日常生活与工作中一种最为多见的计时工具之一,同人们的生活密切相关,而数字电子钟又凭借着小体积、轻重量与准确计时、结构简单以及少耗电等优点被广泛应用在日常生活中。
故文章介绍一种基于PROTEUS仿真软件的数字电子钟,并对其设计与仿真调试情况展开具体分析。
【关键词】PROTEUS仿真;数字电子钟;设计方案
一、引言
PROTEUS仿真软件,作为Labeenter Electronics公司研发出来的一款用于电路设计和仿真的软件,主要涵盖了ISIS 与ARES等软件模块,其中,ISIS模块主要是用于电路原理图的布图和仿真,而ARES模块则多用于PCB设计。
在该仿真软件中,有着极为丰富的资源,拥有30多个元器件库,并为设计者提供了27000个以上的仿真元器件,为数字电路与模拟电路混合仿真效果的实现奠定了良好的基础。
同时,在该软件中,还可为用户提供了逻辑分析仪、虚拟终端与信号发生器以及交直流电压表等仿真仪器与仪表资源,即实现了同一仪器与仪表在同一个电路中的随意调整[1]。
下面,基于PROTEUS仿真软件设计一数字电子钟。
二、数字电子时钟的设计分析
从本质上来说,数字电子钟主要可分为分频器、振荡器与译码器等几部分,其中,分频器与振荡器共同构成了一个“标准秒信号的发生器”,而其计时系统则由不同进制的计数器、显示器与译码器构成,当秒信号被输送到计数器中时开始计数,而后用“时”、“分”、“秒”的形式将累积结果显示出来[2]。
下面,对数字电子钟的设计展开具体分析。
图1
本次设计主要以AT89C2051为其核心元器件(因PROTEUS仿真软件无该元器件,故设计原理图时以
AT89C4051代替),主要分成以下几个部分:①振荡电路,该部分作为计时器的一个核心部分,其频率的精确性与稳定性直接关系到计时器的总体准确度,故为达到最佳精确度,本次设计选用晶体振荡器来组成其振荡电路;②按键电路,如图1-a,即设计了S1、S2与S3三个按键,并使之分别同P3.5、P3.4与P3.2的端口进行复用,只要对应端口输出高电平的时候,该单片机就可读取出按键的当前状态们,并赋予其相对值;③蜂鸣器电路。
在数字电子钟中,其响铃电路主要是由一个蜂鸣器与一个PNP型的三极管构成的,并经
AT89C2051中的P3.7端口来驱动,若三极管被导通之后,其蜂鸣器就会发出一定响声,并测得其J3两侧为高低平,若蜂鸣器无声,那么,J3两端的电压差则是低电平,然而,因
PROTEUS仿真软件无法对排针进行仿真,故本次设计中直接用2个开关来代替(如图1-b)[3];④显示电路电路,即用3各两位一体共阳极数码管构成,并借助7个200Ω上拉电阻使数码管同AT89C2051端口P1.0~P1.6相连,将其电阻作用设为限流作用。
同时,对电路的时钟功能、校时功能与闹钟功能、倒计时功能以及秒表功能、计数器功能进行合理调整与设计,比如短短按5次S1键,其显示状态就变成了00:00:00,且冒号长灭,这时若按S2键,计数器则加1开始计时,若按S3键,计数器则清零。
三、电子时钟的仿真分析
(一)设计仿真原理图
在PROTEUS仿真中,原理图的设计是其中的一个关键环节,具体流程为:①新建一个文件夹,并将图纸的相关参数与信息设置好;②放置元器件,即查找并选择相应元器件,后于对象选择器中把选定元器件置于新建图纸上,合理调整元器件位置,设定元器件相关参数,如名称、标准与显示状态等[4];③对原理图实施布线处理,即借助有意义导线与网络图标对预制元件器进行连接处理,从而使各元件间存在一定关系,形成一张有效电路原理图;④对原理图展开相应的调整、检查与补充修改,以强化其有效性、可视性与可读性,最后将其存盘并输出。
如图1。
(二)编辑秒脉冲信号
本次设计中,时钟所选用的秒脉冲频率是1Hz,具体编辑步骤为:首先,在电路中加设时钟仿真输入源,后单击Generator图标,并选中“DCLOCK”信号源,出现编辑框,单击鼠标左键,将时钟信号源放置进去,最后,双击信号源,弹出窗口,选用“Timing”下拉“Frequency”项目,并将其设置成1Hz。
(三)仿真结果分析
单击控制面板上的运行按钮,使系统进入到仿真状态中,而这时数码管也从00-00-00开始进行计时,而设计者可通过对SW1(校时)、SW2(校分)与SW3(校秒)开关位置进行改变来对其电子钟的小时、分与秒进行调试。
比如把SW1调至高电平,那么,该电子钟的小时数则从目前计数值开始以大小为1Hz的频率逐步增加,直到SW1开关被调至低电平,而分与秒仍正常计数。
四、结束语
总而言之,PROTEUS仿真软件有着极为强大的功能,而其在数字电子钟的设计与仿真中的有效应用,仅仅只是其部分功能的发挥,在现实生活与设计研究中,还可将其应用于模拟电子技术与电工技术等方面的仿真设计与开发,以此来最大限度加快系统的开发速度,减少开发成本。
参考文献:
[1]李琼.基于PROTEUS仿真的数字电子钟设计[J].中小企业管理与科技(上旬刊),2011,12:216-217.
[2]朱曾志.数字电子钟的设计与仿真[J].计算机光盘软件与应用,2013,08:25-26.
[3]黄华飞.基于Proteus的数字电子钟设计[J].科技创新导报,2014,28:101-102.
[4]谢家兴,王建,刘洪山,赵懿琨. LED点阵显示式多功能数字电子钟设计[J].软件导刊,2014,04:93-95.
作者简介:1.牛瑞斌,新乡职业技术学院助教.2.刘源,新乡职业技术学院助教.。