3 六、PCB图 七、系统软件设计 在设计电路时,要遵循从上到下的设计原则。首先从系统设计入手,在顶层进行功能划分和结构设计,顶层模块的每个层次模块均可完成一个较为独立的功能,次模块在调试成功后可生成一个默认符号,以供上一层模块调用。本系统由4个模块组成,分别是分频电路模块、模10计数模块和动态译码显示模块。本设计最小计时单位为01s,设计时需获得一个比较精确的10Hz(周期为01s)的计时脉冲。由于最终的设计结果要下载到可编程逻辑器件中测试,因此可利用Altera DE2开发板的12M晶振时钟。将12M时钟信号CLK送到分频器CLKGEN进行60万分频后,得到10Hz的频率由NEWCLK输出。采用Verilog语言编程,编译无误通过后创建默认文件符号CLKGEN以供上层电路调用。程序实现如下: module clock(clk,key,dig,seg); //模块名clock input clk; //输入时钟 input[1:0] key; //输入按键 output[7:0] dig; //数码管选择输出引脚 output[7:0] seg; //数码管段输出引脚 reg[7:0] seg_r; //定义数码管输出寄存器 reg[7:0] dig_r; //定义数码管选择输出寄存器 reg[3:0] disp_dat; //定义显示数据寄存器 reg[24:0]count; //定义计数寄存器 reg[15:0]hour; //定义现在时刻寄存器 图二、数字秒表PCB图 4 reg sec,keyen; //定义标志位 reg[1:0]dout1,dout2,dout3; //寄存器 wire[1:0]key_done; //按键消抖输出 assign dig = dig_r; //输出数码管选择 assign seg = seg_r; //输出数码管译码结果 //秒信号产生部分 always @(posedge clk) //定义clock上升沿触发 begin count = count + 1'b1; if(count == 25'd6000000) //05S到了吗? begin count = 25'd0; //计数器清零 sec = ~sec; //置位秒标志 end end //按键消抖处理部分 assign key_done = (dout1 | dout2 | dout3); //按键消抖输出 always @(posedge count[17]) begin dout1 <= key; dout2 <= dout1; dout3 <= dout2; end always @(negedge key_done[0]) begin keyen = ~keyen; //将琴键开关转换为乒乓开关 end //数码管动态扫描显示部分 always @(posedge clk) //count[17:15]大约1ms改变一次 begin case(count[17:15]) //选择扫描显示数据 3'd0:disp_dat = hour[3:0]; //秒个位 3'd1:disp_dat = hour[7:4]; //秒十位 3'd2:disp_dat = hour[11:8]; //分个位 3'd3:disp_dat = hour[15:12]; //分十位 endcase case(count[17:15]) //选择数码管显示位 5 3'd0:dig_r = 8'b11111110; //选择第一个数码管显示 3'd1:dig_r = 8'b11111101; //选择第二个数码管显示 3'd2:dig_r = 8'b11111011; //选择第三个数码管显示 3'd3:dig_r = 8'b11110111; //选择第四个数码管显示 endcase end always @(posedge clk) begin case(disp_dat) 4'h0:seg_r = 8'hc0; //显示0 4'h1:seg_r = 8'hf9; //显示1 4'h2:seg_r = 8'ha4; //显示2 4'h3:seg_r = 8'hb0; //显示3 4'h4:seg_r = 8'h99; //显示4 4'h5:seg_r = 8'h92; //显示5 4'h6:seg_r = 8'h82; //显示6 4'h7:seg_r = 8'hf8; //显示7 4'h8:seg_r = 8'h80; //显示8 4'h9:seg_r = 8'h90; //显示9 //4'ha:seg_r = 8'hbf; //显示- default:seg_r = 8'hff; //不显示 endcase //if((count[17:15]== 3'd2)&sec) //seg_r = 8'hff; end //计时处理部分 always @(negedge sec or negedge key_done[1])//计时处理 begin if(!key_done[1]) //是清零键吗? begin hour = 16'h0; //是,则清零 end else if(!keyen) begin hour[3:0] = hour[3:0] + 1'b1; //秒加1 if(hour[3:0] == 4'ha) begin hour[3:0] = 4'h0; hour[7:4] = hour[7:4] + 1'b1; //秒的十位加一 if(hour[7:4] == 4'h6) begin 6 hour[7:4] = 4'h0; hour[11:8] = hour[11:8] + 1'b1;//分个位加一 if(hour[11:8] == 4'ha) begin hour[11:8] = 4'h0; hour[15:12] = hour[15:12] + 1'b1;//分十位加一 if(hour[15:12] == 4'h6) hour[15:12] = 4'h0; end end end end end endmodule 在QuartusII环境下,打开一个新的原理图编辑窗口,然后调入秒表电路设计所需要的50万分频器CLKGEN、十进制计数器/分频器CNT10(4片),译码器DISP,以及电路需要的输入/输出元件。完成电路元件之间和输出/输入之间的连接,并通过QuartusII的编译 八、焊接调试 电路板组装心得: 收集资料,设计出电路原理图,选择元件型号,清点元器件的个数。测试元件,包括测电阻的阻值,根据电路图和电路板本身的实际连通情况开始整体布局连接电路。 电路板焊接心得: 在设计过程中,应该了解其难易,考虑一下焊接的难度。如果比较难就要追求速度(但是也要尽量焊好),如果简单一点,那么在焊接的同时要考虑到焊接工艺。一般情况下,工艺方面的要求就是焊点的光滑、亮度、毛刺这几个方面。一般不会要求电阻的方向之类的。焊接的方式:焊接前看一下元器件,了解一下它们的尺寸规格。然后从低到高开始焊接。 电路板调试心得: 首先,在上电源前先用万用表测试下电源和地之间是否有短路,这样可防止可能烧坏IC等元件。其次,测试电路板的各项功能,须从极端的角度去测试可能会出现的问题。再次,根据产品的性能要求,逐次测试其各个功能是否符合产品要求。最后,调试过程中会遇到各种问题,下面一一分析:第一,电源连接不上,就要查查电源连接电路。第二,电源连接上了,却不能工作,查其他电源是不是供电正常,然后查晶振是否工作。第三,还是工作不正常,目测下主要元件是否有焊反、焊错、短路等现象出现。包括元件用错了,型号不对,元件方向反了,元件的脚有损坏、虚焊、短路等,连接线有损坏或接触不良,电容的正负极焊反等。第四,加密IC焊错了,或没有加载相应的程序。 九、性能指标测试 首先,按照性能指标,测试每项功能是否达到,记录实际测试结果,分析误差、误差原因,以及解决办法。严格按照测试步骤:首先认真调查测试需求和仔细分析测试任务,然后 一、设计要求 用 verilong 语言编写程序,结合实际电路,设计一个 4 位 LED 数码显示 “ 秒表 ” ,显示 时间为 999~000 秒, 每秒自动减一, 精度为 01 。 另设计一个 “ 开始 ” 按键和一个 “ 复位 ” 按键。 再增加一个 “ 暂停 ” 按键。 按键说明:按 “ 开始 ” 按键,开始计数,数码管显示从 999 开始每秒自动减一;按 “ 复位 ” 按键, 系统复位, 数码管显示 999 ; 按 “ 暂停 ” 按键, 系统暂停计数, 数码管显示当时的计数。 二、设计目的 1 、 通过本次课程设计加深对 verilong 语言课程的全面认识、 复习和掌握, 对 EPM7064 芯片的应用达到进一步的了解。 2 、 掌握定时器、外部中断的设置和编程原理。 3 、 通过此次课程设计能够将软硬件结合起来,对程序进行编辑, 调试。使其能够通过 电脑下载到芯片,正常工作。 4 、实际 *** 作 Quartus II 软件,复习巩固以前所学知识。 三、总体设计 本秒表系统具有复位、 暂停、 秒表计时等功能。 clk 为系统工作时钟, 采用 Altera DE2 上的 50M 时钟信号,经过分频器产生秒表计时周期为 001s 的时钟,再经过计数器,分别 对秒表的百分位、 十分位、秒、秒十位、 分、 分十位进行计数。 onoff 为启动 / 暂停控制信号, 当它为 0 时,启动计时,当它为 1 时,计时暂停。 clr 为复位信号,当该信号有效时,计数 器和译码清零,此时数码管显示输出为 00 : 00 : 00 。在总体电路图中,根据设计要求,需 要两个输入控制信号 onoff 和 clr 。由于开发板上除了拨动开关就是瞬时的按键开关 , 且按键 开关平时都呈高电平 , 按一下为低电平。 故在实际测试时采用了拨动开关 SW0 来控制秒表的 启动 / 暂停,通过 KEY0 来控制秒表的清零。 四、设计思路描述 该实验要求进行计时并在数码管上显示时间, 通过相关软件 Quartus II 编译, 利用 JTAG 下载电路到核心芯片,驱动硬件工作 。 Altera_EPM7064(84PIN) 有四个引脚 GCLK1(83 脚 ),GCLRn(1 脚 ),OE1(84 脚 ),OE2(2 脚 ) 。 GCLK1 是全局时钟, GCLRn(1 脚是全局清零, OE1(84 脚 ),OE2(2 脚 ) 是全局使能实现 “ 开始 ” 按键的功能; 实现 “ 清零 (复位) ” 按键的功能;做为时 钟信号 CLK 输入的入口地址。 可将开关设计与此, 其优势在在于到达延迟时间相等。 其中 “ 开 始 ” 按键当开关由 1 拨向 0 (由上向下拨)时开始计时; “ 清零(复位) ” 按键当开关由 1 拨 向 0 (由上向下拨)时数码管清零(复位) ,此时若再拨 “ 开始 ” 按键则又可重新开始计时。 1) 电源部分需要并联四个电容,以达到滤波作用,获得实验所需的电压; 2) 利用三极管分别连接 LED 数码管和 EPM7064, 起到放大(电流)作用; 3) 本实验时钟信号的产生有晶振直接提供,同时由编写的子程序决定输出频率; 4) 芯片所需程序由计算机编译,采用 Quartus II 软件,编译调试无误后,进行下载; 5 ) IDI 、 TMS 、 TCK 、 TDO 是 JTAG 的标准线。用来实现连接芯片,实现下载功能。 五、原理图 >
假如A和B是双控开关,C是中途开关:火线进A开关中间的接线端子,上端出线进B开关的上端,A开关的下端出来进C开关的一端,C开关的另一端出来进B开关的下端,B开关的中间端出来接在灯上,灯另一相线直接接在零线上,相信我是不会错的!
乒乓球发球机(table tennis),中国国球,是一种世界流行的球类体育项目,包括进攻、对抗和防守。比赛分团体、单打、双打等数种;2001年9月1日前以21分为一局,现以11分为一局;采用五局三胜,七局四胜。乒乓球为圆球状,重253-270克,白或橙色,用赛璐珞或塑料制成。
乒乓球起源于英国,"乒乓球"一名起源自1900年,因其打击时发出“Ping Pong”的声音而得名,在中国大陆以“乒乓球”作为它的官方名称,香港及澳门等地区亦同。1926年,在英国伦敦举行了国际乒乓球邀请赛。后被追认为第一届世界乒乓球锦标赛,同时成立了国际乒乓球联合会。
11 球台
111球台的上层表面叫做比赛台面,应为与水平面平行的长方形,长274米,宽1525米,高地向高76厘米
112比赛台面不包括球台台面的侧面。
113比赛台面可用任何材料制成,应具有一致的d性,即当标准球从离台面30厘米高处落至台面时,d起高度应约为23厘米。
114比赛台面应呈均匀的暗色,无光泽,沿每个274米的比赛合面边缘各有一条2厘米宽的白色边线,沿每个1525米的比赛台面边缘各有一条2厘米宽的白色端线。
115比赛台面由一个与端线平行的垂直的球网划分为两个相等的台区,各台区的整个面积应是一个整体。
116双打时,各台区应由一条3毫米宽的白色中线,划分为两个相等的“半区”。中线与边线平行,并应视为右半区的一部分。
12 球网装置
121球网装置包括球网、悬网绳、网柱及将它们固定在球台上的夹钳部分
122球网应悬挂在一根绳子上,绳子两端系在高1525厘米的直立网柱上,网柱外缘离开边线外缘的距离为1525厘米。
123整个球网的顶端距离比赛台面1525厘米
124整个球网的底边应尽量贴近比赛台面,其两端应尽量贴近网柱。
13 球
131球应为圆球体,直径为38毫米。
132球重25克。
133球应用赛璐璐或类似的材料制成,呈白色,、**或橙色,且无光泽。
14 球拍
141球拍的大小,形状和重量不限,但底板应平整、坚硬
142底板厚度至少应有85%的天然木料,加强底板的粘合层可用诸如碳纤维,玻璃纤维或压缩纸等纤维材料,每层粘合层不超过底板总厚度的75%或035毫米。
143用来击球的拍面应用一层颗粒向外的普通颗粒胶覆盖,连同粘合剂厚度不超过2毫米;或用颗粒向内或向外的海绵胶覆盖,连同粘合剂,厚度不超过4毫米
1431”普通颗粒胶”是一层无泡沫的天然橡胶或合成橡胶,其颗粒必须以每平方厘米不少于10颗,不多于50颗的平均密度分布整个表面。
1432"海绵胶"即在一层泡沫橡胶上覆盖一层普通颗粒胶,普遍颗粒胶的厚度不超过2毫米。
144覆盖物应覆盖整个拍面,但不得超过其边缘。靠近拍柄部分以及手指执握部分可不予以覆盖,也可用任何材料覆盖。
145底板、底板中的任何夹层、覆盖物以及粘合层均应为厚度均匀的一个整体。
146球拍两面不论是否有覆盖物,必须无光泽,且一面为鲜红色,另一面为黑色。拍身边缘上的包边应无光泽,不得呈白色。
147由于意外的损坏、磨损或褪色,造成拍面的整体性和颜色上的一致性出现轻微的差异。只要未明显改变拍面的性能,可以允许使用。
148比赛开始时及比赛过程中运动员需要更换球拍时,必须向对方和裁判员展示他将要使用的球拍,并允许他们检查。
15 定义
151“回合”:球处于比赛状态的一段时间。
152“球处比赛状态”,从发球时,球被有意向上抛起前,静止在不执拍手掌上的一瞬间。到该回合被判得分或重发球。
153“重发球”:不予判分的回合。
154“一分”:判分的回合。
155“执拍手”:正握着球拍的手。
156“不执怕手”:未握着球拍的手。
157“击球”,用握在手中的球拍或执拍手手腕以下部分触球
158 "阻挡”:对方击球后,处于比赛状态的球尚未触及本方台区也未超过比赛台面或其端线,即触及本方运动员或其穿带的任何物品。
159“发球员":在一个回合中,首先击球的运动员
1510“接发球员:在一个回合中,第二个击球的运动员
1511"裁判员:被指定管理一场比赛的人,
1512“裁判助理":被指定在某些方面协助裁判员工作的人
1513运动员“穿或带”的任何物品,包括他在一个回合开始时穿或带的任何物品。
1514球从突出台外的球网装置之下或之外经过,或回击的球越过球网后又回d过网,均应视作已”超过或绕过”球网装置。
1515球台的“端线”包括端线两端的无限延长线。
16 合法发球
161发球时,球应放在不执拍手的手掌上,手掌张开和伸平。球应是静止的,在发球方的端线之后和比赛合面的水平面之上。
162发球员须用手把球几乎垂直地向上抛起,不得使球旋转,并使球在离开不执拍手的手掌之后上升不少于16厘米。
163当球从抛起的最高点下降时,发球员方可击球,使球首先触及本方台区,然后越过或绕过球网装置,再触及接发球员的台区。在双打中,球应先后触及发球员和接发球员的右半区。
164从抛球前球静止的最后一瞬间到击球时,球和球拍应在比赛台面的水平面之上。
165击球时,球应在发球方的端线之后,但不能超过发球员身体(手臂、头或腿除外)离端线最远的部分。
166运动员发球时,有责任让裁判员或副裁判员看清他是否按照合法发球的规定发球
1661如果裁判员怀疑发球员某个发球动作的正确性,并且他或者副裁判员都不能确信该发球动作不合法,一场比赛中此现象第一次出现时,裁判员可以警告发球员而不予判分
1662在同一场比赛中,如果运动员发球动作的正确性再次受到怀疑,不管是否出于同样的原因,不再警告而判失一分
1663无论是否第一次或任何时候,只要发球员明显没有按照合法发球的规定发球,他将被判失一分,无需警告。
167运动员因身体伤病而不能严格遵守合法发球的某些规定时,可由裁判员做出决定免予执行,但须在赛前向裁判员说明。
17合法还击
171对方发球或还击后,本方运动员必须击球,使球直接越过或绕过球网装置,或触及球网装置后,再触及对方台区。
18比赛次序
181在单打中,首先由发球员合法发球,再由接发球员合法还击,然后两者交替合法还击。
182在双打中,首先由发球员合法发球,再由接发球员合法还击,然后由发球员的同伴合法还击,再由接发球员的同伴合法还击,此后,运动员按此次序轮流合法还击。
19重发球
191回合出现下列情况应判重发球:
1911如果发球员发出的球,在越过或绕过球网装置时,触及球网装置,此后成为合法发球或被接发球员或其同伴阻挡。
1912如果接发球员或同伴未准备好时,球己发出:而且接发球员或其同伴均没有企图击球。
1913由于发生了运动员无法控制的干扰,而使运动员未能合法发球。合法还击或遵守规则。
1914裁判员或副裁判员暂停比赛。
1915在双打时,运动员错发,错接。
192可以在下列情况下暂停比赛:
1921由于要纠正发球、接发球次序或方位错误;
1922由于要实行轮换发球法;
1923由于警告或处罚运动员;
1924由于比赛环境受到干扰,以致该回合结果有可能受到影响。
110 一分
11O1除被判重发球的回合,下列情况运动员得一分:
11011对方运动员未能合法发球;
11O12对方运动员未能合法还击;
11O13运动员在发球或还击后,对方运动员在击球前,球触及了除球网装置以外的任何东西;
11014对方击球后,该球越过本方端线而没有触及本方台区;
11015对方阻挡;
11016对方连击;
11017对方用不符合143条款的拍面击球;
11018对方运动员或他穿戴的任何东两使球台移动;
11019对方运动员或他穿戴的任何东西触及球网装置;
110110对方运动员不执拍手触及比赛台面;
110111双打时,对方运动员击球次序错误;
110112执行轮换发球法时,接发球运动员或其双打同伴,包括接发球一击,完成了13次合法还击。
111 一局比赛
1111在一局比赛中,先得21分的一方为胜方,20平后,先多得2分的一方为胜方
112 一场比赛
1121一场比赛应采用三局两胜制或五局三胜制。
1122一场比赛应连续进行但在局与局之间,任何一名运动员都有权要求不超过两分钟的休息时间。
113 发球、按发球和方位的选择
1131选择发球,接发球和这一方,那一方的权力应由抽签来决定,中签者可以选择先发球或先接发球,或选择先在某一方。
1132当一方运动员选择了先发球或先接发球,或选择先在某一方后,另一方运动员应有另一个选择的权力
1133在获得每五分之后,接发球方即成为发球方,依此类推,直至该局比赛结束,或者直至双方比分都达到20分或实行轮换发球法,这时,发球和接发次序仍然不变,但每人只轮发一分球
1134在双打的第一局比赛中,先发球方确定第一发球员,再由先接发球方确定第一接发球员在以后的各局比赛中,第一发球员确定后,第一接发球员应是前一局发球给他的运动员。
1135在双打中,每次换发球时,前面的接发球员应成为发球员,前面的发球员的同伴应成为接发球员·
1136一局中首先发球的一方,在该场下一局应首先接发球。在双打决胜局中,当一方先得10分时,接发球方应交换接发球次序。
1137一局中,在某一方位比赛的一方,在该场下一局应换到另一方位在决胜局中,一方先得10分时,双方应交换方位
114 发球、接发球次序和方位的错误
1141裁判员一旦发现发球、接发球次序错误,应立即暂停比赛,并按该场比赛开始时确立的次序,按场上比分由应该发球或接发球的运动员发球或接发球;在双打中,则按发现错误时那一局中首先有发球权的一方所确立的次序进行纠正,继续比赛。
1142裁判员一旦发现运动员应交换方位而未交换时,应立即暂停比赛,并按该场比赛开始时确立的次序按场上比分运动员应站的正确方位进行纠正,再继续比赛。
1143在任何情况下,发现错误之前的所有得分均有效。
115 轮换发球法
1151如果一局比赛进行到15分钟仍未结束(双方都己获得至少19分时除外),或者在此之前任何时间应双方运动员要求,应实行轮换发球法。
11511当时限到时,球仍处于比赛状态,裁判员应立即暂停比赛。由被暂停回合的发球员发球,继续比赛。
11512当时限到时,球未处于比赛状态,应由前一回合的接发球员发球,继续比赛。
1152此后,每个运动员都轮发一分球,直至该局结束。如果接发球方进行了13次合法还击,则判发球方失一分。
1153换发球法一经实行,该场比赛的剩余部分必须继续实行,直至该场比赛结束。
国际乒联关于11分制改革的新规定
为了适应11分记分制的系统,国际乒联代表大会修改了其规则。此修改将于2001年9月1日起执行。
211 一局比赛
2111 在一局比赛中,先得11分的一方为胜方。10平后,先多得2分的一方为胜方。
212 一场比赛
2121 每场比赛由单数局组成
213 发球,接发球和交换位置的顺序
2133 在获得每2分之后,接发球方即成为发球方,依此类推,直至该局比赛结束,或者直至双方比分都达到10分或者实行轮换发球法,这时,发球和接发球次序仍然不变,但每人只轮发1分球。
2136 一局中首先发球的一方,在该场下一局应首先接发球。在双打决胜局中,当一方先得5分时,接发球方应交换接发球次序
2137 一局中,在某一方位比赛的一方,在该场下一局应换到另一方位。在决胜局中,一方先得5分时,双方应交换方位。
215 轮换发球法
2151 如果一局比赛进行到10分钟仍未结束(双方都已获得至少9分时除外),或者在此之前任何时间应双方运动员要求,应实行轮换发球法。
2153 轮换发球法一经实行,或一局比赛进行了10分钟,该场比赛剩余的各局都必须实行轮换发球法。
344 间歇
3441 除了一方选手提出要求外,比赛应该继续进行。
34411 在局与局之间,不超过1分钟的间息时间;
34412 每局比赛中,每得6分后,或决胜局交换方位时,有短暂的时间擦汗。
国际乒联关于发球的新规定 乒乓球竞赛规则中的261,262 和 265 条将由以下规则取代: 此修改将于2002年9月1日起执行。
261 当球停放在选手张开和伸平的手掌内时,才可以进行发球。
264 从球离开运动员手掌的那一刻到球被击中,球都应该在球台平面的高度之上和在发球选手的端线之后。
265 当球被击中时,发球选手或他的双打队友的身体与衣服的任何部分都不能在球与网之间的范围内。 此项提议修改的目的是:防止在接发球选手视线以外的隐蔽式发球。
1) 在球被抛出到击中的时间,都必须保持在球台平面高度之上。
2) 选手的身体及衣服的任何部分都不可介入,由球网与虚构线形成的三角区内。(虚构线是由:当球被击中时,球与球网两端构成的)。
你所说的微动开关是单刀单掷开关;
你应该找个双刀双掷的微动开关(即是三列两排,共6个接线脚的乒乓开关),中间一列是两组开关的公共端,分别连接到直流电机的两个接线端,开关一端(左端)两个接线端分别连接电源的正、负端;
而开关的另一端(右端)两个接线端分别连接电源的负、正端,即可。
以上就是关于用verilog语言编写的4位秒表实现全部的内容,包括:用verilog语言编写的4位秒表实现、乒乓球发球机左推右攻怎么调、双控开关和中途开关的使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)