数字秒表设计报告
- 格式:doc
- 大小:377.50 KB
- 文档页数:14
课程设计任务书学生姓名:专业班级:电子科学与技术电子00901班指导教师:工作单位:武汉理工大学信息工程学院题目: 数字秒表一、设计目的①根据设计要求,完成对数字秒表的设计。
②进一步加强对QuartusⅡ的应用和对VHDL语言的使用。
二、设计内容和要求①计时精度应大于1/100S,计时器能显示1/100S的时间,提供给计时器内部定时的时钟频率应大于100Hz,这里选用1KHz。
②计时器的最大计时时间为1小时,为此需要6位的显示器,显示的最长时间为59分59.99秒。
③设置有复位和起/停开关,复位开关用来使计数器清零,做好计时准备。
起停开关的使用方法与传统的机械式计数器相同,即按一下,启动计时器开始计时,再按一下计时终止。
三、初始条件CPLD,按键,时钟信号等。
四、时间安排:EDA课程设计布置工作 6.11设计 6.12~6.15硬件调试 6.17~6.19撰写设计报告 6.20~6.21检查硬件、答辩、提交设计报告 6.22指导教师签名:年月日系主任(或责任教师)签名年月日目录摘要 (I)Abstract (II)绪论............................................................................................................................ I II 一系统设计方案. (1)二底层模块设计 (2)2.1 计时电路 (2)2.1.1 时基分频器 (2)2.1.2 100进制计数器 (2)2.1.3 60进制计数器 (3)2.2 计时控制电路 (3)2.3 显示电路 (4)2.3.1 七段译码器 (4)2.3.2 扫描模块 (4)三顶层原理图 (5)四系统仿真 (6)4.1计时电路的仿真 (6)4.2计时控制电路的仿真 (7)4.3 显示电路的仿真 (8)五器件编程与硬件下载 (9)六心得体会 (10)七参考文献 (11)附录 (12)摘要随着人们生活水平的日益提高,社会体系的日益完善,人们对于各种应用器件的要求也越来越高。
数字秒表课程设计报告湖北汽车工业学院课程设计( 说明书)数字秒表的设计班级/ 学号学生姓名指导教师一、概述数字式秒表是一种常用的计时工具,以其价格低廉、走时准确、使用方便、功能多而广泛用于体育比赛中,本文介绍了如何利用中小规模集成电路和半导体器件进行数字式秒表的设计。
本设计中数字秒表的最大计时是00.00——99.99s,也就是说分辨率是0.01秒,最后计数结果用数码管显示,需要实现清零、启动计时、暂停计时、继续计时等功能。
在本次设计中由四片74LS161构成计数器来实现秒表的计数功能。
由于需要比较稳定的信号,用555定时器与电阻和电容组成的多谐振荡器产生0.01HZ的信号,用四个数码管显示计时,最后在电路中加入了两个控制开关一个控制电路的启动和暂停;另一个控制电路的清零。
二、工作原理要实现数字秒表的控制,则要求数字信号控制系统由555脉冲时钟输出信号,且计数器具有开关实现启动计时、暂停计时、继续计时、实现清零等功能,而且需要数码管能够显示出数字。
图1 数字秒表电路的原理框图三、电路设计1.555多谐振荡器脉冲时钟信号电路图3 脉冲时钟信号电路图当555定时器接成多谐振荡器时可以知道电路的振荡周期为T=(R1+R2)Cln2,振荡频率为f=1/T=1/(R1+R2)Cln2,通过改变R和C的参数即可以改变振荡频率,同时多谐振荡器的占空比为q=T1/T=R1+R2/R1+2R2,而且多谐振荡器只有当高电平内部才是导通的,所以应该使占空比q非常高,假定q=98%,根据计算R1=4.7kΩ,R2=4.7k Ω,C1=1μF,此时的T大约也为0.01s。
2.计数显示电路图5 计数显示电路图74LS161集成芯片为集成4位二进制同步加法计数器,具有异步置0、同步并行置数、计数及保持功能。
它有同步置数控制端LOAD,异步清零控制端CLR,工作模式控制端ENP、ENT,时钟输入端CLK,进位输出端RCO,并行数据输入端D~A,计数输出端QD~QA。
数字电子秒表设计总结报告一.工作原理本数字电子秒表设计由启动、清零复位电路、多谐振荡电路、分频计数电路、译码显示电路等组成。
如下图所示:启动清零复位电路主要由U6A 、U6B 、U7B 、U7D 组成,其本质是一个RS 触发器和单稳态触发器。
J1控制数字秒表的启动和停止,J2控制数字秒表的清零复位。
开始时把J1合上,J2打开,运行本电路,数字秒表正在计数。
当打开J1,合上J2键,J2与地相接得到低电平加到U6B 的输入端,U6B 输出高电平又加到U6A 的输入端,而U6A 的另一端通过电阻R15与电源相接得到高电平,(此时U6B 与U6A 组成RS 触发器),U6A 输出低电加到U7A 的输入端,U7A 被封锁输出高电平加到U5的时钟端,因U5不具备时钟脉冲条件,U5不能输出脉冲信号,因此U3、U4时钟端无脉冲而停止计数。
当J1合上时,打开J2键,J1与地相接得到低电平加到U6A 的输入端,U6A 输出高电平加到U6B 的输入端,U6B输出低电平加至U7B,使U7B输出高电平,因电容两端电压不能跃变,因此在R7上得到高电平加到U7D输入端,U7D输出低电平(进入暂态)同时加到U3、U4、U5的清零端,使得U3、U4的QD ---QA输出0000,经U1、U2译码输出驱动U9、U10显示“00”。
因为U7B与U7D组成一个单稳态电路,经过较短的时间,U7D的输出由低电平变为高电平,允许U3、U4、U5计数。
同时U6A输出高电平加到U7A的输入端,将U7A打开,让555的3脚输出100KHZ的振荡信号经U7A加到U5的时钟脉冲端,使得U5具备时钟脉冲条件,U5的9、10、7脚接高电平,U5构成十分频器,对时钟脉冲计数。
当U5接收一个脉冲时,U5内部计数加1,如果U5接收到第十个脉冲时,U5的15脚(RCO端)输出由低电平跳变为高电平作为U4的时钟脉冲,从而实现了对振荡信号的十分频,产生周期为0.1S的脉冲加至U4的时钟端。
数字秒表设计实验报告(一)数字秒表设计实验报告Introduction•实验目的:设计并实现一个数字秒表•实验时间:2021年10月10日至2021年10月15日•实验对象:本科计算机专业学生•实验设备:计算机、编程软件Experiment Procedure1.寻找合适的编程语言和开发工具2.设计秒表的用户界面3.编写代码实现秒表的计时功能4.测试并调试代码5.完善用户界面,添加重置和暂停功能6.进行性能测试,并分析结果Experimental Findings•选用Python编程语言和PyQt图形库进行开发•按照用户界面设计,实现了秒表的计时功能•通过测试,发现秒表计时准确性较高,误差范围小于0.1秒•添加了重置和暂停功能,提高了秒表的实用性•性能测试表明,在处理大数据量时,秒表的响应速度仍然较快Conclusion通过本次实验,我们成功设计并实现了一个功能完善的数字秒表。
通过合理的编程语言选择和用户界面设计,实验结果表明,我们的秒表具有准确的计时功能、良好的用户体验和较高的性能。
这对于计算机专业学生来说,具有较高的实用价值。
Future Work尽管我们已经取得了较好的实验结果,但仍有一些改进的空间。
在未来的工作中,我们计划:•进一步提高秒表的计时准确性,减小误差范围•探索更多的用户界面设计方案,增加更多便利的功能•优化性能,提高秒表在处理大数据量时的响应速度•结合云服务,实现秒表数据的备份和同步功能Acknowledgements感谢实验组的所有成员共同努力,以及指导老师的支持和指导,使得本次实验取得了圆满成功。
Reference无抱歉,关于数字秒表设计实验报告的文章已经终止。
目录1 引言 (1)1.1 课程设计的目的 (1)1.2 课程设计的内容 (1)2 EDA、VHDL简介 (1)2.1 EDA技术 (1)2.2 硬件描述语言——VHDL (2)3设计过程 (4)3.1 设计规划 (4)3.2 各模块的原理及其程序 (4)3.2.1控制模块 (5)3.2.2时基分频模块 (5)3.2.3计时模块 (6)3.2.4显示模块 (7)4系统仿真 (9)结束语 (13)致谢 (14)参考文献 (15)附录 (16)1 引言在科技高度发展的今天,集成电路和计算机应用得到了高速发展。
尤其是计算机应用的发展。
它在人们日常生活已逐渐崭露头角。
大多数电子产品多是由计算机电路组成,如:手机、mp3等。
而且将来的不久他们的身影将会更频繁的出现在我们身边。
各种家用电器多会实现微电脑技术。
电脑各部分在工作时多是一时间为基准的。
本文就是基于计算机电路的时钟脉冲信号、状态控制等原理设计出的数字秒表。
秒表在很多领域充当一个重要的角色。
在各种比赛中对秒表的精确度要求很高,尤其是一些科学实验。
他们对时间精确度达到了几纳秒级别。
1.1 课程设计的目的本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA技术,对计算机系统中时钟控制系统进一步了解,掌握状态机工作原理,同时了解计算机时钟脉冲是怎么产生和工作的。
在掌握所学的计算机组成与结构课程理论知识时。
通过对数字秒表的设计,进行理论与实际的结合,提高与计算机有关设计能力,提高分析、解决计算机技术实际问题的能力。
通过课程设计深入理解计算机结构与控制实现的技术,达到课程设计的目标。
1.2 课程设计的内容利用VHDL语言设计基于计算机电路中时钟脉冲原理的数字秒表。
该数字秒表能对0秒~59分59.99秒范围进行计时,显示最长时间是59分59秒。
计时精度达到10ms。
设计了复位开关和启停开关。
复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。
北华航天工业学院电子工程系EDA综合课程设计——数字秒表设计姓名:__ ___班级:_ ______指导老师:_ _______摘要EDA技术作为电子工程领域的一门新技术,极大的提高了电子系统设计的效率和可靠性。
本次课程设计就是利用VHDL语言结合硬件电路来实现数字秒表的功能,数字秒表有4个模块构成,分别为分频电路模块,去抖电路模块,时间计数电路模块,显示模块。
用VHDL 语言编程来实现各个模块的功能,再用原件例化的方法实现各模块之间的连接,从而实现整个数字秒表电路的功能。
一、设计要求秒表的逻辑结构主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。
在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲,除此之外,整个秒表还需要有一个启动信号和归零信号,以便秒表能随意停止及启动。
秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之对应,6个计数器的输出全部都为BCD码输出,这样便于和显示译码器的连接。
当计时达60分钟后,蜂鸣器报警。
二、模块结构1.四个10进制计数器:用来分别对百分之一、十分之一秒、秒和分进行计数;2.两个6进制计数器:用来分别对10秒和10分进行计数:3.分频率器:用来产生100Hz计时脉冲:4.显示译码器:完成对显示的控制。
三、硬件要求1.主芯片EPF10K10LC84-42.6位八段扫描共阴极数码显示管3.二个按键开关(归零、启动)四、实验容及步骤1.根据电路特点,用层次设计概念将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口。
分别让学生分作和调试其中之一,然后再将各模块结合起来联试。
以培养学生之间的合作精神,同时加深层次化设计概念。
2.了解软件的元件管理深层含义,以及模块元件之间的连接该概念,对于不同目录下的同一设计,如何熔合。
3.适配划分前后的仿真容有何不同概念,仿真信号对象有何不同,让学生有更深一步了解。
数字电路课程设计报告——数字秒表一、设计任务与技术指标:设计数字秒表,以实现暂停、清零、存储等功能。
设计精度为0.01秒。
二、设计使用器件:74LS00 多片74163 4片4511 4片NE555 1片二极管1枚LED 共阴极七段译码器 4 个导线、电阻若干三、数字秒表的构成:利用555 设计一个多谐振荡器,其产生的毫秒脉冲触发74LS163计数,计时部分的计数器由0.01s 位、0.1s 位、s 个位、和s 十位共四个计数器组成,最后通过CD4511 译码在数码管上显示输出。
由“启动和停止电路”控制启动和停止秒表。
由“接地”控制四个计数器的清零。
图1 电子秒表的组成框图四、实现功能及功能特点:(1)、在接通电源后秒表显示00:00,当接通计时开关时秒表开始计时。
(2)、清零可在计时条件下也可在暂停条件下进行。
(3)、解决了在使用163清零端和保持端时由于163默认的清零端优先级高于保持端造成的0.01秒位上无法保持到0.09的技术问题。
(4)、增加了数据溢出功能,由于是4位秒表,最多计到一分钟,当秒表到达一分钟时,秒表自动暂停显示在60:00秒处,此时二极管发亮,起警示灯作用。
清零后则可继续计时。
(5)、由于条件有限,我们自己用导线制作了电源、清零、暂停等开关以减少导线的拔插造成的面板的不美观。
下图为完整课程设计的实物图:五、课程设计原理:本课程设计由模6000计数器和其控制电路组成,模6000计数器功能由同步加法计数器74163和与非门74LS00组成。
74163的功能及用法:74163同步加法计数器具有以下功能:(1)、同步清零功能。
当清零端输入低电平,还必须有时钟脉冲CP的上升沿作用才能使各触发器清零,此过程为同步清零。
(2)、同步并行置数功能。
(3)、同步二进制加计数功能。
(4)、保持功能。
综上所述,74163是具有同步清零、同步置数功能的4位二进制同步计数器。
74163的应用:(1)、构成任意模的计数器将74163与少量门电路结合可构成任意模计数器。
一、设计任务与要求①能实现自动计数、进位和清零。
②能实现手动复位。
③能实现秒表的暂停和回复。
二、方案论证与选择(1)脉冲的接法1-1555定时器的管脚接法(c )直观图1-2 555定时器的工作功能表(2)计数器有了时间标准“秒”信号后,就可以根据设计要求设定时、分、秒计数器:分和秒计数器都采用60进制计数器,时采用24进制的计数器,都可采用74LS160来实现。
74LS160是十进制同步加法计数器。
1-3 74LS160逻辑功能由逻辑图与功能表知,在74LS160中LD为预置数控制端,D0-D3为数据输入端,C为进位输出端,RD为异步置零端,Q0-Q3位数据输出端,EP和ET为工作状态控制端。
当RC=0时所有触发器将同时被置零,而且置零操作不受其他输入端状态的影响。
当RC=1、LD=0时,电路工作在预置数状态。
这时门G16-G19的输出始终是1,所以FF0-FF1输入端J、K的状态由D0-D3的状态决定。
当RC=LD=1而EP=0、ET=1时,由于这时门G16-G19的输出均为0,亦即FF0-FF3均处在J=K=0的状态,所以CP信号到达时它们保持原来的状态不变。
同时C的状态也得到保持。
如果ET=0、则EP不论为何状态,计数器的状态也保持不变,但这时进位输出C等于0。
当RC=LD=EP=ET=1时,电路工作在计数状态。
从电路的0000状态开始连续输入16个计数脉冲时,电路将从1111的状态返回0000的状态,C端从高电平跳变至低电平。
利用C端输出的高电平或下降沿作为进位输出信号。
(3)输出及显示模块(数码管及74LS47和电阻构成)两个74LS47分别连接成十进制计数器,一个输出十分之一秒,一个输出秒,并通过两个译码器显示00-59秒的秒表数值。
图1-4 显示模块的接线图(4)计数的暂停和手动复位的控制所谓的暂停就是停止脉冲的输出,没有脉冲显示数码管的示数就会停止,再接入脉冲则数码管的示数继续走动。
目录数字秒表设计实验任务书 (1)一、设计实验目的: (1)二、设计实验说明及要求: (1)三、数字秒表组成及功能: (1)四、系统硬件要求: (1)五、设计内容及步骤: (2)六、硬件实现 (2)实验报告 (2)一、数字秒表顶层设计 (2)二、数字秒表内部设计 (3)1、分频器 (3)2、十进制计数器 (4)3、六进制计数器 (5)4、二十四进制计数器 (7)5、数据选择和数码管选择模块 (8)6、数码管驱动模块: (9)三、数字秒表仿真波形 (11)四、硬件验证 (11)五、实验总结 (11)数字秒表设计实验任务书一、设计实验目的:在MAX+plusII软件平台上,熟练运用VHDL语言,完成数字时钟设计的软件编程、编译、综合、仿真,使用EDA实验箱,实现数字秒表的硬件功能。
二、设计实验说明及要求:1、数字秒表主要由:分频器、扫描显示译码器、一百进制计数器、六十进制计数器(或十进制计数器与6进制计数器)、十二进制计数器(或二十四进制计数器)电路组成。
在整个秒表中最关键的是如何获得一个精确的100H Z 计时脉冲,除此之外,数字秒表需有清零控制端,以及启动控制端、保持保持,以便数字时钟能随意停止及启动。
2、数字秒表显示由时(12或24进制任选)、分(60进制)、秒(60进制)、百分之一秒(一百进制)组成,利用扫描显示译码电路在八个数码管显示。
3、能够完成清零、启动、保持(可以使用键盘或拨码开关置数)功能。
4、时、分、秒、百分之一秒显示准确。
三、数字秒表组成及功能:1、分频率器:用来产生100H Z计时脉冲;2、二十四进制计数器:对时进行计数;3、六进制计数器:分别对秒十位和分十位进行计数;4、十进制计数器:分别对秒个位和分个位进行计数;5、扫描显示译码器:完成对7字段数码管显示的控制;四、系统硬件要求:1、时钟信号为10MHz;2、FPGA芯片型号EPM7128LC84—15、EP1K30TC144—3或EP1K100QC208—3(根据实验箱上FPGA芯片具体选择);3、8个7段扫描共阴级数码显示管;4、按键开关(清零、启动、保持);五、设计内容及步骤:1、根据电路持点,用层次设计概念。
数字式秒表的课程设计报告范文目录第一章系统概述------------------------------------------------------------------------------11.1系统设计思路与总体方案--------------------------------------------------------------11.2总体工作过程-----------------------------------------------------------------------------21.3各功能块的划分和组成-----------------------------------------------------------------21.4芯片简介-----------------------------------------------------------------------------------2第二章单元电路的设计和总体分析------------------------------------------------------92.1毫秒信号的发生电路--------------------------------------------------------------------92.2分、秒、毫秒计数电路-----------------------------------------------------------------102.3组合设计-----------------------------------------------------------------------------------12第三章总体电路的设计与安装------------------------------------------------------------153.1PCB电路板的制作----------------------------------------------------------------------153.1安装调试的步骤--------------------------------------------------------------------------163.2遇到的主要的问题及注意事项--------------------------------------------------------17第四章总结------------------------------------------------------------------------------------18附录1元器件明细表------------------------------------------------------------------------19附录2总原理接线图------------------------------------------------------------------------19参考文献---------------------------------------------------------------------------------------20第一章系统概述1.1系统设计思路与总体方案通过对设计要求的分析,应用相关的数字电子电路方面的知识画出原理图,检查无误后,将原理图在EWB中仿真,验证通过无误后,可以考虑使用何种方案来实现设计电路。
吉林建筑工程学院电气与电子信息工程学院微机原理课程设计报告设计题目:数字秒表的设计专业班级:学生姓名:学号:指导教师:设计时间:数字秒表设计报告一、课程设计目的通过该设计,掌握8255并行接口芯片、8253定时计数芯片的使用和数码管的使用,并掌握相应的程序设计和电路设计的技能。
是对8255并行接口芯片章节理论学习的总结和补充,为后续的硬件课程的学习打下基础。
二、课程设计的内容及要求利用8253计数器2和计数器1,实现1Hz信号的产生,然后计数器采用硬件触发选通方式计数,CPU读取计数结果,并转换为读秒计数,并把读秒计数的结果用数码管显示出来(2位)。
三、总体设计方案设计一个利用微机原理与接口技术完成秒表的设计方案, 该方案主要是选择8253A的计数器2与计数器1产生一个1Hz的中断脉冲,其输出端与不可屏蔽中断请求信号端相连接。
利用1.19318MHz脉冲方波输入CLK2,设置CLK2的初值为59659,将CLK2的输出端连接到CLK1,设置CLK1的初值为20,将OUT1连接到8086CPU 的NMI端。
将NMI端有一个低电平信号输入时,8086CPU将产生中断进行秒计数。
8086通过8255A将PA口作为段选信号输出端,将PB口作为片选信号输出端。
图3.1 方案设计框图此方案的核心内容是利用微机原理与接口技术完成秒表的设计方案,该方案主要是选择8253A的计数器2和计数器1进行1s的定时,其输出于OUT1与8086的NMI相连,当定时到1s的时候产生一个中断信号,在中断服务程序进行秒的计数,并送入相应的存储单元;8255的A口接七段数码管的段选信号,B口接七段数码管的位选信号,秒的数值通过对8255的编程可以显示在七段数码管上面。
该方案是利用微机接口技术的典范案例,就可行性而言,也是行之有效的。
四、硬件系统设计8086简介Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。
资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。
它提供64K,8位元的输出输入(或32K,16位元),以及固定的向量中断。
大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。
运算结果会储存在操作数中的一个。
Intel 8086有四个内存区段(segment)寄存器,可以从索引寄存器来设定。
区段寄存器可以让CPU利用特殊的方式存取1MB内存。
8086把段地址左移4位然后把它加上偏移地址。
而 8086 的寻址方式改变让内存扩充较有效率。
8086处理器的时钟频率介于4.77MHz(在原先的IBM PC)和10 MHz之间。
8086没有包含浮点指令部分(FPU),但是可以通过外接数学辅助处理器来增强浮点计算能力。
其I/O分配如下图所示:图4.1 CPU8086及I/O接口电路图4.2 8086实物图8255简介Intel 8086/8088 系列的可编程外设接口电路(Programmable Peripheral Interface)简称PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。
它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。
8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。
8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种;方式0:基本的输入输出方式,即无须联络就可以直接进行的 I/O方式。
其中A、B、C口的高四位或低四位可分别设置成输入或输出。
方式1:选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0。
方式2:双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。
8255A是一个并行输入、输出器件,具有24个可编程设置的I/O口,包括3组8位的I/O为PA 口、PB口、PC口,又可分为2组12位的I/O口:A组包括A口及C口高4位,B组包括B口及C组的低4位。
图4.3 8255A接口电路图图4.4 8255内部结构图图4.5 8086与8255连接图8253简介Intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz),8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。
每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。
每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。
每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。
执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。
输出锁存器的值是通过程序设置的。
输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。
顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用:图4.6 8253引脚图图4.7 8086与8253连接图一段程序写完成后不能急于上机调试,而是先进行逻辑分析、可行性分析。
用EMU8086软件进行调试,不能出现错误,警告可以有,只要不影响生成HEX 文件即可。
理解其实现的功能,预想程序应该出现的结果。
先进行软件仿真,出现错误马上修改,不断进行。
先一个模块一个模块的仿真,准确后再连线总体仿真。
仿真完后出现预期的效果后再下载程序到硬件进行验证,往往还有问题,还得反复修改,编译,调试,下载,验证。
可以一个模块一个模块的下载调试这样就可以知道问题的所在。
采用Proteus和EMU8086结合仿真的可以大大简化软、硬件电路的设计过程。
Proteus是英国Labeenter electronics公司研发的EDA工具软件。
Proteus 不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,更是目前世界最先进、最完整的多种型号微控制器系统的设计与仿真平台。
它真正实现了在计算机上完成从原理图设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整电子设计与研发过程。
Proteus产品系列也包含了革命性的VSM技术,可以对基于微控制器的设计连同所有的外围电子器件一起仿真。
由于我们的设计外围电路比较简单实现的功能叶不是很复杂,所以在Proteus仿真时我们是将主程序直接下载到芯片中仿真,主要是验证是否采集到温度还有温度是否显示正确。
仿真可以在实物没有出来前进行先期的验证。
最后图4.8 8255与7SEG连接图加上我们的扩展功能一起仿真调试。
由于没有做硬件,我们采用Proteus仿真调试,通过将软件编译通过的程序下载到画好的仿真图中,这样便于检查软、硬件设计的不足。
但是Proteus仿真也存在不足的情况,仿真模拟的是理想的环境,不会差生误差但是实际的测试会出现一定的误差。
由于程序设计的是,当系统运行后,数码管开始显示计数时间,根据仿真结果。
说明此设计工作正常。
五、软件系统设计软件设计要求及介绍这是一个利用微机原理与接口技术完成秒表的设计方案,该方案主要是选择8253A的计数器2与计数器1进行1s的定时,其输出于OU1与8086的NMI相连,当定时到1s的时候产生一个中断信号,在中断服务程序进行秒的计数,并送入相应的存储单元;8255的A口接七段数码管的段选信号,B口接七段数码管的位选信号。
我的数值通过对8255的编程可以显示在七段数码管上面。
因此可以利用8086等器件的功能来完成设计。
EMU8086是学习汇编必不可少的工具,它结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具。
该软件包含了学习汇编语言的全部内容。
Emu8086集源代码编辑器,汇编/反汇编工具以及可以运行debug的模拟器(虚拟机器)于一身,此外,还有循序渐进的教程。
这里是软件设计的流程,首先对所要用到的逻辑元器件的控制端口,I/O口进行初始化,接着通过按下按键“1”来调用赋值子程序,这中间必须要应用一个延时程序来防抖,完成后就开始中断,接着判断按键“2”按下去的次数,如果是奇数次的话就继续进行秒表计时,如果按下去的是偶数次的话,那么暂停,显示当前秒表的计数值。
图5.1 程序设计流程图六、总结微机原理与接口技术的设计主要是要完成一个数字秒表,经过一周的时间的软件设计和仿真,基本完成了本次智能设计的任务和要求 1.用于日常生活中各种场所的秒表计时。
使用方便,操作简单。
电路简单,制作成本低。
功耗低,便于长时间持续使用。
我感觉到到对知识真正的掌握制在于应用,这次设计用到了数字电路基础的知识,微机原理知识,电路基础等,当这些知识深深地结合在一起的时候,我感觉到了基础知识是如此的重要,把这些零散的知识组合在一起居然能够实现如此现代化的需求,设计出如此有价值的数字秒表。
还有就是8253这个器件对于微机接口的计数计时的设计有着至关重要的,那要做的就是熟悉这一器件的相关性能和用途,以便对设计来说方便些。
设计的完成要感谢老师的细心指导和尊尊教诲,相信这些经历对我以后的工作乃至于生活都会有着有用的指导意义。
七、参考文献1.冯博琴·微型计算机原理与接口技术(第二版)·清华大学出版社·2007年8月第二版附录1 硬件系统原理图附录2 软件系统系统设计程序CODE SEGMENTASSUME CS:CODE START:LEA SI,BUFLEA BX,TABMOV AL,89HOUT 63H,ALMOV AL,0B6HOUT 43H,ALMOV AX,5000OUT 42H,ALMOV AL,AHMOV AX,OFFSET IRQ7MOV SI ,003CHMOV [SI] ,AXMOV AX,0000HMOV SI,003EHMOV [SI],AXMOV AL,13HOUT 20H,ALMOV AL,08OUT 21H,ALMOV AL,09HOUT 21H,ALMOV AL,7FOUT 21H,ALSTIDIS: CALL DELAYCALL DISPLAYJMP DIS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;时钟循环显示; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; IRQ7: PUSH AXPUSH BXPUSH CXPUSH SIPUSH DXDEC ICOUNTJNZ RETURNMOV ICOUNT,20LEA SI,BUFMOV AX,[SI]CALL JINMOV [SI],ALMOV [SI+1],AHCMP DL,1JZ MINJMP RETURN MIN: MOV AX,[SI+2]CALL JINMOV [SI+2],ALMOV [SI+3],AHCMP DL,1JZ HOURJMP RETURN HOUR: MOV AX,[SI+4]CALL JIN3CMP AX,0204HJNZ HOUR0MOV AX,0 HOUR0:MOV [SI+4],ALMOV [SI+5],AHJMP RETURN RETURN:MOV AL,20HOUT 20H,ALPOP DXPOP SIPOP CXPOP BXPOPAXIRET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;时钟技术处理;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; JIN: MOV DL,0CMP AL,09HJZ JIN1INC ALJMP EXITJIN1: CMP AH,05HJZ JIN2INC AHMOV AL,0JMP EXITJIN2: ADD DL,1MOV AX,0EXIT: RETJIN3: MOV DL,0CMP AL,03HJZ JIN4INC ALJMP EXIT1JIN4: CMP AH,02HJZ JIN5INC AHMOV AL,0JMP EXIT1JIN5: ADD DL,1MOV AX,0EXIT1: RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;时钟进位处理;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DISPLAY: PUSH AXPUSH BXPUSH CXPUSH DXPUSH SIMOV AH,0FEHMOV SI ,0FFSET BUF DISP: MOV AL,[SI]LEA BX,TABXLATOUT 61,ALMOV AL,AHOUT 60,ALCALL DELAYCMP AH,07FHJZ QUITINC SIROL AH,1JMP DISPQUIT: POP SIPOP DXPOP CXPOP BXPOP AXRET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;延时模块;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DELAY: PUSH CXMOV CX,00FEA1: LOOP A1POP CXRET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;数据段里的数据;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH BUF DB 6 DUP(0)ICOUNT DB 20CODE ENDSEND START。