简易加减计数器
简易计算器设计说明书
摘要单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心。
如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。
计算器的出现给我们的生活带来了巨大的便利,计算器在我们的生活中随处可见,也是我们日常生活中不可缺少的工具。
本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除简单的基本四则运算,并在LCD上显示相应的结果。
设计电路采用AT89C51单片机为主要控制电路,利用按键作为计算器的键盘的输入。
显示采用字符LCD 静态显示。
软件方面使用C语言编程,并用PROTUES仿真。
单片微型计算机简称单片机。
它是在一块芯片上集成中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口电路等部件,构成一个完整的微型计算机。
它的特点是:高性能,高速度,体积小,价格低廉,稳定可靠,应用广泛。
单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。
本文介绍了单片机的产生发展、功能特点、应用开发等内容。
【关键词】简单计算器单片机 LCD 应用发展背景近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。
与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。
影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。
其中系统的抗干扰性能是系统可靠性的重要指标。
本设计采用80c51 芯片,实现了利用单片机进行了一个简单计算器设计。
允许对输入数据进行加减乘除运算及LCD 显示.如果设计对象是更为复杂的计算器系统,其实际原理与方法与本设计基本相同。
LCD液晶显示器是Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置TFT(薄膜晶体管),上基板玻璃上设置彩色滤光片,通过TFT上的信号与电压改变来控制液晶分子的转动方向,从而达到控制每个像素点偏振光出射与否而达到显示目的。
加减 计数器详解
实例:以下是一个0~9999 加/减计数器的设计:设计使用key0 为复位信号: 按下后实现计数清0。
key1为暂停按钮:按下后计数暂停。
key2为加、减控制按钮:不按时加计数,按下后减计数。
使用27M时钟信号。
计数时每秒钟10次。
主模块为counter ,从模块为display。
module counter(clk,res,stp,sub,seg,com);input clk,res,stp,sub;//clk为27M时钟res(接按键0)复位信号stp(接按键1)暂停信号sub (接按键2)加/减控制端(1:加、0:减)output [7:0] seg; // 8段码显示output [3:0] com; // 4个数码管选通信号(0 选通表示有效)reg [31:0] number; // 要输出的数字0~9999reg [31:0] clk_count; // 时钟计数(记录经过了多少时钟周期)always @ (posedge clk) beginif(res==0) begin // 复位clk_count = 0;number = 0;endelseif(clk_count==27_000_00) begin // 每当计数到2700000时(即:每过27_000_00 / 27M 秒时执行、、、)clk_count = 0; // 重新计数case ({number,sub}) // 组合判断number与sub 信号‘b0 : number = 9999; // 在number为0 ,并且继续减时number=9999‘b1001_1100_0011_111 : number = 0; //在number=9999,并且继续加时number=0default :number = !stp? number:!sub? number-1 : number+1 ;//否则,在!stp为真时计数停止,!stp为假时判定“!sub? number-1 : number+1 ”;此时!sub为真number-1 ,!sub为假number+1 ,endcaseendelseclk_count = clk_count+1; // 每个clk周期时钟计数始终加1enddisplay D_0(.res(res),.clk(clk),.number(number),.seg(seg),.com(com)); // 调用模块display 并将它起名为D_0endmodulemodule display(res,clk,number,seg,com); //模块用于在数码管上显示number值input res,clk;input [31:0] number;output reg [7:0] seg;output reg [3:0] com;reg [7:0] number_temp;reg [31:0] clk_count; //时钟计数always @(posedge clk) beginclk_count = clk_count+1; //首先先让时钟计数加1if(res==0) begin // 复位com = 4'b0111; // 选通第一个数码管seg = 8'b0111_1111; // 显示数码管中间的一条短横clk_count = 0; // 计数清零endelse if(clk_count == 27_000) begin // 每计数至27_000时(即:每过27000 / 27M 秒时)执行以下语句clk_count = 0; // 计数清零if(com==4'b1110) // 判定如果当前已是最右边数码管亮时让它重新回到最左边的数码管进行显示com = 4'b0111;elsecom = (com = com>>1) | 4'b1000; // 数码管从左边开始依次向右边显示(即0111→1011→1101→1110→0111、、、、)endelsecase(com) // 判定是哪一个数码管在显示,并调用函数dis 将那位上应该显示的数的段码送至seg 端4'b0111: seg = dis((number%1_0000)/1000); // 显示千位4'b1011: seg = dis((number%1_000)/100); // 显示百位4'b1101: seg = dis((number%1_00)/10); // 显示十位4'b1110: seg = dis(number%1_0); // 显示个位default: seg = 8'b01111111; // 否则显示横杠endcaseendfunction [7:0] dis; // 函数dis 用以输出0~9 对应的段码input [7:0] nu; //接受一个输入case(nu)'d0: dis=8'b10010000;'d1: dis=8'b10011111;'d2: dis=8'b01011000;'d3: dis=8'b00011001;'d4: dis=8'b00010111;'d5: dis=8'b00110001;'d6: dis=8'b00110000;'d7: dis=8'b10011101;'d8: dis=8'b00010000;'d9: dis=8'b00010001;default: dis=8'b01111111;endcaseendfunctionendmodule。
数字逻辑电路课程课程设计--简易加减计算器
摘要本次课程设计的任务是设计一个具有加减运算功能的简易计算器,并通过合适的方式来显示最后的计算结果。
此次设计电路的完成主要是利用简单的数字电路和电路逻辑运算来进行的。
简易加减计算器电路主要是对数据的输入与显示,数据的加减运算,数据的输出与显示三个主要的方面来设计研究完成的。
在输入电路的部分,我们通过开关的闭合与断开来实现数据的输入,开关闭合接入高电平“1”,断开接入低电平“0”。
而输入的数据将通过显示译码管以十进制的形式显示出来。
由于输入二进制的位数较多,我们采用个位十位分别输入的方式来简化电路。
加减运算电路则主要通过加法器来实现的。
设计电路时,我们将个位和个位、十位和十位分别接入一片加法器。
在进行加法运算时我们所选择的加法器是完全符合要求的,但是在进行减法运算时加法器就不能满足我们的设计要求了。
因此我们将减法转换为加法进行运算,运算时采用补码的形式。
在进行减法时通过异或门将减数的原码全部转换为补码,输入加法器中进行相加。
最后将进位信号加到十位的运算电路上就实现了加减法的运算电路。
在显示电路中,由加法器输出的数据是二进制码。
这些码可能表示超过十的数字,所以显示译码管就不能正确的显示出数字了。
此时要将二进制转化成BCD码,再将BCD 码送到显示译码管中就可以将计算所得的数字显示出来了。
概述1.1设计题目:简易加减计算器1.2设计任务和要求:1)用于两位以下十进制数的加减运算。
2)以合适的方式显示输入数据及计算结果。
1.3设计方案比较:方案一:输入十进制的数字,再通过编码器对十进制的数字进行编码,输出二进制的数据。
运用显示译码器对输入的数字以十进制的形式进行显示。
在进行加减计算的时候将二进制数字运用数模转换,然后再进行相加减。
然后将这些模拟信号再次转换成数字信号转换成数字信号,再将数字信号输入到显示译码管中来显示数剧。
这个方案中要进行数模转换和模数转换所需要的电路器件有些复杂,并且转换的时候需要很长的时间,而且转换以后数值的精度不高。
如何设计简单的计数器电路
如何设计简单的计数器电路在数字电子电路中,计数器是一种常见而重要的电路元件,它能够实现对输入脉冲信号进行计数和展示。
本文将介绍如何设计一个简单的计数器电路。
设计简单的计数器电路可以分为两个步骤:选择适当的计数器类型和设计逻辑电路。
一、选择适当的计数器类型在选择计数器类型时,需要考虑计数器的位数和计数模式。
根据计数器的位数,可以选择4位、8位或更多位的计数器。
根据计数模式,可以选择二进制计数,BCD(二进制编码十进制)计数,或其他计数方式。
以4位二进制计数器为例,设计一个可以从0到15计数的计数器。
二、设计逻辑电路为了实现从0到15的计数,我们可以使用四个JK触发器和适当的逻辑门来构建计数器电路。
首先,将四个JK触发器连接成一个级联结构,即将一个触发器的输出引脚连接到下一个触发器的时钟输入引脚,以此类推。
同时,将第一个触发器的时钟输入引脚连接到输入脉冲信号源。
接下来,需要设置逻辑门来控制计数器的复位和使能。
当计数器达到15时,需要将其复位为0,即重新开始计数。
我们可以使用与门来实现这一功能,将四个触发器的输出引脚连接到与门的输入引脚,当四个引脚全部为高电平时,输出高电平信号,将其作为复位信号。
另外,为了使计数器能够正常工作,还需要设置使能信号。
我们可以使用使能控制器来实现这一功能,将输入脉冲信号和复位信号分别连接到使能控制器的输入引脚,使能控制器的输出引脚连接到四个JK 触发器的使能输入引脚。
通过上述设计,我们就可以获得一个简单的4位计数器电路。
当输入脉冲信号源提供脉冲时,计数器将递增一个单位;当计数器达到15时,将被复位为0,并重新开始计数。
设计计数器电路时,需要注意以下几点:1. 选用适当的计数器类型和位数,根据实际需求确定。
2. 熟悉JK触发器的工作原理和真值表,确保触发器的连线正确。
3. 理解逻辑门的功能,如与门、或门等。
4. 考虑计数器的复位和使能功能,确保计数器能够正常工作。
总结:设计一个简单的计数器电路需要选择适当的计数器类型和设计逻辑电路。
简单介绍简易计算器的使用方法
简单介绍简易计算器的使用方法简易计算器使用方法计算器是我们日常生活中常见的小工具之一,它能够方便快捷地完成各种数学运算。
在本文中,我们将简单介绍一下简易计算器的使用方法,帮助大家更好地利用这个小工具。
一、开机与关闭使用简易计算器之前,首先需要开机。
通常,在计算器上会有一个电源开关,打开开关后,计算器便会自动启动。
要关闭计算器,只需要将电源开关关闭即可。
二、数字输入在简易计算器上,数字输入是最基本的操作。
计算器通常会有一个数字键盘,上面标有0到9的数字。
通过按下相应的数字键,可以输入需要计算的数值。
输入多位数时,只需按照正确的顺序依次按下每个数字键。
三、基本运算简易计算器能够完成四则运算,包括加法、减法、乘法和除法。
使用计算器进行基本运算时,需要按下特定的运算符键。
1. 加法:简易计算器上通常会有一个“+”键,按下该键后,计算器会把当前输入的数值记为被加数,再输入另一个数值,按下“=”键,计算器就会显示它们的和。
2. 减法:类似地,简易计算器上通常会有一个“-”键,按下该键后,计算器会把当前输入的数值记为被减数,再输入一个数值,按下“=”键,计算器就会显示它们的差。
3. 乘法:简易计算器上通常会有一个“×”键,按下该键后,计算器会把当前输入的数值记为被乘数,再输入一个数值,按下“=”键,计算器就会显示它们的积。
4. 除法:类似地,简易计算器上通常会有一个“÷”键,按下该键后,计算器会把当前输入的数值记为被除数,再输入一个数值,按下“=”键,计算器就会显示它们的商。
四、小数与分数计算除了整数运算,简易计算器还可以进行小数和分数的计算。
对于小数的输入,直接使用数字键盘即可,对于分数的输入,则需要使用特定的输入方式。
通常,在计算器上会有一个“分数”键或“1/x”键,按下该键后,计算器会进入分数输入模式,在屏幕上显示分子和分母的输入框,通过按下数字键来输入相应的分子和分母。
输入完毕后,按下“=”键,计算器就会进行分数的计算。
简易加减计算器
简易加减计算器河南城建学院河南城建学院数字逻辑电路课程设计报告简易加减计算器设计姓名: 张凯学号: 061408255 专业班级: 计算机科学与技术指导老师: 樊晓虹、周焱、赵红梅、梁成武所在院系: 计算机科学与工程系2010年9月 3 日河南城建学院本科课程设计报告1摘要这次的课程设计的任务是设计一个具备加减运算功能的电路,能够通过开关控制进行加法计算和减法计算,并利用LED灯显示计算结果。
通过对计数器功能的研究和上网查了多方面的资料。
我们拟定了如下的设计方案:该方案主要有3个主要版块组成:编码输入电路、加减运算电路和显示电路。
输入电路: 我们通过开关的闭合和开通来代表电平的高地位继而代表0和1来输入所要计算的十进制数字。
加减运算电路:加减运算电路主要由,,,,1,,(双全加器)的级联电路组成。
通过异或门将原码全部转换为补码,然后采用个位和个位相加,十位和十位的相加的原则,将两个的个位的代码送入到一个加法器中,将进位依次传递。
但是加法器只可以做加法运算,不满足我们的设计要求,于是我们将减法也变成加法进行运算,运算都走补码,最后再将结果在转换为原码,通过LED灯显示出来。
显示电路:显示电路时通过7段显示译码器来实现的。
河南城建学院本科课程设计报告2指导教师评语:课程设计成绩评定成绩等级:指导教师签字:年月日3目录一(概述 ..................................................................... . (5)1.1 设计题目 ..................................................................... . (5)1.2 设计任务和要求 ..................................................................... .. 51.3 设计方案 ..................................................................... ............. 5 二(系统总体方案 ..................................................................... (7)2.1 输入电路设计 ..................................................................... .. (7)2.2 加减运算电路 ..................................................................... .. (7)2.3显示电路 ..................................................................... . (8)2.4总体电路的设计 ..................................................................... .. (9)三(软件仿真 ..................................................................... (10)3.1仿真结果: .................................................................... ........... 10 四(设计体会 ..................................................................... (11)参考文献: .................................................................... .. (11)4概述1.1 设计题目简易加减法计数器设计1.2 设计任务和要求1、选器件制作一个简易计算器实现二位以下十进制数的加减计算2、一步掌握数字电子技术课程所学的理论知识。
一年级加减法转盘制作流程
第一步:准备材料1.扳手2.铅笔3.钻头4.木板5.刷子6.计算器7.绳子8.手电筒第二步:设计转盘模板1.使用铅笔和直尺在木板上画出一个大圆。
2.在大圆的内部画出一个小圆,小圆的直径可以根据自己的需要来确定。
3.在小圆的内部画几条放射线,每条都应从小圆的中心点延伸到大圆。
4.将小圆分为几个等分,可以根据自己的需要来确定。
第三步:准备工作1.使用扳手将木板固定在桌子上,这样可以保证在制作过程中木板不会移动。
2.使用钻头在木板上钻孔,钻孔应沿着放射线分布,每个孔的位置和大小应该与模板上的小圆和等分对应。
第四步:绘制数字1.使用计算器选择要绘制的数字。
2.将选定的数字写在小纸片上,然后将小纸片固定在合适的位置。
3.使用刷子和颜料在小纸片上涂上颜色。
4.在数字干燥后,使用羽毛笔给数字加上阴影和亮点,使其更加立体。
第五步:装饰转盘1.使用手电筒将转盘放在墙上或其他合适的位置上,然后调整角度以确保转盘能够顺利转动。
2.将绳子穿过转盘的钻孔,然后将其固定在墙上或其他可以支撑住绳子的物体上。
第六步:测试转盘1.在转盘上选择一个数字,然后滑动绳子,使数字停在指针上。
2.使用计算器计算选择的数字加上或减去另一个数字的结果,并将结果写在纸上。
3.重复上述步骤,尝试不同的数字组合。
第七步:调整和改进1.在使用过程中,如果发现转盘有问题,可以调整或修复。
2.如果发现转盘一些数字过于难以读取,可以重新绘制数字或改变颜色以提高可读性。
第八步:添加玩法1.可以将转盘放在教室或家庭中的一个容易被孩子们注意到的地方。
2.鼓励孩子们经常转动转盘,练习加减法运算的速度和准确度。
3.可以设置奖励机制,例如完成一定数量的计算后获得小奖品。
通过以上步骤,一个简单的一年级加减法转盘就制作完成了。
这个转盘可以帮助孩子们在玩耍中学习和巩固加减法运算,提高他们的计算能力。
同时,转盘的可移动性也使得它成为一个有趣的学习工具,可以随时随地进行加减法运算练习。
4位二进制加减法计数器
贵州大学实验报告
学院:计算机科学与信息学院专业:信息安全班级:
c=1;
end
else begin //如果data_r的值不等于0000则执行以下步骤
data_r<=data_r-1; //将data_r-1的值赋给data_r
c=0;
end
end
end
end
endmodule //模块定义结束
实
验
数
据
从实验结果图可以看出当up_down=1时执行加法计数器,每当clk输入一个上升信号时计数器的值DOUT 增加1。
当up_down=0时执行减法计数器,每当clk输入一个上升信号时计数器的值DOUT减少1。
当load=1是计数器载入预留值即DOUT=DIN。
当clr输入为1是计数器执行清零操作。
注:各学院可根据教学需要对以上栏木进行增减。
表格内容可根据内容扩充。
计数器使用方法
计数器使用方法计数器是一种常见的工具,用于记录数量、次数或时间。
它在各种场合都有着广泛的应用,比如商场的人流统计、实验室的实验次数记录、运动员的训练次数统计等等。
本文将介绍计数器的使用方法,希望能够帮助大家更好地利用这一工具。
首先,选择合适的计数器非常重要。
根据实际需求,我们可以选择手动计数器或者电子计数器。
手动计数器操作简单,不需要额外的电源,适合于一些简单的计数任务;而电子计数器可以实现更多功能,比如设置计数范围、自动清零、显示数字等,适合于较为复杂的计数任务。
在使用计数器时,首先需要对计数器进行初始化设置。
对于手动计数器,我们需要将计数器的初始值设置为零;对于电子计数器,我们需要根据需要设置计数范围和其他参数。
在进行初始化设置时,需要仔细阅读计数器的说明书,按照说明书上的操作步骤进行设置,以确保计数器能够正常工作。
接下来,我们可以开始使用计数器进行计数。
对于手动计数器,只需要按下计数按钮即可;对于电子计数器,可以根据需要设置自动计数或者手动计数模式。
在进行计数时,需要注意按照实际情况进行操作,确保每次计数都能够准确记录。
在使用计数器的过程中,我们还需要注意对计数器进行维护和保养。
定期清洁计数器表面的灰尘和污垢,确保计数器的显示清晰可见;定期更换电子计数器的电池,以确保计数器能够正常工作。
在使用过程中,如发现计数器出现故障或者异常情况,应及时停止使用,并按照说明书上的方法进行排除故障。
最后,使用完计数器后,我们需要对计数器进行复位操作。
对于手动计数器,只需要将计数器的值重新设置为零;对于电子计数器,可以按照说明书上的方法进行复位操作。
在进行复位操作时,需要确保计数器的显示值已经记录或者清零,以免影响下一次的计数任务。
总的来说,计数器是一种简单实用的工具,能够帮助我们更好地记录数量、次数或时间。
在使用计数器时,我们需要选择合适的计数器、进行初始化设置、注意维护保养,并在使用完毕后进行复位操作。
计数器的使用方法
计数器的使用方法
计数器是一种常用的工具,可以用来记录某个事件发生的次数。
其使用方法如下:
1. 找到计数器:计数器通常是一种小型电子设备,可以在电子商城或者超市等地购买到。
2. 安装电池:许多计数器需要电池供电,因此在使用之前应该先安装电池。
具体操作方法可以参考计数器的说明书。
3. 设置初始值:在开始记录之前,需要将计数器的初始值设置为0或其他需要的数值。
4. 记录事件发生的次数:每当某个事件发生时,按下计数器上的按钮,计数器的数值就会自动加1。
可以根据需要重复记录多次事件。
5. 读取计数结果:当需要查看计数结果时,可以查看计数器上的数字显示,或者按下计数器上的某个按钮,将计数结果输出到打印机或者电脑等设备中。
需要注意的是,不同的计数器可能具有不同的功能和操作方法,因此在使用之前应该先仔细阅读说明书,了解其具体的使用方法。
此外,计数器应该保存在干燥、避免受到撞击或者水浸的地方,以免影响其使用寿命。
- 1 -。
计数器的制作方法
计数器的制作方法“哇,今天的数学课好有趣啊!老师用计数器给我们演示数字的变化,我好想自己也有一个计数器。
”我跟同桌说道。
同桌回应我:“那我们自己做一个呗!”于是,我决定自己动手制作一个计数器。
制作计数器其实并不难哦。
首先,我们要准备一些材料。
就像盖房子需要砖头一样,制作计数器需要卡纸、吸管、珠子和剪刀。
卡纸要硬一点的,这样计数器才会比较结实。
吸管可以用喝饮料的那种,珠子可以是彩色的塑料珠子,漂亮又好玩。
接下来就是制作步骤啦。
先把卡纸剪成一个长方形,这就是计数器的底座。
然后在卡纸上画一些小格子,就像棋盘一样。
这些小格子是用来放珠子的。
接着,在卡纸的两边各戳一个小孔,把吸管穿过去。
这根吸管就是计数器的轴啦。
最后,把珠子穿在吸管上,一个简单的计数器就做好啦!在制作的过程中,有一些注意事项哦。
剪卡纸的时候要小心,不要剪到自己的手。
穿吸管的时候要用力均匀,不然吸管会歪掉。
珠子不要穿得太紧,不然不好移动。
计数器有很多应用场景呢。
比如,我们可以用它来做数学题,数数字、做加减法都很方便。
还可以用它来玩游戏,比如比谁数得快。
它的优势也很明显呀,自己制作的计数器很有成就感,而且可以根据自己的喜好来装饰。
我记得有一次,我和小伙伴们一起用计数器做数学竞赛。
我们分成小组,看哪个小组数得又快又准。
大家都好紧张,眼睛紧紧地盯着计数器上的珠子。
最后,我们小组赢了,大家都开心得跳了起来。
那一刻,我觉得计数器真是个神奇的东西。
我觉得自己制作计数器超级有趣,不仅能学到知识,还能和小伙伴们一起玩。
你也快来试试吧!。
毕业设计简易加减乘除计算器
毕业设计题目简易加减乘除计算器系别专业班级姓名学号指导教师日期设计任务书设计题目:简易加减乘除计算器设计要求:1.根据所学内容运用编程做一个简易加减乘除计算器,实现加、减、乘、除、等以及清零的功能。
2.设置一组数码管, 使其能够显示程序运行,按键动作的内容。
3.设置一组按键,使其键依次对应0——9、“+”、“-”、“*”、“/”、“=”和清除键。
4.可以进行小于255的数的加减乘除运算,并可连续运算。
当键入值大于255时,将自动清零,可重新输入。
设计进度要求:第一周:确定题目,寻找单片机和计算器设计的相关资料;第二周:读懂资料,有初步的设计思路;第三周:绘制硬件电路图;第三周:设计软件框图;第四周:相应软件设计(程序设计);第五周:进行程序调试并且修改;第六周:写毕业设计论文;第七周:修改并提交毕业设计;第八周:准备论文答辩;指导教师(签名):摘要在很多领域的数据处理中要用到数学运算,作为计算机自动处理系统更显得重要。
此项目设计以单片机为核心部件的计算器,采用4*4矩阵式键盘,16个键依次对应0——9、“+”、“-”、“*”、“/”、“=”和清除键。
使用单片机最小应用系统1模块,简单方便。
采用静态显示,显示器由5个共阴极数码管组成。
输入只有两个信号,它们是串行数据线DIN和移位信号CLK。
5个串/并行移位寄存器芯片74LS164首尾相连。
每片的并行输出作为LED数码管的段码。
本计算器系统简单,实用性强,成本低,使用维护方便,软件功能强,运行稳定可靠等优点。
关键词:单片机,计算器,键盘,静态显示前言随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将更强。
在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS –51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、 NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。
实验二8位二进制加减可控计数器设计
实验二8进制加减可控计数器设计一、实验目的1.学习时序电路的设计,仿真和硬件测试,进一步熟悉VHDL设计技术。
2.学习使用SignalTap的使用方法。
3.学习用AS模式下对配置器件的编程。
二、实验内容1.参考书中4-22,设计一个异步清零和同步时钟使能的十进制加法计数器,在QuartusⅡ上进行编辑、编译、综合、适配、仿真。
给出其所有信号的时序仿真波形。
引脚锁定后进行编译、下载和硬件测试实验。
2.使用SignalTap II对此计数器进行实时测试,保存波形。
3.从设计中去除SignalTap II,要求全程编译后生成用于配置器件EPCS1编程的压缩POF文件,并使用ByteBlasterII,通过AS模式对实验板上的EPCS1进行编程,最后进行验证。
4.设计含有异步清零和同步时钟使能的8进制加减可控计数器。
并完成硬件测试。
一般加法计数器的设计参照书本例4-22。
异步清零表示只要清零信号有效,计数器输出为某个特定的值(比如00H),计数器使能表示只有该信号有效时,才开始计数,其他时候停止计数。
另外加减控制线来控制计数器是加还是减。
三、实验报告将实验原理、设计过程、编译仿真波形和分析结果写进实验报告。
四、实验步骤1.创建工程在D盘中新建一个文件夹D:\ cnt10,此文件夹用于存放整个工程。
打开Quartus II 7.2,在菜单中选择File—〉New Project Wizard 将会出现一个信息框,这个对话框介绍创建工程步骤,可以直接选Next,这时会出现如图1所示的对话框。
这里需输入的是欲创建工程的基本信息,三个输入栏中分别输入的是工程将被保存的路径及工程文件夹、工程的名称和顶层实体的名称。
建议工程名与顶层实体名称保持一致。
输入完毕我们就可以点击Next。
图1 新建工程基本信息对话框然后出现图2所示的添加工程文件对话框。
在这里需要做的是将已经写好的VHDL文件加入到工程中。
本次实验,可以直接点击Next,以后再添加VHDL 文件的工作。
quartus_4位二进制加减法计数器
贵州大学实验报告学院:专业:班级设计原理框图从原理图中可见,需要有1bit装载位(load)、1bit清零位(clr)、方向控制位up_down和4bit数据选择位DIN[3..0]。
装载位我们采用SW0,清零位采用SW1,方向控制位为SW2。
SW3-SW6作为数据输入端,LED1-LED4显示数据的输出,LED5为溢出标志位。
如图为波形仿真结果,当clr为1的时候,输出结果为0000;当clr为0,load为1时,输出结果为输入数据DIN的值,当up_down为1时,加法进位,进行加1运算,当data_r达到1111时,data_r变为0000,级零信号c为1;当up_down为0时,减法进位,进行减1运算,当data_r达到0000时,data_r变为1111,级零信号c为0。
总黄酮生物总黄酮是指黄酮类化合物,是一大类天然产物,广泛存在于植物界,是许多中草药的有效成分。
在自然界中最常见的是黄酮和黄酮醇,其它包括双氢黄(醇)、异黄酮、双黄酮、黄烷醇、查尔酮、橙酮、花色苷及新黄酮类等。
简介近年来,由于自由基生命科学的进展,使具有很强的抗氧化和消除自由基作用的类黄酮受到空前的重视。
类黄酮参与了磷酸与花生四烯酸的代谢、蛋白质的磷酸化、钙离子的转移、自由基的清除、抗氧化活力的增强、氧化还原作用、螯合作用和基因的表达。
它们对健康的好处有:( 1 )抗炎症( 2 )抗过敏( 3 )抑制细菌( 4 )抑制寄生虫( 5 )抑制病毒( 6 )防治肝病(7 )防治血管疾病(8 )防治血管栓塞(9 )防治心与脑血管疾病(10 )抗肿瘤(11 )抗化学毒物等。
天然来源的生物黄酮分子量小,能被人体迅速吸收,能通过血脑屏障,能时入脂肪组织,进而体现出如下功能:消除疲劳、保护血管、防动脉硬化、扩张毛细血管、疏通微循环、活化大脑及其他脏器细胞的功能、抗脂肪氧化、抗衰老。
近年来国内外对茶多酚、银杏类黄酮等的药理和营养性的广泛深入的研究和临床试验,证实类黄酮既是药理因子,又是重要的营养因子为一种新发现的营养素,对人体具有重要的生理保健功效。
减法计数器原理
减法计数器原理一、引言减法计数器是一种常见的数字电路,其原理基于二进制数的减法运算。
在电子工程领域,减法计数器被广泛应用于计数、定时和同步等方面。
本文将详细介绍减法计数器的原理及其应用。
二、减法计数器的基本原理减法计数器的基本原理是通过数字电路实现二进制数的减法运算。
在二进制数中,每一位只有两个状态(0或1),因此可以将减法运算转化为逐位比较的方式。
例如,对于两个二进制数A和B,其差值C可以表示为:C=A-B=(A1-B1,A2-B2,A3-B3,...,An-Bn)其中,A和B的每一位都可以表示为Ai和Bi,C的每一位可以表示为Ci。
当Ai≥Bi时,Ci=0;当Ai< Bi时,Ci=1,并向高位借位。
这种逐位比较的方式可以通过数字电路实现,即减法计数器。
三、减法计数器的实现方式减法计数器的实现方式有多种,其中最常见的是串行减法计数器和并行减法计数器。
1.串行减法计数器串行减法计数器是一种逐位比较的方式,其原理是通过级联多个反相器实现。
每个反相器都能够实现1位二进制数的减法运算,因此通过级联多个反相器,可以实现多位二进制数的减法运算。
例如,对于一个4位的串行减法计数器,其原理如下图所示:其中,每个反相器都能够实现1位二进制数的减法运算,因此通过级联多个反相器,可以实现4位二进制数的减法运算。
当输入信号为0000时,经过4个反相器的级联,输出信号为1111;当输入信号为1111时,经过4个反相器的级联,输出信号为0000。
通过这种方式,可以实现二进制数的减法运算。
2.并行减法计数器并行减法计数器是一种同时比较多位二进制数的方式,其原理是通过多个比较器实现。
每个比较器都能够同时比较多位二进制数的大小关系,因此通过多个比较器的组合,可以实现多位二进制数的减法运算。
例如,对于一个4位的并行减法计数器,其原理如下图所示:其中,每个比较器都能够同时比较多位二进制数的大小关系,因此通过4个比较器的组合,可以实现4位二进制数的减法运算。
计数器使用方法
计数器使用方法计数器是一种常见的工具,用于记录某个事件或物品的数量。
它在各种场合都有着广泛的应用,比如商场的客流量统计、实验室的实验次数记录、运动员的训练次数统计等等。
本文将介绍计数器的使用方法,帮助大家更好地利用这一工具。
首先,选择合适的计数器。
在市面上,有各种各样的计数器可供选择,包括机械计数器、电子计数器、手持计数器等。
在选择计数器时,需要根据实际需求来确定,比如需要记录的数量范围、使用场合、便携性等因素都需要考虑进去。
一般来说,电子计数器更适合大范围、长时间的计数,而手持计数器则更适合移动使用。
接着,熟悉计数器的操作方法。
不同类型的计数器操作方法可能略有不同,但总体上来说,它们都有着相似的基本操作步骤。
首先是清零操作,即将计数器的数量归零,以便开始新的计数。
然后是计数操作,根据实际情况按下计数按钮或者拨动计数轮,完成对事件或物品数量的记录。
最后是保存操作,有些计数器可以将记录的数量保存下来,以便日后查看或导出数据。
在使用计数器的过程中,需要注意一些细节问题。
比如在进行计数操作时,要确保每次只记录一次,避免出现重复计数的情况。
另外,要及时对记录的数量进行核对,确保数据的准确性。
对于一些需要长时间连续计数的情况,还需要注意计数器的电量或者机械部件的磨损情况,以免影响计数的准确性。
除了基本的计数功能外,一些计数器还具备其他附加功能,比如计时功能、数据统计功能等。
在使用这些功能时,需要仔细阅读计数器的说明书,了解具体的操作方法和注意事项,以免造成误操作或者损坏计数器。
总的来说,计数器作为一种简单实用的工具,可以帮助我们更好地记录和统计数量信息。
通过选择合适的计数器、熟悉操作方法、注意细节问题,我们可以更好地利用计数器,提高工作效率,准确记录所需的数量信息。
希望本文所介绍的计数器使用方法对大家有所帮助,让大家能够更加方便、准确地使用计数器,提高工作效率,更好地完成各项任务。
同步十二进制的加减法计数器
题目:设计一个同步十二进制的加减法计数器。
要求X=1时为加法,X=0时为减法。
实验步骤:第一步:根据设计要求,该电路是Moore 型同步时序电路,它是按自然态序变化。
画出同步十二进制的加减法计数器的状态转换图如下所示:第二步:状态编码。
本电路是十二进制计数器,有12个不同的状态用S 0~S 11表示,且不能作状态化简。
根据2n-1 <N 2n ,当N=12时,n=4,选触发器的个数n=4。
设S 0=0000、S 1=0001、S 2=0010、S 3=0011、S 4=0100、S 5=0101、S 6=0110、S 7=0111、S 8=1000、S 9=1001、S 10=1010、S 11=1011。
状态编码图如下所示: /Z/1/0第三步:求输出方程,状态方程和驱动方程。
D触发器的特性方程Q n+1 = D当X=1时画出对应的卡诺图Zn+1n+1n+1Z=Q 4n Q 2n Q 1nQ 4n+1 =Q 4n = D4=n Q 4Q 2n Q 1n Q 3n +Q4n n Q 2+Q4n n Q 1 Q 3n+1=Q 3n = D3=Q3n n Q 2+Q3n n Q 1+n Q 4n Q 3Q2nQ1n Q 2n+1=Q 2n = D2=Q3n n Q 1+Q3n n Q 2+n Q 4n Q 2Q1n Q 1n+1=Q 1n =D1=Q1n同理求得减法的驱动方程和输出方程如下: Z=Q 4n Q 2n Q 1nQ 4n+1 = D4=n Q 4n Q 3 Q 3n+1= D3=Q 3n Q 2n+1= D2=n Q 2 Q 1n+1= =D1=Q1n第四步:画逻辑图(如下所示)第五步,分析是否有自启动功能 无效状态有:1100,1101,1110,1111 加法时:当为1100时, Z=Q 4n Q 2n Q 1n =0Q 4n+1 =Q 4n = D4=n Q 4Q 2n Q 1n Q 3n +Q4n n Q 2+Q4n n Q 1=1 Q 3n+1=Q 3n = D3=Q3n n Q 2+Q3n n Q 1+n Q 4n Q 3Q2nQ1n=1 Q 2n+1=Q 2n = D2=Q3n n Q 1+Q3n n Q 2+n Q 4n Q 2Q1n=1 Q 1n+1=Q 1n =D1=Q1n =1 转入1111同理可得:当1101时,转入1110 当1110时,转入1111 当1111时,转入0000 所以不能自启动。
实验九_步长可变的加减计数器
实验九_步长可变的加减计数器实验九步长可变的加减计数器⼀、实验⽬的1.掌握加减法计数器以及特殊功能计数器的的设计原理。
2⽤VHDL语⾔设计多功能计数器。
⼆、实验原理计数分同步计数器和异步计数器,如果按⼯作原理和使⽤情况来分那就更多了。
1.加减⼯作原理加减计数也称为可逆计数,就是根据计数控制信号的不同,在时钟脉冲的作⽤下,计数器可以进⾏加1计数操作或者减1计数操作。
2.变步长⼯作原理如步长为3的加法计数器,计数状态变化为0、3、6、9、12……,步长值由输⼊端控制。
在加法计数时,当计数值达到或超过99时,在计数器下⼀个时钟脉冲过后,计数器清零;在减法计数时,当计数值达到或⼩于0时,在计数器下⼀个时钟脉冲过后,计数器也清零。
三、实验内容1 设计的计数步长可在0~79之间变化2 通过仿真或观察波形图验证设计的正确性。
3 编译下载验证结果。
四、设计提⽰1.注意IF语句的嵌套。
2.注意加减计数状态的变化,计数值由9变0(加法)及由0变9(减法)各位的变化。
由于计数器为⼗进制计数器,还应考虑进位或借位后进⾏加6及减6校正。
五、实验报告要求1.写出多模加减计数器的VHDL源程序。
2.叙述多模加减计数器的⼯作原理。
SF = ‘1’加标志,SF=’0’减标志3.画出计数器⼯作波形图.LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CHANGABLE ISPORT(CLK,RESET,SF:IN STD_LOGIC;SIZE:IN STD_LOGIC_VECTOR(6 DOWNTO 0);DO:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY CHANGABLE;ARCHITECTURE C_SIZE OF CHANGABLE ISSIGNAL C_COUNT: STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN PROCESS(CLK,RESET,SF,SIZE)V ARIABLE TP:STD_LOGIC_VECTOR(6 DOWNTO 0); BEGINIF(RESET = '1')THENC_COUNT<=(OTHERS=>'0');ELSIF(CLK'EVENT AND CLK = '1')THENIF(SF='1')THENTP:=C_COUNT+SIZE;IF(TP>79)THENC_COUNT<=(OTHERS=>'0');ELSEC_COUNT<=C_COUNT+SIZE;END IF;ELSEIF(TP < SIZE)THENC_COUNT<=(OTHERS=>'0');ELSEC_COUNT<=C_COUNT-SIZE;END IF;END IF;END IF;DO<=C_COUNT;END PROCESS;END ARCHITECTURE C_SIZE;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.设计目的
1、综合运用相关课程中所学到的知识去完成设计课题。
2、学会电路的设计与仿真。
3、能自己熟练连接实现逻辑电路。
4、掌握Proteus的基本用法。
5、掌握74LS283N芯片的逻辑功能和译码显示器的使用方法。
2.设计要求
1、用于两位以下十进制的加减运算。
2、以合适方式显示输入数据及计算结果。
3、设计要求被减数大于或等于减数。
3.总体设计
3.1电路方框图
图1电路方框图
3.2工作原理
先利用单刀双掷开关将加数(减数)与被加数(被减数)置入,然后通过将加数(减数)通过异或门进行逻辑组合,再通过74LS283N 实现8421码的转换,最后接上7段数码管显示结果。
4.单元电路设计与分析
4.1加法电路
加法电路原理图如图1所示:
图1加法电路
4.2减法电路
图2减法电路
4.3元件清单以及元件介绍
2、设计思路
第一步,置入两个四位二进制数。
例如(1001),(0011)和(0101),(1000),同时在两个七段译码显示器上显示出对应的十进制数9,3和5,8。
第二步,通过开关选择加(减)运算方式;
第三步,若选择加运算方式所置数送入加法运算电路进行运算,同理若选择减运算方式,则所置数送入减法运算电路运算;
第四步,前面所得结果通过另外两个七段译码器显示。
即:
若选择加法运算方式,则(1000)+(0110)=(1110)十进制8+6=14并在七段译码显示器上显示14。
若选择减法运算方式,则(0101)-(1000)=(10011)十进制5-8=-3,并在七段译码显示器上显示-3。
3、运算方案
方案一
通过开关J1-J8接不同的高低电平来控制输入端所置的两个一
位十进制数,J1-J4控制第一个数A,J5-J8控制第二个数B,译码显示器U12和U13分别显示所置入的两个数。
数A直接置入四位超前进位加法器74LS283N的A4-A1端,74LS283的B4-B1端接四个2输入异或门。
四个2输入异或门的一输入端同时接到开关J9上,另一输入端分别接开关J5-J8,通过开关J5-J8控制数B的输入。
当开关J9接低电平时,B与0异或的结果为B,通过加法器74LS283完成两个数A和B的相加。
当开关J1接高电平时,B与1异或的结果为B非,置入的数B在74LS283的输入端为B的反码,且74LS283的进位信号C0为1,其完成S=A+B(反码)+1,实际上其计算的结果为S=A-B完成减法运算。
由于译码显示器只能显示0-9,所以当A+B>9时不能显示,我们在此用另一片芯片74LS283完成二进制码与8421BCD码的转换,即S>9(1001)2时加上6(0110)2,产生的进位信号送入译码器U14来显示结果的十位,U15显示结果的个位。
由于减法运算时两个一位十进制数相减不会大于10,所以不会出现上述情况,用一片芯片U15即可显示结果。
方案二
由两异或门、两与门和一或门组成全加器,可实现一位二进制加逻辑运算,四位二进制数并行相加的逻辑运算可采用四个全加器串行进位的方式来实现,将低位的进位输出信号接到高位的进位输入端,四个全加器依次串行连接,并将最低位的进位输入端接逻辑“0”,就组成了一个可实现四位二进制数并行相加的逻辑电路。
通过在全加器电路中再接入两个反相器可组成一个全减器,实现
一位二进制减逻辑运算,将来自低位的错位信号端接到向高位借位的信号端,依次连接四个全减器,构成可实现四位二进制数并行进行逻辑减运算的电路。
在两组电路置数端接开关控制置数输入加法还是减法运算电路,电路输出端接LED灯显示输出结果,输出为五位二进制数。
通过对两种方案的比较,为实现设计要求,首先在不计入数码管所需芯片的情况下,方案二一共需要十二个芯片,电路的连接相当复杂,产生接线错误和导线接触不良的几率大大增加,而且耗费较高;而方案一一共需要七或九个芯片,且其中几个芯片只用到一两个门,相对接线较简单,容易实现。
其次,方案二采用串行进位和借位的方式来实现四位逻辑加减运算,任意一位的逻辑运算必须在前一位的运算完成之后才能进行,相较而言运算速度不高;而方案一采用的是超前进位的方式来实现四位逻辑运算的,每位的进位只有加数和被加数决定,而与低位的进位无关,它的运算速度较方案二高出很多。
综上所述,方案一较方案二更加优秀,不仅电路简单而且运算速度更快,所以,这里采用方案一。
(二)部分电路设计
1、加法电路的实现
用两片4位全加器74LS283N和门电路设计一位8421BCD码加法器。
由于一位8421BCD数A加一位数B有0到18这十九种结果。
而且由于显示的关系当大于9的时候要加六转换才能正常显示,所以设
计的时候S>9(1001)时要加上(0110)2。
并有以下真值表:
有前16项得:
Y=S3S2+S3S1
即:U1输出端若有大于9的数,则会产生进位信号,使U2最后的结果做加六处理。
由后10项得:
Y=C O=1即:U1的输出若大于15,则会自动产生进位信号。
由以上两式得
Y=S3S2+S3S1+C O
由于用与非门比较方便所以我们选用了与非门电路有以下两种选择:
(1)Y=C4+S4S3+S4S2=C4+S4S3+S4S2=C4·S4S3·S4S2
(2)Y=C4+S4S3+S4S2=C4+S4S3+S4S2=C4·S4S3·S4S2
但由于(1)方式简单所以我们选用了(1)方式得到了如下的理论图: 其中六反向器的输出即为上步推导出的Y=C4+S4S3+S4S2=C4+S4S3+S4S2
2、减法电路的实现
该电路功能为计算A-B。
若n位二进制原码为N原,则与它相对应的补码为N补=2n-N原,补码与反码的关系式为N补=N反+1,A-B=A+B 补-2n=A+B反+1-2n
因为B⊕1=B非,B⊕0=B,所以通过异或门74LS86N对输入的数B
求其反码,并将进位输入端接逻辑1以实现加1,由此求得B的补码。
加法器相加的结果为:A+B反+1。
由于2n =16=(10000),相加结果与2n相减只能由加法器进位输出信号完成。
当进位输出信号为1时,它与2n的差为0;当进位输出信号为0时,它与2n差值为1,同时还要发出借位信号。
因为设计要求被减数大于或等于减数,所以所得的差值就是A-B差的原码,借位信号为0。
图减法电路
图加法显示电路
图减法显示电路
表2
74LS283N 为四位二进制超前进位全加器,可进行两个四数的加法运算,每位有和输出Σ1~Σ4,进位由第四位得到C4。
74LS283N芯片的逻辑符号如图7所示:
图 74LS283N的逻辑符号
图中A4~A1,B4~B1为四位二进制数,作为加数,C0为低位的进位。
Σ1~Σ4为加法器的和,C4 为本位的进位。
除此还有4个74LS86N异或门,实现数B的置数,1个74ALS86N
异或门实现减法运算时用到,另外的2个74ALS08N和74LS27N、74LS04N均为处理数码管只能显示 0-9 的问题时用到。
完整电路图
总结
通过这次课程设计,加强了我们动手、思考和解决问题的能力。
在整个设计过
程中,经常会遇到这样那样的情况,就是心里老想着这样的接法可以行得通,但实
际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。
我做课程设计的
同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课
间的学习并不
能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过
程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。