当前位置:文档之家› EDA课程设计报告

EDA课程设计报告

EDA课程设计报告
EDA课程设计报告

学号

EDA课程设计

课程名称 EDA技术

题目名称简易逻辑分析仪

学生学院信息工程学院 _

专业班级

学号

学生姓名

2012年 1 月 1 日

简易逻辑分析仪的设计

1. 设计的任务与要求

设计并制作一个8 路数字信号发生器与简易逻辑分析仪,其结构框图如图1 所示:

图12.1. 简易逻辑分析仪系统结构框图

1.1设计基本要求

基本要求:

(1)制作数字信号发生器能产生8路可预置的循环移位逻辑信号序列,输出信号为TTL 电平,序列时钟频率为100Hz,并能够重复输出。逻辑信号序列示例如图2所示。

(2)制作简易逻辑分析仪

a.具有采集8路逻辑信号的功能,并可设置单级触发字。信号采集的触发条件为各路被测信号电平与触发字所设定的逻辑状态相同。在满足触发条件时,能对被测信号进行一次采集、存储。

b .能利用模拟示波器清晰稳定地显示所采集到的8路信号波形,并显示触发点位置。

c.8位输入电路的输入阻抗大于50k Ω,其逻辑信号门限电压可在0.25~4V范围内按16级变化,以适应各种输入信号的逻辑电平。

d.每通道的存储深度为20bit。

图12.2 重复输出循环移位逻辑序列00000101

1.2 设计发挥部分

(1)能在示波器上显示可移动的时间标志线,并采用LED或其它方式显示时间标志线所对应时刻的8路输入信号逻辑状态。

(2)简易逻辑分析仪应具备3级逻辑状态分析触发功能,即当连续依次捕捉到设定的3 个触发字时,开始对被测信号进行一次采集、存储与显示,并显示触发点位置。3级触发字可任意设定(例如:在8路信号中指定连续依次捕捉到两路信号11、01、00作为三级触发状态字)。

(3)触发位置可调(即可选择显示触发前、后所保存的逻辑状态字数)。(4)其它(如增加存储深度后分页显示等)。

2. 方案论证与选择

2.1 数字信号发生器方案

?利用单片机内的定时器,产生计数溢出中断,从而实现信号频率要达到100Hz的要求。

?当改变拨段开关的预设值后,按下数字开关,单片机会重新读入8位数据,并对改变后的数据进行读取和输出。

?在中断程序中对信号实现循环右移和输出,每次中断到来的时候,单片机便对输出端口输送一组信号。

图1 数字信号发生器

2.2 逻辑分析仪的设计

方案一:采用高性能单CPU系统实现,比如32位的ARM芯片作为控制系统核心。如果采用此方案,可以很好的解决同时采样和控制显示的功能,但是ARM 系统设计调试复杂,在短时间内难以很好的完成设计,所以不宜采用此方案。

方案二:针对分析中提出的问题,我们也可以采用两片普通51单片机来实现系统设计,一片51实现数据采集,存储;另一片51实现控制示波器实时显示功能,两片51之间采用串行通信来解决数据通信问题,这样的方案可以满足题目提出的设计要求。

方案三:采用大规模FPGA来实现系统,

采用FPGA来实现相应功能,一般是使用状态机方式来实现,即所解决的问题都是规则的有限状态转换问题。分析本题目的要求,可以看出,其中的逻辑控制灵活多变,适合于采用程序控制的cpu执行方式,如使用FPGA来实现,大部分的资源会消耗用来控制键盘和显示等辅助功能,用在主逻辑控制方面的资源相对比较少。另外,考虑到逻辑复杂程度和实现规模,可采用芯片大概要到Alter EPF11C50、Alter EP1C6等级别的芯片来实现,但此种规模PLD系统受实验室条件限制,无法顺利开发,而且其所需元器件和EPC配置芯片在本地无法买到,因而综合比较后我们淘汰掉本方案。

综合分析上述各方案,比较其优缺点,包括灵活性、可靠性、可扩展性和

易操作性,所以选用方案二。

3. 简易逻辑分析仪方案实现

(1)结构组成:

本分析仪由数据采集存储和控制显示两部分构成:数据采集存储模块由信号输入电路、89C52单片机、小键盘和液晶显示模块组成;逻辑状态与波形显示模块由D/A变换器(TLC7226)和89C52构成。两模块之间采用串行通信方式。

结构框图如下:

(2)数据采集和存储部分

此部分对应框图中的MCU1、电压比较器、键盘和LCD液晶显示

1、输入电路:

八路输入信号通过电压比较器LM339和D/A转换器TLC7226提供的基准电压作比较后,作为存储单片的输入,8路信号接入LM339同相输入端,可以获得较大阻抗。

2、触发和存储原理:

本部分功能主要依靠51单片机来实现。

根据题目要求,对逻辑信号的采集是要依靠触发字来触发的。触发字又分单级触发字和三级触发字两种,单级触发字的预置依靠小键盘输入实现。当单片机采集到的状态字和用户所提供的触发字8位逻辑状态完全一致时,开始一次数据采集,连续采集24位,然后存储到显示缓冲区中,这样每个显示通道的存储深度为 24bit;

对于三级触发字方式,设定从外部采两位的状态,连续取三次,都和我们设定的两位逻辑状态一样的情况下,将进入3级触发采集状态,开始采集。

采集完24位数据后,存储起来。为了同时显示8路信号,所以数据送去显示前要把采集到的数据进行拼装处理,把采集到的24个字节排列成适合显示的8通道数据组合,每一通道存放从同一输入端口采集到的24BIT信息即组合形

成8个存储深度为24BIT的数据显示通道,这样就可以把数据依次送到示波器上按行扫描显示。

(3)逻辑状态与波形显示部分

此部分对应框图中的MCU2、D/A转换器和示波器。本部分的主要难点集中在示波器显示控制上,我们先对示波器的显示方法进行分析讨论:

1、显示方法分析:

要能同时在示波器上看到8路信号波形,模拟示波器需要用外接扫描信号方式工作示波器上显示数字信号发生器的8路信号和1路触发点位置标识,共需9个通道。同时显示这9个通道的信号,需要采用动态扫描的方法:借助9个不同的基准电压,使显示的9路波形分别处在不同的位置上,即把要在示波器上显示的信号电平Qi+Vi偏置电平(i=0~7)加与示波器Y轴输入端。X轴输入则是由TLC7226提供的线性锯齿波。

显示的信号电平Qi+Vi其叠加效果如下图的Y++所示:

具体扫描方式有三种方案可供选择:

(1)、按行扫描方式,X用外触发方式,扫描10次扫完一屏。X要外接线性的锯齿波信号,Y和上述说明中没有变化。按行扫描送的数据是把数据采集存储24BIT深度后,把Q0--Q7的数据串行送到示波器,即先送Q0的24BIT,再依次送Q1--Q7的24BIT,扫完一屏要送9次(还有时标数据)。

时标的扫描方法:扫描光标是单独进行的一行扫描。我们在扫描光标亮点的时候,给X提供一个小平台电压,这样扫描光点在平台电压的持续时间内水平方向不移动,而与此同一时间,Y方向上快速扫描,形成一竖直的时标线。这样X轴的电压是带一个小平台的锯齿波。

(2)、按行扫描方式,X用外触发方式,扫描9次扫完一屏,X、Y接法和方案一一样。此扫描方法没有单独去实现时标的显示扫描,时标的扫描显示通过将时标分成9次显示分别在各频道的扫描显示中打点显示,由于一屏的扫描时间为(1/25)S,眼睛是觉察不到时标的分段显示过程的。这样也可减少一次扫描时间,提高显示质量,且同样可以实现方案二中的竖直时标线,也不至于造成产生小平台锯齿波的问题。此方法较简单,且效果也不错。

(3)、按列扫描方式,X采用外触发方式,故X、Y接法同方案2。

具体扫描过程是:按列扫描时送数据的顺序是8位为一组,即单片机采集一次的Q0--Q7共8BIT数据,扫完一屏需送24次。扫描第一个通道的10点(即1BIT)结束后,X输入的电平立刻变为此BIT的起始处的电平值,Y方向同时变化一台阶,再扫描第二个频道的10点,重复第一频道的操作,一直扫描到存储深度24(第0页),则扫完一屏。

此方案中X端的不规则锯齿输入的提供也是一个问题,这种方案情况下的时标输入也是先计算好位置,在单BIT扫描中打点实现的。

综合以上几种方案的分析比较,我们选用方案2,此方案灵活简单,实现起来相对方便,而且可以达到较好的效果。

2、具体硬件实现:

(1)、D/A转换器:

TLC7226提供的基准电压变化范围大(0~5V),可适应各种输入信号的逻辑电平,提高了测量范围和测量精度。

此输入电路在本设计中,由于信号发生器输出TTL电平,没有将这一优点体现出来。

数据显示模块用一片162A液晶显示,用高四位传输数据,接法与信号发生器中一样。

TLC7266加示波器显示模块

产生周期相同的X和Y信号,便于波形显示的同步,且可以显示较复杂的波形。但单片机通过D/A转换器产生波形产生信号波形时,输出频率会受到单片机本身工作速度的限制(12MHZ晶振主频时,机器周期为1us);其次,要有一定的显示质量,在信号的一个周期内取样点不能太少,这进一步限制了信号的频率。

TLC7226是高性能D/A转换器,片内包含四路8位电压输出数/模转换器(DAC),每个DAC都有分离的片内锁存器,数据通过一个公共的8位TTL/CMOS 兼容(5V)输入口送入这些数据寄存器之一。由A0和A1决定/WR变低时哪个DAC 被加载。在/WR的上升沿,数据被锁存在被寻址的输入寄存器,只有保存在DAC 寄存器中的数据决定转换器的模拟输出。

由D/A转换器TLC7226和示波器组成,采用一片TLC7226产生三路模拟信号,OUT C提供基准电压,使逻辑信号门限电压在0~5V范围内按32级变化;OUT B提供线性锯齿波作为示波器X方向输入,用这个线性增长的电压作为扫

描电压控制电子束移动,以产生示波器上光点的水平移动;OUT A提供Y轴偏置电平以区分各频段显示位置,一共需要9个电平以区分9个频段的输出显示。此9个偏置电平和T0输出的信号相迭加,实现T0信号在示波器上的的分频段显示。

(2)、产生和使用门限

单片机通过对D/A设置不同输出电压,得到门限电平从D/A转换器输出到LM339反相输入端。

(3)、产生Y轴偏置信号

针对分通道显示时,我们注意到并不是简单的叠加偏置电平就可以的,因为叠加到偏置电平上的信号电压本身可能就很高,超过相邻偏置电平的变化值,这样就会发生相邻频道信号甚至多频道信号波形的叠加,这样我们的分频道实现多路显示也就已经没有了任何意义。考虑到这种情况,我们就需要对信号叠加偏置电压前进行限幅处理,以使各路频道信号均匀的分布于示波器的屏幕上得以清晰显示。并且要保证各信号之间要有一定的空白间隔,以区分显示9个频段。针对此方案,我们设计了如下电路图2.2所示作为示波器的输入电路来实现在示波器上清晰显示,此电路不仅解决了上面我们注意到的存在问题即输入电平的幅度问题,同时简单的实现了时标的扫描显示。这是一个同相求和的运算电路,运放接成电压跟随器形式:

Vdot、Vdat、Vbase分别通过R1、R2、R3接运算放大器的同相输入端V2,并通过电阻R4接地,运算放大器的输出端接入反相输入端,接成电压跟随器。由电压跟随器的特点可列写:

Vo=V1 ,V1=V2

V2/R4 + (V2-Vdot)/R1+(V2-Vdat)/R2+(V2-Vbase)/R3=0 所以 V0=K1*Vdot + K2*Vdat + K3*Vbas

其中: K1=K/R1 ; K2=K/R2;K3=K/R3;

1/K=1/R1+1/ R2+1/ R3+1/R4 ;

Vbas是在0~5v范围内变化的模拟电压

则在V0处的变化范围是0~2.68V即△V0=2.68;

要在示波器上实现9频道的输出,则每一频道所占的变化电压是:

△V=△V0 / 9=0.29;

要使各频段的波形由空白间隔的显示,则让显示波形占频道的4/5,而留下1/5的空白区分各频道的波形使之不会发生相邻波形的重影现象,这样由于加

法器的输入端接法,使得本来应该是0~5V的大幅度变化变为0~2.68V小幅度输出,再被9个频段平分,

这时可计算得到每频道内显示的波形电压幅值为:

△V2=△V* 4 / 5=0.232V;

使Vdat的值从低电压0V变到5V时,调节R2合适数值,使△V2恰好为0.232V;

若要显示光标,则需在空白的中间显示,这样叠加在△V2上显示时标亮点的

△V1=(△V/5)/ 2=0.029V;

此时使Vdot的值从低电压0V变到高电压5V时,调节R1数值使△V1恰好为0.029V;

实际电路调节合适后可以得到电路的各参数:

R1=2M欧,R2= 470K欧,R3= 36K欧,R4= 47K欧

Vdot=0时,为正常的扫描模式:

Vdot=1时,为打点扫描模式:

在屏幕上显示的效果为:

第一行为触发点显示行,在没有触发点的时候触发点显示行显示一条低电平的亮线,有触发点时则在触发字处显示持续一个周期的高电平,然后降下来显示低电平亮线,所以出现1BIT的高电平时,则表明有触发点且触发点就在这一位上,并且此触发点的位置是可以人工调节的。

第二行~第九行依次显示采集到的Q0~Q7信号逻辑状态。

时标的扫描是通过Vdot和输入显示的Vdat相叠加,因而会在显示的数据电平上叠加一个△V1,连续扫描4个点;

若原来的Vdat是高电平,则接着将原来光标的显示电平减去△V2,这样光标相当于叠加在此频道的输入低电平上,反之,若原来的Vdat是低电平,则在原来光标的显示电平加上△V2,这样光标相当于叠加在此频道的输入高电平上,再连续扫描4点后,这样就在这一频道上出现两条有高度差的小光标,由于一个持续电平时间时间较短,两段光标有倾斜度,仔细观察是会发现每个频道的时标段都有一定的小弧度,但对显示效果的影响不明显,可以忽略。

同样的方法扫描完一屏后,每个频段都在此位上有两段亮点,竖向看起来就是一条接近竖直线的亮线显示于屏幕上,这就是我们想要显示的时标。时标可以左右移动,也可以实现显示消隐。不显示时标时,使Vdot=0即可。

(4)简易逻辑分析仪的软件流程:

简易逻辑分析仪的开机状态:阈值为2.5V,开机初始为未触发状态,为示波器工作模式,LCD显示第0页信息,时间标志线在屏幕最左端。

数据采集流程:

INT0中断

INT1中断

数据显示流程:

(5)实时波形存储与上下翻页

在没有触发字的状态下,简易逻辑分析仪做示波器使用,将采集到的信号即时发送到MCU2上实现对信号的实时显示,如果想保存波形可以通过STORE功能键完成,将显示器上的波形信息保存下来,恒定显示在示波器上,也可以以后回放观看。实时波形存储,既方便有快捷,.我们称之为实时波形存储.

通过STORE键操作,我们可以随时存储实时的波形.在正常的数据传递、波形显示的情况下,按下STORE保存下当前的波形,以备以后回放之用。此时,正常的数据传递被打断,简易逻辑分析仪将波形恒定的显示在示波器上,直到通过按键操作被释放为止。

由于我们的简易逻辑分析仪采用双页式存储结构,可以存储两显示屏的数据,所以我们通过UP/DOWN 键来翻看波形情况。在实时波形存储情况下,可以存储两显示屏的波形信息。查看这些波形信息,我们只需要通过UP/DOWN键就可以上下翻看两屏波形信息。我们称此为实时波形存储与上下翻页。

实时波形存储与上下翻页功能的开发是基于示波器的显示存储思想而来的。通过软件编程,我们可以方便的分析数字逻辑信号的逻辑功能,直观的显示出来,还可以方便地存储我们想要的波形信息并回放。这是我们这个简易逻辑分析仪的特色功能之一。

4、测试及结果分析:

4.1、信号发生器测试

我们将数字信号发生器的组成部分封装到盒子中,外接出控制按键和用户依靠液晶显示的提示进行操作,实现人机交换操作,需要监测的引脚和输出引脚通过插孔引出,外接检测和提供输出时,只需用插线插进插孔和外部电路连接即可,这是一种可灵活改变的跳线结构,简单易操作。

1、测试仪器:

数字存储示波器TDS210

TDS210技术参数: 60MHz带宽,lGS/s采样率,双通道数字示波器,2.5K 记录长度,3%垂直精度,2mV垂直灵敏度,可选三种扩充模块,高亮液晶显示。

2、测试步骤:

(1)、观察上电起始显示情况。用插线连接好电源,接好地,把CLK输出和P0各口的用插线接到示波器TDS210上,液晶屏幕上将显示欢迎信息和当前P0口循环输出的默认序列0000 0101,8位序列结束处有闪烁标志,仅接其后显示的是输出CLK信号的频率100HZ。

用示波器TDS210监视P0口的输出波形Q0~Q7,观察它的输出规律是0000 0101序列在循环移位显示;同时可从屏幕上可观察P0口波形的电压值(高电平和低电平的峰峰值):

用示波器TDS210监视CLK输出口波形;同时可从屏幕上读出CLK信号的频率:

(2)、预置8位循环信号序列,并检测输出信号电平。

按下SET键1号,进入设置状态后,闪烁标志停,等待2号和3号键的输入进行0/1设置,按动输入8位后,输入中若输错了值,则按动4号撤销键,光标前移。按ENTER后,则设置结束,新设的序列在液晶上显示出来,用示波器检测P0口输出脉冲循环情况确为新设脉冲的重复循环移位显示。

用TDS210检测输出P0信号的峰峰值电平差,并记录下来。

(3)、测试序列的时钟频率

用示波器TDS210监视CLK输出口波形;同时可从屏幕上读出CLK信号的频率稳定显示,且输出波形稳定清晰。

拔出电源插线,结束检测,整理测试结果,分析实验过程。

3、测试结果:

基准电压为0v,测量数据如下:

波形显示:

4、结果分析:

●由测试频率表可看出所测结果符合要求:CLK的频率基本为100HZ,与液晶显示0.1K的频率值相符合。

●由所测电平的峰峰值记录可知,输出电平变化范围大,接近5V,输出信号必定满足TTL电平要求。

●由步骤2的操作过程可知,可以实现8路逻辑信号的预置入功能,并且顺利的实现了置入逻辑信号序列的重复循环移位输出,所画波形图即为循环显示的默认逻辑序列情况。

总之,数字信号发生器已经实现了所有的基本要求,并且加了一片液晶实时显示P0口的循环序列,一边置数另一边会在液晶上显示出输入的数字,为使用用户提供了友好的界面提示,且允许用户回退光标。由于时间限制,频率选择键的选择功能还未扩展写入。此数字信号发生器经测试已验证其精度相对较高,其效果较为理想。

4.2、简易逻辑分析仪的测试过程和结果分析

简易逻辑分析仪电路系统被封装起来,外接可插拔的电路接口

1、测试仪器:

万用电表、模拟示波器

2、测试步骤:

(1)、首先接上电源观察简易逻辑分析仪的开机状态:

第一行没有高电平触发标志,处于未触发状态;时间标志线可以清晰的看到显示于屏幕的最左端。

(2)、按下设置键进入设置状态,再按动一下进入单极触发字设置状态,依次按0/1键进行单极触发初始字的设置,同时对信号发生器也设置一个和出发字相同的脉冲序列,然后在示波器屏幕上就会看到我们所设信号发生器的信号在示波器上清晰稳定的显示,并且在Q0—Q7即第二通道向下到最后一通道的所显示的状态字与单级触发字恰好相同处的一条垂直方向处有高电平升起,这便是触发处。这证明单极触发字被顺利写入,且在各路被测信号电平与触发字所设定的逻辑状态相同时,即在满足触发条件下进行了一次采集、存储。

在步骤1和步骤2中,我们在模拟示波器上看到了清晰稳定的波形显示,并且在步骤2中看到了触发高电平,证明其可以清晰的显示出发点位置。

我们观察屏幕上的波形,数一下,会发现恰好是我们的存储深度24bit. 其电压,测得V2.

3、测试结果:

4

从上面可以看出三次的测量关系:v1接近于v2的两倍。

故而,输入电阻就和所接如电阻数值相当。即大约为100k

即得到结论8位输入电阻的阻抗大于50千欧。

附录

简易逻辑分析仪的数字信号采集、处理、串行发送的部分程序.

// LOGICAL ANALIST

// main.c @12MHz

#include <89C51C.H>

#include

#include

#define lint unsigned long

#define uint unsigned int

#define uchar unsigned char

idata struct series

{ uchar Series[48]; //signal series 24 bits&2 pages

uchar Time_flag_line; //0--23

uchar Trigger_Position; //single trigger position -3---19

uchar Gate_V oltage;//2.5V default

} Series;

uchar temp1[3];

uchar Series_Number=0;//signal series

uchar DispArray[8],DispArrayTemp[8]; //disp series array

uchar Trigger_Word=0x03,Trigger_Word_Temp; //single trigger word temp

uchar Trigger_Level=0,Trigger_Level_Temp; //trigger level (0)NoTrigger

int Trigger_Position_Temp=0,j=0;

uchar key; //keyV alue

uchar i,temp;

uchar idata PageFull; //Page being displayed. (_NO)

bit enter=0;

bit sent=0; //send done

bit send_ok=0; //send_ok

bit flag0=0,flag1=0,flag2=0,flag3=0,flag4=0,flag5=0;

bit start_flag=0; //single trigger is triggerred.

uchar setmode=0; //setmode:0 no_set; 1:Trigger_Level=1(set Trigger_Word);

//2:Multiple_Level_Set; 3:Set Gate_V oltage

sbit WDI=P3^7;

extern uchar readkey();

// NOKEY FF;set 00; 0/1 01;updown 02;read 03;store 04;left 05;right 06;ENTER 07. //extern void delay250us(void);

//extern void delay500us(void);

//extern void delay1ms(void);

//extern void delay5ms(void);

//extern void delay10ms(void);

extern void delay50ms(void);

//extern void delay20ms(void);

extern void Disp_Init();

extern void Disp_LocateCursor(const uchar );

extern void Disp_HideCursor(void);

extern void Disp_ClearInfoLine(void);

extern void Disp_ClearFuncLine(void);

extern void Disp_InfoLinePos(uchar, const char *);

extern void Disp_InfoLine(const char *);

extern void Disp_FuncLine(const char * );

extern void Disp_InfoLineSlideFromRight(const char *);

extern void Disp_FuncPos(uchar, const char *);

extern void Disp_Notice(const char *);

extern void Transfer(void);

//Disp Function

void sys_init(void);

void intt0P(void);

void SeriesDisp(char); //Series to DispArray;

void TriggerWordTempDisp(void);

void TriggerWordDisp(void);

void start_hello(void);

void DispTrigger_Position_Temp(void);

//Trans Function

void DispArraytoTriggerWord(void);

void DispArraytoSeries(void); //DispArray to Series;

void DispPosition(char);

void GateV oltageDisp(char);

void Read_data(void);

extern void Send_Data(void);

void StoreWaves(void);

void frequency_count(void);

void exit(void);

void delay1s(void);

//LOGICAL ANALIST

void main (void)

{

/*INITIALIZE 89C52 */

sys_init();

//lcd welcome information

start_hello();

delay1s();

delay1s();

delay50ms();delay50ms();WDI=0;WDI=1;

for(i=0;i<8;i++) DispArrayTemp[i]=DispArray[i]; Trigger_Word_Temp=Trigger_Word;

//Disp_InfoLineSlideFromRight("SET:TRG CUR TIM"); //Disp_FuncLine(" SET <-> SET");

while(1){

if(j==30000)

{j=0;

Disp_InfoLineSlideFromRight("SET: TRG CUR TIM"); Disp_FuncLine("KEY: SET <-> SET");

}

j++;

flag1=0;

//key operation

key=readkey();

switch(key)

{case 0x00:

while(flag1==0)

{ setmode=1; //set

Disp_InfoLine("TRL TRW TRP GVO");

Disp_FuncLine(" 0 1 RD ST");

flag0=0;

key=readkey();

switch(key) //0/1/read

{//trigger level

case 0x01: while(flag0==0)

{Disp_InfoLine(" TRIGGER LEVEL ");

Disp_FuncLine(" <-- 0L || -->1L");

key=readkey();

if(key==0x05) Trigger_Level_Temp=0;

if(key==0x06) Trigger_Level_Temp=1;

if(key==0x07) flag0=1;

}

if(Trigger_Level_Temp==0) Disp_FuncLine(" ZERO LEVEL ");

if(Trigger_Level_Temp==1) Disp_FuncLine(" ONE LEVEL ");

delay1s();

break;

//Trigger_position

case 0x03: flag2=0; Trigger_Position_Temp=Series.Trigger_Position;

DispPosition(Trigger_Position_Temp);

while(flag2==0)

{Disp_InfoLine("TRIGGER POSITION");

DispPosition(Trigger_Position_Temp);

key=readkey();

if((key==0x05)&&(Trigger_Position_Temp>-3))

Trigger_Position_Temp--;

if((key==0x06)&&(Trigger_Position_Temp<19))

Trigger_Position_Temp++;

if(key==0x07) {flag2=1;

Series.Trigger_Position=Trigger_Position_Temp+3;

Trigger_Position_Temp=0;}

//DispPosition(Series.Trigger_Position);

}

break;

//trigger_word

case 0x02:j=0;flag3=0; //flag

Disp_InfoLine("TRIGGER WORD");

TriggerWordDisp();

while(flag3==0)

{TriggerWordDisp();delay1s();

for(j=0;j<8;j++) DispArray[j]=' ';

flag4=0;

j=0;

while(flag4==0)

{

key=readkey();

if((key==0x01)&&(j>=0)&&(j<=7)) {DispArray[j]='0';j++; }

if((key==0x02)&&(j>=0)&&(j<=7)) {DispArray[j]='1';j++; }

if((key==0x05)&&(j>=0)&&(j<=8)) {DispArray[j-1]=' ';j-=1; }

if(key==0x07) {flag3=1;flag4=1;DispArraytoTriggerWord();}

Disp_FuncLine("WORD:");

Disp_FuncPos(6,DispArray); Disp_FuncPos(14," ");

}

}

TriggerWordDisp();delay1s();

delay1s();

break;

//set Gate_V oltage

case 0x04:flag5=0;temp=Series.Gate_V oltage;

while(flag5==0)

{Disp_InfoLine("GA T VOL(0-5V/32)");

Series.Gate_V oltage=128;

key=readkey();

if((key==0x05)&&(temp>=8)) temp-=8;

if((key==0x06)&&(temp<=256)) temp+=8;

if(key==0x07) {flag5=1;Series.Gate_V oltage=temp;}

GateV oltageDisp(temp);

}

GateV oltageDisp(Series.Gate_V oltage);

break;

default: break;

}

key=readkey();

if(key==0x07) {flag1=1;//exit and store

}

}

break;

//READ

case 0x03: Read_data();

break;

//STORE

case 0x04: StoreWaves(); WDI=0;WDI=1;

break;

//<---

case 0x05:if(Series.Time_flag_line>0) Series.Time_flag_line--;

Disp_InfoLine("TIME FLAG LINE");DispPosition(Series.Time_flag_line);

delay1s();

break;

//--->

case 0x06:if(Series.Time_flag_line<24) Series.Time_flag_line++;

Disp_InfoLine("TIME FLAG LINE");DispPosition(Series.Time_flag_line);

delay1s();

break;

default : break;

}

}

} //main end

//INTERRUPT PROCESSING FUNCTION

//read data

void intt0P(void) interrupt 0

{ i=P1;

switch(Trigger_Level) //0 1 2

{case 0: Series.Series[Series_Number]=i; //no trigger word

Series_Number++;

if(Series_Number>=24) PageFull=0; //page 0 is ok

else PageFull=1; //page 1 ok

if(Series_Number>=48) Series_Number=0;

if((Series_Number==24)||(Series_Number==48)) send_ok=1;

sent=0; //data changes: sent no done

break;

//check trigger_word

case 1: if((i!=Trigger_Word)&&(start_flag==0)) //store temp data

{temp1[0]=temp1[1];temp1[1]=temp1[2]; temp1[2]=i;}

if((i==Trigger_Word)&&(start_flag==0))

{start_flag=1; //single trigger start

switch(Series.Trigger_Position)

{case 3:Series.Series[0]=temp1[0];

Series.Series[1]=temp1[1];

Series.Series[2]=temp1[2];

Series_Number=3;break;

case 2:Series.Series[0]=temp1[0];

Series.Series[1]=temp1[1];

Series_Number=2;break;

case 1:Series.Series[0]=temp1[0];

Series_Number=1;break;

default:break;

}

Series.Series[Series_Number]=i;

Series_Number++;

}

if(start_flag==1) //started &read data

{ Series.Series[Series_Number]=i;

if(Series_Number>=24) PageFull=0; //page 0 ok

else PageFull=1; //page 1 ok

if(Series_Number>=48) Series_Number=0;

if((Series_Number==24)||(Series_Number==48)) send_ok=1;

sent=0; //data changes: sent no done

}

default:break;

}

}

//send data from serial port

void intt1p(void) interrupt 2

{ if((sent==0)&&(send_ok==1)){Send_Data();

sent=1; //send done

send_ok=0;//data not ok

}

}

//sys_initilize

void sys_init()

{

P1=0x0ff;

P2=0x0ff;

P0=0x0ff;

P3=0x0ff;

EA=1;ET1=1;

Series.Time_flag_line=0;

Series.Trigger_Position=0;

Series.Gate_V oltage=128;

Series_Number=0;

sent=0; //no sent

Trigger_Level=0; //trigger level default(0)

Trigger_Position_Temp=0;

send_ok=0; //no ready

start_flag=0;

}

void start_hello(void)

eda课程设计报告多功能数字钟设计大学论文

湖北大学物电学院EDA课程设计报告(论文) 题目:多功能数字钟设计 专业班级: 14微电子科学与工程 姓名:黄山 时间:2016年12月20日 指导教师:万美琳卢仕 完成日期:2015年12月20日

多功能数字钟设计任务书 1.设计目的与要求 了解多功能数字钟的工作原理,加深利用EDA技术实现数字系统的理解 2.设计内容 1,能正常走时,时分秒各占2个数码管,时分秒之间用小时个位和分钟个位所在数码管的小数点隔开; 2,能用按键调时调分; 3,能整点报时,到达整点时,蜂鸣器响一秒; 4,拓展功能:秒表,闹钟,闹钟可调 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩 在规定时间内,完成叙述并回答问题。

目录(四号仿宋_GB2312加粗居中) (空一行) 1 引言 (1) 2 总体设计方案 (1) 2.1 设计思路 (1) 2.2总体设计框图 (2) 3设计原理分析 (3) 3.1分频器 (4) 3.2计时器和时间调节 (4) 3.3秒表模块 (5) 3.4状态机模块 (6) 3.5数码管显示模块 (7) 3.6顶层模块 (8) 3.7管脚绑定和顶层原理图 (9) 4 总结与体会 (11)

多功能电子表 摘要:本EDA课程主要利用QuartusII软件Verilog语言的基本运用设计一个多功能数字钟,进行试验设计和软件仿真调试,分别实现时分秒计时,闹钟闹铃,时分手动较时,时分秒清零,时间保持和整点报时等多种基本功能 关键词:Verilog语言,多功能数字钟,数码管显示; 1 引言 QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,解决了传统硬件电路连线麻烦,出错率高且不易修改,很难控制成本的缺点。利用软件电路设计连线方便,修改容易;电路结构清楚,功能一目了然 2 总体设计方案 2.1 设计思路 根据系统设计的要求,系统设计采用自顶层向下的设计方法,由时钟分频部分,计时部分,按键调时部分,数码管显示部分,蜂鸣器四部分组成。这些模块在顶层原理图中相互连接作用 3 设计原理分析 3.1 分频器 分频模块:将20Mhz晶振分频为1hz,100hz,1000hz分别用于计数模块,秒表模块,状态机模块 module oclk(CLK,oclk,rst,clk_10,clk_100); input CLK,rst; output oclk,clk_10,clk_100;

EDA课程设计报告资料

课程设计 设计题目: 学生姓名: 学号: 专业班级: 指导教师: 2015年月日

设计 题目成绩 课 程 设 计 主 要 内 容 指 导 教 师 评 语 签名:20 年月日

设计题目:测量放大器电路原理图和PCB板设计 一、实验目的 1.了解学习Protel 99SE的目的与意义; 2.掌握Protel 99SE绘制电路原理图方法与技巧; 3.掌握PCB设计方法与技巧。 二、实验要求 1.利用Protel 99SE绘制一张电路图; 2.对绘制好的电路图进行ERC检查; 3.生成网络表; 4.生成元件列表; 5.利用Protel 99SE完成对应的双面印刷电路板设计。 三、功率放大器设计 实验原理图如下图所示: 图1

四、protel制图 4.1设计电路原理图 1.电路原理图 电路原理图的设计是整个电路设计的基础,因此电路原理图要设计好,以免影响后面的设计工作。电路原理图的设计一般有如下步骤: (1)设置原理图设计环境; (2)放置元件; (3)原理图布线; (4)编辑和调整; (5)检查原理图; (6)生成网络表。 2.设计印刷电路板 印刷电路板设计是从电路原理图变成一个具体产品的必经之路,因此,印刷电路板设计是电路设计中最重要、最关键的一步。通常,印刷电路板设计的具体步骤如下: (1)规划电路板; (2)设置参数; (3)装入网络表; (4)元器件布局; (5)自动布线; (6)手工调整。 4.2 绘制测量放大器电路原理图 原理图设计最基本的要求是正确性,其次是布局合理,最后是在正确性和布局合理的前提下力求美观。根据以上所述的电路原理图设计步骤,两级放大器电路原理图设计过程如下: 1.启动原理图设计服务器 进入Protel 99 SE,创建一个数据库,执行菜单File/New命令,从框中选择原理图服务器(Schematic Document)图标,双击该图标,建立原理图设计文档。双击文档图标,进入原理图设计服务器界面。如图2

EDA课程设计流水灯设计

EDA课程设计 流水灯设计 姓名: 金兼强 专业: 电子信息工程 班级: 093252 学号: 09325211 同组人:黄奕林简讯 黄树金兼强黄玉涛 指导老师:黄河 2012-11-9

目录 一、摘要〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 二、流水灯设计目的〃〃〃〃〃〃〃〃〃〃〃〃〃〃4 三、流水灯设计流程〃〃〃〃〃〃〃〃〃〃〃〃〃〃4 四、流水灯设计程序〃〃〃〃〃〃〃〃〃〃〃〃〃〃5 五、流水灯设计管脚分配〃〃〃〃〃〃〃〃〃〃7 六、功能仿真图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃8 七、原理图波形图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃9 八、设计注意事项〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃10 九、课程设计总结〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃11 十、参考文献〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃12 十一、评分表〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃 13

一、摘要 随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。随着技术市场与人才市场对EDA 的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。因此学好EDA技术对我们有很大的益处。EDA是指以计算机为工具,在EDA软件平台上,根据设计社描述的源文件(原理图文件、硬件描述语言文件或波形图文件),自动完成系统的设计,包括编译、仿真、优化、综合、适配(或布局布线)以及下载。 流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。 课程设计主要的目的是通过某一电路的综合设计,了解一般电路综合设计过程、设计要求、应完成的工作内容和具体的设计方法、通过设计也有助于复习、巩固以往的学习内容、达到灵活应用的目的。在设计完成后,还要将设计的电路进行安装、调试以加强学生的动手能力。在此过程中培养从事设计工作的整体观念。 课程设计应强调以能力培养为主,在独立完成设计及制作任务同时注意多方面能力的培养与提高,主要包括以下方面: ·独立工作能力和创造力。 ·综合运用专业及基础知识,解决实际工程技术问题的能力。 ·查阅图书资料、产品手册和各种工具书的能力。 ·写技术报告和编制技术资料的能力。 ·实际动手能力。 利用学到的电子技术知识,通过布置具有一定难度的设计题目,帮助学生熟悉课程设计任务和设计方法。

EDA课程设计报告

湖北职业技术学院《EDA技术》课程设计报告 题目动态输出4位十进制频率计的设计所在学院电子信息工程学院 专业班级电信08304 学生姓名马强 学号08024839 指导教师王芳 完成日期2010年11月18 日

目录 一、概述 (3) 二、设计正文 (4) (一)设计目的 (4) (二)设计实现 (4) 1、端口说明 (4) 2、Cnt10模块说明 (5) 3、Tctl模块说明 (6) 4、锁存器reg16模块说明 (8) 5、Scan_led模块说明 (9) 6、顶层文件仿真 (10) 7、硬件下载 (11) 三、总结 (13) 四、感言 (14) 五、参考文献 (15)

概述 此次设计的主要目的是学习掌握频率计的设计方法;掌握动态扫描输出电路的实现方法;学习较复杂的数字系统设计方法。通过单位时间(1秒)内频率的计数来实现频率计的设计。此设计主要用四位十进制计数器,所以频率计数范围为100~9999Hz。然后锁存防止闪烁显示,最后由译码扫描显示电路输出到数码管进行显示输出。并且下载后会有一秒钟的延时后才会显示输出所计频率输出。设计下载后能够进行仿真频率的计数和静态显示,但是分频的设计程序有所缺陷导致长时间显示后会有1Hz的抖动。通过这次的设计能够更清楚的理解VHDL程序的描述语言,进行简单程序的编写和仿真。

动态输出4位十进制频率计的设计 一、目的 1.学习掌握频率计的设计方法。 2.掌握动态扫描输出电路的实现方法。 3.学习较复杂的数字系统设计方法 二、设计实现 4位十进制频率计外部接口如图1所示,顶层文件如图2所示,包含4中模块;Tctl、reg16、scan_led和4个cnt10。 (1)端口说明 F1Hz:给Tctl模块提供1Hz的频率输入。 Fin:被测频率输入。 scan_led:给scan_led模块提供扫描输入频率输入。 bt[1..0]:片选信号输出。 sg[6..0]:译码信号输出。 cout:进位输出。

EDA课程设计报告8线-3线优先编码器

Xxxxx学院 《EDA技术》课程报告 设计题目:8线-3线优先编码器班级:应用电子1101班姓名: 学号: 指导老师: 日期:

目录 一、8-3优先编码器设计原理分析 (3) 二、8-3优先编码器模块的源程序 (3) 三、8-3优先编码器仿真结果 (4) 四、设计总结和心得体会 (5) 五、参考资料 (5)

一、8-3优先编码器设计原理分析 8-3优先编码器输入信号为din0,d in1,din2,din3,din4,din5,din6和din7,输出信号为out2、out1、out0。输入信号中din7的优先级别最低,依次类推,din0的优先级别最高。也就是说若din0输入为1(即为高电平)则无论后续的输入信号怎么样,对应的这种状态一样,如若din0输入为0(即为低电平)则看优先级仅次于din0的din1状态决定,依次类推。因为din0到din7共8中状态,可以用3位二进制编码来表示。8-3优先编码器真值表如下表所示。 表1 8-3优先编码器真值表 二、8-3优先编码器模块的源程序 8-3优先编码器由VHDL程序来实现,VHDL语言描述如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY coder IS PORT ( din : IN STD_LOGIC_VECTOR(0 TO 7);output : OUT STD_LOGIC_VECTOR(0 TO 2);EANABLE: in std_logic ); END coder; ARCHITECTURE behav OF coder IS SIGNAL SINT : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN PROCESS (din) BEGIN IF (EANABLE='0') THEN IF (din(0)='1') THEN output <= "000" ; ELSIF (din(1)='1') THEN output <= "100" ;

EDA课程设计实验报告

课程设计报告 课程名称数字系统与逻辑设计 课题名称16*16点阵显示 专业通信工程 班级1181 学号 2 姓名肖浪

指导教师乔汇东吴德建 2013年7月2日 湖南工程学院课程设计任务书 课程名称数字系统与逻辑设计课题16*16点阵显示 专业班级通信工程1181 学生姓名肖浪 学号 2 指导老师乔汇东吴德建

任务书下达日期2013 年6月23日 任务完成日期2013 年7月2日 《数字系统与逻辑设计》课程设计任务书 一、设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 二、设计要求 1、设计正确,方案合理。 2、程序精炼,结构清晰。 3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。 4、上机演示。 5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。 三、进度安排 第十八周星期一:课题讲解,查阅资料 星期二:总体设计,详细设计 星期三:编程,上机调试、修改程序 星期四:上机调试、完善程序 星期五:答辩 星期六-星期天:撰写课程设计报告 附:

课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

EDA课程设计

课程设计说明书 课程:EDA技术基础 题目:数字钟的设计 闹钟与整点报时模块 学生姓名:XXX 学号201265110204 班级 :1203班 专业:电子信息与科学 指导教师:XXX 2014年12月20日 长沙理工大学课程设计任务书 物理与电子科学学院电子信息与科学专业1203班姓名王玲课程名称EDA技术基础 题目数字钟的设计

长沙理工大学课程设计成绩评定表

目录 1数字钟设计闹钟模块基本任务要求4 2设计思想4 3简述闹钟模块的输入与输出5 4分进程描述6 5仿真结果与分析7 6简述数字钟的设计总成果10 7总结11 参考文献13 代码附件13

基本任务要求:运用QuartusⅡ13.1软件平台,用VHDL语言描述并设计的闹钟模块满足可调闹钟时间,当时钟时间到达闹钟时间后会响闹铃,(由于实验室权限问题会以FPGA开发板上12个LED灯交替发光来表现);整点报时过程表现为整点的前十秒内响铃,(以FPGA开发板上一个LED灯交替发光来实现)。 设计思想:闹钟模块要以分频模块、计数器模块和译码显示模块为基础,将闹钟模块分为三个进程,一个进程用来实现调闹钟,一个进程来实现闹响闹钟(即实现LED灯交替发光),另一个进程来是实现整点报时。 (上面截图为数字钟整体编译后的RTL电路的闹钟模块) 简述闹钟模块图的输入与输出:上图中的输入粗黑实线为计数器模块输出的小时、分钟的高低位和秒钟的高位(都用四位的二进制表示);输出的粗黑实线为定的闹钟时间(包括小时和分钟),将送到译码显示模块显示闹钟时间,闹钟时间与时钟都在FPGA上的数码管显示,用二选一实现交替显示。clk和clk1都是经过分频器分出的不同频率的信号分别用于整点报时的闪灯脉冲与闹钟调时、闹响的闪灯脉冲。

EDA课程设计报告-北京科技大学分析

EDA课程设计报告 题目彩灯循环闪烁电路的仿真学院自动化 专业班级自 姓名 学号 成绩 2014年12月

1、设计目的 (3) 2、设计原理 (3) (3) 3、单元电路的设计与仿真 (3) 3.1时钟脉冲产生电路 (3) 3.2计数器电路的设计与仿真 (5) 3.3译码和显示电路的设计 (6) 4、总体电路仿真 (7) 5、总结与收获 (9)

1、设计目的 1)彩灯能够自动循环闪烁 2)彩灯循环显示且频率快慢可调。 3)该控制电路具有8路输出。 2、设计原理 彩灯循环闪烁电路的工作原理采用555定时器连接成多谐振荡器产生频率产生连续可调的时钟脉冲信号,然后将时钟信号输出通过计数器接受。然后,经过八进制加法计数器的计数实现循环功能。最后,通过译码器译码实现循环灯亮。 该电路主要分为三个模块,多谢振荡器模块、八进制加法计数器电路模块、译码器与彩灯电路模块。其结构框图如图1所示。 图1 彩灯循环闪烁电路的设计框图 3、单元电路的设计与仿真 3.1时钟脉冲产生电路 时钟脉冲产生电路由555定时器和外接元件R1、R2、R3、C1和C2构成多谐振荡器。管脚THR与管脚TRI直接相连。图2为,产生电路模块。电路没有稳态,仅存在两个暂稳态,电路亦不需要外加触发信号。利用电源通过R1、R2向C1充电,以及C1通过R2、R3向放电端DIS放电,使电路产生震荡。输出矩形波,为计数器提供脉冲源。其管脚2的电容充放电波形(黄色线条)和管脚3时钟脉冲输出波形(红色线条)如图3所示。

图2 时钟脉冲产生电路的仿真图 图3 管脚2、3的输出波形

3.2计数器电路的设计与仿真 本文的彩灯电路选用74LS160N-集成10进制同步加法计数器。74LS160N具有异步清零和同步置数的功能。为了实现8盏灯循环闪烁,电路采用异步反馈清零法获得8进制计数器。如图4所示,当Q D Q C Q B Q A输出1000时,U4A输出一个低电平到CLR,将计数器清零,回到0000状态。 图4 8进制计数器仿真图 确认电路连接无误后,单击RUN,开始仿真。结果如图4,通过7段数码管看到有0-7共8个有效状态。图5即计数过程。

EDA技术课程设计题目与任务

五课程设计题目与内容 1. 电子秒表设计 内容及要求: 完成具有多计数功能的秒表,并可将结果逐一显示在7 段数码管上,具体要求如下: (1)输入时钟10khz ,采用Altera EP1C6Q240C8 FPGA ; (2)异步、同步复位,计时精度1ms,最大计时240秒; (3)至少对 6 个目标计时,并可显示于7 段数码管,格式为xxx.yyy ,秒为单位; ( 4)计时值可逐一顺序回显; ( 5)按下一次终止键完成一个对象的计时,计时间隔小于最大计时值; ( 6)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。 进度安排: 本设计持续10天,其中最后一天(依例周五)为答辩时间。 第1-2 天:讲解题目,准备参考资料,检查、调试实验软硬件,进入设计环境,开始设计方案和验证方案的准备; 第3-4 天:完成设计与验证方案,经指导老师验收后进入模块电路设计; 第5-7 天:完成模块电路设计,进行代码输入,并完成代码的初步仿真; 第8-9 天:代码功能仿真正确,约束设计,综合、下载,实现设计目标,并指导老师验收设计;整理设计资料,撰写报告、准备答辩; 第10 天:验收合格后进行答辩。 选题:限2人:共同进行电路和验证方案设计,1人仿真,另1人FPGA实现

2. aval on 总线从接口设计 内容及要求: 实现Altera 的NiosII CPU 外部总线接口电路,完成存储器的读写操作。 (1) CPU采用Altera Nios n; ( 2)接口电路采用同步操作,注意时钟的选择; ( 3)寻址空间0x8000~0x8ffff ,数据总线宽度8 比特; ( 4)存储器的种类为寄存器即可,具有读写功能; ( 5) avalon 总线接口为slave ; (6)下载验证时要和CPU一同实现相应的功能,软件进行读写操作。 进度安排: 本课程设计持续10 天,其中最后一天( (依例周5)为答辩时间。 第1-2 天:讲解题目,准备参考资料,检查、调试实验软硬件,进入设计环境,开始设计方案和验证方案的准备; 第3-4 天:完成设计与验证方案,经指导老师验收后进入模块电路设计; 第5-7 天:完成模块电路设计,进行代码输入,并完成代码的仿真; 第8-9天:约束设计,与CPU集成综合、下载,用c语言实现操作,并指导老师验收设计;整理设计资料,撰写报告、准备答辩; 第10 天:验收合格后进行答辩。 选题:限 2 人:共同进行电路和验证方案设计, 1 人逻辑电路设计与仿真,另1人系统集成及软件代码设计

广东工业大学eda课程设计报告

课程设计报告 课程名称 EDA课程设计 学院信息工程学院年级班别 学号 学生姓名 指导老师罗思杰 2017年12月09日

目录 一、设计目的和要求: (3) 二、EDA设计: (3) 三、硬件测试: (15) 四、设计和调试过程中遇到的问题及解决方法.. 15 五、完成课程设计后的收获或体会: (15) 六、设计参考文献: (15)

一、设计目的和要求: 1、设计目的: 通过对FPGA(现场可编程门阵列)芯片的设计实践,使学生掌握一般的PLD (可编程逻辑器件)的设计过程、设计要求、设计内容、设计方法,能根据要求及工艺需要进行电子芯片设计并制定有关技术文件。培养学生综合运用已学知识解决实际工程技术问题的能力、查阅图书资料和各种工具书的能力、撰写技术报告和编制技术资料的能力,接受一次电子设计自动化方面的基本训练。 培养学生利用EDA技术知识,解决电子设计自动化中常见实际问题的能力,使学生积累实际EDA编程经验。通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力。 2、设计要求: (1)以EDA技术的基本理论为指导,将设计实验分为基本功能电路和较复杂的电子系统两个层次,要求利用数字电路或者EDA方法去设计并完成特定功能的电子电路的仿真、软硬件调试; (2)熟悉掌握常用仿真开发软件,比如: Quartus II或Xilinx ISE的使用方法。 (3)能熟练运用上述开发软件设计并仿真电路并下载到FPGA中进行调试; (4)学会用EDA技术实现数字电子器件组成复杂系统的方法;学习电子系统电路的安装调试技术。 二、EDA设计: (1)方案比较: 1、数字电子钟设计 设计一个时钟电路,包括时钟、分钟、秒钟的显示。要求可对时钟、分钟进行预置和修改操作;可设置3组闹铃时间,时间到时给出10秒的报警声或音乐并给出灯光提示。 具体输入/输出要求如下: ① 4位LED数码显示器,分别显示“小时:分钟”或“分钟:秒”时钟;根据需要选择几个LED发光二极管。 ②3个按键,具体功能描述如下:

EDA课程设计参考题目

EDA课程设计参考题目一、设计彩灯控制器一 要求: 1.有八只LED,L0……L7 2.显示顺序如下表 3

要求: 1.8 个灯全亮; 2.8 个灯全灭; 3.从左边第一个开始每隔一个亮; 4.从右边第一个开始每隔一个灭; 5.左4个灭,右4个亮; 6.左4个亮,右4个灭; 7.显示间隔0.5S,1S可调。 三、设计彩灯控制器三 要求: 1. 有十只LED,L0……L9 2. 显示方式 ①先奇数灯依次灭 ②再偶数灯依次灭 ③再由L0到L9依次灭 3.显示间隔0.5S,1S可调。 四、自设计动奏乐器一 要求: 1.开机能自动奏一个乐曲,可以反复演奏;2.速度可变。 1 1 5 5 6 6 5 – 4 4 3 3 2 2 1 – 5 5 4 4 3 3 2 – 5 5 4 4 3 3 2 – 3.附加:显示乐谱。 五、设计自动奏乐器二 要求: 1.开机能自动奏一个乐曲,可以反复演奏;2.速度可变。 1 3 1 3 5 6 5 – 6 6 ? 1 6 5 ––– 6 6 ? 1 6 5 5 3 1 2 2 3 2 1 ––– 3.乐曲自选。 4.附加:显示乐谱。 六、设计汽车尾灯控制器 要求: 1.用6个发光二极管模拟6个汽车尾灯(左、右各3个)。 2.汽车往前行驶时,6个灯全灭。当汽车转弯时,若右转弯,右边3个尾灯从左至右顺序 亮灭,左边3个灯全灭;若左转弯,左边3个尾灯从右至左顺序亮灭,右边3个灯全灭; 汽车刹车时,6个尾灯同时明、暗闪烁;汽车在夜间行驶时,左右两侧的灯同时亮,供照明使用。

要求: 1.在十字路口的两个方向上各设一组红绿黄灯,显示顺序为:其中一个方向是绿灯、黄灯、 红灯,另一个方向是红灯、绿灯、黄灯。 2.设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,其中绿灯、黄灯、 红灯的持续时间分别是20s、5s、25s。 八、设计数字频率计 要求: 1.输入为矩形脉冲,频率范围0~99MHz; 2.用五位数码管显示;只显示最后的结果,不要将计数过程显示出来; 3.单位为Hz和KHz两档,自动切换。 九、设计智力竞赛抢答器 要求: 1.四人参赛每人一个按钮,主持人一个按钮,按下就开始; 2.当有某一参赛者首先按下抢答开关时,相应显示灯亮并伴有声响,此时抢答器不再接受其他输入信号。 3.有人抢答时,喇叭响两秒钟; 4.答题时限为100秒钟(显示0~99),时间显示采用倒计时方式。当达到限定时间时,发出声响以示警告。 十、设计数字秒表 要求: 1.要求设置启/停开关。当按下启/停开关,将启动秒表开始计时,当再按一下启/停开关时, 将终止计时操作。 2.数字秒表的计时范围是0秒~59分59.99…… 3.要求计时精度为0.01s。 4.复位开关可以在任何情况下使用,即便在计时过程中,只要按一下复位开关,计时器就 清零,并做好下次计时的准备。 十一、设计数字钟 要求: 1.具有时、分、秒计数显示功能,且以24小时循环计时。 2.具胡清零的功能,且能够对计时系统的小时、分钟进行调整。 3.具有整点报时功能。 十二、设计三层电梯控制器 要求: 1.每层电梯入口处设有上下请求开关,电梯内有乘客到达层数的的停站请求开关。 2.设有电梯所处位置指示装置及电梯运行模式(上升和下降)指示装置。 3.电梯每秒钟升(降)一层。 4.电梯到达有请求的楼层,电梯经过lS电梯门开,打开4S后,电梯门关闭(开门指示灯灭)。电梯继续运行,直至完成最后的一个请求信号后停留在当前层。 5.能记忆电梯内外所有请求信号,并按照电梯运行规则按顺序响应,每个请求信号留至执行完后消除。 6.电梯运行规则:当电梯处于上升模式时,只响应比电梯所在的位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼清求执行完毕;如果高层有下楼请求,则直接升到有下

EDA技术课程设计报告

贵州大学 EDA技术课程设计报告 题目:BCD码加法器 院系计算机科学与技术学院 专业计科121 学号1208060061、1208060058、1208060065 学生姓名张飞宇、王红强、匡金军 指导教师夏玉勤

设计BCD码加法器 一、设计任务及要求 (1)课程设计意义: 对BCD码加法有了进一步了解; 学习了quartus II设计软件,初步了解了FPGA; (2)设计要求: 利用Verilog HDL语言,编写一个4位BCD码加法器程序,输入用八个开关分别表示两个BCD码,输出结果用数码管显示。 主要芯片:2个全加器(4008BD)、开关、数码管(2个),其他元件、门电路任选 (3)主要功能: 输入两个4位BCD码,相加结果显示在数码管上。 我组在要求的功能上添加了一些代码,使输入结果也能在数码管上显示。 (4)设计思路: 图1 简易结构图 如图1所示:A,B分别是2个输入数字,S0-S1为输出,经过BCD 加法器的运算,能实现BCD码加法功能。 (1)T=A+B,若T>10,则Z赋值为10,同时进位(2)C=1,和值低位(3)S0=T-Z,和值高位(4)S1=C。 二、基于Verilog语言的电路设计、仿真、综合 硬件及软件电路设计及描述

图2 顶层模块图 图3 RTL (1)数据的产生与输入 通过J1~J8八个单刀双掷开关在+5V和GND之间的切换来产生两个4位8421BCD码作为输入的数据,当开关打到+5V时输入数据1,打到GND时输入数据0。其中J1~J4分别为数据A3~A0,J5~J8分别为数据B3~B0,且A3~A0、B3~B0 的位权依次降低(8421)。 (2)加法电路 把上面得到的两个四位8421BCD码分别输入4008BD全加器的输入端A3~A0、B3~B0,同时CIN输入端接低电平。则S3~S0输出计算结果,COUT为

eda拔河游戏机课程设计报告

报告书写要求 1、报告的撰写要求条理清晰、语言准确、表述简明。报告中段首空两个字符,中文字体为 宋体五号,数字、字符、字母为Times New Roman五号,且单倍行距。 2、报告中插图应与文字紧密配合,文图相符,技术内容正确。每个图都应配有图题(由图 号和图名组成)。图题(宋体小五号)置于图下居中,其中图号按顺序编排,图名在图号之后空一格排写。图中若有分图时,分图号用(a)、(b)等置于分图之下。注:框图、流程图(矢量图)用专业画图软件。 3、报告中插表应与文字紧密配合,文表相符,技术内容正确。表格不加左、右边线,上、 下线需加粗(1.5磅),每个表应配有表题(由表号和表名组成)。表题(宋体小五号)置于表上居中,其中表号按顺序编排,表名在表号之后空一格排写。 4、报告中公式原则上居中书写。注:公式编辑器编写。 5、设计报告应按如下内容和顺序A4纸打印、左侧装订成册。

一、设计目的 1.掌握数字系统的设计方法; 2.掌握硬件描述语言——Verilog HDL; 3.掌握模块化设计方法; 4.掌握开发软件的使用方法。 二、设计要求 (1)设计拔河游戏电路,用按键与LED表示输入与输出。 (2)初始时,16个LED中间的两个点亮,然后游戏双方不停按动按键,点亮的两个LED 向按动按键慢的一方移动; (3)每按动一下按键,LED向对方移动一格; (4)只要LED移动到头,游戏结束; (5)由裁判下达比赛开始命令后,甲乙双方才能输入信号,否则,输入信号无效。 用数码管显示获胜者的盘数,每次比赛结束自动给获胜方加分。 (6)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。 (7)三、设计环境 计算机、QuatusII开发软件 四、设计内容(设计原理和方案、程序设计、仿真分析和适配) 4.1设计原理和方案 电子拔河游戏机是一种能容纳甲乙双方参赛或甲乙双方加裁判的三人游戏电路。由一排16个LED发光二极管表示拔河的“电子绳”。由甲乙双方通过按钮开关使发光的LED管向自己一方的终点延伸,当延伸到某方的最后一LED管时,则该方失败,对方获胜,并对获胜次数进行计数,连续比赛多局以定胜负。比赛开始,由裁判下达比赛命令后,甲乙双方才能输入信号,否则,输入信号无效。裁判信号由键盘空格键来控制。“电子绳”由16个LED管构成,裁判下达“开始比赛”的命令后,摁一下空格键,位于“电子绳”中点的LED发亮。甲乙双方通过按键输入信号,使发亮的LED管向自己一方移动,并阻止其向对方延伸,谁摁得快就向这一方移动。当从中点至自己一方的最后一个LED管发亮时,表示比赛结束,这时,电路自锁,保持当前状态不变,除非由裁判使电路复位,并对获胜的一方计数器自动加一。记分电路用两位七段数码管分别对双方得分进行累计,在每次比赛结束时电路自动加分。当比赛结束时,计分器清零,为下一次比赛做好准备。

EDA课程设计报告

北华航天工业学院 《EDA技术综合设计》 课程设计报告 报告题目:16X16点阵显示综合实验作者所在系部:电子工程系 作者所在专业:自动化专业 作者所在班级: 作者姓名: 指导教师: 完成时间:2012年12月26日

容摘要 在本次课设中,设计一个共阴16X16点阵控制接口,要求:在时钟信号的控制下,使点阵动态点亮。显示花样共有三种:①6*16点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭;②显示单字“飞”;③依次循环显示“航”,“天”,“学”,“院”四个字。 为使点阵显示器能够动态显示,列选信号为16-4编码器编码输出。 控制器各引脚功能为:DIN[3..0]为显示花样模式选择,高电平有效;CLK 为时钟输入端;DOTOUT[15..0]为行驱动信号输出;SELOUT[3..0]为列选信号输出,为16-4编码信号。 列选信号采用与7段数码管的位选信号一样的处理方法,即列扫描信号频率大于24HZ。 关键词: VHDL,16*16点阵,QuartusII,时序仿真图。

目录 一、实验目的 (1) 二、硬件要求 (1) 三、方案论证 (1) 四、模块说明 (1) 1.整体程序 (1) 2.花样一(动画) (6) 3.花样二(“飞”字) (6) 4.花样三(四字循环显示) (7) 五、整体连接图 (7) 六、实验步骤 (7) 七、实验结果 (7) 八、实验总结 (7) 九、参考文献 (8)

课程设计任务书

一、实验目的 (1)了解16*16LED的工作原理。 (2)了解点阵字符的产生和显示原理。 二、硬件要求 (1)主芯片EPF10K10LC84-4。 (2)16*16点阵。 (3)可变时钟源。 (4)四个拨码开关(显示花样的选择)。 三、方案论证 引脚整体可分为四个部分:clk(时钟信号)、din[3…0](花样选择控制)、dotout[15…0](行驱动信号输出)、selout[3…0](列选信号输出)。 其中有一个分频器的设计,可用一个16位的计数器实现:信号q从00000到11111循环变换,将q的低四位赋给列选信号selout,当q=11111时又可驱动另一计数器工作,实现分频。 第一个花样的设计:用q驱动一个5位计数器zhen从00000到11111循环变换,当Zhen=”00000”时,dotout=”00000” Zhen=”00001”时,dotout=”00001” …… …… Zhen=”10000”时,dotout=”1” …… …… Zhen=”11110”时,dotout=”00011” Zhen=”11111”时,dotout=”00001”。 第二个花样的设计:可参考第三个花样的设计。 第三个花样的设计:当zhen1(功能同zhen)=”00”时,显示第一个字“航”,当selout=”0000”时,dotout为“航”字的最后一列代码;当selout=”0001”时,dotout为“航”字的倒数第二列代码,依次类推。其他三个字的设计同“航”字。 四、模块说明 16*16点阵综合显示实验是用一个整体的程序编写的,所以不可分成模块,但可以分成三个部分:16*16点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭;显示“飞”字;依次循环显示“航”、“天”、“学”、“院”。下面的程序分析中将讨论三个部分的设计。 1.整体程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity dots_test is port(clk:in std_logic; - -硬件接口

EDA课程设计报告

EDA课程设计报告学校:大学 课程题目:密码锁的设计 学院:信息科学技术学院 专业及班级:通信工程(3)班 :江虹 学号:20101613310068 其他组员:羊精月、林芳梅 指导老师:文进

目录 一、设计思 路…………………………………………………………………… 2 二、硬件电路的实 现 (2) (一)、独立键盘输入电路 (2) (二)、控制输入电路 (5) (三)、移位电路 (6) (四)、比较电路 (8) (五)、存储器模块 (12) (六)、译码模块 (14) (七)、密码锁的总体电路 (16) 三、密码锁的功能及分析 (17) 四、方案的优点及不足 (20) 五、心得体会 (21)

六、总结 (21) 七、参考文献 (22) 一、设计思路 1、设计一个电子密码锁,在锁开的状态下输入密码,密码共4位 2、设计一个初始密码 3、用数据开关K1 K10分别代表数字1、2、…、9、0 4、输入的密码用数码管显示,最后输入的密码显示在最右边的数码 管上,即每输入一位数,密码在数码管上的显示右移一位。 可删除输入的数字,删除的是最后输入的数字,每删除一位, 密码在数码管的显示左移一位,并在右边空出的位上补充 “0”。 5、密码锁的控制功能有清零、修改、锁定、解锁,删除,确认。 6、因为密码一般不想被人看到,所以在显示时在按键按下灯亮时显 示正确字符,在按键按下灯灭时显示特殊字符,由于数码管

显示译码时没有“*”,所以特殊字符选择“E”。 7、用一位输出电平的状态代表锁的开闭状态。 8、为保证密码锁主人能打开密码锁,设置一个万能密码,在主人忘 记密码时使用。 二、硬件电路的实现 (一)、独立键盘输入电路 由于EDA实验箱有独立式键盘输入和矩阵式键盘输入电路,本实验就选择独立式键盘输入,本实验的密码是4位,实现在按键按下去灯亮时有一位数据输入,在按键按下去灯灭时没有有数据输入。 1、实现键盘输入的VHDL设计 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JPSR IS PORT ( KEY_IN1:IN STD_LOGIC_VECTOR(9 DOWNTO 0); DATA_N: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END JPSR; ARCHITECTURE behav OF JPSR IS BEGIN P_REG: PROCESS(KEY_IN1) BEGIN CASE KEY_IN1 IS WHEN "0000000001"=>DATA_N<="0000"; WHEN "0000000010"=>DATA_N<="0001"; WHEN "0000000100"=>DATA_N<="0010"; WHEN "0000001000"=>DATA_N<="0011"; WHEN "0000010000"=>DATA_N<="0100"; WHEN "0000100000"=>DATA_N<="0101"; WHEN "0001000000"=>DATA_N<="0110"; WHEN "0010000000"=>DATA_N<="0111"; WHEN "010*******"=>DATA_N<="1000"; WHEN "1000000000"=>DATA_N<="1001"; WHEN OTHERS=>DATA_N<="1010"; END CASE; END PROCESS P_REG ; END behav; 2、异或电路的VHDL设计

EDA课程设计报告

学号 EDA课程设计 课程名称 EDA技术 题目名称简易逻辑分析仪 学生学院信息工程学院 _ 专业班级 学号 学生姓名 2012年 1 月 1 日

简易逻辑分析仪的设计 1. 设计的任务与要求 设计并制作一个8 路数字信号发生器与简易逻辑分析仪,其结构框图如图1 所示: 图12.1. 简易逻辑分析仪系统结构框图 1.1设计基本要求 基本要求: (1)制作数字信号发生器能产生8路可预置的循环移位逻辑信号序列,输出信号为TTL 电平,序列时钟频率为100Hz,并能够重复输出。逻辑信号序列示例如图2所示。 (2)制作简易逻辑分析仪 a.具有采集8路逻辑信号的功能,并可设置单级触发字。信号采集的触发条件为各路被测信号电平与触发字所设定的逻辑状态相同。在满足触发条件时,能对被测信号进行一次采集、存储。 b .能利用模拟示波器清晰稳定地显示所采集到的8路信号波形,并显示触发点位置。 c.8位输入电路的输入阻抗大于50k Ω,其逻辑信号门限电压可在0.25~4V范围内按16级变化,以适应各种输入信号的逻辑电平。 d.每通道的存储深度为20bit。

图12.2 重复输出循环移位逻辑序列00000101 1.2 设计发挥部分 (1)能在示波器上显示可移动的时间标志线,并采用LED或其它方式显示时间标志线所对应时刻的8路输入信号逻辑状态。 (2)简易逻辑分析仪应具备3级逻辑状态分析触发功能,即当连续依次捕捉到设定的3 个触发字时,开始对被测信号进行一次采集、存储与显示,并显示触发点位置。3级触发字可任意设定(例如:在8路信号中指定连续依次捕捉到两路信号11、01、00作为三级触发状态字)。 (3)触发位置可调(即可选择显示触发前、后所保存的逻辑状态字数)。(4)其它(如增加存储深度后分页显示等)。 2. 方案论证与选择 2.1 数字信号发生器方案 ?利用单片机内的定时器,产生计数溢出中断,从而实现信号频率要达到100Hz的要求。 ?当改变拨段开关的预设值后,按下数字开关,单片机会重新读入8位数据,并对改变后的数据进行读取和输出。 ?在中断程序中对信号实现循环右移和输出,每次中断到来的时候,单片机便对输出端口输送一组信号。

EDA课程设计报告DOC

天津工业大学 毕业实践实习报告N沟道MOS管工艺模拟与器件模拟 班级:电科1103 学号:1110940316 姓名:汪兆明 成绩:

2015年4月1日 一、实践目的 熟练氧化、离子注入与扩散工艺,使用Silvaco软件进行模拟,掌握CMOS 工艺流程。学会用Silvaco软件提取MOS晶体管的各种参数,掌握用SILVACO 工具对MOS晶体管进行器件模拟 二、实践要求 1、用Anthena构建一个NMOS管,要求沟道长度不小于0.8微米,阈值电压在 -0.5v 至 1V之间。 2、工艺模拟过程要求提取S/D结结深、阈值电压、沟道表面掺杂浓度、S/D 区薄层电阻等参数。 3、进行器件模拟,要求得到NMOS输出特性曲线族以及特定漏极电压下的转移 特性曲线,并从中提取MOS管的阈值电压和β值。 4、分析各关键工艺步骤对器件性能的影响。 三、操作步骤 1、启动silvaco软件。 2、创建一个网格并定义衬底的参数。 3、由于本实验运用了cmos工艺,所以先在衬底上做一个p阱,严格定义p阱的浓度,注入能量,以及阱区的推进。 4、生长栅氧化层,严格控制各参数。 diffus time=10 temp=950 dryo2 press=1.00 hcl.pc=3 5、淀积多晶硅,其厚度为0.2um。 6、刻蚀掉x=0.35左面的多晶硅,然后低剂量注入磷离子,形成轻掺杂层,剂量为3e13,能量为20kev。 7、淀积氧化层,然后再进行刻蚀,以进行下一步的源漏区注入。 8、进行源漏砷离子的注入,剂量为4e15,能量为40kev。 9、淀积铝,形成S/D金属接触。 10、进行向右镜像操作,形成完整的nmos结构并定义电极。 11、抽取源漏结深,阈值电压,n+区薄层电阻,沟道表面掺杂浓度,轻掺杂源漏区的薄层电阻等参数。 12、描述输出特性曲线并绘出。 13、描述转移特性曲线并绘出,同时从中提取MOS管的阈值电压和β值。 四.测试结果 4.1 测试结果分析 4.1.1.工艺图

eda课程设计1203010

《EDA技术》 课程设计报告 题目: FPGA数字时钟设计 班级: 12电信本2 学号: 1203010211 姓名:高翔 同组人员:汤吉鑫王正提 指导教师:杨祖芳 2015年 5月1日

目录 1 设计任务 (1) 2 总体设计方案 (1) 2.1 设计思路 (1) 2.2 总体设计框图 (1) 3 单元电路设计 (1) 3.1 秒计数器模块设计与实现 (1) 3.2 分计数器模块设计与实现 (3) 3.3 时计数器模块设计与实现 (4) 3.4 校准模块 (5) 3.5 BCD七段显示译码器 (5) 3.6 3-8线译码器模块设计与实现 (6) 3.7 分频器的设计与实现 (7) 3.8 去抖模块 (7) 3.9 动态扫描数码显示器 (8) 3.10 顶层原理设计图 (8) 4 硬件测试与结果分析 (9) 4.1 硬件测试 (9) 4.2 测试过程及结果分析 (9) 5 收获与体会 (10) 参考书目 (10) 附录 (11)

1 设计任务 设计并实现具有一定功能的数字钟。包括清零、置数、计数、报时等功能。 (1)具有时、分、秒计数显示功能,且以24小时循环计时。 (2)具有清零的功能,且能够对计时系统的小时、分钟进行调整。 (3)具有整点报时功能。 2 总体设计方案 2.1 设计思路 本设计采用层次化设计方式,先设计数字时钟的底层器件:秒计数器、分 计数器、时计数器、bcd 七段显示译码器、3-8译码器、分频器、动态扫描数码显示器。顶层采用原理图设计方式,将所设计的底层器件连接起来构成一个具有计时和调时功能的数字时钟。 2.2 总体设计框图 图2-2 设计框图 3 单元电路设计 3.1 秒计数器模块设计与实现 计时模块使用的时钟信号为1Hz 。秒计时模块为60进制计数器,也可以看为个位为10进制十位为6进制。当秒的个位显示到9时,下一秒向十位进1 并将个位重新归零并开始计数,当十位为5个位为9时,计时器下一秒向分计数器进1并同时将秒计时器个位、十位归零。也可以看成计时器从00开始计数到59,当秒显示为59时,下一秒将显示00并从新开始计数,同时向分位为进1。当秒计时模块中扫描到有按键按下时,直接向分计时器进1,但不影响秒计时器的正常计数(扫描按键是

相关主题
文本预览
相关文档 最新文档