robei计数器设计
- 格式:doc
- 大小:837.79 KB
- 文档页数:8
机械逻辑计算器的制作介绍引言机械逻辑计算器是一种基于机械原理,利用逻辑门电路实现计算的设备。
与电子计算机相比,机械逻辑计算器无需依赖电力,能够进行简单的算术和逻辑运算,是早期计算设备的一种。
本文将介绍如何制作一台简单的机械逻辑计算器。
材料准备1.木板:用于制作计算器的主体结构,建议选择耐磨耐用的硬木板,尺寸约为20cm × 30cm × 2cm;2.钢丝:用于制作计算器的输入输出部分和逻辑门电路;3.螺丝和螺母:用于固定钢丝和木板;4.逻辑门元件:与钢丝一起完成逻辑运算的设备,如滑动开关、按钮、杠杆等;5.制作工具:如锯子、钳子、螺丝刀等。
制作步骤1. 制作计算器的主体结构首先,将木板切割成尺寸为20cm × 30cm的矩形板块,作为计算器的主体结构。
可以根据需求进行修整和打磨。
2. 制作输入输出部分选择一根较长的钢丝,将其固定在木板的一侧作为输入输出部分。
可以使用螺丝和螺母将钢丝固定在木板上。
在钢丝的末端,可以制作一个小圆环,方便手指操作。
3. 设计逻辑门电路根据所需实现的逻辑运算,设计逻辑门电路。
逻辑门电路是由逻辑门元件组成的,可以实现不同的逻辑运算功能。
根据电路原理图,使用钢丝将逻辑门元件连接起来,形成逻辑门电路。
4. 将逻辑门电路固定在木板上根据逻辑门电路的尺寸和形状,将逻辑门电路固定在木板上。
可以使用螺丝和螺母将逻辑门电路和木板牢固地连接在一起。
5. 测试和调试完成上述工作后,可以进行测试和调试。
通过操作输入输出部分,观察逻辑门电路的输出情况,判断计算器是否能够正常进行逻辑运算。
进一步改进基于以上的制作流程,你还可以进一步改进你的机械逻辑计算器。
下面是一些建议:1.添加更多的逻辑门元件,实现更复杂的逻辑运算;2.设计更便捷的输入输出部分,提升计算器的使用体验;3.使用更高级的材料,提升计算器的耐用性和外观质感;4.加入计算器的存储功能,可以暂时保存计算结果;5.通过使用更大的木板和更多的逻辑门元件,制作一个更大规模的机械逻辑计算器。
自制教具自制智能化单摆周期计数装置湖北省武汉市武昌区南湖第二小学(430070)李核1问题的提出教科版小学科学6年级下册第3单元第6课“摆的研究”要求:“通过改变摆锤的质量、摆绳的长度,在15s数出摆来回摆动的次数,收集15个实验数据得出结论,发现摆的快慢与摆锤的重量无关,与摆绳的长度有关。
”在课堂教学活动中,学生分别负责发指令、放摆、按秒表和读数,合作完成实验。
在实验中,经常会有超前或者滞后的情况发生,导致学生记录的实验数据并不准确;一节课时间内小组同伴还要共同合作完成15个实验,直接导致很多学生无法完整地完成实验数据的收集。
究其原因,是常规课堂使用的教具无法落实最基本的认知目标。
2文献综述笔者査阅文献资料,发现单摆周期的读取不精确是老师们普遍关注的问题。
知网数据库中对“单摆周期”的研究及单摆周期的测定全部都是针对大学生或者高中生的测量方案。
其中安学立老师在《一种简易单摆周期测量装置》介绍了自制测量电路,他用到了放大器电路实验测量。
任孝有老师在《利用手机近距离传感器测量单摆周期》中通过利用安卓手机传感器来实验近距离测量单摆周期,用到了手机传感器,但是下载安装程序比较繁琐。
李学等老师在《应用App提高物理实验准确性——以“用单摆测重力加速度”为例》中介绍了通过下载物理教学用App Physics Toolbox Sensor Suite Pro,读出单摆的周期。
在优质课的观摩现场,笔者发现有的学校把大学物理Dislab实验室里的电脑和传感器带进了课堂,有的老师利用Dislab实验器材进行单摆周期的测量。
以上这些方案虽然都能够精确测量单摆的周期,但是不容易普及。
大学物理实验室的器材小学科学老师很难得到,高中物理教学会用到学生常用的手机,需要下载相应的App,小学生操作起来较为困难。
3创新设计3.1创新思路基于这些教学困惑,笔者联想到在大学物理实验室见过的单摆测试仪器,它在最低点安装了磁感应器来计数,磁感应器“一看到”单摆就计数,时间也可以显示。
科目:姓名:学号:院系:类别:(学术、专业)实验一Labview 计算器一、实验目的通过利用labview设计一个简易计算器熟练的掌握labview基本功能和基本操作方法。
二、实验要求利用设计的计算器可以进行简单的四则运算、可以进行平方、开根号和倒数运算、计算器可以进行清零和关闭计算器操作、在输入数据时不慎将某个数字输错可以运用BackSpace清除该值等一些基本简单的运算。
三、实验原理和框图1、前面板设计前面板是LabVIEW的图形用户界面,在LabVIEW环境中可以对这些对象的外观和属性进行设计,LabVIEW提供了非常丰富的界面对象,可以方便地设计出生动、直观、操作方便的用户界面。
本系统中前面板显示程序的输入和输出对象,即,控件和显示器。
本程序中控件主要是按钮,显示器主要是文本显示。
在前面板设计过程中先在前面板整齐排列放置22个确定按钮,将这22按钮的标签隐藏,然后修改这22个确定按钮的名字分别为:0~9十个数字、小数点、正负号、加、减、乘、除、等号、倒数、根号、清零、退格和X的Y次方。
前面板还包括一个文本显示控件用于显示计算的结果和计算器的某些提示,通过改变显示控件的大小使之于计算器的大小相适应。
计算器的前面板还有程序框图中while循环的停止按钮,当按钮按下时计算器停止工作退出到LabVIEW的编辑界面。
为了前面板的美观和防止按钮的移动,分别将前面板的各个按钮和文字进行组合和对前面板进行装饰,装饰采用修饰中的平面框。
如下图所示:2.后面板设计程序框图对象包括接线端和节点,将各个对象连线连接便创建了程序框图,接线端的颜色和符号表明了相应输入控件或显示控件的数据类型。
程序框图是程序的核心,程序要实现的功能都是通过程序框图反应出来的。
本课程设计的程序框图主要运用了while循环、时间结构、条件结构和平铺顺序等结构。
通过上图可以看出当小数点按钮按下时,0.和存临时数据通过字符串连接控件将两者连接到一起;小数点按钮没有按下时,临时数据和小数点通过字符串连接按钮也将两者连接在一起,将连接到一起的数据送到显示控件。
专业技能训练3课程设计报告设计课题:模拟饮料易拉罐自动计数且数显计数装置设计专业班级:12电信本1班学生姓名:钟吉森学号:120802054指导教师:李秋生设计时间:2014.7.1-2014.7.9模拟饮料易拉罐自动计数且数显计数装置设计一、设计任务与要求选取必要的元件,设计、制作能对大、小饮料易拉罐自动计数且数显计数的模拟装置。
生产单位常采用红外自动计数装置,将装有饮料的易拉罐放在马达带动的传动带上,在传动带运动的过程中让每罐易拉罐依次同一方向地穿过红外发射、接收系统,形成计数脉冲,然后计数脉冲经电路加工、计数,再数显易拉罐计数结果,则就知道其生产量。
(1)设计所需的直流电源。
作品接入电源,电源指示灯(绿灯)亮。
→手动清零,显示“0”。
(2)能区分大小饮料易拉罐(用校园卡模拟,长边通过时模拟大易拉罐,通过一次亮一次红灯,短边通过时模拟小易拉罐,通过一次亮一次绿灯),并分别用一位数码管显示计数,计数从0-8,超过8以后计数停止,必须清零方可新一轮计数。
(3)制作时将红外发射、接收系统安置在作品的万能板或PCB板上,二者保持1cm的距离。
二、方案设计与论证1.方案设计方案论证:通过红外发射接收系统,当有物件经过时遮挡住发射管,接收管电平降低,从而实现电信号的转换,通过555组成的斯密特触发器对信号脉冲整形,输入到CD4011计数和译码。
三、单元电路设计及相关元器件介绍1、红外对管红外对管是线发射管与光敏接收管的组合,接收管将号(不可见光)转换成电信号一般是接收、放大、解调一体头,红外信号经接收管解调后,数据“0”和“1”的区别通常体现在高低电平的时间长短或信号周期上。
透明管为红外发射,黑色管为接收,当两者之间有遮挡物时黑色管输出为高电平。
2、CD40110CD40110 为十进制可逆计数器/锁存器/译码器/驱动器,具有加减计数,计数器状态锁存,七段显示译码输出等功能,并能直接驱动小型七段LED数码管。
四.ALU设计1.实验目的ALU(算数逻辑单元)是CPU的基本组成部分。
实验要求掌握算术逻辑运算加、减操作原理,验证运算器的组合功能。
2.实验准备ALU的基本结构如图2-4-1所示。
我们用Robei(微信公众号)所设计的ALU 要实现最基本的加减运算,与或非和异或等功能。
图2-4-1 ALU基本结构(1)加法运算包含2种类型,一种是不带进位的加法器,另外一种是带进位的加法器。
不带进位的加法器的公式:},={(1)ABRD+带进位的可以进行加法器级联,实现更高位数的串行加法运算。
带进位的加法器的公式:+=},{(2)D+RBFA(2)减法运算也包含2种类型。
不带借位的减法运算:}=,{(3)BARD-带借位的减法运算:=}-,{(4)AFD-BR3.实验要求使用Robei(微信公众号)设计一个8位ALU,并能实现数据与,或,非,异或,不带进位加法,带进位加法,不带借位减法和带借位减法运算。
运算符采用3比特表示。
A,B,R 均为8比特数据。
用测试文件测试你的ALU功能,并用级联方式将4个8比特的ALU实现32 比特的ALU。
4.实验内容4.1ALU模型设计1)打开Robei(微信公众号),新建一个模型命名为alu,类型为module,同时具备4输入2输出。
每个引脚的属性和名称参照图2-4-2进行对应的修改。
图2-4-2 引脚属性图2-4-3 ALU界面图2)添加代码。
点击模型下方的Code(如图2-4-4所示)添加代码。
图2-4-4 点击Code输入算法在代码设计区内输入以下Verilog代码:always @ (A or B or op or F)case ( op )3'b000: {D,R}=A&B;//实现与运算3'b001: {D,R}=A|B;//实现或运算3'b010: {D,R}=~A;//实现非运算3'b011: {D,R}=A^B;//实现异或运算3'b100: {D,R}=A+B;//实现不带进位的加运算3'b101: {D,R}=A+B+F;//实现带进位的加运算3'b110: {D,R}=A-B;//实现不带借位的减运算3'b111: {D,R}=A-B-F;//实现带借位的减运算default: {D,R}=A&B;// 默认为与运算endcase3)保存模型到一个文件夹中,运行并检查有无错误输出。
LabVIEW虚拟仪器课程设计论文题目:_________________________________班级: ___________________________________学号: ___________________________________姓名: ___________________________________ 指导教师:目录一、LabVIEW简介,,,,,,,,,,,,,,,,,,,,,,,,,, 31、虚拟仪器(VI)的概念,,,,,,,,,,,,,,,,,,, 32、L abVIEW 的概念,,,,,,,,,,,,,,,,,,,,,, 33、L abVIEW 特点及发展,,,,,,,,,,,,,,,,,,,, 34、L ABVIEW勺应用领域,,,,,,,,,,,,,,,,,,,, 4 —、设计思、,,,,,,,,,,,,,,,,,,,,,,,,,,, 4"三、实现过稈 51、面板按键的设计及感应,,,,,,,,,,,,,,,,,, 52、数字的键入(0〜8键入1〜9数字),,,,,,,,,,,,,, 53、“0” 的输入,,,,,,,,,,,,,,,,,,,,,,, 74、小数点的键入,,,,,,,,,,,,,,,,,,,,,, 75、等号的键入,,,,,,,,,,,,,,,,,,,,,,, 86、四则运算的连续实现,,,,,,,,,,,,,,,,,,, 97、C键清零作用及CE退出键,,,,,,,,,,,,,,,,, 10& 开方键,,,,,,,,,,,,,,,,,,,,,,,,, 109、倒数键,,,,,,,,,,,,,,,,,,,,,,,,, 1010、反号键,,,,,,,,,,,,,,,,,,,,,,,, 1111、b ackspace 键及默认事件,,,,,,,,,,,,,,,,, 1112、对result 的处理,,,,,,,,,,,,,,,,,,,, 11四总结13 I—I、丿*^|——I,,,,,,,,,,,,,,,,,,,,,,,,,,,,,ILabVIEW 简介1、虚拟仪器(VI)的概念虚拟仪器(virtualinstrument )是基于计算机的仪器。
FIFO1、实验目的FIFO(First in First out),使用在需要产生数据接口的部分,用来存储、缓冲在两个异部时钟之间的数据传输。
在异部电路中,由于时钟之间周期和相位完全独立,因此数据丢失概率不为零。
使用FIFO可以在两个不同时钟域系统之间快速而方便地传输实时数据。
这次实验我们就来学习一下如何用 Robei 和Verilog 语言来设计一个8位4深度的FIFO。
2、实验准备图1、fifo原理框图通过分析,我们看到图1中有一个具有独立的读端口和独立的写端口的 RAM 存储器。
这样选择是为了分析方便。
如果是一个单端口的存储器,还应包含一个仲裁器保证同一时刻只能进行一项操作(读或写),我们选择双口 RAM(无需真正的双口 RAM,因为我们只是希望有一个简单的相互独立的读写端口)是因为这些实例非常接近实际情况。
读、写端口拥有两个计数器(wp_p1、rp_p1)产生的互相独立的读、写地址。
计数器的值在读写使能信号来临时传递给“读指针”(rp)和“写指针”(wp)。
写指针指向下一个将要写入的位置,读指针指向下一个将要读取的位置。
每次写操作使写指针加 1,读操作使读指针加 1。
左右两侧的模块为读写指针与满空信号产生模块。
这两个模块的任务是给 FIFO 提供“空”(empty)和“满”(full)信号。
这些信号告诉外部电路 FIFO 已经达到了临界条件:如果出现“满”信号,那么 FIFO 为写操作的临界状态,如果出现“空”信号,则 FIFO 为读操作的临界状态。
写操作的临界状态表示 FIFO 已经没有空间来存储更多的数据,读操作的临界表示 FIFO 没有更多的数据可以读出。
读写指针与满空信号产生模块还可告诉 FIFO 中“满”或“空”位置的数值。
这是由指针的算术运算来完成了。
实际的“满”或“空”位置计算并不是为 FIFO 自身提供的。
它是作为一个报告机构给外部电路用的。
但是,“满”和“空”信号在 FIFO 中却扮演着非常重要的角色,它为了能实现读与写操作各自的独立运行而阻塞性的管理数据的存取。
成绩实验名称:简单4位计数器仿真实验
一、实验目的
1、了解动态扫描显示的基本原理。
2、能够运用多位数码管显示指定内容。
3、熟悉动态扫描显示方法。
二、实验仪器
三、实验内容
四、实验原理
实验报告
五、实验步骤
1、根据给定的实验要求,分析实验的目的以及实验要求。
2、通过计算机仿真软件Proteus,根据给定电路图设计电路,并绘制电路。
3、复习练习动态扫描显示驱动程序写法,通过程序控制数码显示每一位都不同的数字,
例如“1234”。
4、根据自己所设计的电路,编写控制程序。
5、调试所编写的控制程序,直至程序没有语法错误,可以通过编译。
6、将所编写的无语法错误的程序下载至仿真软件,并进行调试,根据仿真结果,修改程
序。
六、实验程序
#include <reg51.h>
sbit K1=P3^4;
sbit K2=P3^5;
七、实验分析、心得。
五比特纽环计数器设计一、设计要求:用D触发器来设计一个五比特纽环计数器要求用观察其计数器序列;2)列出至少三个制约系统正常工作的最高频率的因素;3估计系统的最高工作频率。
二、设计原理:纽环计数器又叫作约翰逊计数器,五位纽环计数器由五个D触发器构成,后四位D触发器的输入由分别由前一个的触发器的输出作为输入,而最高位的输入由最低位的输出经过反向后输入,因此五位纽环计数器的有效状态位有2n个(这里n=5)所以有十个有效状态,所以有32-10=22个状态是非法的。
我们使用五位计数器就是要使它在正常状态中工作,才能达到理想的工作状态,如果进入了非法状态,那么计数器就不能正常工作了。
所以要使(B’00000’)成为初始状态这样才能使得计数器进入非法状态后经过初始才能使计数器回到正常状态中去。
因此根据这个原理我们可以建立初步的设计思想。
三、实验过程首先根据设计要求对五位纽环计数器的工作状态进行分析,通过计算可以得出该计数器有以下几个有效状态:纽环计数器的真值表当前状态下一个状态B"00000" B"10000"B"10000" B"11000"B"11000" B"11100"B"11100" B"11110"B"11110" B"11111"B"11111" B"01111"B"01111" B"00111"B"00111" B"00011"B"00011" B"00001"B"00001" B"00000"其余未列出的状态均为非法状态。
计数器
1.实验目的
计数器在数字逻辑设计中的应用十分广泛,可以对时钟信号进行计数,分频和产生序列信号,也可以用在计时器和串并转换等电路。
这次实验我们就来学习一下如何用Robei和Verilog语言来设计一个4比特计数器。
2.实验要求
计数器对每个时钟脉冲进行计数,并将数值输出出来。
这个实验我们来设计一个4比特的计数器,其范围在0~F之间,也就是计数到最大值16。
设计波形要求如图2-2-1所示:
图2-2-1 计数器输出波形要求
3.实验内容
3.1 模型设计
1)新建一个模型。
点击工具栏上的图标,或者点击菜单“File”然后在下拉菜单中选择“New”,会有一个对话框弹出来(如图2-2-2所示)。
在弹出的对话框中设置你所设计的模型。
图2-2-2 新建一个项目
参数填写完成后点击“OK”按钮,Robei(服务号)就会生成一个新的模块,名字就是counter,如图2-2-3所示:
图2-2-3 计数器界面图
2)修改模型。
(公众号:Robei)在自动生成的界面图上进行名称地修改,输入引脚为clock,enable和reset,输出引脚修改成count。
其中count引脚的“Datasize”为4比特,用户可以输入4,也可以输入3:0。
为了区分每个引脚,我们可以修改每个引脚的Color值,并点回车保存。
修改完成后如图2-2-4所示。
如果选中模块,按“F1”键,就会自动生成一个Datasheet,如图2-2-5所示:
图2-2-4 修改引脚属性
图2-2-5 “Datasheet”截图
3)输入算法。
点击模型下方的Code(如图2-2-6所示)进入代码设计区。
图2-2-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)新建一个文件。
点击工具栏上的图标,在弹出的对话框中参照图2-2-7进行设计。
图2-2-7 新建测试文件
2)修改各个引脚的颜色。
选中每个引脚,在属性栏中对照图2-2-8进行修改引脚属性,并修改其颜色,方便区分不同的引脚信号。
图2-2-8 引脚属性表
3)另存为测试文件。
点击工具栏图标,将测试文件保存到counter模型所在的文件夹下。
4)加入模型。
在Toolbox工具箱的Current栏里,会出现一个counter模型,单击该模型并在counter_test上添加。
图2-2-9 添加模型
5)连接引脚。
点击工具栏中的图标,或者选择菜单“Tool”中的“Connect”,如图2-2-10所示,连接引脚。
这个时候,注意查看连接线的颜色。
如果鼠标要变回选择模式,点击图标。
图2-2-10 连接引脚
6)输入激励。
点击测试模块下方的“Code”,输入激励算法。
激励代码在结束的时候要用$finish 结束。
initial begin
clock = 1;
reset = 0;
enable = 0;
#5 reset = 1;
#10 reset = 0;
#10 enable = 1;
#150 enable = 0;
#5 $finish;
end
always begin //学习时钟信号的生成方法
#5 clock=~clock;//每隔5个时钟,clock取反一次,占空比50%
end
图2-2-11 激励代码
7)执行仿真并查看波形。
点击工具栏,查看输出信息。
检查没有错误之后点击,或者点击菜单“View”中的“Waveview”。
波形查看器就会打开。
点击右侧Workspace中的信号,进行添加并查看。
点击波形查看器工具栏上的
图标进行自动缩放。
分析仿真结果并对照真值表,查看设计波形与实验要求是否一致。
图2-2-12 查看波形
4.问题与思考
1.如何利用Robei设计一个逆向计数器?计数开始时为F,每个时钟信号到来计数器减一。
测试你的逆向计数器。
2.如何利用计数器实现占空比为50% 的2分频,4分频和16分频?提示:占空比:高电平持续时间在一个总周期所占的比率。