当前位置:文档之家› 74LS191计数器的简单电路分析实验

74LS191计数器的简单电路分析实验

74LS191计数器的简单电路分析实验
74LS191计数器的简单电路分析实验

实验(10)名称:计数器

实验人员:指导老师:

实验地点:实验时间:

一、实验要求及目的

1. 了解计数器的基本原理

2. 掌握集成计数器芯片74LS191工作原理及应用。

二、实验原理

74LS191 为可预置的四位二进制加/减法计数器,其管脚图如图所示:RCO 进位/借位输出端

MAX /MIN 进位/借位输出端

CTEN 计数控制端

QA-QD 计数输出端

U/D 计数控制端

CLK 时钟输入端

LOAD 异步并行置入端

(低电平有效)

74LS191功能表

三、实验步骤

1. 利用同步二进制可逆计数器74LS191接成同步八进制计数器。

实现了显示0~7的八进制计数。

2. 试用二进制计数器74LS191接成24秒倒计时器

电路如图设计:

基本功能的实现方法思路:要实现的功能是当十位数为2时,个位数从4开始倒数计数;当十位数为1、0时,个位数从9开始倒数计数。个位数每到0之后实现置为功能,十位数减一,个位数置9.

列出真值表:

数据十位数个位数

24 0010 0100

19 0001 1001

09 0000 1001

可知:个位数上“8”位、“1”位与十位数上的“2”位相反,“4”位与其相同,“2”位恒为0.即U1的A、D端=U2的Qc',U1的C端=U2的Qc端。

但是,此电路的时序是异步逻辑电路,即U2 Qc是U1的下一个置位脉冲到来后的判断依据,所以在U2(十位数)为2时,准备给U1置位的是10~19的数,故U1 ABCD置数应为9;同理,U2为1时,U1 ABCD置数9;U2为0时,U1 ABCD 置数4.所以真正实现24倒数计数的时候,真正的真值表如下:

十位数个位数

0010 1001

0001 1001

0000 0100 可知:最终接法应该如上面电路图所示。

最终实现24进制的倒数计数。

四、总结

实验四 计数器电路设计

实验四、计数器电路的设计 一、实验目的 1、掌握计数器电路的设计方法; 2、进一步掌握电路的设计、编译、仿真和下载测试的方法。 二、实验要求 1、基本要求 1)设计一个具有异步复位和同步使能的4位二进制加法计数器 2)设计一个具有异步复位和同步使能、并行置数的加减可控的8位二进制计数器 3)设计一个具有异步复位和同步使能的BCD码加法计数电路, 2、扩展要求 1)设计一个具有异步复位和同步使能的六十进制加法计数电路 2)设计一个具有异步复位和同步使能的二十四进制加法计数电路 三、实验原理 四、实验内容及步骤 1、建立一个工程项目,路径如:D:\A0512301\forth,项目名和顶层实体名为count。 2、设计一个具有异步复位和同步使能的4位二进制计数器,并进行编译仿真与下载测试; 3、设计一个具有异步复位和同步使能、并行置数的加减可控的8位二进制计数器,并进行编译仿真与下载测试; 4、设计一个具有异步复位和同步使能的十进制加法计数电路,并进行编译仿真与下载测 试; 五、参考程序 1、四位加法计数器 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; ENTITY CNT4 IS PORT ( CLK : IN STD_LOGIC ; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ) ; END ; ARCHITECTURE bhv OF CNT4 IS SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS (CLK) BEGIN IF CLK'EVENT AND CLK = '1' THEN Q1 <= Q1 + 1 ; END IF; END PROCESS ; Q <= Q1 ; END bhv; 2、异步复位,同步使能十进制加法计数器 LIBRARY IEEE;

c计算器实验报告

简单计算器 姓名: 周吉祥 实验目的:模仿日常生活中所用的计算器,自行设计一个简单的计算器程序,实现简单的计算功能。 实验内容: (1)体系设计: 程序是一个简单的计算器,能正确输入数据,能实现加、减、乘、除等算术运算,运算结果能正确显示,可以清楚数据等。 (2)设计思路: 1)先在Visual C++ 6.0中建立一个MFC工程文件,名为calculator. 2)在对话框中添加适当的编辑框、按钮、静态文件、复选框和单选框 3)设计按钮,并修改其相应的ID与Caption. 4)选择和设置各控件的单击鼠标事件。 5)为编辑框添加double类型的关联变量m_edit1. 6)在calculatorDlg.h中添加math.h头文件,然后添加public成员。 7)打开calculatorDlg.cpp文件,在构造函数中,进行成员初始化和完善各控件 的响应函数代码。

(3)程序清单: 添加的public成员: double tempvalue; //存储中间变量 double result; //存储显示结果的值 int sort; //判断后面是何种运算:1.加法 2.减法 3.乘法 4.除法 int append; //判断后面是否添加数字 成员初始化: CCalculatorDlg::CCalculatorDlg(CWnd* pParent /*=NULL*/) : CDialog(CCalculatorDlg::IDD, pParent) { //{{AFX_DATA_INIT(CCalculatorDlg) m_edit1 = 0.0; //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); tempvalue=0;

数字电路设计--------二十四进制计数器

数字电路设计 姓名:*** 学号:****************** 班级:电信111 专业:电子信息科学与技术 一.设计题目 二十四进制计数器的设计 二.设计要求 (1)要求学生掌握74系列的芯片和LED的原理和使用方法。 (2)熟悉集成电路的使用方法,能够运用所学的知识设计一规定的电路。三.设计任务 (1)完成一个二十四进制的计数器。 (2)LED显示从00开始,各位计数从0—9,逢10 进1,是为计数0—5。23显示后,又从00重新开始计数。 四.设计思路与原理 (一)设计思路框图 →→→ → (二)LED简介 LED是一种显示字段的显示器件,7个发光二极管构成七笔字形“8”,一个发光二极管构成小数点。七段发光管分别称为a、b、c、d、e、f,g,构成字型“8”,如图(a)

所示,当在某段发光二极管上施加一定的电压时,某些段被点亮发光。不加电压则变暗,为了保护各段LED不被损坏,需外加限流电阻。 其真值表如下:

(三)原件总汇表:计数器74LS00D(U7A,U7B),74HC390N-6V(U3A,U6A),74LS47N(U1,U5);与门:时钟脉冲:显示器:发光二极管:电感:电容:电源 五.电路图仿真 二十四进制计数器电路仿真

六.心得体会 通过这一次的数字电路设计,是我更深的了解到了数字电路的基础知识,电路分析与计算的方法。利用仿真软件对电路进行一系列的分析仿真,更加抽象的将理论知识与实际电路结合在一起,加深了对数电一些基本定理的理解与运用。虽然在这学期中,数字电子技术基础学的不是很好,但是在这次的课程设计中通过同学的帮组还是完成了。虽然做的不是很好,但是从中也让我明白了:要想做好这个课程设计,就必须认认真真地去做,不要怕麻烦,遇到不懂的问题就要主动去问同学或者老师。和查阅材料,保持着一个积极向上的心态,发挥我们自己的主观能动性和创造了才能让我们做的更好。在这次课程设计中让我学到了很多东西,在经过我们一个学期的数字电子技术基础课后,我们已经对数字电子技术有一定的了解,让我们有了一定的基础可以独立完成数字电子技术基础课程设计了,不过当中还是遇到许多不懂的问题。

数电实验二:简易计算器(实验报告)

数电实验2实验报告 1、设计修改方案 (1)加入编码器连接4选一数据选择器,控制进行运算的种类 (2)修改了输出端数据选择器的程序,使得当计算器没有任何输入时,结果显示保持为0,并且利用芯片自身的灭零管脚,让显示结果中,当十位为零时,十 位的零不显示。

2、实验数据及分析 (1)修改后电路图(附后) (2)仿真波形 设置输入2个4位二进制数为0110(十进制6)和0010(十进制2),计算方式控制SW[3:0]设为0111,即模拟除法操作,加入时钟信号。 ①模拟除法波形: 可以看到十位(商)的数码管显示中,1、2、3、4、7段亮,显示为数字3,而个位(余数)显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6除2商3余0。满足计算要求。 ②模拟乘法波形:(SW[3:0]设为1011,其他输入同上)

可以看到个位的数码管显示中,1、4、5、6段亮,显示为C(化为十进制为12),而十位一直显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6乘2等于0C,即等于12。当改变输入4和2是,显示结果为8,。满足计算要求。 ③模拟加法波形:(SW[3:0]设为1101,其他输入同上) 可以看到个位的数码管显示中,1、2、3、4、5、6、7段全亮,显示为数字8,而十位一直显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6加2等于08,即等于8。满足计算要求。 ④模拟减法波形:(SW[3:0]设为1110,其他输入同上) 可以看到个位的数码管显示中,2、3、6、7段亮,显示为数字3,而十位一直显示1、2、3、4、5、6段亮,显示数字0,相当于计算出6减2等于03,即等于3。满足计算要求。 从上面加减乘除四种功能运算的波形仿真可以看出,本实验设计能够正确完成对输入数字的上述四种运算。满足题目要求。

电子设计-两位自动计数器

课程作业 题目:《电子设计》 ——两位自动计数器 姓名:李XX 学院:物理机电与工程学院 系:电子科学系 专业:信电 年级: 学号: 指导教师: 年月日

两位自动计数器 一、两位自动计数器的功能工作原理 两位自动计数器两位数码管自动显示0-99,数字可清零。电路主要由NE555,4518,4511实现。上电后,电路自动计数.由0增至99,不断循环计数.数字上升速度快慢由NE555振荡频率决定.S1为计数清零按键.NE555构成时钟信号发生器,CD4518为二/十进制加法计数器,CD4511为译码驱动器,调节R17可调节NE555的振荡频率.C1为充放电电容,电容容量愈大,充电时间愈长,,则振荡频率愈低。 原理图: 二、元器件的选择 编号名称型号数量 R1、R2 电阻10KΩ 2 R3—R16 电阻1KΩ14 R17 可变电阻0—100KΩ 1 C1 极性电容10UF 1 C2 电容10^3 1 C3 电容10^4 1 U1 芯片NE555 1 U2A、U2B 芯片4518 2 U3、U4 芯片4511 2 ——八段数码管—— 2 S1 计数清零按键—— 1 三、芯片的功能 (1)NE555构成的是时钟信号发生器

(2)CD4518为二/十进制加数器

CD4518/CC4518是二、十进制(8421编码)同步加计数器,内含两个单元的加计数器,其功能表如真值表所示。每单个单元有两个时钟输入端CLK和EN,可用时钟脉冲的上升沿或下降沿触发。由表可知,若用ENABLE信号下降沿触发,触发信号由EN端输入,CLK 端置“0”;若用CL℃K信号上升沿触发,触发信号由CL℃K端输入,ENABLE端置“1”。RESET端是清零端,RESET端置“1”时,计数器各端输出端Q1~Q4均为“0”,只有RESET 端置“0”时,CD4518才开始计数。 CD4518采用并行进位方式,只要输入一个时钟脉冲,计数单元Q1翻转一次;当Q1为1,Q4为0时,每输入一个时钟脉冲,计数单元Q2翻转一次;当Q1=Q2=1时,每输入一个时钟脉冲Q3翻转一次;当Q1=Q2=Q3=1或Q1=Q4=1时,每输入一个时钟脉冲Q4翻转一次。这样从初始状态(“0”态)开始计数,每输入10个时钟脉冲,计数单元便自动恢复到“0”态。若将第一个加计数器的输出端Q4A作为第二个加计数器的输入端ENB的时钟脉冲信号,便可组成两位8421编码计数器,依次下去可以进行多位串行计数。 CD4518功能: CD4518是一个双BCD同步加计数器,由两个相同的同步4级计数器组成。 CD4518引脚功能(管脚功能)如下: 1CP、2CP:时钟输入端。1CR、2CR:清除端。 1EN、2EN:计数允许控制端。1Q0~1Q3:计数器输出端。 2Q0~2Q3:计数器输出端。Vdd:正电源。Vss:地。 CD4518是一个同步加计数器,在一个封装中含有两个可互换二/十进制计数器,其功能引脚分别为1~7和9~{15}.该CD4518计数器是单路系列脉冲输入(1脚或2脚;9脚或10脚),4路BCD码信号输出(3脚~6脚;{11}脚~{14}脚)。 CD4518控制功能:CD4518有两个时钟输入端CP和EN,若用时钟上升沿触发,信号由CP输入,此时EN端为高电平(1),若用时钟下降沿触发,信号由EN输入,此时CP端为低电平(0),同时复位端Cr也保持低电平(0),只有满足了这些条件时,电路才会处于计数状态.否则没办法工作。 CD4518采用并行进位方式,只要输入一个时钟脉冲,计数单元Q1翻转一次;当Q1为1,Q4为0时,每输入一个时钟脉冲,计数单元Q2翻转一次;当Q1=Q2=1时,每输入一个时钟脉冲Q3翻转一次;当Q1=Q2=Q3=1或Q1=Q4=1时,每输入一个时钟脉冲Q4翻转一次。这样从初始状态(“0”态)开始计数,每输入10个时钟脉冲,计数单元便自动恢复到“0”态。若将第一个加计数器的输出端Q4A作为第二个加计数器的输入端ENB的时钟脉冲信号,便可组成两位8421编码计数器,依次下去可以进行多位串行计数。 清零原理:就是将CD4518的清零端连在一起,接一个开关,按下开关就会清零,但是如果直接连在一起前级的低电平会对后级的清零有影响,因此需要接一个二极管,因为二极管具有单向导电性,因此不会对后级有影响。 (3)CD4511为译码驱动器

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

数字电路与逻辑设计实验报告实验七计数器的设计 姓名:黄文轩 学号: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仿真验证电路正确性,仿真图中波形从上到下依次是从低位到高位触发器的输出,计数器进位输出,以及时钟信号。:

单片机实验报告 计算器

单片机原理及其应用实验报告基于51单片机的简易计算器的设计 班级:12电子1班 姓名:金腾达 学号:1200401123 2015年1月6日

摘要 一个学期的51单片机的课程已经随着期末的到来落下了帷幕。“学以致用”不仅仅是一句口号更应该是践行。本设计秉承精简实用的原则,采用AT89C51单片机为控制核心,4X4矩阵键盘作为输入,LCD1602液晶作为输出组成实现了基于51单片机的简易计算器。计算器操作方式尽量模拟现实计算器的操作方式,带有基本的运算功能和连续运算能力。并提供了良好的显示方式,与传统的计算器相比,它能够实时显示当前运算过程和上一次的结果,更加方便用户记忆使用。本系统制作简单,经测试能达到题目要求。 关键词:简易计算器、单片机、AT89C51、LCD1602、矩阵键盘

目录 一、系统模块设计......................................................................................... 错误!未定义书签。 1.1 单片机最小系统 (1) 1.2 LCD1602液晶显示模块 (1) 1.3 矩阵按键模块 (2) 1.4 串口连接模块 (1) 二、C51程序设计 (2) 2.1 程序功能描述及设计思路 (2) 2.1.1按键服务函数 (2) 2.1.2 LCD驱动函数 (2) 2.1.3 结果显示函数 (2) 2.1.4状态机控制函数 (2) 2.1.5串口服务函数 (2) 2.2 程序流程图 (3) 2.2.1系统总框图 (3) 2.2.2计算器状态机流程转换图 (3) 三、测试方案与测试结果 (4) 3.1测试方案 (4) 3.3 测试结果及分析 (7) 4.3.1测试结果(仿真截图) (7) 4.3.2测试分析与结论 (7) 四、总结心得 (7) 五、思考题 (8) 附录1:整体电路原理图 (9) 附录2:部分程序源代码 (10)

c计算器实验报告

c计算器实验报告集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

简单计算器 姓名: 周吉祥 实验目的:模仿日常生活中所用的计算器,自行设计一个简单的计算器程序,实现简单的计算功能。 实验内容: (1)体系设计: 程序是一个简单的计算器,能正确输入数据,能实现加、减、 乘、除等算术运算,运算结果能正确显示,可以清楚数据等。 (2)设计思路: 1)先在Visual C++ 中建立一个MFC工程文件,名为calculator. 2)在对话框中添加适当的编辑框、按钮、静态文件、复选框和 单选框 3)设计按钮,并修改其相应的ID与Caption. 4)选择和设置各控件的单击鼠标事件。 5)为编辑框添加double类型的关联变量m_edit1. 6)在中添加头文件,然后添加public成员。 7)打开文件,在构造函数中,进行成员初始化和完善各控件的 响应函数代码。 (3)程序清单: 添加的public成员: double tempvalue; 法 2.减法 3.乘法 4.除法

int append; //判断后面是否添加数字 ●成员初始化: CCalculatorDlg::CCalculatorDlg(CWnd* pParent /*=NULL*/) : CDialog(CCalculatorDlg::IDD, pParent) { //{{AFX_DATA_INIT(CCalculatorDlg) m_edit1 = ; //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); tempvalue=0; result=0; sort=0; append=0; } ●各控件响应函数代码: void CCalculatorDlg::OnButton1() //按钮“1” { // TODO: Add your control notification handler code here if(append==1)result=0;

电子计算器课程设计

目录 1 设计任务和性能指标 (1) 1.1 设计任务 (1) 1.2 性能指标 (1) 2 设计方案 (1) 2.1 需求分析 (1) 2.2 方案论证 (1) 3 系统硬件设计 (2) 3.1 总体框图设计 (2) 3.2 单片机选型 (2) 3.3 单片机附属电路设计 (3) 3.4 LCD液晶显示 (4) 4 系统软件设计 (5) 4.1 设计思路 (5) 4.2 总体流程图 (5) 4.3 子程序设计 (5) 4.4 总程序清单 (6) 5 仿真与调试 (6) 5.1 调试步骤 (6) 5.2 仿真结果及性能分析 (8) 6 总结 (8) 参考文献 (8) 附录1 系统硬件电路图 (10) 附录2 程序清单 (11)

1 设计任务和性能指标 1.1 设计任务 电子计算器设计 1、能实现4位整数的加减法和2位整数的乘法; 2、结果通过5个LED数码管显示(4位整数加法会有进位)或通过液晶显示屏显示。 1.2 性能指标 1.用数字键盘输入4位整数,通过LED数码显示管或液晶显示屏显示。 2.完成四位数的加减法应算。当四位数想加时产生的进位时,显示进位。 3.显示2位,并进行2位整数的乘法。 4.设计4*4矩阵键盘输入线的连接。 2 设计方案 2.1 需求分析 我们日常生活的开支,大额数字或是多倍小数的计算都需要计算器的帮助,处理数字的开方、正余弦都离不开计算器。虽然现在的计算器价格比较低廉,但是功能过于简单的不能满足个人需求,功能多的价格较贵,操作不便不说,很多功能根本用不到。所以,我们想到可不可以用自己所学为自己设计开发一个属于自己的简单计算器来完成日常生活的需求。 2.2 方案论证 使用单片机为ATMEL公司生产AT89C51,AT89C51提供以下标准功能:4K字节FLASH 闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个向量两级中断结构,一个全双工串行通讯口,内置一个精密比较器,片内振荡器及时钟电路,同时AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的工作模式,空闲方式停止CPU 的工作,但允许RAM,定时计数器,串行通信及中断系统继续工作。 显示用LCD液晶显示屏,减少线路连接。 用C言编写程序,易进行调试修改。 采用4*4矩阵键盘作为输入。

BCD计数器实验报告

程序代码: module counter(sa,sb,ma,mb,ha,hb,clk,clear,HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,clkout); input clk,clear; output sa,sb,ma,mb,ha,hb,HEX0,HEX1,HEX2,HEX3,HEX4,HEX5,clkout; reg [3:0]sa,sb,ma,mb,ha,hb; reg [6:0]HEX0,HEX1,HEX2,HEX3,HEX4,HEX5; reg clkout; reg [30:0]i; always @(posedge clk) begin if(i===13499999) begin i=0; clkout=~clkout; end else i=i+1; end always @(posedge clear or negedge clkout) begin if(clear) begin sa<=4'b0; sb<=4'b0; ma<=4'b0; mb<=4'b0; ha<=4'b0; hb<=4'b0; end else if((ha==4)&(hb==2)) begin ha<=4'b0; hb<=4'b0; end else if(ha>9)

begin ha<=4'b0; hb<=hb+1; end else if((ma==9)&(mb==5)) begin ma<=4'b0; mb<=4'b0; ha<=ha+1; end else if(ma>9) begin ma<=4'b0; mb<=mb+1; end else if((sb==5)&(sa==9)) begin ma<=ma+1; sb<=4'b0; sa<=4'b0; end else if(sa==9) begin sb<=sb+1; sa<=4'b0; end else begin sa<=sa+1; end end always@(sa or HEX0) begin case(sa) 4'b0000: HEX0=7'b1000000; 4'b0001: HEX0=7'b1111001; 4'b0010: HEX0=7'b0100100; 4'b0011: HEX0=7'b0110000; 4'b0100: HEX0=7'b0011001; 4'b0101: HEX0=7'b0010010; 4'b0110: HEX0=7'b0000010;

计数器设计和原理

二.计数器设计 1.实验目的 计数器在数字逻辑设计中的应用十分广泛,可以对时钟信号进行计数,分频和产生序列信号,也可以用在计时器和串并转换等电路。这次实验我们就来学习一下如何用Robei和Verilog语言来设计一个4比特计数器。 2.实验要求 计数器对每个时钟脉冲进行技术,并将计数值输出出来。这个实验我们来设计一个4比特的计数器,其技术范围在0~F之间,也就是计数到最大值16. 设计波形要求如图1所示。 图1. 计数器输出波形要求 3.实验内容 3.1 模型设计 1)新建一个模型。点击工具栏上的图标,或者点击菜单“File”然后在下 拉菜单中选择“New”,会有一个对话框弹出来(如图2所示)。在弹出的对话框中设置你所设计的模型。

图2. 新建一个项目 参数填写完成后点击“OK”按钮,Robei就会生成一个新的模块,名字就是counter,如图3所示: 图3. 计数器界面图 2)修改模型。在自动生成的界面图上进行名称的修改,输入引脚为clock, enable 和reset,输出引脚修改成count。其中count引脚的“Datasize”为4比特,用户可以输入4,也可以输入3:0。为了区分每个引脚,我们可以修改每个引脚的Color值,并点回车保存。修改完成后如图4所示。如果选中模块,按“F1”键,就会自动生成一个Datasheet,如图5所示。

图4. 修改引脚属性 图5. “Datasheet”截图 3)输入算法。点击模型下方的Code(如图6所示)进入代码设计区。

图6. 点击Code输入算法 在代码设计区内输入以下Verilog代码: always @ (posedge clock) //学习always语句的写法,并设置敏感信号。时钟上升沿触发begin //学习Verilog if else语句的写法 if (reset == 1) begin count<= 0; end //if enable is 1, counter starts to count else if (enable == 1) begin count <= count + 1; end end 4)保存。点击工具栏图标,或者点击菜单“File”中的下拉菜单“Saveas”, 将模型另存到一个文件夹中。 5)运行。在工具栏点击或者点击菜单“Build”的下来菜单“Run”,执 行代码检查。如果有错误,会在输出窗口中显示。如果没有错误提示,恭喜,模型counter设计完成。 3.2测试文件设计

简易计算器设计实验报告

简易计算器设计实验报告 一.设计任务及要求 1.1实验任务: 根据计算器的原理设计一个具有加减乘除功能的简易计算器。如:5+3*4/8=4。 1.2 实验基本要求: (1)实现最大输入两位十进制数字的四则运算(加减乘除)。 (2)能够实现多次连算(无优先级,从左到右计算结果)。 如:12+34*56-78/90+9=36 (3)最大长度以数码管最大个数为限,溢出报警。 二.实验设计方案 (1)用QuartusII的原理图输入来完成系统的顶层设计。 (2)用VHDL编写以及直接拖模块来各功能模块。 (3)通过2个脉冲分别实现个位数和十位数的输入。 (4)通过选择每次的输出数值,将输出值反馈到运算输入端 (4)通过除法运算实现十六进制到十进制的转换输出。 其具体实现流程图如下:

三系统硬件设计 FPGA: EP2C5T144C8目标板及相应外围硬件电路。(从略) 四系统软件设计 1.数据输入模块 原理:用VHDL创建模块,通过两个脉冲分别对两个数码管进行输入控制,再通过相应运算模块将两个独立数据转化成两位十进制数字。 2.运算模块 原理:用VHDL创建模块,四种运算同步运行,通过按键加、减、乘、除选择输出对应的计算结果,当按键等号来时,将所得结果反馈给运算模块输入端。具体实现代码见附录二。 3.输出模块 原理:用VHDL创建模块,通过按键等号来控制显示运算对象还是运算结果,当等号按下时,输出计算结果,否则显示当前输入的数据,并且通过除法模块将十六进制转化为十进制。当输出结果溢出是LED0亮,同时数码管显示都为零。部分实现见附录二。 五实验调试 输入数据12,再按加法键,输入第二个数字25,按等号键,数码管显示37;按灭加法、等号键,输入第二个数据2,依次按等号键,减法键,数码管显示35;同上,按灭减法键、等号键,输入第三个数据7,依次按等号键,除法键,数码管显示5;按灭除法键、等号键,输入第四个数据99,依次按等号键,乘法键,数码管显示495,按灭乘法键、等号键,当前显示为99,依次按等号键、乘法键,数码管显示49005,同上进行若干次之后,结果溢出,LED0亮,同时数码管显示都为零。当输出为负数时,LED0灯变亮,同时数码管显示都为零。六实验结论 本实验基本实现了计算器的加减乘法运算功能,但是存在一个突出的缺陷,就是当输出结果时,必须先按等号键导通数据反馈,再按运算键选择输出结果。这与实际应用的计算器存在很大的差距。但是,本设计可以通过等号键实现运算对象和运算结果之间的切换。

数电脉搏计数器电路课程设计

烟台南山学院 数字电子技术课程设计题目脉搏计数电路设计 姓名:___ XXXXXX ___ 所在学院:_工学院电气与电子工程系 所学专业:_ 自动化 班级:___电气工程XXXX 学号:___XXXXXXXXXXXXXX 指导教师:_____ XXXXXXXX ___ 完成时间:____ XXXXXXXXXXXXX

数电课程设计任务书 一、基本情况 学时:40学时学分:1学分适应班级:12电气工程 二、进度安排 本设计共安排1周,合计40学时,具体分配如下: 实习动员及准备工作:2学时 总体方案设计:4学时 查阅资料,讨论设计:24学时 撰写设计报告:8学时 总结:2学时 教师辅导:随时 三、基本要求 1、课程设计的基本要求 数字电子技术课程设计是在学习完数字电子课程之后,按照课程教学要求,对学生进行综合性训练的一个实践教学环节。主要是培养学生综合运用理论知识的能力,分析问题和解决问题的能力,以及根据实际要求进行独立设计的能力。初步掌握数字电子线路的安装、布线、焊接、调试等基本技能;熟练掌握电子电路基本元器件的使用方法,训练、提高读图能力;掌握组装调试方法。其中理论设计包括总体方案选择,具体电路设计,选择元器件及计算参数等,课程设计的最后要写出设计总结报告,把设计容进行全面的总结,若有实践条件,把实践容上升到理论高度。 2、课程设计的教学要求 数字电子技术课程设计的教学采用相对集中的方式进行,以班为单位全班学生集中到设计室进行。做到实训教学课堂化,严格考勤制度,在实训期间累计旷课达到6节以上,或者迟到、早退累计达到8次以上的学生,该课程考核按不及格处理。在实训期间需要外出查找资料,必须在指定的时间方可外出。 课程设计的任务相对分散,每3名学生组成一个小组,完成一个课题的设计。小组成员既有分工、又要协作,同一小组的成员之间可以相互探讨、协商,可以互相借鉴或参考别人

JAVA计算器实验报告

实验:计算器java程序 班级:XXXXXXX 姓名:XXXXX 学号:XXXXXXXX 实验地点:XXXXX 一、实验目的: 通过制作一个计算器让我们了解到组件的运用以及如何制作一个窗口,怎么样使用各种布局管理器,怎么样注册事件的监听,以及怎么样设置按钮或者说组件的监听程序,学会使用java语言的语法规则,掌握接口的使用,了解组建的背景颜色的设置等方法。 二、实验要求: 1.编写一个java计算器程序; 2. 运用组件的方法来布局窗口,运用接口,事件监听程序来完成计算器的功能。 三,实验步骤 1、新建一个类,注册各种组件; 2、获取窗格;设置布局管理器; 3、为各个组件注册监听程序; 4、设置组件的事件监听程序; 5、运行程序,对结果进行截图; 四,设计思路: 1.界面设置布置模块: 使用了awt,swing的类里面的方法来完成界面的布置。其中,容器布置选择了BorderLayout方法来布置面板,选择了GirdLayout方法来布置按钮。 文本区域接收字符从数字按钮的监听中获得。按钮是常规思路添加到面板上。并为按钮注册监听。 2.监听程序思路: 使用tf.getText()+"n"来实现获得文本区域显示按钮字符串,n等于所设置监听的数字按钮。tf.setText()来保存并输出获得的字符串。

使用Double.parseDouble()实现文本区域字符串转换成Double 型数据来完成计算。把ft.setText()中的字符转换成数字。 使用biaozhi==n。的方法来获得启发值。完成运算符按钮的监听。构造方法,运用biaozhi=n,来完成加减乘除小数点的不同运算。 运算后获得结果flag3。ft.setText()获得值显示在文本区域上3.数字按钮输入使用循环会更加简单,减少了十个数字按钮的逐个输入,添加,注册监听 for (int i=0;i<=9;i++){ btn[i]=new Button(String.valueOf(i)); centerPanel.add(btn[i]); btn[i].addActionListener(); } 五,程序实现: package yyy; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.Button; import java.awt.GridLayout;//导入网格布局管理器类 import java.awt.TextField;//导入文本区域类 import java.awt.event.ActionEvent;//导入事件类 import java.awt.event.ActionListener;//导入事件监听者类 import javax.swing.JButton;//导入按钮类 import javax.swing.JFrame;//导入窗体 import javax.swing.JPanel;//导入面板 public class jisuanqi8{ //新建对象,在构造函数中进行初始化 JFrame f;//新建窗体对象 JButton buttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=”

产品计数器的电路设计

河南城建学院 《安全检测技术》课程设计任务书 产品计数器的电路设计 班级0232111 姓名 学号023211128 专业安全监测技术 指导教师黄战峰、马斌 环境与市政工程系 2012年6月14日

摘要 计数器对某物件进行自动计数,在实际生产生活中具有广泛的应用,对通过的物体进行计数,实现统计数据的搜集,如在生产流水线包装数量控制等领域的应用,能节省劳动力有能高效地完成任务。光电计数器采用光电传感器构成的广电门实现对通过光电门的物体进行计数,是一种非接触式计数,在部分场合有着其无比的优越性,从而使其广泛应用于工业生产、实时监测、自动化控制等领域。 本设计为实现光电计数器的功能,采用模数结合的电路,以红外对射光电传感器为传感器件。电路主要分为信号采集电路、两位十进制计数电路、数码显示电路、报警电路四个模块,分别实现对通过光电门的物体感应,计数,显示,并按要求完成报警功能。计数范围为一百,可以预设计数数目,当计数达到设定后,停止计数并报警,可手动清除报警;还可以计数达一百时,闪灯报警两秒。 关键词:计数器光电传感器数码显示报警

目录摘要0 前言3 第一章设计内容及要求3 第二章设计方案4 第三章系统组成5 3.1 系统框图5 3.2 单元电路设计5 3.2.1 信号采集电路设计6 3.2.2 计数电路10 3.2.3 数码显示电路13 3.2.4 定数报警电路14 3.2.5 满百报警电路18 附录一总原理图19 附录二元件清单20 总结21 参考文献22

前言 工业生产中常常需要自动统计产品的数量,计数器在这里有其用武之地。而数字式电子计数器有直观和计数精确的优点,目前已在各种行业中普遍使用。数字式电子计数器有多种计数触发方式,它是由实际使用条件和环境决定的,通常分为接触式计数器和非接触式计数器两种。本设计的光电计数器为非接触式计数器中的一种。 光电计数器采用光电传感器利用光学原理实现对物件的数目统计。光电式传感器是将光信号转化为电信号的一种传感器。它的理论基础是光电效应。这类效应大致可分为三类。第一类是外光电效应,即在光照射下,能使电子逸出物体表面。利用这种效应所做成的器件有真空光电管、光电倍增管等。第二类是内光电效应,即在光线照射下,能使物质的电阻率改变。这类器件包括各类半导体光敏电阻。第三类是光生伏特效应,即在光线作用下,物体内产生电动势的现象,此电动势称为光生电动势。这类器件包括光电池、光电晶体管等。光电效应都是利用光电元件受光照后,电特性发生变化。敏感的光波长是在可见光附近,包括红外波长和紫外波长。市场上的光电计数器采用的光电传感器有摄像头、光电管等,采用的光的种类有普通光和激光,可见光和不可见光等。本文采用的传感器为红外光电传感器。 第一章设计内容及要求 利用发光二极管和光敏三极管作为光电计数器的传感器进行计数,用数码管显示计数值,当数码管显示值与设定值相同时报警,此外计数器停止计

实验报告 编写一个简易实用的计算器。

开课实验室:现代信息交流中心40*开课时间:2012年**月**日实验报告:年月日 一、实验目的:熟悉Java图形用户界面的开发原理与技术,包括各种组件和容器技术。 二、实验内容: 编写一个简易实用的计算器。 三、源代码清单: package exp3; import Result extends Panel { TextField tf; Result() { tf = new TextField("0", 25); add(tf); } } class Key extends Panel { Button backSpace, clearEnter, cancel,lBracket,rBracket; Button one, two, three, four, five, six, seven, eight, nine, zero; Button add, subtract, multiplay, divide; Button sqrt, reciprocal, mod; Button positiveAndNegative, point, equal; Key() { setLayout(new GridLayout(5, 5)); backSpace = new Button("←"); (new Color(255, 0, 0)); add(backSpace); clearEnter = new Button("CE"); (new Color(255, 0, 0)); add(clearEnter); cancel = new Button("C"); (new Color(255, 0, 0));

C#计算器实验报告

C#计算器实验报告 班级:2010134 学号:201013432 姓名:蔡启林

一实验目的和要求 设计一个简单计算器,具有一般计算功能,能进行基本的加减乘除运算,还具有求根号,倒数等功能。特点是能进行不同进制的运算和不同进制间的转换。主要的工作主要是操作数与被操作数进行简单的加、减、乘、除运算来完成基本的,而且还可以进行简单的科学运算例如计算一个数的平方、开方、正弦、余弦、log、ln等操作 还可以计算面积、周长、体积和表面积等。通过新的技术和新方法来实现计算功能 显示界面为Windows From窗体。 二功能模块设计 标准计算器 通过Windows Form窗体中的对应按钮 接受用户输入数据提交对应的方法中来完成相应的功能计算 再将结果显示在显示框内。显示界面为Windows From窗体。 下面是一个简单的计算器的基本功能: 1 加法 两个数据进行加操作 可以为小数。 2 减法 两个数据进行减操作 可以为负数相减。 3 乘法 两个数相乘 4 除法 两个数相除 5 倒数 可以求得一个数的倒数 6 开方 开方后的结果可以精确到16位。 科学计算器 1 平方 接收的数相乘 结果保留一位小数。 2 立方 接收的数相乘两次 3 正弦 正弦结果精确度同开方。 4 余弦 余弦结果精确度同上。 5 Log Log运算精确到16位。 6 Ln 以e为底的对数。 7 二进制 二进制数的运算 8 八进制 八进制数的运算 9 十进制 十进制数的运算 11 十六进制 十六进制的运算 12 倒数 可以求得一个数的倒数 13 开方 开方后的结果可以精确到16位。 14 颜色

可以选择输入字体的颜色 三设计界面 标准型 科学型 四详细设计过程 (一)打开VS2010创建项目

产品计数器设计

一、设计任务要求 设计光电计数器,实现无接触计数,主要用于工厂生产线工件计数。可采用遮光式光电传感器或者反射式光电传感器,要求使用红外发光二极管、光电管检测,要求光电发射管和接收管有30mm 以上的间距,在制作实物可用导线引出长度,用LED数码显示器来显示0-999的范围计数,当数字超出999时,能够发出报警,并且能在报警后延时3秒钟自动关闭报警并自动重新计数同时可以手动清除报警,能够实现无接触计数,独立设计光电计数器电路原理图(包含电源部分),画出完整的电路原理图(包含电源部分)和PCB板图,查找资料,要求做出实物,可以使用万用板制作实物,独立完成。 二、方案设计 1、方案 以89C51为核心的计数电路基于单片机的光电计数器,使用89C51单片机,电路简单,需要编写程序,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便,可实现数码显示和键盘设定等多种功能。采用遮光式光电传感器,将红外发光管与光电接收管相对安放,每当物体通过一次,红外光就被遮挡一次,光电接收管的输出电压就发生一次变化,这个变化的电压信号通过放大和处理后,形成计数脉冲,通过光电隔

离耦合并行输入至89C51单片机的P1口,通过软件控制和键盘设定计数值并用LED 加以显示,便可实现对物体的计数统计。 采用光电传感器,将红外激光发射管与接收管相相对安放,每当物体通过一次,红外光就被阻挡,光电接收管的输出电压就发生一次变化,输入至89C51单片机的P1口,通过软件控制和键盘设定计数值并用LED 加以显示,便可实现对物体的计数统计。 本设计除了单片机外无其他芯片,在发射与接收电路中也只简单的用激光管和感光三极管组成检测部分。接线排线有规律、整齐、增强电路板的艺术美感。 2、 方案系统结构图 图1 如图1所示整个光电计数器系统主要由电源部分、光电发射与 接收电路、计数电路、 报警电路这几个部分组成。当有物体经过时, 红外发光二极管发出的红外信号被物体反射至光电接收管,并被光

简单的计算器实验报告

HUNAN UNIVERSITY 程序设计训练 ——简单的计算器 报告 学生姓名田博鑫 学生学号 20110407110 专业班级工业工程(1)班 指导老师吴蓉晖 2012年6月16日至2012年7月10日

1.程序设计目的和要求 目的: 此次程序设计的目的主要是为了我们能更好的理解和熟悉C语言这门计算机课程,自己有对计算机程序设计的的初步认识。 要求: 运用相关知识,查阅相关资料,编写一个简单的计算器,能够实现简单的基本的加减乘除运算,在计算器工作时利用键盘或鼠标进行相应操作。程序基本功能要求实现完整,并有简单的验证。在计算器运行中,输入数据时如果输入错误的情况,能够通过键盘上的退格键进行删除,并且重新输入正确的数据。在数据输入完成,如果需要放弃本次计算操作,可以利用程序中设置好的按键进行调整。 2.程序设计的任务和内容 这个简单的计算器要求能够进行简单的四则运算,要求运用所学的知识和查阅相关的资料来完成这个简单的计算器的设计,要求这个简单的计算器尽量在windows界面下进行,计算器界面不做要求。该简单的计算器包含有基本的四则运算、正弦函数、余弦函数、正切函数、余切函数、平方、开方,以及平均值、标准差、方差的运算。 3.程序设计说明 该简单的计算器能进行基本的四则运算和乘方,开方,以及三角函数的运算。操作需要逐步根据提示来完成所要进行的运算。比如要进行81的开方运算的话首先在屏幕上可以看到开放运算的命令是5,所以先要输入5,然后再输入要开方的数据81可以在屏幕上看到运行的结果。 4.详细设计说明包含流程图

5.程序的调试及结果 调试与运行(没有错误)

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