任意进制计数器及简易秒表设计

合集下载

任意进制计数器的设计

任意进制计数器的设计

任意进制计数器的设计【摘要】计数器集成芯片一般有4位二进制、8位二进制或十进制计数器,而在实际应用中,往往需要设计一个任意n进制计数器,本文给出它的设计方法和案例。

【关键词】计数器;清零一、利用反馈清零法获得计数器1 集成计数器清零方式异步清零方式:与计数脉冲cp无关,只要异步清零端出现清零信号,计数器立即被清零。

此类计数器有同步十进制加法计数器ct74ls160、同步4位二进制加法计数器ct74ls161、同步十进制加/减计数器ct74ls192、同步4位二进制加/减计数器ct74ls193等。

同步清零方式:与计数脉冲cp有关,同步清零端获得清零信号后,计数器并不立刻被清零,只是为清零创造条件,还需要再输入一个计数脉冲cp,计数器才被清零。

属于此类计数器有同步十进制加法计数器ct74ls162、同步4位二进制加法计数器ct74ls163、同步十进制加/减计数器ct74ls190、同步4位二进制加/减计数器ct74ls191等。

2 反馈清零法对于异步清零方式:应在输入第n个计数脉冲cp后,利用计数器状态sn进行译码产生清零信号加到异步清零端上,立刻使计数器清零,即实现了n计数器。

在计数器的有效循环中不包括状态sn,所以状态sn只在极短的瞬间出现称为过渡状态。

对于同步清零方式:应在输入第n-1个计数脉冲cp后,利用计数器状态sn-1进行译码产生清零信号,在输入第n个计数脉冲cp 时,计数器才被清零,回到初始零状态,从而实现n计数器。

可见同步清零没有过渡状态。

利用计数器的清零功能构成n计数器时,并行数据输入端可接任意数据,其方法如下:①写出n计数器状态的二进制代码。

异步清零方式利用状态sn,同步清零方式利用状态sn-1。

②写出反馈清零函数。

③画逻辑图。

例1 试用ct74ls160的异步清零功能构成六进制计数器。

解:①写出sn的二进制代码。

sn=s6=0110②写出反馈清零函数。

③画逻辑图。

如图1所示。

简易数字秒表的电路设计 概述及解释说明

简易数字秒表的电路设计 概述及解释说明

简易数字秒表的电路设计概述及解释说明1. 引言1.1 概述本文主要介绍了一种简易数字秒表的电路设计。

秒表是一种用于计算时间间隔的常见工具,广泛应用于日常生活和各行各业中。

传统的机械秒表用起来不够便捷,因此我们将使用电路设计来实现一个数字秒表,使其更加方便使用。

1.2 文章结构本文分为四个主要部分进行阐述。

首先,在“引言”部分中我们将对文章进行概述和介绍。

接下来,在“简易数字秒表的电路设计”部分中,我们将详细介绍设计原理、电路元件选择与说明以及电路连接与布局等内容。

然后,在“解释说明”部分中,我们将解释秒表功能的实现方法,并探讨其功能扩展可能性,并指出在电路设计过程中需要注意的问题。

最后,在“结论”部分中,我们对本次设计成果进行总结,并就可能存在的改进空间进行分析和未来应用进行展望和思考。

1.3 目的本文旨在通过详细描述并解释简易数字秒表的电路设计,提供一个清晰易懂、全面深入的指南,帮助读者了解该设计思路及其实现方法。

同时,通过对功能扩展可能性的探讨和对电路设计过程中需要注意的问题的分析,可以引导读者在实际应用和改进中做出更好的决策。

最后,通过总结和展望,为未来的研究和发展提供参考思路。

2. 简易数字秒表的电路设计2.1 设计原理:简易数字秒表的电路设计基于计时器和显示器组成。

其主要原理是利用计时器模块产生一个稳定的时间基准,然后将该时间以数字形式显示在显示器上。

2.2 电路元件选择与说明:在设计简易数字秒表的电路时,我们需要选取合适的电子元件来实现功能。

以下是一些常见的元件选择:- 计时器芯片:可选择集成型计时器芯片,如NE555等,它们具有稳定的时钟信号输出。

- 显示屏:一般选用7段LED数码管,由于它们能够直观地显示数字。

- 驱动芯片:如果使用多个7段LED数码管进行显示,则必须选择合适的驱动芯片,如74HC595等。

这些元件经过合理的选择和配套可以实现精确、稳定地测量和显示时间。

2.3 电路连接与布局:简易数字秒表电路连接和布局对功能稳定性有重要影响。

秒表 数电 课程设计报告 (用计数器设计)

秒表 数电 课程设计报告 (用计数器设计)

数电课程设计
秒表
设计报告
姓名:
学号:
班级:
1.设计要求
带秒表的定时器
1.1分钟定时器。

2.1分钟任意设定计时量。

3.带有2次计数功能。

2.设计方案及思路
设计方案
1.信号发生器采用555记时器连成多谢振荡器,振荡周期1s,
设计电路图如图:
2kΩ
2. 通过2个74ls160十进制计数器接成60进制计数器对秒脉冲进行计数
3. 2次计数部分,通过2个74ls160芯片分别置为置数模式,用一个微动开关控制CLK
设计电路
3.元件清单
4.制作过程
1.制作过程
焊接的过程中,我是分模块进行焊接的,每焊完一部分检查一下功能是否正常,这样确保了最后焊完后没有发现什么大的问题,减少了调试的难度。

2.调试过程
1.按照电路图仔细焊接电路,最后发现有一个数码馆显示异常,猜测有可能是74ls48数码管驱动与数码管之间连接的问题,通过万用表终于发现有两个导线短路了,排除后正常2.发现按键开关产生抖动现象
在网上查了一下按键消抖的资料,明白了问题产生的原因以及解决的方法,就是通过一个SR锁存器进行消抖,然后正好发现所用的74ls00芯片上有剩余的与非门可以连接成SR锁存器。

消抖电路如下:
5.总结
通过这次课程设计,有许多收获:
1.巩固了课堂上学到的知识;
2.锻炼了自已的动手能力,了解了电子制作的基本知识;
3.学习了multisim的基本使用;
4.通过制作后的调试,增强了自己发现问题,解决问题的能力。

课程设计任意进制计数器

课程设计任意进制计数器

课程设计任意进制计数器一、教学目标本课程旨在让学生了解和掌握任意进制计数器的工作原理和应用方法。

通过本课程的学习,学生应达到以下目标:1.了解不同进制数系统的定义和转换方法。

2.掌握任意进制计数器的基本结构和原理。

3.熟悉常见进制计数器的使用方法和操作技巧。

4.能够进行不同进制数之间的转换。

5.能够设计和制作简单的任意进制计数器。

6.能够运用任意进制计数器解决实际问题。

情感态度价值观目标:1.培养学生的逻辑思维和问题解决能力。

2.培养学生对数学和科学的兴趣和好奇心。

3.培养学生的团队合作和创新精神。

二、教学内容本课程的教学内容主要包括以下几个部分:1.进制数系统的介绍和转换方法。

2.任意进制计数器的基本原理和结构。

3.常见进制计数器的使用方法和操作技巧。

4.任意进制计数器在实际问题中的应用案例。

5.第一节课:进制数系统的介绍和转换方法。

6.第二节课:任意进制计数器的基本原理和结构。

7.第三节课:常见进制计数器的使用方法和操作技巧。

8.第四节课:任意进制计数器在实际问题中的应用案例。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法:1.讲授法:教师通过讲解和示例来传授知识,引导学生理解和掌握进制数系统和任意进制计数器的基本概念。

2.讨论法:学生分组进行讨论和实验,共同探索和解决问题,培养学生的团队合作和问题解决能力。

3.实验法:学生动手制作和操作任意进制计数器,通过实践来加深对进制计数器原理和使用的理解。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:提供相关的教材和参考书籍,供学生预习和复习。

2.多媒体资料:通过PPT、视频等多媒体资料,帮助学生形象地理解进制数系统和任意进制计数器的工作原理。

3.实验设备:准备一些简单的进制计数器设备,供学生在实验环节进行实际操作和探索。

以上是根据课程目标、教学内容、教学方法和教学资源设计的示范课程。

希望这个设计能够为您的教学提供一些参考和启发。

总结任意进制计数器的设计方法

总结任意进制计数器的设计方法

总结任意进制计数器的设计方法一、引言计数器是数字电路中常见的组合逻辑电路,其作用是在一定范围内对输入的信号进行计数。

而进制计数器则是在特定进制下进行计数的计数器,如二进制计数器、十进制计数器等。

本文将总结任意进制计数器的设计方法。

二、基本概念1. 进位:当某一位达到最大值时,需要向高位进位。

2. 借位:当某一位减法结果为负时,需要向高位借位。

3. 余数:在除法中,被除数除以除数所得到的余数即为该数字的个位数字。

4. 商:在除法中,被除数除以除数所得到的商即为该数字的十位以及更高位数字。

三、二进制计数器设计方法1. 同步二进制计数器同步二进制计数器又称为并行加法器或者锁存式加法器。

其实现原理是将多个全加器连接起来,并且每一个全加器都接收同样的时钟信号。

当时钟信号发生变化时,所有全加器同时进行运算。

2. 异步二进制计数器异步二进制计算机又称为Ripple Counters或者Clock-Triggered Flip-Flops。

其实现原理是通过多个D触发器连接起来,每个D触发器都接收上一个触发器的输出信号。

当时钟信号发生变化时,第一个D触发器会先被触发,然后它的输出信号会传递到下一个D触发器中。

四、十进制计数器设计方法1. 二进制编码计数器二进制编码计数器是一种使用二进制代码表示数字的计数器。

其实现原理是通过将BCD码转换成二进制来实现计数。

2. BCD码计数器BCD码计数器是一种使用BCD码表示数字的计数器。

其实现原理是通过多个BCD加法器连接起来,每个加法器都接收同样的时钟信号。

当时钟信号发生变化时,所有加法器同时进行运算。

五、任意进制计数器设计方法1. 基于同步电路设计方法任意进制计算机可以通过同步电路来实现。

其实现原理是将多个全加器连接起来,并且每一个全加器都接收同样的时钟信号。

当时钟信号发生变化时,所有全加器同时进行运算。

2. 基于异步电路设计方法任意进制计算机也可以通过异步电路来实现。

其实现原理是通过多个D触发器连接起来,每个D触发器都接收上一个触发器的输出信号。

简易数字秒表的设计与实现

简易数字秒表的设计与实现

课程设计题目简易数字秒表的设计与实现学院信息工程学院专业通信工程班级姓名指导教师撒继铭2016 年 6 月26 日课程设计任务书学生姓名:专业班级:指导教师:撒继铭工作单位:信息工程学院题目: 简易数字秒表的设计与实现初始条件:本设计主要使用集成译码器、计数器、定时器、脉冲发生器和必要的门电路等来完成,用一组数码管显示时间计数值。

要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。

2、技术要求:1)设计一个能测量3名100米跑运动员短跑成绩的数字秒表。

要求用一组四位数码管显示时间,格式为00.00s,最大计数时间是99.99秒。

2)秒表设置3个开关输入(清零开关1个、记录开关1个、成绩开关1个)。

按下“记录”开关第一次,将记录并储存第一名运动员的成绩,以此类推。

当“记录”开关按下3次后,成绩计数结束。

3)成绩计数结束之后,连续按动“成绩”开关,可以把3个运动员的成绩循环显示在数码管上。

4)确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。

3、查阅至少5篇参考文献。

按《武汉理工大学课程设计工作规范》要求撰写设计报告书。

全文用A4纸打印,图纸应符合绘图规范。

时间安排:1、年月日,布置课设具体实施计划与课程设计报告格式的要求说明。

2、年月日至年月日,方案选择和电路设计。

3、年月日至年月日,电路调试和设计说明书撰写。

4、年月日,上交课程设计成果及报告,同时进行答辩。

指导教师签名:年月日系主任(或责任教师)签名:年月日目录简易数字秒表的设计与实现 (1)摘要 (1)Abstract (2)1 简易数字秒表原理 (4)1.1 简易数字秒表原理总述 (4)1.2 简易数字秒表原理框图 (4)1.3 方案选择 (4)1.3.1 初始方案 (4)1.3.2 方案比较 (5)1.4 单元电路的设计和元器件的选择 (5)1.4.1 555多谐振荡器 (5)1.4.2 计数系统 (7)1.4.3 译码系统及显示系统 (9)1.4.4 记录系统 (11)1.4.5 清零系统 (12)1.5 完整电路图 (12)2 仿真结果及分析 (13)2.1 仿真结果分析 (13)4 性能测试数据及分析 (15)5 收获、建议及体会 (16)7 原件清单 (17)8 参考文献 (18)简易数字秒表的设计与实现摘要随着电子技术的发展,电子技术在各个领域的运用也越来越广泛,渗透到人们日常生活的方方面面,,掌握必要的数电知识已经成为当代大学生特别是理工类大学生必备的素质之一。

任意进制计数器的设计实验报告

任意进制计数器的设计实验报告

任意进制计数器的设计实验报告介绍本实验报告旨在讨论任意进制计数器的设计问题,包括进制转换、计数器的实现原理、电路设计等方面的内容。

进制转换进制的定义进制是用来表示数字的一种方法,常见的进制包括十进制、二进制、八进制和十六进制等。

在计算机科学中,二进制最为常用,由于计算机的基本元素是电子开关,而电子开关只有两种状态,因此非常适合使用二进制表示。

进制转换的方法进制转换是指在不同进制之间进行数字表示的转换。

常见的进制转换方法包括: 1. 十进制转二进制:将十进制的数值除以2,余数即为二进制数的最低位,继续除以2,直到商为0,将余数按顺序排列即可得到二进制数。

2. 二进制转十进制:将每一位上的数值乘以2的对应次幂,然后相加即可得到十进制数。

3. 十进制转八进制:将十进制数逐步除以8,余数即为八进制数的最低位,继续除以8,直到商为0,将余数按顺序排列即可得到八进制数。

4. 八进制转十进制:将每一位上的数值乘以8的对应次幂,然后相加即可得到十进制数。

进制转换的重要性进制转换在计算机科学中具有重要意义。

首先,计算机底层使用二进制进行操作,因此在计算机程序中进行进制转换是一种基本操作。

其次,进制转换有助于理解计算机中数字的表示方式以及数据的存储与运算原理。

此外,在某些场景下,合理地选择进制可以提高计算效率和减小存储空间等。

计数器的实现原理计数器是一种用来计数的电子装置,其通过在不同状态之间切换来记录计数结果。

计数器可以根据需求设计为同步计数器或异步计数器。

同步计数器同步计数器是一种通过时钟信号来驱动计数的计数器。

在同步计数器中,每个触发器的时钟信号来自于前一个触发器的输出,通过级联连接起来。

当时钟信号变化时,所有触发器同时更新计数值,因此同步计数器具有高度的同步性。

异步计数器异步计数器是一种通过电平信号来驱动计数的计数器。

在异步计数器中,每个触发器的时钟信号来自于前一个触发器的输出和输入。

当时钟信号变化时,触发器会根据当前的输入和输出状态来决定是否更新计数值,因此异步计数器具有较低的同步性。

简易秒表的制作

简易秒表的制作

简易秒表的制作1.实训目的(1)利用单片机定时器中断和定时器计数方式实现秒、分定时。

(2)通过LED显示程序的调整,熟悉8155与8051,8155与LED的接口技术,熟悉LED动态显示的控制过程。

(3)通过键盘程序的调整,熟悉8155与矩阵式键盘的接口技术,熟悉键盘扫描原理。

(4)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示、键盘扫描和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。

2.实训设备与器件(1)实训设备:单片机开发系统、微机。

(2)实训器件:实训电路板1套。

3.实训步骤与要求(1)要求:利用实训电路板,以8位LED右边2位显示秒,左边6位显示0,实现秒表计时显示。

以4×4矩阵键盘的KE0、KE1、KE2等3键分别实现启动、停止、清零等功能。

(2)方法:用单片机定时器T0中断方式,实现1秒定时;利用单片机定时器1方式3计数,实现60秒计数。

用动态显示方式实现秒表计时显示,用键盘扫描方式取得KE0、KE1、KE2的键值,用键盘处理程序实现秒表的启动、停止、清零等功能。

(3)实验线路分析:采用实训电路板,其原理图参见附录。

8位LED显示的位码由8155的PA口输出,段码由8155的PB口输出,PB口线与LED之间接有200Ω限流电阻,LED为共阴极数码管,LED显示方式为动态显示方式。

4×4矩阵键盘的行线经5.1KΩ电阻上拉后与8155PC口的PC0~PC3口线相连,列线与8155PA口的PA0~PA3口线相连。

8155的控制口地址为4400H,PA口地址为4401H,PB口地址为4402H,PC口地址为4403H。

系统本采用11.0592MHz的晶振,本实训应改为12MHz晶振,以方便定时。

(4)软件设计:软件整体设计思路是以键盘扫描和键盘处理作为主程序,LED动态显示作为子程序。

二者间的联系是:主程序查询有无按键,无按键时,调用二次LED动态显示子程序(约延时8ms)后再回到按键查询状态,不断循环;有按键时,LED动态显示子程序作为按键防抖延时被连续调用二次(约延时16ms),待按键处理程序执行完后,再回到按键查询状态,同时兼顾了按键扫描取值的准确性和LED动态显示的稳定性。

简易秒表设计报告

简易秒表设计报告

简易秒表设计报告一.前言在电子科学技术高速发展的今天,高科技产品越来越多的应用在我们的日常生活中,给我们的生活带来了非常大的方便,每时每秒我们都能感受到产品的更新换代。

产品和技术革新的日新月异都让人非常惊讶。

像平常我们工作所用的电脑、手机和生活所用的电视机,收音机,Mp3等等,这些高科技产品给我们带来了极大的方便,但这要归功于科学技术的高速发展。

简易秒表是我们的单片机课程设计题目。

简易秒表涉及到《模拟电子技术》和《电路分析》中的相关知识。

本文介绍的简易秒表电路设计新颖具有电路结构简单、成本较低、操作方便、灵敏可靠等优点,经使用效果良好,具有较高的推广价值。

二.系统设计要求⑴硬件设计:根据任务要求,完成单片机最小系统及其扩展设计。

⑵软件设计:根据硬件设计完成显示功能要求,完成控制软件的编写与调试;利用单片机定时器中断和定时器计数方式实现秒定时。

通过LED显示程序的调整,熟悉LED动态显示的控制过程。

⑶ 功能要求:用PB1启动秒表和停止秒表,PB2键将秒表归零,按一下PB1,即开始定时,在数码管上每秒加1,加到99,归零,秒表在暂停状态下,按下PB3键可对秒数加1,按下PB4键可对秒数减1。

(4)通过阅读和调试简易秒表整体程序,学会如何编制含LED动态显示、键盘扫描和定时器中断等多种功能的综合程序,初步体会大型程序的编制和调试技巧。

三.设计思路分析本设计以单片机为核心设计的简易秒表方案是:用按钮PB1启动秒表和停止秒表,开启后立刻进入计时状态,用定时器T0进行1s的计数,每隔1s就把预设时间加1,用一个两位的LED数码管显示时间,按钮PB2将秒表归零,如果第二次按一下S1键,计时会立即停止,在数码管上显示当前秒数,这时如果按下PB2键,数码管会显示00,直到再次按下PB1键计时才会开始,当秒数加到99后,下一秒数码管会归零,即从0开始重新每秒加1计时。

另外在P1口的0和1引脚各连接一个按钮,一个进行加1,另一个进行减1。

74161设计任意进制计数器课程设计

74161设计任意进制计数器课程设计

74161设计任意进制计数器课程设计课程名称:任意进制计数器设计1.课程简介任意进制计数器设计是一门面向计算机学科的实践性课程,旨在帮助学生深入理解计算机中进制转换和计数器设计的原理,并通过实践设计和实现各种进制的计数器。

课程的主要内容包括进制转换、进制的表示、进制计数器的设计与实现等。

2.课程目标通过本课程的学习,学生将能够:-掌握进制的基本概念与原理,包括二进制、八进制、十进制、十六进制等;-理解进制转换的过程及其在计算机中的应用;-熟悉计数器的工作原理和基本功能;-掌握进制计数器的设计与实现方法;-能够根据需要设计和实现任意进制的计数器。

3.课程设置3.1进制基础知识-进制的基本概念与原理;-二进制、八进制、十进制、十六进制的互相转换;-进制在计算机中的表示与应用。

3.2进制计数器设计-计数器的基本原理和功能;-二进制计数器的设计与实现;-其他进制的计数器设计与实现(如十进制计数器、八进制计数器、十六进制计数器等);3.3综合设计与实践-根据实际需求设计和实现任意进制的计数器;-进行基于FPGA的计数器实验;-进行计数器的性能分析与评估。

4.教学方法4.1理论讲解通过课堂讲解,向学生介绍进制的基本知识、计数器设计的原理和方法。

4.2实验实践通过实验环节,学生将亲自动手设计和实现各种进制的计数器,并进行实验验证。

4.3案例分析通过分析实际应用场景和案例,引导学生将所学知识应用到实际问题中,提高实践能力。

5.考核方式5.1平时成绩包括课堂参与、实验报告、作业完成情况等。

5.2期末考核面向学生的期末考核将包括理论知识考察和实验设计两个部分,通过答题和实际操作考察学生对进制计数器设计原理和实践的掌握程度。

6.参考教材- 《数字逻辑与数字系统设计》- 《计算机组成与设计:硬件/软件接口》- 《FPGA数字逻辑设计与实验》7.总结任意进制计数器设计课程将帮助学生深入理解计算机中进制转换和计数器设计的原理,通过实践设计和实现各种进制的计数器,提高学生的计算机系统设计能力和实践应用能力。

课程设计任意计数器

课程设计任意计数器

课程设计任意计数器一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握任意计数器的基本原理和操作方法,了解其在数学计算和科学研究中的应用。

技能目标要求学生能够熟练使用任意计数器进行计算,并能够解决实际问题。

情感态度价值观目标要求学生培养对数学和科学的兴趣和热情,提高他们的创新意识和解决问题的能力。

二、教学内容本课程的教学内容主要包括任意计数器的基本原理、操作方法和应用。

首先,学生将学习任意计数器的基本原理,包括计数器的组成、工作原理和计算方法。

然后,学生将学习如何使用任意计数器进行计算,包括基本运算、高级运算和编程。

最后,学生将学习任意计数器在数学计算和科学研究中的应用,包括解决实际问题、进行数据分析和发展科学研究。

三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法。

首先,将采用讲授法,向学生介绍任意计数器的基本原理和操作方法。

然后,将采用讨论法,让学生通过小组讨论和分享,深入理解和交流任意计数器的应用。

此外,还将采用案例分析法,通过分析实际案例,让学生学会如何使用任意计数器解决实际问题。

最后,将采用实验法,让学生亲自动手操作任意计数器,进行实验和探究,加深对任意计数器的理解和掌握。

四、教学资源为了支持教学内容和教学方法的实施,将选择和准备适当的教学资源。

教材将是主要的教学资源,将选用一本适合学生年级和知识深度的任意计数器教材。

参考书将提供更多的学习资料和练习题,帮助学生深入学习和巩固知识。

多媒体资料将包括教学PPT、视频和动画,通过图文并茂的形式,生动展示任意计数器的基本原理和操作方法。

实验设备将是实际的任意计数器,学生可以通过动手操作实验设备,进行实验和探究,提高实践能力。

五、教学评估本课程的教学评估方式包括平时表现、作业和考试等。

平时表现将根据学生在课堂上的参与程度、提问和回答问题的表现进行评估。

作业将包括练习题和项目任务,要求学生在规定时间内完成,并进行批改和反馈。

简易数字秒表的设计

简易数字秒表的设计

简易数字秒表的设计一、设计目的1、设计一个显示范围为24小时60分钟60秒的简易数字秒表。

2、掌握动态扫描电路的设计方法。

二、设计原理1、能进行正常的时、分、秒计时功能,分别由6个数码管显示24小时、60分钟、60秒钟的计数器显示。

2、能利用实验系统上的按键实现“校时”“校分”功能:⑴按下“SA”键时,计时器迅速递增,并按24小时循环,计满23小时后回“00”;⑵按下“SB”键时,计分器迅速递增,并按59分钟循环,计满59分钟后回“00”,但不向“时”进位;按下“SC”键时,秒清零;⑷要求按下“SA”、“SB”或“SC”时均不产生数字跳变(SA”、“SB”、“SC”按键是有抖动的,必须对其消除抖动处理)。

3、能利用扬声器做整点报时:⑴当计时到达59分50秒时开始报时,在59分50秒、52秒、54秒、56秒、58秒鸣叫,鸣叫声频率可定为500Hz;⑵到达59分60秒时为最后一声整点报时,整点报时频率可定为1KHz。

三、设计结果1、仿真波形图。

2、数字秒表对应顶层原理图数字秒表对应VHDL程序代码-- 时_计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity HOUR isport( clk: in std_logic;hour: out std_logic_vector(7 downto 0));end HOUR;architecture behave of HOUR issignal shi : std_logic_vector(7 downto 0);beginprocess(clk)beginhour<=shi;if (clk'event and clk='1') thenif(shi<"00100100") then --<24小时if(shi(3 downto 0)="1001") thenshi<=shi+1;elseshi<=shi+'1';end if;elseshi<="00000000";end if;end if;end process;end behave;-- 分_计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity MINUTE isport(clk : in std_logic;minute : out std_logic_vector(7 downto 0); shi_in : out std_logic );end MINUTE;architecture behave of MINUTE issignal fen : std_logic_vector(7 downto 0);beginprocess(clk)beginminute <=fen;if (clk'event and clk='1') thenif(fen(3 downto 0)="1001") thenif(fen="01011001") thenshi_in<='1'; fen<="00000000";elsefen<=fen+7;end if;elsefen<=fen+'1';shi_in<='0';end if;end if;end process;end behave;-- 秒_计数器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity SECOND isport(clk,sc : in std_logic;second : out std_logic_vector(7 downto 0); fen_in : out std_logic );end SECOND;architecture SEC of SECOND issignal miao : std_logic_vector(7 downto 0);beginprocess(clk,sc)beginsecond <=miao;if(sc='1')thenmiao<="00000000";elsif (clk'event and clk='1') thenif(miao(3 downto 0)="1001") thenif(miao="01011001") thenfen_in<='1'; miao<="00000000";elsemiao<=miao+7;end if;elsemiao<=miao+'1';fen_in<='0';end if;end if;end process;end SEC;-- 控制块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity setup isport(clk,sel,co : in std_logic;clkout: out std_logic );end setup;architecture behave of setup issignal shi : std_logic_vector(7 downto 0); beginprocess(clk,sel,co)beginif(sel='1')thenclkout<=clk;elseclkout<=co;end if;end process;end behave;-- 报时_模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity speek isport(clk1:in std_logic;second,minute :in std_logic_vector(7 downto 0);speak: out std_logic );end speek;architecture behave of speek issignal temp : std_logic_vector(1 downto 0);signal clk2 : std_logic;beginprocess(clk1,clk2)beginif(minute="01011001")thencase second iswhen"01010000"=>speak<=clk2;when"01010010"=>speak<=clk2;when"01010100"=>speak<=clk2;when"01010110"=>speak<=clk2;when"01011000"=>speak<=clk2;when"01011001"=>speak<=clk1;when others=>speak<='0';end case;elsespeak<='0';end if;end process;process(clk1)beginif(clk1'event and clk1='1')thenif(temp="01")thentemp<="00"; clk2<=clk1;elsetemp<=temp+1;clk2<=not clk1;end if;end if;end process;end behave;-- 译码器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY led_7 ISPORT(bcd: IN STD_LOGIC_VECTOR(3 DOWNTO 0);cout: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END led_7;ARCHITECTURE behave OF led_7 ISbeginPROCESS(bcd)begincase bcd iswhen "0000" => cout <= "1111110"; when "0001" => cout <= "0110000"; when "0010" => cout <= "1101101"; when "0011" => cout <= "1111001"; when "0100" => cout <= "0110011"; when "0101" => cout <= "1011011"; when "0110" => cout <= "0011111"; when "0111" => cout <= "1110000"; when "1000" => cout <= "1111111"; when "1001" => cout <= "1111011"; when others => null;end case;end process;end behave;-- 显示_模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity led_control isport(clk,reset:in std_logic;second,minute,hour : in std_logic_vector(7 downto 0);daout:out std_logic_vector(3 downto 0);sel : out std_logic_vector(5 downto 0));end led_control;architecture behave of led_control issignal temp : std_logic_vector(2 downto 0);beginprocess(clk,reset)beginif(reset='1')thentemp<="000";elsif(clk'event and clk='1') thenif(temp="101")thentemp<="000";elsetemp<=temp+'1';end if;end if;end process;process(clk,reset)beginif(reset='1')thendaout<="0000"; sel<="000000";elsif(clk'event and clk='1') thencase temp iswhen "000"=>daout<=second(3 downto 0);sel<="000001";when "001"=>daout<=second(7 downto 4);sel<="000010";when "010"=>daout<=minute(3 downto 0);sel<="000100"; when "011"=>daout<=minute(7 downto 4);sel<="001000"; when "100"=>daout<=hour(3 downto 0);sel<="010000"; when "101"=>daout<=hour(7 downto 4);sel<="100000"; when others=>daout<="0000";sel<="000000";end case;end if;end process;end behave;。

数电 实验6 用计数器实现简单秒表

数电 实验6 用计数器实现简单秒表

实验6 用计数器实现简单秒表
一、实验目的
(1)进一步理解用中规模集成计数器构成任意进制计数器的原理。

(2)了解计数器的简单应用。

(3)进一步学习与非门和译码显示器的使用方法。

二、实验原理
图1所示是用74LS161构成的简单秒表,图2所示是用74LS90构成的带复位、暂停功能的简单秒表,构成秒表的一般方法有反馈清零法和反馈置数法,请阅读理论教材的相关内容。

图1
图2
三、实验内容与步骤
1、基本要求
(1)能检查所有元器件的质量。

(2)验证图1所示电路的逻辑功能。

2、实验步骤
(1)根据实验原理中的逻辑电路图选择元器件,并检查导线和所选元器件的好坏。

(2)按实验原理中的逻辑电路图连线。

(注意:这一步不能带电操作。


(3)通电自检电路逻辑功能,若有故障用常用仪器、仪表检查并排除。

(4)检查电路逻辑功能是否正常,请老师复核。

(5)完成实验后,收拾好试验台,关掉用过的仪器、仪表的电源,放回原位。

四、实验设备
请根据实际情况如实记录实验中用到的仪器及仪表,实验台及实验板编号,主要元器件(名称、型号、数量)。

五、思考题
(1)、从内部电路上看,74LS161与74LS90有没有本质区别?
(2)用74LS161置中间任意数,如置0010,实现六进制计数,应该怎样构造电路?
(3)74LS161秒表除能显示0~59这60个数之外,还应该具有复位,暂停等功能,应该怎么在电路椎间盘铭哥进行设计?
(4)在74LS90秒表电路中,74LS02、74LS08及74LS00的作用分别用什么?。

任意进制计数器及简易秒表设计

任意进制计数器及简易秒表设计

实验四:时序逻辑电路设计——任意进制计数器及简易秒表设计一、实验目的1.熟悉硬件编程语言Verilog HDL的基本语法及应用2.熟悉FPGA/CPLD的使用3.基本掌握现代逻辑电路设计思想方法4.掌握计数器的工作原理,掌握任意进制计数器构成的脉冲反馈法二、实验设备PC机,QuartusII实验开发环境,FPGA实验开发板三、实验要求:1、认真阅读实验指导材料及相关数据手册,写出实验预习报告。

2、预先熟悉QuartusII 的使用。

3、根据课本第七章、第八章的内容及补充本部分补充知识,对本设计要求完成的实验内容预先完成程序流程设计、运用Verilog HDL进行逻辑电路设计时的模块结构及主要模块功能定义。

4、分析实验结果及实验中出现的问题,并给出合理的解释。

5、实验结束后写出实验报告,按时提交实验报告的纸版和电子版。

6、预先完成本实验涉及到的集成电路手册的预习。

7、实验结束后完成详细的实验总结报告,包括实验目的和要求,实验原理、实验详细过程及步骤,实验问题分析及改进措施,实验结果分析等内容。

四、实验项目1、基础实验设计四位同步10进制计数器根据四位同步10 进制计数器(74LS160)的工作原理,运用硬件编程语言Verilog HDL及FPGA实验开发板设计一个同步10进制计数器,并通过译码器显示电路,在LED上显示出相应计数结果。

2、提高性实验:设计一简易秒表要求所设计的秒表能够完成60秒的计时功能,计时满60秒给出一个状态提示信息。

用硬件编程语言Verilog HDL及FPGA实验开发板、LED完成本实验。

本版实验板的七段数码管是通过动态扫描的方式进行不同的时钟显示功能,右下图可知LEDDIG0~LEDDIG7时LED的片选信号,LEDSEGA~LEDSEGH为数码管的a,b,c,d,e,f,g,管脚。

通过动态扫描方式来实现不同数码管的电亮工作。

五、实验说明(1)计数器原理74LS160是四位10进制加法计数器,计数满10个状态产生一个进位,进位信号由1001状态产生,具有置零和置数功能,可以运用脉冲反馈法构成任意进制计数器,其工作原理见教材P250-255。

简易秒表的设计与制作

简易秒表的设计与制作

B9H
B8H
串口中断优先级标志——PS,1→高优先,0→低优先
定时中断0优先级标志——PT0, 1→高优先,0→低优先
定时中断0优先级标志——PT1, 1→高优先,0→低优先
外部中断0优先级标志—— PX0, 1→高优先,0→低优先 外部中断1优先级标志—— PX1, 1→高优先,0→低优先
(四) 中断优先级控制原则和控制逻辑:
工作原理
重点掌握单片机的定时器/计数器的应用
2018/11/27
2
3.1 任务1 认识单片机的中断系统
单片机都具有实时处理能力,即能对外部或是内部发生的事 件做出及时处理,这是靠中断技术来实现的。
1. 单片机的中断的魅力
单片机对外部或是内部事件的处理方式有两种:查询方式 和中断方式。采用程序查询方式,CPU不能再做别的事,而是 在大部分时间处于等待状态,使CPU的工作效率降低。为了提 高CPU的利用效率和进行实时数据处理,CPU常采用中断方式 对外部或是内部事件进行处理。
串行口中断的撤除
在CPU响应中断后,硬件不能清除中断请求标志TI和RI,而要由软件来 清除相应的标志。
外部中断的撤除
边沿触发方式时,CPU响应中断后,硬件会自动清除中断请求标志IE0 或IEl。电平触发方式时,CPU响应中断后,硬件会自动清除中断请求标志 IE0或IEl,但由于加到INT0或INT1引脚的外部中断请求信号并未撤除,中 断请求标志IE0或IEl会再次被置1,所以在CPU响应中断后应立即撤除INT0 或INT1引脚上的低电平。
(七)中断响应阻断:
1 . CPU正处在为一个同级或高级的中断服务中。即当有同级或 高级中断服务。 2.查询中断请求的机器周期不是当前指令的最后一个机器周期。 即当CPU未执行完一条指令。 3.当前执行返回指令RET/RETI或访问IE、IP的指令后,不能立即 响应中断,还应再执行一条指令,然后才能响应中断。 程序单步执行就是利用此原理,借助单片机的外部中断功 能来实现的。

简易秒表的设计

简易秒表的设计

简易秒表的设计1 设计意义及要求1.1 简易秒表的设计意义简易秒表的设计是在我们学习了单片机技术之后的一次检测。

在已学内容的基础上熟练掌握,对未曾学习过的内容加以了解,从多个角度更加深刻理解和掌握单片机的理论与运用。

通过本次设计,能够提高大家对自己电工电子设计的兴趣与了解,以更好的理解本专业,从而在今后的学习中打下一个很好的基础。

1.2 简易秒表的设计要求1)利用单片机作为主控制器实现电子秒表,用4位LED数码管显示时间。

2)设置外部按键SB,当按键SB第一次按下时启动秒表开始计时;当第二次按下按键S1时秒表停止计时,当第三次按下按键S1时秒表回零;即用一个按键S1来控制秒表的启动、停止和回零功能。

2 简易秒表硬件电路设计采用ATMEL公司生产的AT89C51单片机控制器,用4位共阴LED数码管显示时间,为了节省单片机的I/O资源,LED数码管采用动态显示方式,由P2口的低4位输出位选信号,P1口输出LED数码管的显示段码。

用非门来提高P2口的驱动能力,使LED管达到合适的亮度。

完成设计的仿真电路如图2-1所示。

图2-1 基于单片机控制的秒表仿真电路图3 程序设计采用主程序调用子程序的设计方法,主程序首先对定时器和有关寄存器及存储单元进行初始化,调用按键扫描子程序和显示子程序,判断计时时间是否到9分59秒。

主程序设计流程图如图3-1所示。

按12MHz1,定时时间50ms。

计数值N=定时/计数器最大值M−定时/计数器初值X则初值X=M−N机器周期为TM=12×1/ƒosc=12×1/12×106=1s采用定时器工作方式1,所以初值为X=216−50ms/1us=15536=3CB0H所以TH0=3CH,TL0=B0H3.2 初始化通过初始化设定定时器0工作方式为方式1,开放定时器0的中断及总中断,分别给存放毫秒、秒、分的计数单元3FH,40H,41H,42H清零。

关闭定时/计数器T0。

简易秒表设计

简易秒表设计

简易秒表设计一、任务设计:1、设计任务设计并制作一个简易秒表。

2、设计要求●设计能记录60秒的秒表;●秒表功耗小于0.3mA/V。

3、发挥部分●能记录60秒的时间;●通过触碰工作或停止。

二、设计方案显示部分是本次设计的重要部分。

方案完全用软件实现秒表工作。

原理为:在单片机内部存储器设三个字节分别存放时钟的时分、秒信息。

利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。

该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。

而且由于每次执行程序时,定时器都要重新赋初值,所以该秒表精度不高。

4、显示部分显示部分由两个数码管组成。

5、电源模块●采用手机使用电池可以满足供电,不需经常更换,更环保。

●供能电源便宜。

三、总体方案1、工作原理本设计采用STC89C51RC单片机作为本系统的控制模块。

单片机可把控制两个LED数码管记时的数据由软件来处理,从而把数据传输到显实模板,实现记时的功能。

以两个LED数码管为显示模板,把单片机传来的数据显示出来,来进行60秒记时。

在显示电路中,主要靠按键来开始、调零、复位。

2、总体设计设计总体框架图如图1四、系统硬件部分1. STC89C52RC单片机最小系统最小系统包括晶体振荡电路、复位开关和电源部分。

图2为STC89C51RC单片机的最小系统。

图2 最小系统电路图2、存储器模块存储器采用Atmel公司的STC89C52RC芯片。

该芯片内部含有256个8位字节,可通过I2C总线对其接口进行读写操作,而且带有写保护功能。

其接线图如图3所示。

图3 T24C02存储器电路5、数码管显示模块采用两个数码管进行记时工作,具有很低的功耗,正常工作时电流仅 2.0mA/5.0V。

通过编程实现自动关闭屏幕能够更有效的降低功耗。

任意进制计数器的设计

任意进制计数器的设计
同步时序逻辑电路的分析方法 异步时序逻辑电路的分析方法 逻辑功能、自启动功能
Байду номын сангаас
任意进制计数器的设计方法
反馈归零法
利用计数器的直接置零端功能,截取计数 过程中的某一个中间状态来控制清零端, 使计数器从该状态返回到零而重新开始计 数,这样就弃掉了后面的一些状态,把模 较大的计数器改成了模较小的计数器。
例1:试用一片二进制计数器74LS293构 成一个十二进制计数器。
例4:使用74LS163构成一个计数状态 为二进制0111~1111的计数器。
寄存器
• 数码寄存器 四位数码寄存器
移位寄存器
四位左移寄存器
双向移位寄存器
寄存器应用举例
利用数据寄存器 (锁存器)实现单 片机对多个继电器 的控制:利用寄存 器把单片机瞬间输 出的控制信号“记 忆”下来,以便单 片机与其他电路打 交道。
例2:试用十进 制计数器74LS90 构成二十三进制 计数器。
反馈归零法的有关问题
• 1、过渡状态的问题 • 2、归零可靠性问题
反馈置数法
• 例3:使用74LS161构成一个计数状态为二进 制数0000~1101的计数器。 • 注意:74LS161为一个4位可预置的同步计数器; A~D为预置数据输入端,9端为数据置入控制 端(低电平有效,且在CP有效沿作用下能将数 据置入—同步置数);1端为清零端,低电平 有效(异步置零);2端为时钟输入端,上升沿 有效;进位信号CO(高电平有效)出现在 QDQCQBQA=1111且ET=1时;EP=1、ET=1且清 零端和置数控制端均无效时,计数器才处于计 数状态;清零端的优先级最高。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四:时序逻辑电路设计——任意进制计数器及简易秒表设

一、实验目的
1.熟悉硬件编程语言Verilog HDL的基本语法及应用
2.熟悉FPGA/CPLD的使用
3.基本掌握现代逻辑电路设计思想方法
4.掌握计数器的工作原理,掌握任意进制计数器构成的脉冲反馈法
二、实验设备
PC机,QuartusII实验开发环境,FPGA实验开发板
三、实验要求:
1、认真阅读实验指导材料及相关数据手册,写出实验预习报告。

2、预先熟悉QuartusII 的使用。

3、根据课本第七章、第八章的内容及补充本部分补充知识,对本设计
要求完成的实验内容预先完成程序流程设计、运用Verilog HDL进
行逻辑电路设计时的模块结构及主要模块功能定义。

4、分析实验结果及实验中出现的问题,并给出合理的解释。

5、实验结束后写出实验报告,按时提交实验报告的纸版和电子版。

6、预先完成本实验涉及到的集成电路手册的预习。

7、实验结束后完成详细的实验总结报告,包括实验目的和要求,实验
原理、实验详细过程及步骤,实验问题分析及改进措施,实验结
果分析等内容。

四、实验项目
1、基础实验
设计四位同步10进制计数器
根据四位同步10 进制计数器(74LS160)的工作原理,运用硬件编程语言Verilog HDL及FPGA实验开发板设计一个同步10进制计数器,并通过译码器显示电路,在LED上显示出相应计数结果。

2、提高性实验:
设计一简易秒表
要求所设计的秒表能够完成60秒的计时功能,计时满60秒给出一个状态提示信息。

用硬件编程语言Verilog HDL及FPGA实验开发板、LED完成本实验。

本版实验板的七段数码管是通过动态扫描的方式进行不同的时钟显示功能,右下图可知LEDDIG0~LEDDIG7时LED的片选信号,LEDSEGA~LEDSEGH为数码管的a,b,c,d,e,f,g,管脚。

通过动态扫描方式来实现不同数码管的电亮工作。

五、实验说明
(1)计数器原理
74LS160是四位10进制加法计数器,计数满10个状态产生一个进位,进位信号由1001状态产生,具有置零和置数功能,可以运用脉冲反馈法构成任意进制计数器,其工作原理见教材P250-255。

电路结构图及管角分布如下图所示。

其使用见本实验提供的74LS160 Datasheet。

内部电路图
74LS160芯片的管脚图
(2)数码管
半导体发光二极管(LED)数码显示器:半导体发光二极管数码显示器由7(或8)个LED排成“日”字形,称为七段(或八段),封装成数码管,如图表所示。

LED数码管内部有共阴极和共阳极两种接法。

如下图表。

BCD —七段显示译码器,逻辑功能:如表1。

表 1
其译码器输出(Ya ~Yg )是高电平有效,适用于驱动共阴极LED 数码管,显示的字形如表中所示。

因其译码器输出端的内部有上拉电阻(是2K 的限流电阻),因此在与LED 管连接时无需再外接限流电阻。

(a )图表 2 图表 3
(3)任意进制计数器构成
六实验关键步骤:
1.根据实验项目要求,分析要实现的功能,在QuartusII开发环境下,运用相应
的编程语言完成要实现的电路的代码编写。

2.对编写好的代码进行仿真,验证是否正确。

3.将经过仿真验证的代码下载带FPGA中,并运行。

4.测试所设计逻辑电路的功能实现是否正确。

七附录-FPGA引脚分配
用Verilog编程实现,下面给出其中的pin定义。

clk PIN_79
data[0] PIN_71
data[1] PIN_70
data[2] PIN_69
data[3] PIN_68
data[4] PIN_63
data[5] PIN_64
data[6] PIN_65
data[7] PIN_67
ledn[0] PIN_57
ledn[1] PIN_55
ledn[2] PIN_58
ledn[3] PIN_61
ledn[4] PIN_56
ledn[5] PIN_37
ledn[6] PIN_39
ledn[7] PIN_60
reset PIN_9
start PIN_11
test PIN_168。

相关文档
最新文档