定时计数器设计.

定时计数器设计.
定时计数器设计.

设计数字钟,内有4组可设置的定时开/关,控制一路开关量输出。定时开关的设置分为单次操作(2011年6月25日8:00开2011年6月26日18:00关),周期操作(如周三8:00 开,周四16:00关)。数码管显示时间(单位秒)与设置值(单位分钟),用发光二极管表示周期与单次操作。

任务安排:

(1)设计任务及要求分析

(2)方案比较及认证说明

(3)系统原理阐述,写出设计方案结构图。

(4)软件设计课题需要说明:软件思想,流程图,源程序及程序注释

(5)调试记录及结果分析、

(6)总结

(7)参考资料5篇以上

(8)附录:程序清单

时间安排:

6月24日:安排设计任务;收集资料;方案选择

6月25日:程序设计

6月26——27日:实验室内调试程序并演示

6月28日:撰写报告

7月1日:交能力拓展训练报告

摘要

单片机在电子产品中的应用越来越广泛,特别是51系列的单片机,由于其使用方便、价格低廉等优势,在市场上占有很大的份额。AT89C51就是51系列中的一个比较成熟的型号,它完全兼容51单片机的指令。

本文详细介绍了基于AT89C51单片机的数字电子钟的设计,本电子钟可以实现日期、时间的显示和调整,带有整点提示和一个闹钟,并且可以显示当前气温。

本设计包括硬件设计和软件设计两部分。主要硬件有:三端稳压器LM7805、AT89C51单片机、字符型液晶显示模块HY1602A和若干按键等。软件大致思路为:使用12MHz的晶振,单片机内部的定时器0工作在方式1,每计数50000个机器周期(即50ms)产生一次中断,中断20次就是一秒,这样就可以实现精确计时的目的,不断扫描按键,如果有按键按下,则对按键做出相应的响应。

关键字:单片机;电子钟; LCD1602;

目录

绪论 (1)

1 设计方案 (2)

1.1 设计要求 (2)

1.2 设计方案论证 (2)

2 硬件设计 (3)

2.1 器件选型 (3)

2.2 器件介绍 (3)

2.2.1单片机AT89C51 (3)

2.2.2 LCD1602显示模块 (7)

3 软件设计 (9)

3.1 软件设计思路 (9)

3.1.1 实现功能 (9)

3.1.2编程思路 (9)

3.1.3操作及功能介绍 (10)

3.2 主程序流程图 (11)

4 仿真图 (12)

5 设计体会及小结 (12)

参考文献 (13)

绪论

随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。

二十一世纪的今天,最具代表性的计时产品就是电子钟定时器,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时和月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用,使计时产品的走时日差从分级缩小到1/600万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子钟定时器的出现带来了钟表计时业界跨跃性的进步。

我国生产的电子钟定时器有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。

除了采用集成化的时钟芯片外,还有采用MCU的方案,利用STC89系列单片微机制成万年历电路,采用软件和硬件结合的方法,控制LED数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。AT89C51是由ATMEL公司推出的一种小型单片机。其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,可以很快被广大用户接受。

1 设计方案

1.1 设计要求

用AT89S52单片机,在1602LCD上显示年月日、星期、时分秒设计数字钟,内有4组可设置的定时开/关,控制一路开关量输出。定时开关的设置分为单次操作(2011年6月25日8:00开2011年6月26日18:00关),周期操作(如周三8:00 开,周四16:00关)。数码管显示时间(单位秒)与设置值(单位分钟),用发光二极管表示周期与单次操作。

1.2 设计方案论证

本设计是纯粹的应用性设计,主要以实现计时、定时、温度显示等功能为最终目的。设计以Atmel公司的AT89S52为核心,在最小系统的基础上扩展键盘,数字温度计,以及LCD显示模块,硬件设计简单节约,其功能的实现主要靠软件设计,所以软件在本设计中是最为重要的,在计时设计思路上有两种方案可以选取。

方案一:选用外部时钟芯片,单片机只负责其数据的存取读写以及外部辅助电路的扩展,这种方案的优点是计时准确,软件编写相对简单,但其要求对其芯片必须要有比较深的了解

方案二:利用单片机的内部时钟和定时器进行计数,这种方案电路简单,容易实现,但时间容易丢失,且长时间计数会有误差,而且软件编写也相对复杂。

考虑到本次设计的目的,采用方案二,并加入了年月日的扩展,由于时间和精力有限年月日只是进行简单的模拟,没有精确的进行计算。只是进行适当的扩展。

本设计包括硬件设计和软件设计两部分。主要硬件有AT89S52单片机、字符型液晶显示模块HY1602A和若干按键等。软件大致思路为:使用12MHz的晶振,单片机内部的定时器0工作在方式1,每计数50000个机器周期(即50ms)产生一次中断,中断20次就是一秒,这样就可以实现精确计时的目的。在把实时数据显示在LCD1602上的同时,不断扫描按键,如果有按键按下,则对按键做出相应的响应。

2 硬件设计

2.1 器件选型

本设计选取主控MCU为Atmel公司的AT89S52,显示器件选择市面上常见的字符型液晶显示模块HY1602A。

2.2 器件介绍

2.2.1单片机AT89C51

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

1.主要特性:

与MCS-51 兼容

4K字节可编程闪烁存储器

寿命:1000写/擦循环

于内部上拉的缘故。在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)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

3.振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

4.芯片擦除:

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

2.2.2 LCD1602显示模块

工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)

注:为了表示的方便,后文皆以1表示高电平,0表示低电平。

1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。

1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶屏。

提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能有80字节显示数据存储器DDRAM

内建有192个5X7点阵的字型的字符发生器CGROM

8个可由用户自定义的5X7的字符发生器CGRAM

3 软件设计

3.1 软件设计思路

3.1.1 实现功能

用AT89S52单片机,在1602LCD上显示年月日、星期、时分秒。内有4组可设置的定时开/关,控制一路开关量输出。定时开关的设置分为单次操作(2011年6月25日8:00开2011年6月26日18:00关),周期操作(如周三8:00 开,周四16:00关)。

具备闹钟和时间段的设定功能,闹铃方式为蜂鸣器持续响10秒钟,或者用按键手动关闭响铃。可以用键盘调整时间、设定开关时间和方式。

复位时间是2011年1月1日00:00:00。

3.1.2编程思路

1. 给以下变量赋初值:年(Year)、月(Month)、日(Day)、时(Hour)、分(Min)、秒(Sec)。

2. 因为晶振频率为12MHz,所以计数频率为12MHz/12=1MHz,这就需要计数器0计数1000000次才可以达到一秒钟。我们用定时器0工作在方式1状态,每次计数50000次,如此进行20次,即可凑够一秒钟。这样可以得到初始化定时器的控制字:TMOD=0x01,计数初值65536-50000=15536即0x3cb0,这样就可以设计一个计数一秒的函数。

3. 读相应变量的值,送入LCD显示时间等信息。

4. 不断的扫描按键,并且响应按键输入。在进入设定模式后,所有时间变量被过渡变量代替,如果确认设置,则过渡变量赋给时间变量,如果取消设置,则还使用原时间变量。

3.1.3操作及功能介绍

定时器能显示年月日、星期、时分秒。内有4组可设置的定时开/关,控制一路开关量输出。定时开关的设置分为单次操作(2011年6月25日8:00开2011年6月26日18:00关),周期操作(如周三8:00 开,周四16:00关)。下面具体具体介绍按键和LED的功能:

1、K1为时间的小时设定键,按下后将进入时间的设定,按K1是对时间小时的设定。

2、K2为时间的分钟设定键,当处于时间的调整时,按它可以对时间的分钟进行调整,当未处于时间调整时,按下第一次为开关量的开启时间,按下第二次为开关量的关闭时间。

3、K3为设定时间完成的退出键和进入开关量时间的设定键,但时间设置完成以后,按下K3键将进入正常的计时状态;当要进入定时任务时间设定时,按下此键将进入定时任务开始时间的设定,设定完成后退出进入正常计时,然后再按下此键进入定时任务关闭时间的设定。

4、K4为定时任务是否开启的设定键,若LED的黄灯是亮的说明任务是开启的,若没有亮则是关闭的。

5、K5为定时任务运行的方式:周期与单次的切换,若绿灯亮则为周期,没亮则为单次。

6、K6、K

7、K8依次为年月日的设定键。

设计60进制计数器 数电课程设计

电子技术基础实验 课程设计 用74LS161设计六十进制计数器 学院:班级:姓名:学号:电气工程学院电自1418 刘科 20

用74LS161设计六十进制计数器 摘要 计数器是一个用以实现计数功能的时序部件,它不仅可用来及脉冲数,还常用作数子系统的定时、分频和执行数字运算以及其它特定的逻辑功能。目前,无论是TTL还是CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能和工作波形图以及引出端的排列,就能正确运用这些器件。计数器在现代社会中用途中十分广泛,在工业生产、各种和记数有关电子产品。如定时器,报警器、时钟电路中都有广泛用途。在配合各种显示器件的情况下实现实时监控,扩展更多功能。 利用两片74LS161分别作为六十进制计数器的高位和低位,分别与数码管连接。把其中的一个通过一个与门器件构成一个十进制计数器,另一个芯片构成六进制计数器。十进制计数器(个位)和六进制计数器(十位)均采用反馈清零法利用两个74LS161构成。当个位计数器从1001计数到0000时,十位计数器要计数一次,可通过两芯片之间级联实现。使用200HZ时钟信号作为计数器的时钟脉冲。根据设计基理可知,计数器初值为00,按递增方式计数,增到59时,再自动返回到00。 关键字:60进制,计数器,74LS161,级联 目录 第1章概述 (1) 计数器设计目的 (1) 计数器设计组成 (1) 第2章六十进制计数器设计描述 (2) 74LS161的功能 (2)

方案框架 (3) 第3章六十进制计数器的设计与仿真 (4) 基本电路分析设计 (4) 计数器电路的仿真 (6) 第4章总结 (8)

计数器的设计实验报告

计数器的设计实验报告 篇一:计数器实验报告 实验4 计数器及其应用 一、实验目的 1、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法二、实验原理 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是

CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 1、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图5-9-1所示。 图5- 9-1 CC40192引脚排列及逻辑符号 图中LD—置数端CPU—加计数端CPD —减计数端CO—非同步进位输出端BO—非同步借位输出端 D0、D1、D2、D3 —计数器输入端 Q0、Q1、Q2、Q3 —数据输出端CR—清除端 CC40192的功能如表5-9-1,说明如下:表5-9-1 当清除端CR为高电平“1”时,计数

器直接清零;CR置低电平则执行其它功能。当CR为低电平,置数端LD也为低电平时,数据直接从置数端D0、D1、D2、D3 置入计数器。 当CR为低电平,LD为高电平时,执行计数功能。执行加计数时,减计数端CPD 接高电平,计数脉冲由CPU 输入;在计数脉冲上升沿进行8421 码十进制加法计数。执行减计数时,加计数端CPU接高电平,计数脉冲由减计数端CPD 输入,表5-9-2为8421 码十进制加、减计数器的状态转换表。加法计数表5-9- 减计数 2、计数器的级联使用 一个十进制计数器只能表示0~9十个数,为了扩大计数器范围,常用多个十进制计数器级联使用。 同步计数器往往设有进位(或借位)输出端,故可选用其进位(或借位)输出信号驱动下一级计数器。 图5-9-2是由CC40192利用进位

10进制加法计数器课程设计

西北师范大学知行学院 数字电子实践论文 课题:74ls161组成的十进制加法计数器 (置数法) 班级:14电本 学号:14040101114 姓名:于能海

指导老师:崔用明 目录 第1章前言 (1) 1.1 摘要 (1) 1.2 设计目的 (2) 1.3 设计内容及要求 (2) 第2章设计方案 (3) ....................................................................................................................... 错误!未定义书签。 2.1主要芯片功能介绍 (3) 2.2.1 四位二进制计数器74161介绍 (3) ............................................................................................................... 错误!未定义书签。 2.2 工作原理 (4) 第3章硬件设计 (4) 3.1 单元电路设计 (4) 3.2 总硬件电路图 (5) 第4章仿真与试验 (6) 4.1 仿真结果 (6) 4.2 调试中遇到的问题 (7) 第5章结论和体会 (8)

第1章前言 1.1 摘要在数字电路技术的课程中,计数器的功能是记忆脉冲的个数,它是数字系统中应用最广泛的基本时序逻辑构件。计数器在微型计算机系统中的主要作用就是为CPU和I/O设备提供实时时钟,以实现定时中断、定时检测、定时扫描、定时显示等定时控制,或者对外部事件进行计数。一般的微机系统和微机应用系统中均配置了定时器/计数器电路,它既可当作计数器作用,又可当作定时器使用,其基本的工作原理就是"减1"计数。计数器:CLK输入脉冲是一个非周期事件计数脉冲,当计算单元为零时,OUT输出一个脉冲信号,以示计数完毕。 本十进制加法计数器是基于74161芯片而设计的, 该十进制加法计数器设计理念是用于工厂流水线上产品计数,自动计数,方便简单。 关键词:74ls161计数器 Introduction In the course of digital circuit technology, the counter memory function is the number of pulses, it is a digital system, the most widely used basic sequential logic components. The main role of the counter in the micro-computer system is to provide real-time clock for the CPU and I / O devices to achieve the timer interrupt, timing detection, scheduled scanning, the timing display timing control, or to count external events. General computer systems and computer application systems are equipped with a timer / counter circuit, it can as a counter action, but also as a timer, the basic working principle is "minus 1" count. Counter: CLK input pulse is a non-periodic event count pulses to zero when calculating unit, OUT outputs a pulse signal, to show the count is completed. The decimal addition counter is designed based on the 74161 chip, the low potential sensor senses when to rely on external signals, sensors in an object within the sensing range, otherwise it is a high potential. Within the sensing range of the sensor when an object is moved out of date, sensor potential from high to low and then high, appears on the edge. Counter is automatically incremented and displayed on a digital control. The decimal addition counters have two seven-segment LED. It can count from 0 to 99 objects, and easy to expand. The design concept of decimal addition counter is used to count on a factory assembly line products, automatic counting, convenient and simple. Keywords:74ls161counter

EDA实验报告-实验3计数器电路设计(DOC)

暨南大学本科实验报告专用纸 课程名称EDA实验成绩评定 实验项目名称计数器电路设计指导教师郭江陵 实验项目编号03 实验项目类型验证实验地点B305 学院电气信息学院系专业物联网工程 组号:A6 一、实验前准备 本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为EP1K100QC208)。EDAPRO/240H实验仪主板的VCCINT跳线器右跳设定为3.3V;EDAPRO/240H实验仪主板的VCCIO跳线器组中“VCCIO3.3V”应短接,其余VCCIO均断开;独立扩展下载板“EP1K10_30_50_100QC208”的VCCINT跳线器组设定为 2.5V;独立扩展下载板“EP1K10_30_50_100QC208”的VCCIO跳线器组设定为3.3V。请参考前面第二章中关于“电源模块”的说明。 二、实验目的 1、了解各种进制计数器设计方法 2、了解同步计数器、异步计数器的设计方法 3、通过任意编码计数器体会语言编程设计电路的便利 三、实验原理 时序电路应用中计数器的使用十分普遍,如分频电路、状态机都能看到它的踪迹。计数器有加法计数器、可逆计数器、减法计数器、同步计数器等。利用MAXPLUSII已建的库74161、74390分别实现8位二进制同步计数器和8位二——十进制异步计数器。输出显示模块用VHDL实现。 四、实验内容 1、用74161构成8位二进制同步计数器(程序为T3-1); 2、用74390构成8位二——十进制异步计数器(程序为T3-2); 3、用VHDL语言及原理图输入方式实现如下编码7进制计数器(程序为T3-3): 0,2,5,3,4,6,1 五、实验要求 学习使用Altera内建库所封装的器件与自设计功能相结合的方式设计电路,学习计数器电路的设计。 六、设计框图 首先要熟悉传统数字电路中同步、异步计数器的工作与设计。在MAX+PLUS II中使用内建的74XX库选择逻辑器件构成计数器电路,并且结合使用VHDL语言设计转换模块与接口模块,最后将74XX模块与自设计模块结合起来形成完整的计数器电路。并借用前面设计的数码管显示模块显示计数结果。 ◆74161构成8位二进制同步计数器(程序为T3-1)

基于QuartusII的同步计数器设计

基于QuartusII的同步计数器设计 目录 一、软件及语言概述 二、实验设计 三、学习感悟 四、参考文献 一、软件及语言概述 1.1软件介绍: Quartus II是Altera公司在21 世纪初推出的FPGA/CPLD开发环境,是Altera前一代FPGA/CPLD集成开发环境MAX+PLUS II的更新换代产品,其优点是功能强大、界面友好、使用便捷。它支持原理图、VHDL、VerilogHDL以及AHDL 等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II支持Altera的IP内核,包含了 LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性,加快了设计速度。此外,Quartus II通过和DSP Builder工具与Matlab/Simulink的相结合,可以方便的实现各种DSP应用系统;支持Altera 的片上可编程系统开发,集系统设计、嵌入式软件开发。可编程逻辑设计于一体,是一个综合性的开发平台。 Quartus II有严格的设计流程,分为设计输入与约束、分析和综合、布局布线、仿真及编程与配置等。本次仿真设计所用到的版本为Quartus II 9.0,其用户界面如下图所示: 1.2 Verilog HDL语言概述: Verilog HDL即Verilog硬件描述语言,它主要应用于数字电路和系统设计、数字电路和系统仿真等,即利用计算机和相关软件对用Verilog HDL等硬件语言建模的复杂数字逻辑电路设计进行仿真验证,再利用综合软件将设计的数字电路自动综合,以得到符合功能需求并且在相应的硬件电路结构上可以映射实现的数字逻辑网表,然后布局布线,根据网表和选定的实现器件工艺特性自动生成具体电路,同时软件生成选定器件的延时模型,经过仿真验证确定无误后写入器件中,最终实现电路设计。Verilog HDL语言不仅定义了语法而且对每个语法结构都定义了清晰的模拟、仿真语义。因此用这种语言编写的模型能够使用Verilog仿真

计数器和移位寄存器设计仿真实验报告.

实验四典型时序电路的功能测试与综合仿真报告 15291204张智博一.74LS290构成的24位计数器 方法:第一片74290的Q3与第二片的INB相连,R01,R02相连,INA,R91,R92悬空构成24位计数器。50Hz,5v方波电压源提供时钟信号,用白炽灯显示输出信号。 实验电路: 实验现象:

输出由000000变为000001,000010,000011,000100,001000,001001,001010,001011,001100,010001,010000,010010,010011,010100,011000,011001,011010,011011,011100,100000,100001,100010,100011,100100,最终又回到000000,实现一次进位。 二.74LS161构成的24位计数器 方法:运用多次置零法 用两片74LS161构成了24位计数器,两片计数器的时钟信号都由方波电压源提供,第一片芯片的Q3和第二片芯片的Q0通过与非门,构成两个74LS161的LOAD信号,第一片的CO接第二片的ENT,其他ENT和ENP接Vcc(5v)。输出接白炽灯。 电路图: 实验现象:以下为1—24的计数过程

三.74LS194构成的8位双向移位寄存器 方法:通过两片194级联,控制MA,MB的值,来控制左右移动 实验电路由两片74LS194芯片构成。两个Ma接在一起,两个Mb接在一起,第一片的Dr,第二片的Dl,分别通过开关接到Vcc(5v)上。第一片的Q3接到第二片的Dr,第二片的Q0接到第一片的Dl。8个输出端分别接白炽灯。 实验电路:

课程设计:六十进制计数器的设计

一、实验目的 1.进一步掌握VHDL语言中元件例化语句的使用 2.通过本实验,巩固利用VHDL语言进行EDA设计的流程 二、实验原理 1.先分别设计一个六进制和十进制的计数器,并生成符号文件2.利用生成的底层元件符号,设计六十进制计数器顶层文件 三、实验步骤 (略) 四、实验结果

六进制计数器源程序cnt6.vhd: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE. STD_LOGIC_UNSIGNED.ALL; ENTITY CNT6 IS PORT (CLK, CLRN, ENA, LDN: IN STD_LOGIC; D: IN STD_LOGIC_VECTOR(3 DOWNTO 0); Q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT: OUT STD_LOGIC); END CNT6; ARCHITECTURE ONE OF CNT6 IS SIGNAL CI: STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"; BEGIN PROCESS(CLK, CLRN, ENA, LDN) BEGIN IF CLRN='0' THEN CI<="0000"; ELSIF CLK'EVENT AND CLK='1' THEN IF LDN='0' THEN CI<=D; ELSIF ENA='1' THEN IF CI<5 THEN CI<=CI+1; ELSE CI<="0000"; END IF; END IF; END IF; Q<=CI; END PROCESS; COUT<= NOT(CI(0) AND CI(2)); END ONE;

数字电路实验计数器的设计

数字电路与逻辑设计实验报告实验七计数器的设计 :黄文轩 学号:17310031 班级:光电一班

一、实验目的 熟悉J-K触发器的逻辑功能,掌握J-K触发器构成异步计数器和同步计数器。 二、实验器件 1.数字电路实验箱、数字万用表、示波器。 2.虚拟器件: 74LS73,74LS00, 74LS08, 74LS20 三、实验预习 1. 复习时序逻辑电路设计方法 ①根据设计要求获得真值表 ②画出卡诺图或使用其他方式确定状态转换的规律 ③求出各触发器的驱动方程 ④根据已有方程画出电路图。 2. 按实验内容设计逻辑电路画出逻辑图 Ⅰ、16进制异步计数器的设计 异步计数器的设计思路是将上一级触发器的Q输出作为下一级触发器的时钟信号,置所有触发器的J-K为1,这样每次到达时钟下降沿都发生一次计数,每次前一级 触发器从1变化到0都使得后一级触发器反转,即引发进位操作。 画出由J-K触发器组成的异步计数器电路如下图所示:

使用Multisim仿真验证电路正确性,仿真图中波形从上到下依次是从低位到高位 触发器的输出,以及时钟信号。: 可以看出电路正常执行16进制计数器的功能。 Ⅱ、16进制同步计数器的设计 较异步计数器而言,同步计数器要求电路的每一位信号的变化都发生在相同的时间点。

因此同步计数器各触发器的时钟脉冲必须是同一个时钟信号,这样进位信息就要放置在J-K 输入端,我们可以把J-K端口接在一起,当时钟下降沿到来时,如果满足进位条件(前几位触发器输出都为1)则使JK为1,发生反转实现进位。 画出由J-K触发器和门电路组成的同步计数器电路如下图所示 使用Multisim仿真验证电路正确性,仿真图中波形从上到下依次是从低位到高位触发器的输出,计数器进位输出,以及时钟信号。:

实验五计数器的设计实验报告

实验五计数器的设计——实验报告 邱兆丰 15331260 一、实验目的和要求 1.熟悉JK触发器的逻辑功能。 2.掌握用JK触发器设计同步计数器。 二、实验仪器及器件 1、实验箱、万用表、示波器、 2、74LS73,74LS00,74LS08,74LS20 三、实验原理 1.计数器的工作原理 递增计数器----每来一个CP,触发器的组成状态按二进制代码规律增加。递减计数器-----按二进制代码规律减少。 双向计数器-----可增可减,由控制端来决定。 2.集成J-K触发器74LS73 ⑴符号: 图1 J-K触发器符号

⑵功能: 表1 J-K触发器功能表 ⑶状态转换图: 图2 J-K触发器状态转换图

⑷特性方程: ⑸注意事项: ①在J-K触发器中,凡是要求接“1”的,一定要接高电平(例如5V),否则会出现错误的翻转。 ①触发器的两个输出负载不能过分悬殊,否则会出现误翻。 ② J-K触发器的清零输入端在工作时一定要接高电平或连接到实验箱的清零端子。3.时序电路的设计步骤 内容见实验预习。 四、实验内容 1.用JK触发器设计一个16进制异步计数器,用逻辑分析仪观察CP和各输出波形。2.用JK触发器设计一个16进制同步计数器,用逻辑分析仪观察CP和各输出波形。3.设计一个仿74LS194 4.用J-K触发器和门电路设计一个特殊的12进制计数器,其十进制的状态转换图为:5.考虑增加一个控制变量D,当D=0时,计数器按自定义内容运行,当D=1时,反方向运行 五、实验设计及数据与处理 实验一

16进制异步计数器 设计原理:除最低级外,每一级触发器用上一级触发器的输出作时钟输入,JK都接HIGH,使得低一级的触发器从1变0时高一级触发器恰好接收下降沿信号实现输出翻转。实验二 16进制同步计数器 设计原理:除最低级外,每一级的JK输入都为所有低级的输出的“与”运算结果实验三 仿74LS194 设计原理:前两个开关作选择端输入,下面四个开关模仿预置数输入,再下面两个开关模仿左移、右移的输入,最后一个开关模仿清零输入。四个触发器用同一时钟输入作CLK输入。用2个非门与三个与门做成了一个简单译码器。对于每一个触发器,JK输入总为一对相反值,即总是让输入值作为输出值输入。对于每一个输入,当模式“重置”输出为1时,其与预置值结果即触发器输入;当模式“右移”、“左移”输出为1时,其值为上一位或下一位对应值;当各模式输出均为0时各触发器输入为0,使输出为0。 实验四 设计原理: 在12进制同步计数器中,输出的状态只由前一周期的状态决定,而与外来输入无关,因此目标电路为Moore型。而数字电路只有0和1两种状态,因此目标电路要表达12种状态需

数字时钟设计实验报告

数字时钟设计实验报告

电子课程设计题目:数字时钟

数字时钟设计实验报告一、设计要求: 设计一个24小时制的数字时钟。 要求:计时、显示精度到秒;有校时功能。采用中小规模集成电路设计。 发挥:增加闹钟功能。 二、设计方案: 由秒时钟信号发生器、计时电路和校时电路构成电路。 秒时钟信号发生器可由振荡器和分频器构成。 计时电路中采用两个60进制计数器分别完成秒计时和分计时;24进制计数器完成时计时;采用译码器将计数器的输出译码后送七段数码管显示。 校时电路采用开关控制时、分、秒计数器的时钟信号为校时脉冲以完成校时。 三、电路框图:

图一 数字时钟电路框图 四、电路原理图: (一)秒脉冲信号发生器 秒脉冲信号发生器是数字电子钟的核心部分,它的精度和稳定度决定了数字钟的质量。由振荡器与分频器组合产生秒脉冲信号。 ? 振荡器: 通常用555定时器与RC 构成的多谐振荡器,经过调整输出1000Hz 脉冲。 ? 分频器: 分频器功能主要有两个,一是产生标准秒脉冲信号,一是提供功能 扩展电路所需要的信号,选用三片74LS290进行级联,因为每片为1/10分频器,三片级联好获得1Hz 标准秒脉冲。其电路图如下: 图二 秒脉冲信号发生器 译译译时计 分计秒计 校 时 电 路 秒信号发生器

(二)秒、分、时计时器电路设计 秒、分计数器为60进制计数器,小时计数器为24进制计数器。 ?60进制——秒计数器 秒的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。当计数到59时清零并重新开始计数。秒的个位部分的设计:利用十进制计数器CD40110设计10进制计数器显示秒的个位。个位计数器由0增加到9时产生进位,连在十位部计数器脉冲输入端CP,从而实现10进制计数和进位功能。利用74LS161和74LS11设计6进制计数器显示秒的十位,当十位计数器由0增加到5时利用74LS11与门产生一个高电平接到个位、十位的CD40110的清零端,同时产生一个脉冲给分的个位。其电路图如下: 图三60进制--秒计数电路 ?60进制——分计数电路 分的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。当计数到59时清零并重新开始计数。秒的个位部分的设计:来自秒计数电路的进位脉冲使分的个位加1,利用十进制计数器CD40110设计10进制计数器显示秒的个位。个位计数器由0增加到9时产生进位,连在十位部计数器脉冲输入端CP,从而实现10进制计数和进位功能。利用74LS161和74LS11设计6进制计数器显示秒的十位,当十位计数器由0增加到5时利用74LS11与门产生一个高电平接到个位、十位的CD40110的清零端,同时产生一个脉冲给时的个位。其电路图如下:

实验四_4_位计数器设计

实验四4 位计数器设计 1. 实验目的 学习quartusii 和modelsim 的使用方法; 学习原理图和veriloghdl 混合输入设计方法; 掌握4位计数器设计的设计及仿真方法。 2. 实验原理 设计其中的计数器模块CNT4E和数码管译码驱动模块DECL7S勺verilogHDL代码,并作出整个系统仿真。 2.1 4位计数器模块代码 module CNT4B(out, CLK, RST); // output out; // in put CLK, RST; // reg [3:0] out; // always (posedge CLK or n egedge RST) // begin if(!RST) // out <= 4'dO; else out <= out + 1; // end en dmodule 低电平复位 每一个clk计数 效果图: 定义模块名和各个端口 定义输出端口 定义输入时钟和复位 定义四位计数器 上升沿时钟和下降沿复位

2.2七段数码管代码 module segled(out1,a); // in put [3:0]a; // output [6:0]out1; // reg [6:0]out1; //reg always(a) // begin case(a) //case 4'b0000:out1<=7'b0111111; 4'b0001:out1<=7'b0000110; 4'b0010:out1<=7'b1011011; 4'b0011:out1<=7'b1001111; 4'b0100:out1<=7'b1100110; 4'b0101:out1<=7'b1101101; 4'b0110:out1<=7'b1111101; 4'b0111:out1<=7'b0000111; 4'b1000:out1<=7'b1111111; 4'b1001:out1<=7'b1101111; 4'b1010:out1<=7'b1110111; 4'b1011:out1<=7'b1111100; 4'b1100:out1<=7'b0111001; 4'b1101:out1<=7'b1011110; 4'b1110:out1<=7'b1111001; 4'b1111:out1<=7'b1110001; endcase end en dmodule // 模 块结束效果图: 定义模块名和输入输出端口 输入一个3位矢量 输出一个6位矢量 型变量用于always语句 语句用于选择输出 CNT4B:b2v inst 敏感信号a

计数器实验报告

实验4 计数器及其应用 一、实验目的 1、学习用集成触发器构成计数器的方法 2、掌握中规模集成计数器的使用及功能测试方法 二、实验原理 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 1、中规模十进制计数器 CC40192是同步十进制可逆计数器,具有双时钟输入,并具有清除和置数等功能,其引脚排列及逻辑符号如图5-9-1所示。 图5-9-1 CC40192引脚排列及逻辑符号 图中LD—置数端 CP U—加计数端 CP D—减计数端 CO—非同步进位输出端BO—非同步借位输出端 D0、D1、D2、D3—计数器输入端 Q0、Q1、Q2、Q3—数据输出端 CR—清除端

CC40192的功能如表5-9-1,说明如下: 表5-9-1 输 入 输 出 CR LD CP U CP D D 3 D 2 D 1 D 0 Q 3 Q 2 Q 1 Q 0 1 × × × × × × × 0 0 0 0 0 0 × × d c b a d c b a 0 1 ↑ 1 × × × × 加 计 数 0 1 1 ↑ × × × × 减 计 数 当清除端CR 为高电平“1”时,计数器直接清零;CR 置低电平则执行其它功能。 当CR 为低电平,置数端LD 也为低电平时,数据直接从置数端D 0、D 1、D 2、D 3 置入计数器。 当CR 为低电平,LD 为高电平时,执行计数功能。执行加计数时,减计数端CP D 接高电平,计数脉冲由CP U 输入;在计数脉冲上升沿进行 8421 码十进制加法计数。执行减计数时,加计数端CP U 接高电平,计数脉冲由减计数端CP D 输入,表5-9-2为8421码十进制加、减计数器的状态转换表。 表5-9-2 加法计数 输入脉冲数 0 1 2 3 4 5 6 7 8 9 输出 Q 3 0 0 0 0 0 0 0 0 1 1 Q 2 1 1 1 1 Q 1 0 0 1 1 0 0 1 1 0 0 Q 0 1 0 1 1 1 1 减计数 2、计数器的级联使用 一个十进制计数器只能表示0~9十个数,为了扩大计数器范围,常用多个十进制计数器级联使用。 同步计数器往往设有进位(或借位)输出端,故可选用其进位(或借位)输出信号驱动下一级计数器。 图5-9-2是由CC40192利用进位输出CO 控制高一位的CP U 端构成的加数级联图。

100进制同步计数器设计

实验名称:100进制同步计数器设计 专业班级:姓名:学号:实验日期: 一、实验目的: 1、掌握计数器的原理及设计方法; 2、设计一个0~100的计数器; 3、利用实验二的七段数码管电路进行显示; 二、实验要求: 1、用VHDL 语言进行描写; 2、有计数显示输出; 3、有清零端和计数使能端; 三、实验结果: 1. VHDL程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; PACKAGE my_pkg IS Component nd2 -- 或门 PORT (a,b: IN STD_LOGIC; c: OUT STD_LOGIC); END Component; Component led_decoder PORT (din:in std_logic_vector(3 downto 0 ); --四位二进制码输入 seg:out std_logic_vector(6 downto 0) ); --输出LED七段码 END Component; 1

Component CNT60 --2位BCD码60进制计数器 PORT ( CR:IN STD_LOGIC; EN:IN STD_LOGIC; CLK:IN STD_LOGIC; OUTLOW:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); OUTHIGH:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) ); END Component; Component CNT100 --带使能和清零信号的100进制计数器PORT ( CLK:IN STD_LOGIC; EN:IN STD_LOGIC; CLR:IN STD_LOGIC; OUTLOW:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0); OUTHIGH:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0) ); END Component; Component freq_div --50MHZ时钟分频出1Hz PORT ( clkinput : IN STD_LOGIC; output : OUT STD_LOGIC ); END Component;

数字时钟设计实验报告

电子课程设计题目:数字时钟

数字时钟设计实验报告 设计要求: 设计一个24小时制的数字时钟。 要求:计时、显示精度到秒;有校时功能。采用中小规模集成电路设计。 发挥:增加闹钟功能。 设计方案: 由秒时钟信号发生器、计时电路和校时电路构成电路。 秒时钟信号发生器可由振荡器和分频器构成。 计时电路中采用两个60进制计数器分别完成秒计时和分计时;24进制计数器完成时计时;采用译码器将计数器的输出译码后送七段数码管显示。 校时电路采用开关控制时、分、秒计数器的时钟信号为校时脉冲以完成校时。 电路框图: 图一 数字时钟电路框图 电路原理图: (一)秒脉冲信号发生器 秒脉冲信号发生器是数字电子钟的核心部分,它的精度和稳定度决定了数字钟的质量。由振荡器与分频器组合产生秒脉冲信号。 振荡器: 通常用555定时器与RC 构成的多谐振荡器,经过调整输出1000Hz 脉冲。 分频器: 分频器功能主要有两个,一是产生标准秒脉冲信号,一是提供功能 扩展电路所需要的信号,选用三片74LS290进行级联,因为每片为1/10分频器,三片级联好获得1Hz 标准秒脉冲。其电路图如下: 译码器 译码器 译码器 时计数器 (24进制) 分计数器 (60进制) 秒计数器 (60进制) 校 时 电 路 秒信号发生器

图二秒脉冲信号发生器 (二)秒、分、时计时器电路设计 秒、分计数器为60进制计数器,小时计数器为24进制计数器。 60进制——秒计数器 秒的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。当计数到59时清零并重新开始计数。秒的个位部分的设计:利用十进制计数器CD40110设计10进制计数器显示秒的个位。个位计数器由0增加到9时产生进位,连在十位部计数器脉冲输入端CP,从而实现10进制计数和进位功能。利用74LS161和74LS11设计6进制计数器显示秒的十位,当十位计数器由0增加到5时利用74LS11与门产生一个高电平接到个位、十位的CD40110的清零端,同时产生一个脉冲给分的个位。其电路图如下: 图三60进制--秒计数电路 60进制——分计数电路 分的个位部分为逢十进一,十位部分为逢六进一,从而共同完成60进制计数器。当计数到59时清零并重新开始计数。秒的个位部分的设计:来自秒计数电路的进位脉冲使分的个位加1,利用十进制计数器CD40110设计10进制计数器显示秒的个位。个位计数器由0增加到9时产生进位,连在十位部计数器脉冲输入端CP,从而实现10进制计数和进位

2位10进制加法计数器课程设计

目录 第1章前言 (1) 1.1 摘要 (1) 1.2 设计目的 (1) 1.3 设计内容及要求 (1) 第2章设计方案 (2) 2.1 系统框图 (2) 2.2主要芯片功能介绍 (2) 2.2.1 四位二进制计数器74161介绍 (2) 2.2.2七段显示译码器7448介绍 (3) 2.3 工作原理 (4) 第3章硬件设计 (5) 3.1 单元电路设计 (5) 3.2 总硬件电路图 (7) 第4章仿真与试验 (8) 4.1 仿真结果 (8) 4.2 调试中遇到的问题 (8) 第5章结论和体会 (9) 第6章参考文献 (10)

第1章前言 1.1 摘要 在数字电路技术的课程中,计数器的功能是记忆脉冲的个数,它是数字系统中应用最广泛的基本时序逻辑构件。计数器在微型计算机系统中的主要作用就是为CPU和I/O设备提供实时时钟,以实现定时中断、定时检测、定时扫描、定时显示等定时控制,或者对外部事件进行计数。一般的微机系统和微机应用系统中均配置了定时器/计数器电路,它既可当作计数器作用,又可当作定时器使用,其基本的工作原理就是"减1"计数。计数器:CLK输入脉冲是一个非周期事件计数脉冲,当计算单元为零时,OUT输出一个脉冲信号,以示计数完毕。 本十进制加法计数器是基于74161芯片而设计的,依靠传感器感应外界信号,传感器在感应范围内有物体时输出低电位,反之则是高电位。当传感器的感应范围内有物体移过时,传感器电位由高到低再到高,出现上跳沿。计数器会自动加一,并将在数码管上显示。本十进制加法计数器有两位七段数码管。可计数0~99个物体,并易于扩展。 该十进制加法计数器设计理念是用于工厂流水线上产品计数,自动计数,方便简单。 1.2 设计目的 1、综合运用相关课程中所学到的理论知识去独立完成某一设计课题; 2、学习用集成触发器构成计数器的方法; 3、进一步熟悉常用芯片和电子器件的类型及特性,并掌握合理选用器件的原则; 5、初步了解电路设计、仿真的过程和方法; 4、锻炼分析问题解决问题的能力; 1.3 设计内容及要求 1、具有2位10进制计数功能; 2、利用传感器,不接触计数; 3、每一个物体经过,计数器自动加1; 4、具有显示功能; 5、并用相关仿真软件对电路进行仿真。

数字电路实验报告——进制计数器逻辑功能及其应用

24进制计数器逻辑功能及其应用 一、实验目的: 1. 熟悉中等规模集成电路计数器74LS160的逻辑功能,使用方法及应用。 2. 掌握构成计数器的方法。 二、实验设备及器件: 1. 数字逻辑电路实验板1片 2. 74HC90同步加法二进制计数器2片 3. 74HC00二输入四与非门1片 4. 74HC04 非门1片 三、实验原理: 计数器是一个用以实现计数功能的时序部件,它不仅可用来计脉冲数,还常用作数字系统的定时、分频和执行数字运算以及其它特定的逻辑功能。 计数器种类很多。按构成计数器中的各触发器是否使用一个时钟脉冲源来分,有同步计数器和异步计数器。根据计数制的不同,分为二进制计数器,十进制计数器和任意进制计数器。根据计数的增减趋势,又分为加法、减法和可逆计数器。还有可预置数和可编程序功能计数器等等。目前,无论是TTL还是CMOS集成电路,都有品种较齐全的中规模集成计数器。使用者只要借助于器件手册提供的功能表和工作波形图以及引出端的排列,就能正确地运用这些器件。 集成计数器74HC90是二-五-十进制计数器,其管脚排列如图。

四、实验内容

实验电路图: 用74HC00与非门和74HC04的非门串联,构成与门。74HC00的引脚图和真值表如图:

74HC04的引脚图与真值表如图: 按实验电路图,参照各个芯片的引脚图和真值表,连接电路。其中Q0到Q3分别连到数码管的对应的D0到D3,CP0端接到时钟脉冲,然后检查电路无误后,加电源,观察现象。实验结果:个位数码管随时间显示0、1、2、3、4、5、6、7、8、9,十位数码管显示个位进位计数结果,按0、1、2变化,当数字增加到23后,数码管自动清零,又从零开始变化。 五、实验心得: 本次实验,通过对计数器工作过程的探索,基本上了解了数码计数器的工作原理,以及74HC160的数字特点,让我更进一步掌握了如何做好数字电子数字实验,也让我认识到自身理论知识的不足和实践能力的差距,以及对理论结合实践的科学方法有了更深刻理解。

实验二 简易计数器设计

实验二简易计数器设计 实验目的:掌握基本的VHDL语法,能够使用VHDL输入方式,设计实现简单的组合逻辑电路。 实验内容:设计实现个位数的加减乘除计算模块,实现4-8段数码管编码模块,利用两个模块实现计算器。 原理图:如下图所示 仿真结果及结果分析: 如下两张仿真结果图所示,A、B为两个个位的数,表示的范围都是0—7;S 表示A和B两个数进行运算时中间的运算符,即当S为0表示做加法运算、当S 为1表示做减法运算、当S为2表示做乘法运算、当S为3表示做除法运算;Y1和Y0表示A与B运算所得的结果用16进表示,做完后的仿真结果即为对应的七段显示译码器上显示的值,Y1是高位,Y0是低位和除法中的余数,当Y的数值为10则表示负号。

管脚锁定说明: 硬件测试情况说明及结果分析: 根据原理图上的芯片引脚功能按照设好的引脚用线连接好电路,A、B、S应该接到八个开关上控制A、B两个数的运算。开关L3、L2、L1分别对应引脚58、59、60,表示的为数A所表示的二进制数;开关L6、L5、L4分别对应引脚53、54、65,表示的为数B所表示的二进制数;S1、S0对应引脚为51、52,表示的为A 与B之间的运算符,00则为加法、01则为减法、10为乘法、11为除法;而Y0[0]—Y0[6]即输出低位对应七段显示译码器A—G,对应引脚分别为142、141、138、137、136、135、133,而Y1[0]—Y1[6]即输出的高位对应七段显示译码器A—G,

对应引脚分别为10、7、4、3、2、1、144,然后通过八个开关键来操作A、B两数的加减乘除情况,观察七段显示译码器上的结果是否正确,实验完成后可知所做实验符合预期结果的要求,实验成功。 cal代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY cal IS PORT( a,b:in integer range 7 downto 0; s :in STD_LOGIC_VECTOR (1 downto 0); y1,y0:out integer range 10 downto 0); END cal; ARCHITECTURE archcal OF cal IS BEGIN ca14_1:process(a,b) variable t:integer; begin if s="00" then t:=(a+b); elsif s="01" then t:=(a-b); elsif s="10" then t:=(a*b); else t:=(a/b); end if; if (t>=0) then y1<=(t/10);y0<=(t mod 10); else y1<=10;y0<=(-t); end if; end process ca14_1; END ARCHITECTURE archcal; seg7代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY seg7 IS PORT( a:in STD_LOGIC_VECTOR (3 downto 0); y:out STD_LOGIC_VECTOR (6 downto 0) ); END seg7;

相关文档
最新文档