文档库 最新最全的文档下载
当前位置:文档库 › 模24计数器Verilog

模24计数器Verilog

模24计数器Verilog
模24计数器Verilog

module mo24(qout,cout,data,load,cin,reset,clk); output[7:0] qout;

outputcout;

input[7:0] data;

inputload,cin,reset,clk;

reg[7:0] qout;

always@(posedgeclk)

begin

if(reset) qout=0;

else if(load) qout=data;

else if(cin)

if(qout[7:4]<2)

if(qout[3:0]==9)

begin

qout[7:4]=qout[7:4]+1;

qout[3:0]=0;

end

else

qout[3:0]=qout[3:0]+1;

else

if(qout[3:0]==4)

qout=0;

else

qout[3:0]=qout[3:0]+1;

end

assigncout=((qout==8'h24)&cin)?1:0; endmodule

24点计算

1118(1+1+1)*8=24 1126(1+1+2)*6=24 1127(1+2)*(1+7)=24 1128:(1*1+2)*8=24 1129:(1+2)*(9-1)=24 11210:(1+1)*(2+10)=24 1134:(1+1)*3*4=24 1135:(1+3)*(1+5)=24 1136:(1*1+3)*6=24 1137:(1*1+7)*3=24 1138:(1-1+3)*8=24 1139:(1+1)*(3+9)=24 11310:(10-(1+1))*3=24 1144:(1+1+4)*4=24 1145:(1*1+5)*4=24 1146:(1-1+4)*6=24 1147:(7-1*1)*4=24 1148:(1+1)*(4+8)=24 1149:(4-1)*(9-1)=24 11410:(1+1)*10+4=24 1155:5*5-1*1=24 1156:(5-1*1)*6=24 1157:(1+1)*(5+7)=24 1158:(5-(1+1))*8=24 1166:(1+1)*(6+6)=24 1168:6*8/(1+1)=24 1169:(1+1)*9+6=24 11710:(1+1)*7+10=24 1188:(1+1)*8+8=24 1224:(1+2)*2*4=24 1225:(1+5)*(2+2)=24 1226:(1+2)*(2+6)=24 1227:(7-1)*(2+2)=24 1228:(2-1+2)*8=24 1229:(1+2+9)*2=24 12210:(1+2)*(10-2)=24 1233:(1+3)*2*3=24 1234:(1+2+3)*4=24 1235:(1+2)*(3+5)=24 1236:(3-1+2)*6=24

24点计算总表

1 1 1 1:无解 1 1 1 2:无解 1 1 1 3:无解 1 1 1 4:无解 1 1 1 5:无解 1 1 1 6:无解 1 1 1 7:无解 1 1 1 8:((1+(1+1))×8)=24 1 1 1 9:无解 1 1 1 10:无解 , 1 1 2 2:无解 1 1 2 3:无解 1 1 2 4:无解 1 1 2 5:无解 1 1 2 6:((1+(1+2))×6)=24 1 1 2 7:((1+2)×(1+7))=24 1 1 2 8:((1×(1+2))×8)=24 1 1 2 9:((1+2)×(9-1))=24 1 1 2 10:((1+(1+10))×2)=24 1 1 3 3:无解 ^ 1 1 3 4:((3×(1+1))×4)=24 1 1 3 5:((1+3)×(1+5))=24 1 1 3 6:((1×(1+3))×6)=24 1 1 3 7:((1×(1+7))×3)=24 1 1 3 8:((1-(1-3))×8)=24 1 1 3 9:((1×(9-1))×3)=24 1 1 3 10:((10-(1+1))×3)=24 1 1 4 4:((1+(1+4))×4)=24 1 1 4 5:((1×(1+5))×4)=24 1 1 4 6:((1-(1-4))×6)=24 — 1 1 4 7:((1×(7-1))×4)=24 1 1 4 8:((1×(4-1))×8)=24 1 1 4 9:((1-4)×(1-9))=24 1 1 4 10:((10×(1+1))+4)=24 1 1 5 5:((1×(5×5))-1)=24 1 1 5 6:((1×(5-1))×6)=24 1 1 5 8:((5-(1+1))×8)=24 1 1 5 9:无解 1 1 5 10:无解 … 1 1 6 6:((6-(1+1))×6)=24 1 1 6 7:无解 1 1 6 8:((6÷(1+1))×8)=24 1 1 6 9:((9×(1+1))+6)=24 1 1 6 10:无解 1 1 7 7:无解 1 1 7 8:无解 1 1 7 9:无解 1 1 7 10:((7×(1+1))+10)=24 1 1 8 8:((8×(1+1))+8)=24 《 1 1 8 9:无解 1 1 8 10:无解 1 1 9 9:无解 1 1 9 10:无解 1 1 10 10:无解 1 2 2 2:无解 1 2 2 3:无解 1 2 2 4:((2×(1+2))×4)=24 1 2 2 5:((2×(1+5))×2)=24 1 2 2 6:((1×(2+2))×6)=24 | 1 2 2 7:((2×(7-1))×2)=24 1 2 2 8:((2-(1-2))×8)=24 1 2 2 9:((1+(2+9))×2)=24 1 2 2 10:((1×(2+10))×2)=24 1 2 3 3:((2×(1+3))×3)=24 1 2 3 4:((1+(2+3))×4)=24 1 2 3 5:((1+(2+5))×3)=24 1 2 3 6:((1×(2+6))×3)=24 1 2 3 7:((1+(3×7))+2)=24 1 2 3 8:((1+(3+8))×2)=24 【 1 2 3 9:((1-(2-9))×3)=24 1 2 3 10:((1+(2×10))+3)=24 1 2 4 5:((2-(1-5))×4)=24 1 2 4 6:((4×(2-1))×6)=24 1 2 4 7:((1-(2-7))×4)=24 1 2 4 8:((1-(2-4))×8)=24 1 2 4 9:((2×(1+9))+4)=24 1 2 4 10:((1×(2×10))+4)=24 1 2 5 5:((1+(5×5))-2)=24 【 1 2 5 6:((1-(2-5))×6)=24 1 2 5 7:((1×(5+7))×2)=24 1 2 5 8:((1×(5-2))×8)=24 1 2 5 9:((1+(2×9))+5)=24 1 2 5 10:((5+(2×10))-1)=24 1 2 6 6:((1×(6-2))×6)=24 1 2 6 7:((6×(1+7))÷2)=24 1 2 6 8:((1÷(2÷6))×8)=24 1 2 6 9:((1×(2×9))+6)=24 1 2 6 10:((2×(1+6))+10)=24 , 1 2 7 7:(((7×7)-1)÷2)=24 1 2 7 8:((1+(2×8))+7)=24 1 2 7 9:((1+(2×7))+9)=24 1 2 7 10:((1×(2×7))+10)=24 1 2 8 8:((1×(2×8))+8)=24 1 2 8 9:((2×(9-1))+8)=24 1 2 8 10:((2×(8-1))+10)=24 1 2 9 9:无解 1 2 9 10:无解 1 2 10 10:无解 — 1 3 3 3:(((3×3)-1)×3)=24 1 3 3 4:((1×(3+3))×4)=24 1 3 3 5:((1×(3+5))×3)=24 1 3 3 6:((3×(1+6))+3)=24 1 3 3 7:((1×(3×7))+3)=24 1 3 3 8:((3×(1+8))-3)=24 1 3 3 9:((1×(3×9))-3)=24 1 3 3 10:((1-(3-10))×3)=24 1 3 4 4:((1×(4+4))×3)=24

基于74LS192的任意进制计数器的设计

基于74LS192的任意进制计数器的设计 【摘要】利用集成二、十进制计数器采用置数法、置零法设计任意进制计数器,分析设计方法,给出设计案例。以集成计数器74LS192为例,运用置零法和置数法设计八进制计数器和二十四进制计数器,来讲述任意进制计数器的设计原理与基本方法。 【关键词】集成计数器;任意进制计数器的设计;置数法;置零法 一、引言 数字系统中的时序电路中,使用最多的电路就是计数器,计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。集成计数器是运用的最为广泛的一种时序部件。集成计数器的种类非常多样,如果按计数器中数字的编码方式分类,可分为二进制计数器,十进制计数器等。集成计数器中,二进制和十进制计数器比较多见,对于任意进制计数器,通常利用现有的二、十进制计数器通过反馈清零或反馈置数来实现。任意进制计数器在控制系统中经常使用,是数字电子技术教学的重点内容之一,也是学生设计性实验的难点之一,以下就以集成计数器74LS192为例,介绍在已有的计数器基础上设计任意进制计数器的方法。 二、设计依据及举例 1.74LS192的管脚图 74LS192是同步十进制可逆计数器,它由四个主从T触发器和一些门电路组成。具有双时钟输入、清零、保持、并行置数、加计数、减计数等功能。图1为74LS192的管脚图。 图1 74LS192的管脚图 图1中:CLR是清零端,高电平有效;UP是递加计数脉冲输入端;DOWN是递减计数脉冲输入端;~LOAD是置数控制端,低电平有效;~CO是进位输出端;~BO是借位输出端。ABCD是置数端口。 2.任意进制计数器M小于N的情况 假定已有的是N进制计数器,需要得到的是M进制计数器。这时就有M小于N和M大于N两种情况。 例题为用74LS192设计一个八进制计数器: 在N进制的计数器的计数顺序中,使计数器的计数状态跳过N-M的状态,

设计一个24进制计数器(时序逻辑电路设计实验 )

阶段性考核之三:【平时成绩15分】 时序逻辑部分设计型实验报告 实验题目设计一个24进制计数器 学生姓名 班级 学号 任课教师 实验成绩 完成时间2015年07月20号

实验题目设计一个24进制计数器 实验目的 本次实验要求学生设计一个24进制计数器电路。其目的在于: 1.使学生学会用555定时器自行产生时钟脉冲的设计方法; 2.使学生深入理解用已有集成计数器实现任意进制计数器的设计过 程,并用数码管显示相应数字; 3.进一步锻炼学生的动手实践能力。 具体实验要求 选用4位二进制集成计数器74LS161设计一个24进制计数器。 1.试用整体清零法仿真实现上述24进制计数器; 2.试用整体置数法仿真实现上述24进制计数器。 3.要求用实物搭接时实现上述1、2中任意一种情况即可。 4.24进制要求必须用74LS161实现,不允许用74LS160。 5.用数码管显示24个状态对应的十进制数 6.在该实验报告中要有完整的设计过程、仿真电路图和实验调试过程。 7.总结本次实验的收获、体会以及建议,填入本实验报告的相应位置 中。【收获、体会必须写!】 设计过程 一.用555定时器实现秒脉冲的设计过程 555 定时器是一种模拟和数字功能相结合的中规模集成器件。R是复位端,当其为0时,555输出低电平,平时该端开路或接VCC。Vc是控制电压端(5脚),平时输出2/3VCC作为比较器A1的参考电平,当5脚外接一个输入电压,即改变了比较器的参考电平,从而实现对输出的另一种控制,在不接外加电压时,通常接一个0.01uf的电容器到地,起滤波作用,以消除外来的干扰,以确保参考电平的稳定。T为放电管,当T导通时,将给接于脚7的电容器提供低阻放电电路。555 定时器成本低,性能可靠,只需要外接几个电阻、电容,就可以实现多谐振荡器、单稳态触发器及施密特触发器等脉冲产生与变换电路。 对于555定时器构成的多谐振荡电路所产生的脉冲的周期,依据公式周期T=(R1+2R2)Cln2 可以求得,当C2为0.01uF,若C1取22uF,可计算出R1+2R2=66kΩ时可得到周期为1s,频率为1Hz的振荡信号,所以令R1=34kΩ,R2=16kΩ。 二.整体清零法实现24进制计数器 1.设计过程: 要实现整体清零,就要利用R D 端进行清零(在实际器件的端口是CLR端),即将24 进制最终清零信号分别接入两个74LS161芯片的R D 端,以实现整体清零,考虑到清

24进制计数器

24进制计数器的VHDL语言设计 默认分类2008-01-11 09:55:57 阅读1772 评论4 字号:大中小 摘要: 介绍了使用VHDL语言设计24进制计数器, 给出了功能仿真波形, 举例说明了实现电子设计自动化(EDA ) 的过程。 关键词: VHDL语言; 24进制计数器; 功能仿真; 电子设计自动化 一、前言: EDA技术的应用:电子EDA技术发展迅猛,逐渐在教学、科研、产品设计与制造等各方面都发挥着 巨大的作用: 在教学方面:让学生了解EDA的基本原理和基本概念、描述系统逻辑的方法、使用工具进行电子电路课程的模拟仿真实验并在作毕业设计时从事简单电子系统的设计,为今后工作打下基础。具有代表性的 是全国每两年举办一次大学生电子设计竞赛活动。 在科研方面:主要利用电路仿真工具进行电路设计与仿真;利用虚拟仪器进行产品调试;例如在CDMA无线通信系统中,所有移动手机和无线基站都工作在相同的频谱,为区别不同的呼叫,每个手机有一个唯一的码序列,CDMA基站必须能判别这些不同观点的码序列才能分辨出不同的传呼进程;这一判别是通过匹配滤波器的输出显示在输人数据流中探调到特定的码序列;FPGA能提供良好的滤波器设计,而且能完成DSP高级数据处理功能,因而FPGA在现代通信领域方面获得广泛应用。 在产品设计与制造方面:从高性能的微处理器、数字信号处理器一直到彩电、音响和电子玩具电路等,EDA技术不单是应用于前期的计算机模拟仿真、产品调试,而且也在P哪的制作、电子设备的研制与生产、电路板的焊接、朋比的制作过程等有重要作用。可以说电子EDA技术已经成为电子工业领域不可缺 少的技术支持。 EDA技术发展趋势:EDA技术在进入21世纪后,,在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断更新、增加,使电子EDA技术得到了更大的发展,突出表现在以下几个方面:使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;基于EDA工具的ASIC设计标准单元已涵盖大规模电子系统及IP核模块;软硬件IP核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认;SoC高效低成本设计技术的成熟。随着半导体技术、集成技术和计算机技术的迅猛发展,电子系统的设计方法和设计手段都发生了很大的变化。可以说电子EDA技术是电子设计领域的一场革 本文用VHDL语言设计了一个24进制计数器, 举例说明利用VHDL语言实现电子设计自动化(EDA) 的过程 二、24进制计数器的设计 24进制计数器设计VHDL语言: LIBRARY IEEE;

24点计算

“24点”游戏竞赛 班级学号姓名 1、游戏规则:任取四个1至13之间的自然数,将这四个数(每个数只用一次) 进行加减乘除四则运算,使其结果等于24,例如对1,2,3,4可作运算(1+2+3)×4。(注意上述运算与4×(2+1+3)应视为相同方法的运算) 2、鼓励一题多解,每个小题列出一个正确算式计2分,多列出的正确算式每个 另加2分。 3、本试卷共60小题;竞赛时间:45分钟。 (1)6,6,8,2(2)1,8,12,12 (3)2,5,1,10(4)3,11,13,9 (5)3,5,9,2(6)5,4,7,1 (7)7,3,3,4(8)13,3,9,7 (9)7,10,9,7(10)4,5,6,6 (11)8,8,11,4(12)11,6,13,7 (13)10,10,3,4(14)9,12,4,7

(17)3,2,13,5(18)11,13,9,6 (19)13,10,9,5(20)2,13,8,5 (21)1,13,2,12(22)3,11,13,4 (23)9,6,6,11(24)12,1,9,7 (25)7,6,11,7(26)9,4,12,10 (27)5,9,10,7(28)7,1,2,6 (29)10,10,13,12(30)5,9,4,8 (31)6,3,8,12(32)7,8,2,13

(35)7,2,3,6(36)13,6,6,9 (37)12,5,1,5(38)11,10,4,5 (39)5,13,6,7(40)1,8,6,5 (41)5,10,6,12(42)5,3,8,9 (43)6,2,1,5 (44)13,1,3,8 (45)7,5,4,13 (46)4,1,2,2 (47)5,6,10,2 (48)5,2,6,7 (49)11,10,3,9 (50)2,12,5,10

EDA 24进制计数器的设计

《EDA技术》课程实验报告 学生姓名:黄红玉 所在班级:电信100227 指导教师:高金定老师 记分及评价: 一、实验名称 实验1:24进制计数器的设计 二、任务及要求 【基本部分】5分 1、在QuartusII平台上,采用原理图输入设计方法,调用两片74160十进制计数器,采 用反馈置数法,完成一个24进制同步计数器的设计,并进行时序仿真。 2、要求具备使能功能和异步清零功能。 3、设计完成后生成一个元件,以供更高层次的设计调用。 4、实验箱上选择恰当的模式进行验证,目标芯片为ACEX1K系列EP1K30TC144-3。 三、实验程序(原理图) 四、仿真及结果分析

在QuartusII平台上,采用原理图输入设计方法,调用两片74160十进制计数器,采用反馈置数法,设计一个24进制同步计数器的思路是,一片74160计数器作为个位计数,一片用来十位计数,要实现同步24进制,则个位接成0011,十位接成0010,再用一个四输入(一段接一个使能信号EN)的与非门接到两片74160计数器上的置数端LDN。把原理图在QuartusII上画成后,进行编译,编译无误后,在新建一个波形文件,添加所有引脚,设置输入引脚的波形,最后在进行波形编译,无误后即可达到想要的24进制。然后再根据EPF10K30E144芯片引脚对照,输入各个输入输出引脚的引脚号,再链接到试验箱检验,观察数码管的显示结果。 五、硬件验证 1、选择模式:模式7 2、引脚锁定情况表: 六、小结 经过这次的实验工作,让我知道了许多的东西,也对QuartusII这个软件的一个初步认识及应用,也让我了解了许多在书本上所学不到的知识和技能,这为我们在以后的工作起了非常重要的作用。

24点计算

1126(1+1+2)*6=24 1127(1+2)*(1+7)=24 1128:(1*1+2)*8=24 1129:(1+2)*(9-1)=24 11210:(1+1)*(2+10)=24 1134:(1+1)*3*4=24 1135:(1+3)*(1+5)=24 1136:(1*1+3)*6=24 1137:(1*1+7)*3=24 1138:(1-1+3)*8=24 1139:(1+1)*(3+9)=24 11310:(10-(1+1))*3=24 1144:(1+1+4)*4=24 1145:(1*1+5)*4=24 1146:(1-1+4)*6=24 1147:(7-1*1)*4=24 1148:(1+1)*(4+8)=24 1149:(4-1)*(9-1)=24 11410:(1+1)*10+4=24 1155:5*5-1*1=24 1156:(5-1*1)*6=24 1157:(1+1)*(5+7)=24 1158:(5-(1+1))*8=24 1166:(1+1)*(6+6)=24 1168:6*8/(1+1)=24 1169:(1+1)*9+6=24 11710:(1+1)*7+10=24 1188:(1+1)*8+8=24 1224:(1+2)*2*4=24 1225:(1+5)*(2+2)=24 1226:(1+2)*(2+6)=24 1227:(7-1)*(2+2)=24 1228:(2-1+2)*8=24 1229:(1+2+9)*2=24 12210:(1+2)*(10-2)=24 1233:(1+3)*2*3=24 1234:(1+2+3)*4=24 1235:(1+2)*(3+5)=24 1236:(3-1+2)*6=24 1237:1+2+3*7=24 1238:(2-1)*3*8=24 1239:3*9-(1+2)=24

24点运算

计算24点是一种扑克牌益智游戏,随机抽出4张扑克牌,通过加(+),减(-),乘(*), 除(/)四种运算法则计算得到整数24,本问题中,扑克牌通过如下字符或者字符串表示,其中,小写joker表示小王,大写JOKER表示大王: 3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER 本程序要求实现:输入4张牌,输出一个算式,算式的结果 为24点。 详细说明: 1.运算只考虑加减乘除运算,没有阶乘等特殊运算符号,友情提醒, 整数除法要当心; 2.牌面2~10对应的权值为2~10, J、Q、K、A权值分别为 为11、12、13、1; 3.输入4张牌为字符串形式,以一个空格隔开,首尾无空格;如果输 入的4张牌中包含大小王,则输出字符串“ERROR”,表示无法运算; 4.输出的算式格式为4张牌通过+-*/四个运算符相连,中间无空 格,4张牌出现顺序任意,只要结果正确; 5.输出算式的运算顺序从左至右,不包含括号,如1+2+3*4的结果为24 6.如果存在多种算式都能计算得出24,只需输出一种即可,如果无法 得出24,则输出“NONE”表示无解。 输入描述: 输入4张牌为字符串形式,以一个空格隔开,首尾无空格;

示例1 输入 A A A A 输出 import java.util.Scanner; import java.util.HashMap; public class Main { private static String res; public static void main(String[] args) { Scanner sc=new Scanner(System.in); while(sc.hasNext()) { String[] org=new String[4]; for(int i=0;i<4;i++) org[i]=sc.next(); HashMap map=new HashMap(){ { put("2", 2);put("3", 3);put("4", 4);put("5", 5); put("6", 6);put("7", 7);put("8", 8);put("9", 9); put("10", 10);put("J", 11);put("Q", 12);put("K", 13); put("A", 1);put("1", 1); } }; fun(org,map); } sc.close(); } public static void fun(String[] org,HashMap map) {

24进制计数器设计报告.doc

24进制计数器设计报告 单时钟同步24进制计数器课程设计报告1.设计任务1.1设计目的1.了解计数器的组成及工作原理。 2.进一步掌握计数器的设计方法和计数器相互级联的方法。 3.进一步掌握各芯片的逻辑功能及使用方法。 4.进一步掌握数字系统的制作和布线方法。 5.熟悉集成电路的引脚安排。 1.2设计指标1.以24为一个周期,且具有自动清零功能。 2.能显示当前计数状态。 1.3设计要求1.画出总体设计框图,以说明计数器由哪些相对独立的功能模块组成,标出各个模块之间互相联系,时钟信号传输路径、方向。 并以文字对原理作辅助说明。 2.设计各个功能模块的电路图,加上原理说明。 3.选择合适的元器件,利用multisim仿真软件验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在确定电路充分正确性同时,输入信号和输出方式要便于电路的测试和故障排除。 4.在验证各个功能模块基础上,对整个电路的元器件和布线进行合理布局。 5.打印PCB板,腐蚀,钻孔,插元器件,焊接再就对整个计数器电路进行调试。

2.设计思路与总体框图.计数器由计数器、译码器、显示器三部分电路组成,再由555定时器组成的多谐振荡器来产生方波,充当计数脉冲来作为计数器的时钟信号,计数结果通过译码器显示。 图1所示为计数器的一般结构框图。 十位数码显示管译码驱动异步清零计数器计数脉冲(由555电路产生)个位位数码示像管译码驱动异步清零计数器强制清零▲图1计数器结构框图3.系统硬件电路的设计3.1555多谐荡电路555多谐振荡电路由NE555P芯片、电阻和电容组成。 由NE555P的3脚输出方波。 ▲图2555电路3.2计数器电路集成计数芯片一般都设置有清零输入端和置数输入端,而且无论是清零还是置数都有同步和异步之分。 有的集成计数器采用同步方式,即当CP触发沿到来时才能完成清零或置数任务;有的集成计数器则采用异步方式,即通过触发器的异步输入端来直接实现清零或置数,与CP信号无关。 本设计采用异步清零。 由2片十进制同步加法计数器74LS160(图2-1-1)、一片与非门74LS00(图2-1-2)和相应的电阻、开关。 由外加送来的计数脉冲(由555电路产生)送入两个计数器的CLK端,电路在计数脉冲的作用下按二进制自然序依次递增1,当个位计数到9时,输出进位信号给十位充当使能信号进位。

24点计算要领技巧

24点计算的奥密及计算要领 巧算24点 “算24点”是一种数学游戏,正如象棋、围棋一样是一种人们喜闻乐见的娱乐活动。 它始于何年何月已无从考究,但它以自己独具的数学魅力和丰富的内涵正逐渐被越来越多的人们所接受。这种游戏方式简单易学,能健脑益智,是一项极为有益的活动。 “算24点”的游戏内容如下:一副牌中抽去大小王剩下52张,(如果初练也可只用1~10这40张牌)任意抽取4张牌(称牌组),用加、减、乘、除(可加括号)把牌面上的数算成24。每张牌必须用一次且只能用一次,如抽出的牌是3、8、8、9,那么算式为(9—8)×8×3或(9—8÷8)×3等。 “算24点”作为一种扑克牌智力游戏,还应注意计算中的技巧问题,不能瞎碰乱凑。这里向大家介绍几种常用的、便于学习掌握的方法: 1.利用3×8=24、4×6=24求解。 把牌面上的四个数想办法凑成3和8、4和6,再相乘求解。如3、3、6、10可组成(10—6÷3)×3=24等。又如2、3、3、7可组成(7+3—2)×3=24等。实践证明,这种方法是利用率最大、命中率最高的一种方法。 2.利用0、11的运算特性求解。 如3、4、4、8可组成3×8+4—4=24等。又如4、5、J、K可组成11×(5—4)+13=24等。 3.最为广泛的是以下七种解法(我们用a、b、c、d表示牌面上的四个数) ①(a—b)×(c+d)如(10—4)×(2+2)=24等。 ②(a+b)÷c×d 如(10+2)÷2×4=24等。 ③(a-b÷c)×d 如(3—2÷2)×12=24等。 ④(a+b-c)×d 如(9+5—2)×2=24等。 ⑤a×b+c—d 如11×3+l—10=24等。 ⑥(a-b)×c+d 如(4—l)×6+6=24等。 ⑦(a×b)÷(c+d)如(6×8)÷(1+1)=24等。 需要说明的是:一副牌(52张)中,任意抽取4张可有1820种不同组合,其中有458个牌组算不出24点,如A、A、A、5。 “巧算24点”能极大限度地调动眼、脑、手、口、耳多种感官的协调活动,对于培养我们快捷的心算能力和反应能力很有帮助,还能帮助提高数学成绩。 你也来试试“巧算24点”吧,相信你会很快喜欢上它的! 例题参考: 1118 (1+1+1)*8=24 1126 (1+1+2)*6=24 1127 (1+2)*(1+7)=24 1128 (1*1+2)*8=24 1129: (1+2)*(9-1)=24 11210: (1+1)*(2+10)=24 1134: (1+1)*3*4=24 1135: (1+3)*(1+5)=24 1136: (1*1+3)*6=24 1137: (1*1+7)*3=24 1138: (1-1+3)*8=24 1139: (1+1)*(3+9)=24

24进制计数器设计VHDL语言

24进制计数器设计VHDL语言: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ESJZ IS PORT( CLK :IN STD_LOGIC; --时钟 EN :IN STD_LOGIC; --使能端 CR :IN STD_LOGIC; --清零端,低电平有效 LD :IN STD_LOGIC; --数据载入控制,低电平有效 D :IN STD_LOGIC_VECTOR(5 DOWNTO 0); --载入数据端CO : OUT STD_LOGIC; --进位 Q :OUT STD_LOGIC_VECTOR(5 DOWNTO 0) --计时输出); END ESJZ ; ARCHITECTURE a OF ESJZ IS SIGNAL QN :STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN --进位控制 CO<='1' WHEN(QN=X"23" AND EN='1') ELSE'0'; PROCESS(CLK,CR) BEGIN IF (CR='0')THEN

QN<="000000"; ELSE IF (CLK'EVENT AND CLK='1') THEN IF (LD='0') THEN --数据加载 QN<=D; ELSIF(EN='1') THEN IF (QN(3 DOWNTO 0)=3 and QN(5 DOWNTO 4)=2) or QN(3 DOWNTO 0)=9 THEN QN(3 DOWNTO 0)<="0000"; --个位数进位 IF QN(5 DOWNTO 4)=2 THEN QN(5 DOWNTO 4)<="00"; --十位数进位 ELSE QN(5 DOWNTO 4)<= QN(5 DOWNTO 4)+1; END IF; ELSE QN(3 DOWNTO 0)<= QN(3 DOWNTO 0)+1; END IF ; END IF; END IF ; END IF; END PROCESS; Q<=QN; end a;

24点计算方法和技巧

24= 2x12 24=48^ 2 笫一类:利用乘除常见算式进行凑数’=3x8 =72^3 =4x 6 =96+4 水“这几个乘除算式记得越懿悉,凑数的时候对数字就越敏感! 【例】利用虹感乘庞(可以任意添加括号).用乙7.头10四个数字计算出24,每个数字必须都使用一次且仅使用一次(下同)。 【解析】第一步;2.人9、10中岀现了数字2,考虑是否可以利用技12 = 24进行凑数。笫二规既然想利用2x12 = 24进行凑数,那么己知4个数中的2就要甫勝在外,即需用人乂10凑岀1人显然9-7+10 = 12,故最后结果为:2刈今-? + 10)二24 【例】灵3. 4. 9 【解析11第一步,给定4个数字中有3,可以考虑是否可以利用3x1 24逬行凑数。 第二步;既然想利用衣,茁进行凑数,那么己知4个数中的一个3就要排除在外, 即需用氛罷9凑出鴿己知有个数字9比8多1,那么用剩下的氣斗凑出 一个1 即可◎显然4-3=1,故最后结果为:3x(9-(4-3)) = 3x(9+3^4)=24【解析2】第一歩*给定4个数字中有4,可以考虑是否可以刑用4x424进行凑数。 第二步:既然想利用仆2加逬行湊数,那么己知4个数中的4就要排除在外,即需用3> 3. 9凑岀6.显然3+3=6,这样多出来个9、如何将多岀的9消耗掉呢? 因为9是3的平方〔详见后面的技巧3),即9-3=3,故最后结果为: 4x(2 3 + ?) 二24 【例】4. 4, 10, 10 【解析】第一步’给定4个数字中有二很想利用4x6 = 24进行凑数,但用4、10, 10很难凑岀么故只能另想办法。显然,不可能利用3x8=24或"12 “4进行凑数, 于是不妨 考虑采用除法进行凑数。 第二扒己知数中有丄考虑能否利用96-4 = 2^1逬行湊数 笫三歩:既然想利用96^4=24进行凑数’那么己知4个数中的一个4就要桦除在外, 即需用4. 10. 10凑出96.显然10x10-4 = 96 T故最后结果为; (10*10-4)+4 = 24 【例】6, 10. lh 12 【解析】第一步:出现了数字6,考虑是否可以利用4x6二24进行凑数,即需用16 11. 12 凑出斗,显然不可能。 第二步:因为基本乘法算式中有2xl2 = 24,且有现成的数字口可以考虑能否用2x12 = 24进行凑数。 第三步’既然想利用2x12 = 24进行凑数,那么需用& 10. 11凑出2.显悠 10^(11-6>2,故最后结果为’ 10^(11-6)x12-24

VHDL设计一个24进制BCD码计数器。

: 设计一个24进制BCD码计数器。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY h24 IS PORT( CLK1HZ : IN STD_LOGIC; EN : IN STD_LOGIC; LOW : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); HIGH : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END h24; ARCHITECTURE rtl of h24 IS SIGNAL LOW_REG : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"; SIGNAL HIGH_REG : STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"; SIGNAL CLR : STD_LOGIC:='0'; BEGIN --个位计数 LOW_PROC:PROCESS(CLK1HZ,EN,CLR) BEGIN IF rising_edge(CLK1HZ) THEN IF EN = '1' THEN IF LOW_REG = "1001" OR CLR = '1' THEN --23:59进位 LOW_REG <= "0000"; ELSE LOW_REG <= LOW_REG + '1'; END IF; END IF; END IF; END PROCESS; LOW <= LOW_REG; --十位计数

24进制计数器

课程设计24进制计数电路 专业:XXX 班级:XXX 姓名:XXX 学号:888 指导老师:XXX

一、计数器简介 计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能,计数器是由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D 触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。 计数器按照计数进制把计数器分为二进制计数器、十进制计数器等等。本设计是24进制计数器,为数字钟模块之一。 二、计数器设计框图 三、 译码显示译码显示 改进为二十四进制计数器 74ls160 74ls160 脉冲输入 复位按钮

通过单刀双掷开关选择计数脉冲 选择计数脉冲,其中,按钮式计数脉冲输入端,每按下一次,计数加一。 四、秒计数脉冲 555定时器是一种模拟电路和数字电路相结合的中规模集成器件,它性能优良,适用范围很广,外部加接少量的阻容元件可以很方便地组成单稳态触发器和多谐振荡器,以及不需外接元件就可组成施密特触发器。该电路有一个秒脉冲控制端,用于开启及停止脉冲输入。

由多谐振荡器原理,结合上图可知其振荡周期T=T1+T2。T1为电 容充电时间,T2为电容放电时间。 充电时间:C )R R (7.02Cln )R R (T 21211+≈+= 放电时间:C R 7.0Cln2R T 222≈= 矩形波的振荡周期:)C 2R R 7.0)C 2R ln2(R T T T 212121+≈+=+=( 555组成的多谐振荡器实际电路参数R1 = R2 =510 K RC 振荡器电容为1uF ,五号管脚所接的Cs 为10PF 。 所以其振荡周期: 1.071s 0.7*1.53)C R 0.7(R )Cln2R (R T T 21211==+≈+== 所以其周期为约为1s. 五、二十四进制计数器 利用74ls160把高位和低位端的脉冲通过一个与非门同时送入高位和低位的MR 非端,同时清为二十四进制。

计算24点游戏c++

24点游戏软件的开发 1 概述 1.1 课程设计目的 a、巩固并加深学生对C++语言程序设计知识的理解; b、培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别; c、进一步掌握和应用VC++ 6.0集成开发环境; d、提高运用C++语言解决实际问题的能力; e、初步掌握开发小型实用软件的基本方法,能独立设计、实现基本的MIS系统; f、掌握书写程序设计开发文档的能力(书写课程设计实验报告)。 1.2 课程设计内容 课题名称:24点游戏软件的开发 说明:24点游戏是一种常见的纸牌游戏说明 要求: a)实现随机发牌; b)能进行结果验算; c)计分; d)难度设置。 2 系统需求分析 2.1 系统目标 24点游戏是个流行的数学运算游戏。本次课程设计通过24点游戏来加深我们对对话框编程的认识和理解,并介绍Visual C++在数学计算方面的应用,以及在按钮上设置位图和设置计时器的方法。 24点扑克游戏的规则是:由系统发出4张扑克牌,要求用户利用扑克牌上显示的数字(JQKA算10),通过加减乘除运算得出24。 2.2 主体功能 a.对游戏设计三个难易级别,分别为低级、中级和高级。每次开始游戏前可以根据玩家的需要进行难度设置,如若不设置,系统默认难度级别为中级,设置完难度级别之后就可以开始游戏了,单击“发牌”按钮,桌面上出现四张翻开的扑克牌,与此同时,游戏开始计时,进度条开始前进。 b.在规定的时间内,玩家可以在“输入算式”的编辑框中输入自己想好的算式,然后点击“验算”按钮:如果输入的算式经运算后所的答案正确,则会在编辑框中

显示“正确!”;如果输入的数字与给出的牌的数字不符或者符号不合法,则会弹出“内部错误!”的窗口;如果输入的数字与四张牌相符、字符亦合法但是答案不正确,则会在编辑框中显示“错误”;如果未输入任何的数字和算符,则会弹出“内部错误!”的窗口。 c.如果在规定的时间内,玩家没有点击验算按钮,则会弹出“内部错误”的窗口。 d.在结束本轮游戏后,如果玩家想继续游戏,则可点击“发牌”按钮即可重新发牌,开始下一轮的游戏;如果玩家想结束游戏,则可点击“结束”按钮即可结束游戏。 2.3 开发环境 Microsoft Visual C++ 6.0 3 系统概要设计 3.1 系统功能模块划分 a.建立一个随机产生扑克牌的模块。由程序随机产生4张扑克牌,每张牌对应一个整数。 b.计时的模块。定义一个计时器,以便对使用时间进行计数。 c.计算表达式的模块。主要是通过函数来确定运算式各符号优先级和最终计算出输入算式的结果。 d.验算表达式正误的模块。在规定的时间内输入算式进行验算,根据不同的情况会出现不同的对话框。

24进制计数器设计说明

人文科技学院 课程设计报告 课程名称:电子技术基础课程设计 设计题目:24进制数字电子钟时计器、译码显示电路 系别: 专业: 班级: 学生: 学号: 起止日期: 2009/06/01————2009/06/18 指导教师: 教研室主任:

摘要 24进制数字钟是一种用数字电路技术实现时计时的装置,与机械式时钟相比具有更高的准确性和直观性。此次设计与制作24进制电子数字钟时计数、译码、显示电路需要了解组合逻辑电路和时序逻辑电路;了解集成电路的引脚安排;了解各种时计数、译码芯片的逻辑功能及使用方法;了解数字钟的原理。本次设计是基于24进制电子数字钟的原理,实现具有24进制清零功能的电子钟,它主要由脉冲、10进制加法器74LS160、译码器74LS48、共阴极LED数码管等四个模块构成。脉冲本利用555设计一个多谐振荡器,但由于制板受单面板限制,故撤销了555设计的多谐振荡器,而直接由实验室提供脉冲。各功能模块在QuartusⅡ软件中先由VHDL语言描述出,然后将其打包成可调用的元件,再利用原理图输入法将各模块按功能连接起来就得到顶层文件的原理图。这时,再进行时序仿真、引脚锁定和嵌入逻辑分析仪之后,就编译下载至硬件中,选择正确的模式和各种设置后即可实现这次设计所要求的功能。

关键词:加法器;译码器;显示数码管

目录 设计要求 (1) 前言 (1) 1.方案论证与对比 (2) 1.1方案一 (2) 1.2方案二 (2) 1.3两种方案的对比 (3) 2、各功能模块设计 (3) 2.1计数器电路 (3) 2.2译码驱动电路 (5) 2.3共阴极七段数码管显示器 (6) 3、调试与操作说明 (8) 3.1电路仿真效果图 (8) 3.2P ROTEL电路印刷板原理图及印刷板制版电路图 (9) 3.3实际电路系统的制作及测试 (10) 3.4电路板的测试情况、参数分析与实际效果 (10) 4、心得与体会 (11) 5、元器件及仪器设备明细 (12) 6、参考文献 (12) 7、致 (13)

EDA基于VHDL的24进制计数器课程设计

实训报告 课程名称:EDA设计 学生姓名: 学号: 专业班级:计算机软件 2013年10 月29 日

南昌大学实训报告 学生姓名:学号:专业班级: 设计□创新实训日期:10.9.6—10.9.14 实验成绩: 实训类型:□验证□综合 一、实训项目名称 通过原理图方法以及Verilog HDL语言进行编程两种方法实现24进制计数器。 二、实训目的 1.熟练掌握Quartus II软件的使用。 2.熟练掌握在QuartusII平台上用原理图或者Verilog HDL语言进行电 路设计的方法。 3.学会用例化语句对EDA电路设计中顶层电路进行描述。 三、实训要求 1.熟悉仿真开发软件Quartus II的使用; 2.根据功能要求,用原理图或文本输入方式完成设计; 3.用Quartus II做波形仿真调试; 4.下载至EDA试验仪调试设计。 四、实训基本原理(附源程序清单,原理图、RTL图) 一、通过Verilog HDL语言编程方法程序清单: module ls161(Q,RCO,D,ET,EP,LOAD,CLR,CLK); output [3:0] Q; output RCO; input [3:0]D;

input LOAD,ET,EP,CLR,CLK; reg [3:0]Q; wire EN; assign EN = ET&EP; always @(posedge CLK or negedge CLR) begin if(!CLR) Q = 4'b0000; else if(!LOAD) Q = D; else if(EN) begin if(Q==9) Q = 0; else Q = Q+1; end end assign RCO = ((Q==4'b1001)&EN)?1:0; endmodule module XS7D(DIN,DOUT); input [3:0]DIN; output [6:0]DOUT; reg [6:0] DOUT; always @(DIN) begin case(DIN) 0:DOUT = 7'b1000000; 1:DOUT = 7'b1111001; 2:DOUT = 7'b0100100; 3:DOUT = 7'b0110000; 4:DOUT = 7'b0011001; 5:DOUT = 7'b0010010; 6:DOUT = 7'b0000010; 7:DOUT = 7'b1111000; 8:DOUT = 7'b0000000; 9:DOUT = 7'b0010000; endcase end endmodule

相关文档