秒表程序实验报告
数字秒表实验报告
数字秒表一、实验目的1、理解计时器的原理与Verilog/VHDL的编程方法;2、掌握多模块设计及层次设计的方法。
二、实验原理秒计时器是由计数器和译码器、显示器组成,其核心是计数器与译码器。
60秒计时器可由二个计数器分别完成:个位为十进制计数器,十位为6进制计数。
个位计数器的计数信号由实验开发板上主频20MHZ分频产生的1Hz 时钟信号提供■十位计数器的计数信号由个位的进位信号提供。
然后由译码器对计数结果进行译码,送LED数码管进行显示。
Clr为清零,se t为开始。
三、源程序十进制计数器:module CNT10(clr,elk,ena t q,cout); input clr,elk,ena;output[3:0: q;output cout;reg[3:0' q;reg cout;always ©(posedge elk or posedge clr) beginif(clr)begin q=4r bOOOO:cout=0:endelse if(ena)if(q==4f bl001)begin q=4F bOOOO;cout=l;endelsebegin q=q+l;cout=0;endendendmodule六进制计数器:module CNT6(clr,elk,ena,q,cout);input clr,elk,ena; output[3:0. q; output cout;reg[3:0; q;reg cout;always ©(posedge elk or posedge clr) begin if(clr)begin q=4r bOOOO;cout=0;end else if(ena) if(q=4'b0101)begin q=4F bOOOO;cout=l:end elsebegin q=q+l:cout=0;endendendmodule分频器:module FPQ(clkO,clkl):input clkO;output clkl;reg 126:0] QI;reg clkl;always®(posedge clkO) if(Ql<9999999)Ql<二Ql+1;elsebegin Ql<=0; clkl<="clkl;endendmodule四、 实验任务1、 采用层次设计的方法,设计一个包括顶层及底层模块的60秒计时器,底 层模块用VeHlog/VHDL 设计(或者选用原理图输入法中宏功能元件),顶层用 原理图设计◊2、 秒计时盧应当具有系统复位功能;五、 实验步骤1、 新建工程,注意工程名与顶层文件一致,顶层文件是最终形成的图形文件。
电子科技大学电子技术综合实验秒表实验报告
电⼦科技⼤学电⼦技术综合实验秒表实验报告现代电⼦技术综合实验电⼦秒表设计学⽣姓名:xxx学号:xxxxxxxxx指导⽼师:刘曦学院:xxxxxxxx提交时间:2015年5⽉摘要本⽂介绍了使⽤VHDL开发FPGA的⼀般流程,重点介绍了电⼦秒表的设计。
该设计以VHDL作为硬件开发语⾔,以ISE作为软件开发平台,准确地实现了秒表计数、清零、暂停等功能,并使⽤ModelSim仿真软件对VHDL程序实现了仿真,完成了综合布局布线,最终将程序下载到芯⽚Spartan-3A,测试结果良好。
关键字:FPGA VHDL ISE ModelSim 电⼦秒表⽬录第⼀章引⾔————————————————————————————4 第⼆章基于FPGA的VHDL设计流程——————————————————42.1 时间的概念及计时⽅法————————————————————42.2 VHDL语⾔简介———————————————————————42.2.1 VHDL语⾔特点————————————————————-42.2.2 VHDL语⾔优势————————————————————-62.3 FPGA简介—————————————————————————62.3.1 FPGA的主要特点———————————————————-62.3.2 FPGA的开发流程————————————————————6 第三章电⼦秒表的软件开发环境———————————————————63.1 ModelSim简介————————————————————————73.1.1 ModelSim的特点————————————————————-73.2 ISE简介——————————————————————————-7 第四章电⼦秒表的设计与实现————————————————————-74.1 实验任务——————————————————————————94.2 实验条件——————————————————————————94.3 系统需求和解决⽅案—————————————————————94.4 各模块的实现————————————————————————94.4.1 分频器————————————————————————104.4.1.1 分频得到1KHz的时钟信号—————————————104.4.1.2 分频得到100Hz的时钟信号————————————104.4.2 输⼊控制电路—————————————————————114.4.2.1 防抖电路————————————————————114.4.2.2 控制电路————————————————————114.4.3 计数模块———————————————————————124.4.3.1 ⼗进制计数器——————————————————124.4.3.2 六进制计数器——————————————————134.4.4 锁存器————————————————————————134.4.5 显⽰模块———————————————————————134.4.5.1 扫描器—————————————————————134.4.5.2 数据选择器———————————————————144.4.5.3 七段译码器———————————————————144.5 分配引脚和下载实现————————————————————-144.6 实验结果及仿真——————————————————————-15 第五章结论———————————————————————————155.1 实验结论—————————————————————————155.2 ⼼得体会—————————————————————————15参考⽂献———————————————————————————16 致谢—————————————————————————————16 附录————————————————————————————17第⼀章引⾔随着现代电⼦科技的发展,各种新型的电⼦产品层出不穷,⽽⾼精度的电⼦秒表作为电⼦产品的⼀部分,在⼈们的⽇常⽣产、⽣活中发挥着极其重要的作⽤。
秒表实验报告_2
实验八秒表一、实验目的:1、了解数字秒表的工作原理。
2、进一步熟悉用VHDL语言编写驱动七段数码管的代码。
3、掌握VHDL编写中的一些小技巧。
二、实验要求:实现数字秒表功能,要求有分,秒,1%秒显示,该秒表能够随时控制启/停,清零重新计时功能。
三、实验原理秒表的工作原理与多功能数字电子钟大致相同,唯一不同的是,由于秒表的分辨率为0.01秒。
所以整个秒表的工作时钟是在100HZ的时钟信号下完成的。
假设该秒表的应用场合小于1小时,秒表的显示格式为mm~~ss~~xx(mm表示分钟:0~59;ss表示秒:0~~59;xx表示百分之一秒:0~~99)。
四、实验步骤1、用VHDL语言编写出秒表电路程序,通过QuartusII 进行编辑、编译、综合、适配、仿真测试。
给出其所有信号的时序仿真波形。
2、按实验要求锁定管脚,重新综合。
3、在EDA6000软件中建立实验模式。
4、下载设计文件,硬件验证秒表工作性能。
五、实验结果1、调试的过程记录在仿真图正确后开始用EDA6000进行检验,所有的管脚都连接好后,通入100Hz的脉冲,秒表开始工作2、实验结果经过调试得到了正常工作的秒表,每一个环节的跳转过程都是正常的最终的波形图:3、实验程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity stopwatch isport(clk,rst,en:in std_logic;minh,minl,sech,secl,msh,msl:out std_logic_vector(3 downto 0)); end entity;architecture behav of stopwatch issignal minhi,minli,sechi,secli,mshi,msli:std_logic_vector(3 downto 0); signal clk1,clk2:std_logic;beginprocess(clk,en,rst)beginif rst='1' then mshi<="0000";msli<="0000";elsif clk'event and clk='1' thenif en='1' thenif (mshi="1001" and msli="1001") thenmshi<="0000";msli<="0000";clk1<='1';elsif msli="1001" thenmsli<="0000"; mshi<=mshi+1;else msli<=msli+1;clk1<='0';end if;end if;end if;end process;process(clk1,en,rst)beginif rst='1' then sechi<="0000";secli<="0000";elsif clk1'event and clk1='1' thenif en='1' thenif (sechi="0101" and secli="1001") thensechi<="0000";secli<="0000";clk2<='1';elsif secli="1001" thensecli<="0000"; sechi<=sechi+1;else secli<=secli+1;clk2<='0';end if;end if;end if;end process;process(clk2,en,rst)beginif rst='1' then minhi<="0000";minli<="0000";elsif clk2'event and clk2='1' thenif en='1' thenif (minhi="0101" and minli="1001") thenminhi<="0000";minli<="0000";elsif minli="1001" thenminli<="0000"; minhi<=minhi+1;else minli<=minli+1;end if;end if;end if;end process;msh<=mshi;msl<=msli;sech<=sechi;secl<=secli;minh<=minhi;minl<=minli; end behav;。
EDA秒表实验报告
《EDA课程设计——秒表》题目数字秒表学院信息学院专业电子信息工程班级 11电子A姓名朱彦杰学号指导教师凌朝东课题名称秒表完成时间11.28指导教师凌朝东学生姓名朱彦杰班级11电子A总体设计要求和技术要点设计要求:5. 秒表,难度系数0.9要求:计时范围为0∼59 分59 秒,精度为百分之一秒;能同时显示分秒信息(LED 数码管)。
技术要点:1.利用VHDL语言设计基于计算机电路中时钟脉冲原理的数字秒表。
该秒表计时范围为0秒~59分59.99秒,显示的最长时间为59分59秒,计时精度为10毫秒以内,具有复位功能。
2.秒表有共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出。
一、系统组成模块连接图和系统框图- 3 -二、模块器件及其程序1、分频模块及其程序本模块实现脉冲分频,本实验使用的EP2C5T144C8的频率计进行50MHz 分频产生100HZ 的脉冲。
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fenpin ISPORT ( CLK: IN STD_LOGIC; OUTCLK: out std_logic ); END fenpin;ARCHITECTURE behav OF fenpin IS BEGINPROCESS( CLK )variable cnt:integer range 0 to ; BEGINIF CLK'EVENT AND CLK = '1' THEN if cnt= then cnt:=0; outclk<='1'; elsecnt:=cnt+1;分频器十进制计数器 时钟频率十进制计数器 十进制计数器六进制计数器十进制计数器 六进制计数器输出到LED开始清零outclk<='0';end if;END IF;END PROCESS;END behav;2、十进制程序产生99毫秒、秒的低位、分的低位的功能。
简易秒表设计实验报告
实验报告系别信工系专业班级姓名学号课题名称:简易秒表设计实验目的:1、熟悉Keil C51软件的使用方法及proteus仿真软件的使用;2、综合运用所学的理论知识(数码管、按键),通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。
3、通过本次试验,增强自己的动手能力。
认识单片机在日常生活中的应用的广泛性,实用性.设计要求:制作简易秒表,用三个按键分别实现秒表的启动、停止与复位,利用两位共阴级的数码管显示时间。
设计思路:硬件设计:数码管部分采用2位共阴极的数码管,在P0口接上拉电阻,公共端低电平扫描。
按键电路部分,将按键一侧与单片机任一I/O口相连.软件设计:模块化思想,使用定时器T0的工作方式1,编写显示子程序,延时子程序,初始化程序,主程序设计时注意按键消抖.原理图:源代码:#include<reg51。
h>#define uint unsigned int#define uchar unsigned charsbit key1=P3^0; //定义”启动"按钮sbit key2=P3^1; //定义"停止"按钮sbit key3=P3^2; //定义”复位"按钮sbit wei1=P2^6; //定义位选sbit wei2=P2^7;uchar aa;uchar temp;uchar shi;uchar ge;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共阴极数码真值表void delay(uint z){uint x,y;for(x=z;x>0;x—-)for(y=110;y〉0;y——);}void display(uchar shi,uchar ge) //显示子程序{shi=temp/10;ge=temp%10;//分离个位和十位wei1=0; //送位选P0=table[shi];//使用动态扫描的方法实现数码管显示delay(1);wei1=1; //关闭位选wei2=0;P0=table[ge];delay(1);wei2=1;}void init()//初始化程序{aa=0;temp=0;TMOD=0x01; //使用定时器T0的方式1TH0=0x4c;TL0=0x00;//定时50ms中断一次EA=1; //终端总允许ET0=1; //允许定时器T0中断}void timer0() interrupt 1{TH0=0x4c; //重装初值TL0=0x00;aa++;//中断计数值加1if(aa==20)//中断20次后,定时时间为20*50ms=1000ms=1s{aa=0;temp++;if(temp==60) //秒表到达60s后回零{temp=0;}}}void main(){init(); //调用初始化子程序while(1){if(key1==0) //检验启动按钮是否按下{delay(10);//延时去抖动if(key1==0);//再次检测启动按钮{while(!key1);//松手检测TR0=1; //启动定时器开始工作}}if(key2==0)//{delay(10);if(key2==0){while(!key2);TR0=0;}}if(key3=0){delay(10);if(key3==0){while(!key3);temp=0;shi=0;ge=0;TR0=0;}}display(shi,ge);}}实验结果:在proteus中编写程序,编译调试后生成hex文件,将hex文件加到仿真电路中,通过对简易秒表进行演示,达到设计要求..实验心得:在keil软件中,即使程序不会需要模仿别人的时候,也必须通过自身再打一遍程序,在多次的通过打印过程,渐渐记住并理解程序,也有助于我们以后的程序创新。
人教版物理《用秒表测量时间》实验报告单
《用秒表测量时间》实验报告单一、实验目的1、学会正确使用秒表测量时间。
2、探究不同活动中时间的长短变化。
二、实验原理利用秒表测量时间的实验原理是基于秒表的精确计时功能,通过对不同活动时间的测量,来研究各种物理现象和活动的时间特性。
三、实验器材秒表、活动道具(如小球、跳绳等)。
四、实验步骤1、检查秒表:(1)观察秒表的外观,确保无损坏。
(2)按下启动 / 停止按钮,检查秒表是否能正常启动和停止。
(3)按下复位按钮,将秒表归零。
2、测量单摆摆动一次的时间:(1)制作一个简单的单摆,将摆线长度调整到合适的长度。
(2)启动秒表,当单摆摆动一次后,立即停止秒表,记录时间。
(3)重复测量三次,取平均值。
3、测量小球从高处落下的时间:(1)将小球放在一定高度处。
(2)启动秒表,同时释放小球,当小球落地时,停止秒表,记录时间。
(3)重复测量三次,取平均值。
4、测量跳绳 100 次所需的时间:(1)准备好跳绳。
(2)启动秒表,开始跳绳,当跳绳次数达到 100 次时,停止秒表,记录时间。
(3)重复测量三次,取平均值。
五、实验数据记录六、实验现象分析1、单摆摆动一次的时间相对较短且较为稳定,其时间长短主要取决于摆长和重力加速度。
2、小球从高处落下的时间较短,受到高度和重力加速度的影响。
3、跳绳 100 次所需的时间较长,且会因个人跳绳速度的不同而有所差异。
七、实验结论1、秒表可以准确地测量各种活动的时间。
2、不同活动的时间长短不同,受到多种因素的影响。
八、误差分析1、人为操作误差:启动和停止秒表的时机可能存在误差。
2、测量次数较少:可能导致平均值不够准确。
3、环境因素:如空气阻力等可能对小球落下的时间产生微小影响。
九、注意事项1、操作秒表时要准确、迅速,避免误操作。
2、在测量小球落下时间时,要确保小球释放的同时启动秒表。
3、跳绳时要保持稳定的节奏,以便准确测量时间。
4、实验结束后,将秒表妥善保管,避免损坏。
单片机秒表实验报告
单片机秒表实验报告
实验目的:
使用单片机设计并实现一个秒表,能够精确计时。
实验原理:
单片机秒表的设计采用外部中断的方式进行计时。
当按下计时开始按钮时,单片机开始计时,并将计时结果显示在数码管上。
当按下计时停止按钮时,单片机停止计时,并将计时结果保存下来。
实验材料:
1. 单片机开发板
2. 4位数码管
3. 开始按钮
4. 停止按钮
5. 连接线
实验步骤:
1. 将4位数码管连接到单片机的相应引脚上。
2. 将开始按钮连接到单片机的外部中断引脚上。
3. 将停止按钮连接到单片机的外部中断引脚上。
4. 编写程序,设置外部中断的中断服务函数。
5. 在中断服务函数中实现计时功能,将计时结果显示在数码管上。
6. 在主函数中初始化单片机,开始计时。
7. 测试实验是否正常工作。
实验结果:
经过测试,单片机秒表实验正常工作。
当按下开始按钮时,数码管开始计时,实时显示计时结果。
当按下停止按钮时,数码管停止计时,并将计时结果保存下来。
实验总结:
通过本实验,我掌握了使用单片机设计秒表的方法和步骤,加深了对单片机的理解和应用。
同时,我还学会了使用外部中断进行计时,并将计时结果显示在数码管上。
这对于我今后的学习和实践有着重要的指导意义。
数字秒表设计实验报告(一)
数字秒表设计实验报告(一)数字秒表设计实验报告Introduction•实验目的:设计并实现一个数字秒表•实验时间:2021年10月10日至2021年10月15日•实验对象:本科计算机专业学生•实验设备:计算机、编程软件Experiment Procedure1.寻找合适的编程语言和开发工具2.设计秒表的用户界面3.编写代码实现秒表的计时功能4.测试并调试代码5.完善用户界面,添加重置和暂停功能6.进行性能测试,并分析结果Experimental Findings•选用Python编程语言和PyQt图形库进行开发•按照用户界面设计,实现了秒表的计时功能•通过测试,发现秒表计时准确性较高,误差范围小于0.1秒•添加了重置和暂停功能,提高了秒表的实用性•性能测试表明,在处理大数据量时,秒表的响应速度仍然较快Conclusion通过本次实验,我们成功设计并实现了一个功能完善的数字秒表。
通过合理的编程语言选择和用户界面设计,实验结果表明,我们的秒表具有准确的计时功能、良好的用户体验和较高的性能。
这对于计算机专业学生来说,具有较高的实用价值。
Future Work尽管我们已经取得了较好的实验结果,但仍有一些改进的空间。
在未来的工作中,我们计划:•进一步提高秒表的计时准确性,减小误差范围•探索更多的用户界面设计方案,增加更多便利的功能•优化性能,提高秒表在处理大数据量时的响应速度•结合云服务,实现秒表数据的备份和同步功能Acknowledgements感谢实验组的所有成员共同努力,以及指导老师的支持和指导,使得本次实验取得了圆满成功。
Reference无抱歉,关于数字秒表设计实验报告的文章已经终止。
单片机0-99计数器 秒表报告
姓名班级指导老师时间信息工程学院图1 硬件电路连接图(二)显示电路两位数码管循环显示00~99电路数码管只要就是用于数字得显示.数码管有共阴与共阳得区分,单片机都可以进行驱动,但就是驱动得方法却不同。
两位数码管循环电路就是由电阻、二极管与数码管组成,电源+5V通过560得电阻直接给数码管得7个段位供电,P0、0—P0、7对应了两个接数码管得A,B,C,D,E,F,G与小数点位,P2、6接显示个位数得数码管得3、8引角,P2、7则接十位数得。
P2、6与P2、7端口分别控制数码管得十位与个位得供电,当相应得端口变成低电平时,驱动相应得三极管会导通,+5V通过二极管与驱动三极管给数码管相应得位供电,这时只要P0口送出数字得显示代码,数码管就能正常显示需要得数字。
图2 十位显示动态数码管(共阳数码管)图3 个位显示静态数码管(共阴数码管)(三)时钟电路时钟电路得晶振频率越高,系统得时钟频率越高,单片机得运行速度也越快。
晶振频率根据设计需要设为12MHz,又根据谐振性质,电路中得电容应选择为30pF左右。
图4 时钟电路(四)复位电路MCS—51单片机得复位就是靠外部电路实现得。
MCS—51单片机工作之后,只要在她得RST引线上加载10ms以上得高点平,单片机就能有效地复位。
MCS-51单片机通常采用上电自动复位与按键复位两种方式。
最简单得复位电路如图5:图5 复位电路上电瞬间,RC电路充电,RST引线出现正脉冲,只要RST保持10ms以上得高电平,就能使单if(i++==100)//如果i=0{i=0;count++;P0=CODE[count/10];P2=~CODE[count%10];if(count==99)count=0; //如果到了99,则重新从0开始计数}}结果与分析(可以加页):(一)调试结果1.初始状态图7:初始状态结果图2.开始计时后按下按键暂停图8:中间状态图示(二)问题分析及解决措施1、一开始时没有分清楚数码管就是共阴数码管还就是共阳数码管,C语言程序中默认数码管就是共阴,所以两个P接口得值都就是按照共阴去写得,导致数码管选段及位显有问题,后来经过老师得指点,将共阳数码管P2得接口改成了共阴。
数字秒表实验报告---EDA
数字秒表实验报告—EDA项目背景本次实验旨在使用EDA工具设计一个数字秒表电路,通过FPGA开发板进行验证,具体要求如下:1.实现毫秒计时,并可以在数码管上显示当前计时数值。
2.支持开始/暂停、清零等操作。
设计思路本次实验的数字秒表电路由以下模块构成:1.时钟发生器模块:用于产生时钟信号,以驱动计数器进行计数。
2.计数器模块:通过时钟信号进行计数,并将计数结果传递给显示模块。
3.显示模块:将计数结果转换为数码管显示的数码信号,并控制数码管进行显示。
其中,时钟发生器模块和计数器模块都是基础电路模块,在这里不再赘述,下面将着重介绍显示模块的设计。
显示模块设计显示模块主要由控制模块和数码管模块构成。
控制模块根据计数结果和当前时间,控制数码管模块显示相应的数码。
在这里,我们采用的是共阳极的数码管。
具体来说,我们将控制模块分为两个子模块:时分秒计数器和数码显存控制器。
时分秒计数器时分秒计数器通过接收计数器模块的计数结果,将其转换为时分秒,并存储在计数器寄存器中。
计数器寄存器是一个64位的寄存器,由三个16位的子寄存器组成,用于存储时分秒。
当计数器模块的计数结果为0时,时分秒计数器会重置计数器寄存器。
数码显存控制器数码显存控制器由一个6位的数据存储器和一个6位的显示寄存器组成。
当计数器模块进行计数时,显示寄存器中存储的数码信号会根据时分秒计数器的值进行更新。
同时,数码显存控制器也会控制共阳极数码管进行相应的显示操作。
原理图设计根据以上的设计思路,我们可以得到数字秒表电路的原理图如下:原理图原理图EDA设计流程设计环境本次实验使用的是Xilinx ISE Design Suite 14.7,这是一个使用VHDL进行设计的EDA工具。
设计流程1.新建工程并设置工程名、目录、设备等基本信息。
2.添加源文件,包括时钟发生器模块、计数器模块、显示模块,以及顶层模块。
将所有模块综合为一个顶层设计。
3.检查时序约束,以保证电路能够正确运行。
数字秒表实验报告
数字秒表实验报告数字秒表实验报告引言数字秒表在实验中起着至关重要的作用。
它不仅可以精确地测量时间,还可以记录多个时间点,提供数据分析的依据。
本次实验旨在探究数字秒表的使用方法和准确性,并对其在实验中的应用进行评估。
实验方法本次实验采用了两种不同的数字秒表进行对比。
实验员分别使用了A型和B型数字秒表,记录了同一事件的时间。
每个事件的时间记录了十次,以消除可能的误差。
结果与讨论通过对实验结果的分析,我们发现A型数字秒表的准确性要高于B型数字秒表。
在同一事件的十次记录中,A型数字秒表的时间差异较小,而B型数字秒表的时间差异较大。
这表明A型数字秒表在时间测量方面更加可靠。
进一步分析显示,A型数字秒表的准确性可能与其采用的技术有关。
A型数字秒表采用了高精度的晶体振荡器,能够提供更准确的时间测量。
而B型数字秒表则采用了普通的振荡器,其精度较低。
此外,实验员的使用方法也可能对结果产生影响。
我们发现,实验员在使用A型数字秒表时更加熟练,操作更加稳定。
而在使用B型数字秒表时,实验员可能存在一定的误差。
因此,实验员的技术水平也是影响数字秒表准确性的重要因素。
实验的局限性尽管本次实验结果显示A型数字秒表的准确性较高,但我们也要意识到实验存在一定的局限性。
首先,我们仅使用了两种数字秒表进行对比,样本量较小,可能无法代表所有数字秒表的准确性。
其次,实验员的技术水平也可能对结果产生影响,不同实验员的使用方法和操作习惯可能不同。
实验应用数字秒表在实验中的应用非常广泛。
它可以用于测量实验的持续时间,记录不同事件的时间点,进行数据分析等。
在科学研究、医学实验、体育训练等领域,数字秒表都扮演着重要的角色。
结论通过本次实验,我们得出了一些关于数字秒表的结论。
A型数字秒表在准确性方面表现更好,可能与其采用的技术和实验员的使用方法有关。
然而,我们也要意识到实验存在一定的局限性。
在实际应用中,我们应选择适合具体实验需求的数字秒表,并注意实验员的技术水平。
EDA秒表设计 实验报告
EDA课程设计报告——基于VHDL语言的秒表设计课程名称:EDA技术院系:地球物理及信息工程学院专业班级:电子信息工程08级2班学生姓名:学号:指导老师:完成时间:2011年5月18日秒表设计一. 设计要求利用EDA实验箱,通过VHDL语言进行编程,设计一个简单的秒表,并用EDA实验箱进行实现,具体设计要求如下:(1)有使能、暂停、继续、秒表计数功能;(2)带有异步复位功能;(3)显示分、秒信息,若需要,显示秒表信息。
二. 设计的作用、目的在本次设计中,可以简单的了解EDA技术的应用以及VHDL语言编写的方法。
通过设计一个秒表,可以掌握用VHDL设计多位加法计数器的方法,尤其是调整时钟使得每过一秒就改变一个数,达到设计的要求。
三. 设计的具体实现1.系统概述本次系统设计主要分三个部分,一是通过VHDL语言设计一个八位的加法计数器,来实现秒表的计时功能;二是通过调整时钟使秒表计数为每秒改变一个数;三是加入一些控制按键,实现使能、暂停、继续等功能。
2.程序具体设计秒表显示共有6位,两位显示分,两位显示秒,十分秒和百分秒各一位。
设计时使用一个计数器,随着时钟上升沿的到来循环计数,每计数一次,百分秒位加一,通过百分秒位满十进位来控制十分位的计数,十分位满十进位,依次类推,实现秒表计数。
为实现秒位的计时精确,百秒位必须以0.01秒的时间间隔计数,即时钟的频率是100Hz。
为此,本设计采用3MHz的时钟频率通过分频得到100Hz的时钟频率,再送给控制时钟以得到比较精确的CLK信号。
具体程序设计见附录。
引脚定义如下:其中,时钟信号CLK为3MHz的时钟频率,分频后得到的时钟为CLK2,输出引脚CLK2和输入引脚CLK2在外部相连,实现将分频后的时钟送入。
3.调试应用MAX+plus II软件编译调试实验控制程序, 仿真运行结果如下:(1)给时钟后,实现开始功能:开始键按下(STA=‘1’)后,秒表计数开始。
(2)给时钟后,实现暂停功能:从上图可以看出暂停键按下后(POS=‘1’),输出(CQ)保持不变,直到暂停键再次按下(POS=‘0’),输出才继续计数,从而实现了暂停的功能。
数字逻辑实验报告(秒表)
数字逻辑实验报告秒表设计[日期]MICROSOFT[公司地址]一、 实验目的二、实验内容及要求实验要求设计并实现一个数字秒表。
该秒表要实现以下功能:1、该秒表可以产生稳定的脉冲信号作为秒表的计时基准。
该秒表可以实现暂停、停止。
2、该秒表可实现暂停、恢复计数和清零功能。
3、改秒表具有十进制的数字显示功能。
三、实验电路总体结构设计根据设计要求,可以构造出数字秒表的结构框图,如图3-1所示。
该数字秒表的工作原理是:由秒脉冲发生电路产生稳定的秒脉冲信号,经过控制开关输出到计数器中。
秒计数器计满10后向秒十计数器产生进位脉冲。
计数器的输出经显示译码器译码后送显示器显示。
图3-1四、实验电路详细设计1、秒脉冲发生电路设计由于5G555具有电源范围宽、定时精度高、使用方法灵活等特点,我们采用由5G555构成的多谐振荡器产生秒脉冲信号。
5G555功能表如表3-2所示。
表3-2 5G555功能表 输入 输出TH TR RD OUT 放电三极管 d d 0 0 导通 >2/3Vcc >1/3Vcc 1 0 导通 >2/3Vcc <1/3Vcc 1 1 截止 <2/3Vcc >1/3Vcc 1 不变 不变计数器译码及显示电路显示 显示译码 译码 秒十计数秒计数 秒脉冲发生电路振荡器<2/3Vcc <1/3Vcc 1 1 截止由5G555构成的多谐振荡器如图3-1所示。
图3-1由图4-1可知,电路由两个外加电阻和一个电容组成。
5G555的D 端经R1接至电源VCC ,构成一个反相器。
电阻R2和电容C 构成积分电路。
积分电路的电容电压Vc 作为电路输入至TH 和TR 。
电路工作原理如下。
由于接通电源瞬间,电容C 来不及充电,电容器两端电压Vc 为低电平,小于(1/3)Vcc ,故TH 端电压<2/3Vcc 与TR 端电压<1/3Vcc ,输出OUT 状态为1,放电三极管T 截止。
电子技术综合实验报告-秒表
流 交 习 学 供 仅
程序 1)分频程序
module fenpin100Hz(clk,hz,hz_1k); input clk; output reg [3:0]hz;
output reg [15:0]hz_1k;
if(hz_1k==47999) hz_1k<=0; else hz_1k<=hz_1k+1;
always @(negedge hz_1k[16]) if(hz==9)
hz<=0; else
结果用 8 只数码管显示;有两个按钮开关,一个按钮使秒表复位,
另一个按钮控制秒表的启动/暂停。
下图显示了该跑表前面板的基本排布构想。
Stopwatch
POWER
RESET
RUN/STOP
(五)实验内容:Verilog 的语法,建模,设计时间测量的方法:
使用 现在时间测量一般采用数字计器来进行
(六) 实验原理
module jishu_jinwei(hz,rst,stop,n_1,n_2,n_3,n_4,n_5,n_6); input hz; input stop; input rst; output reg [3:0]n_1,n_2,n_3,n_4,n_5,n_6;
wire [3:0]cnt_1,cnt_2,cnt_3,cnt_4,cnt_5,cnt_6; *//Jinwei U2、U3、U5、U9 是十进制位,jinwei_6 U4、U6 是六进制位//*
input [3:0]num; output reg [6:0]led; 译码仿真图
用
使
பைடு நூலகம்
51单片机秒表实验报告
江西理工大学应用科学学院信息工程系单片机原理与应用课程设计报告设计题目:基于51单片机的秒表设计专业:电子信息工程班级:电信121学号: 08060312109参与人员:贺佳、周代元、周昶旭、张浥中指导老师:王苏敏完成日期: 2015年1月20日目录1 设计任务和性能指标 (1)1.1 课题内容 ....................... 错误!未定义书签。
1.2 课题要求 ........................ 错误!未定义书签。
2 设计方案............................. 错误!未定义书签。
2.1 需求分析 (3)2.2 方案论证 (3)3系统软件设计 (5)4.1 系统软件流程图................... 错误!未定义书签。
4.2 实验程序清单 .................... 错误!未定义书签。
4 系统硬件设计 (10)5.1 调试步骤 (11)5.2 性能分析 ........................ 错误!未定义书签。
5系统硬件设计.......................... 错误!未定义书签。
参考文献.. (14)1 设计任务和性能指标1 课题内容要求及目的1.1课题内容用AT89C51设计一个秒表,该秒表课可显示0.0~99.9秒的时间,进行相应的单片机硬件电路的设计并进行软件编程利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。
综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。
通过本次系统设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握。
本系统利用单片机的定时器/计数器定时和记数的原理,通过采用proteus仿真软件来模拟实现。
模拟利用AT89C51单片机、LED 数码管以及控件来控制秒表的计数以及计位!其中有三位数码管用来显示数据,显示秒(两位)和十分之一秒,十分之一秒的数码管计数从0~9,满十进一后显示秒的数码管的数字加一,并且十分之一秒显示清零重新从零计数。
电子秒表的设计实验报告
电子秒表的设计实验报告
《电子秒表的设计实验报告》
摘要:本实验旨在设计一款简单易用的电子秒表,通过实验验证其准确性和稳定性。
实验结果表明,所设计的电子秒表具有较高的准确性和稳定性,能够满足实际使用需求。
引言:电子秒表是一种用于测量时间的工具,广泛应用于实验室、体育比赛和工业生产等领域。
设计一款准确可靠的电子秒表对于提高工作效率和数据准确性具有重要意义。
因此,本实验旨在设计一款简单易用的电子秒表,并通过实验验证其性能。
实验方法:首先,我们选取了一款常用的电子元件,包括计时电路、显示屏和按键等。
然后,我们根据设计要求,进行了电路连接和程序编写。
接着,我们对设计的电子秒表进行了一系列的实验,包括准确性测试、稳定性测试和耐用性测试等。
实验结果:经过实验验证,我们设计的电子秒表具有较高的准确性和稳定性。
在准确性测试中,我们对比了设计的电子秒表与标准秒表的计时结果,发现两者基本一致。
在稳定性测试中,我们对设计的电子秒表进行了长时间计时,结果显示其计时稳定性良好。
在耐用性测试中,我们对设计的电子秒表进行了反复按键操作,发现其按键灵敏度和耐用性均符合设计要求。
结论:通过本实验,我们成功设计了一款简单易用的电子秒表,并验证了其准确性和稳定性。
该电子秒表具有较高的性能表现,能够满足实际使用需求。
未来,我们将进一步改进设计,提高电子秒表的功能和性能,以满足更广泛的应用需求。
致谢:感谢实验室的老师和同学们对本实验的支持和帮助,感谢他们的耐心指导和建设性意见。
同时,也感谢所有参与本实验的人员,他们的辛勤劳动为本实验的顺利进行提供了保障。
电子秒表的设计实验报告
电子秒表的设计实验报告电子秒表的设计实验报告一、引言在现代科技高度发达的社会中,电子秒表作为一种常见的计时工具,被广泛应用于各个领域。
本次实验旨在设计一个简单且实用的电子秒表,通过实际操作和数据分析,探索电子秒表的原理和功能。
二、实验目的1. 了解电子秒表的基本原理和结构;2. 掌握电子秒表的设计方法和实验操作;3. 分析电子秒表的精度和稳定性。
三、实验材料与方法1. 实验材料:电子元件、电路板、电源、计算机等;2. 实验方法:a. 按照电子秒表的设计要求,搭建电路;b. 连接电源,启动电子秒表;c. 进行计时实验,记录数据;d. 分析实验结果。
四、实验步骤1. 设计电路图:根据电子秒表的功能需求,设计电路图,并确保电路的稳定性和可靠性。
2. 搭建电路:根据电路图,将电子元件连接到电路板上,并进行焊接。
3. 连接电源:将电路板与电源连接,确保电子秒表正常工作。
4. 启动电子秒表:按下启动按钮,开始计时。
5. 进行计时实验:使用标准计时器,同时启动电子秒表和标准计时器,进行时间对比。
6. 记录数据:记录电子秒表和标准计时器的计时结果,并计算误差。
7. 分析实验结果:比较电子秒表和标准计时器的计时精度和稳定性,分析实验结果的可靠性。
五、实验结果与分析通过多次实验,记录了电子秒表和标准计时器的计时结果,并计算了误差。
实验结果显示,电子秒表的计时误差较小,精度和稳定性较高,能够满足实际使用的需求。
然而,由于实验条件的限制,电子秒表的计时精度仍有进一步提高的空间。
六、实验总结本次实验成功设计了一个简单实用的电子秒表,并通过实验验证了其计时精度和稳定性。
电子秒表作为一种常见的计时工具,在科学研究、体育竞技等领域具有广泛的应用前景。
然而,电子秒表的设计和制造仍需不断改进,以提高其计时精度和稳定性。
七、改进方向1. 优化电路设计:通过改进电路结构和选用更好的电子元件,提高电子秒表的计时精度和稳定性。
2. 加强测试和校准:定期对电子秒表进行测试和校准,确保其计时结果的准确性。
数字式秒表实验报告
数字式秒表实验报告摘要本次设计任务是设计一个数字式秒表经查阅资料后我把实验分为1.脉冲产生部分。
2.电路控制部分。
3.计数部分4.译码部分。
5显示部分。
脉冲产生部分我选择555多谐振荡器,产生100Hz的脉冲。
经参考资料,电路控制部分:启动和暂停控制开关使用由RS触发器组成的无抖动开关。
使用74ls160计数器计数,7447译码器驱动共阳极七段显示器。
实验要求1.秒表最大计时值为99分59.99秒;2. 6位数码管显示,分辨率为0.01秒;3 .具有清零,启动计时,暂停及继续计数等控制功能;4.控制操作间不超过二个。
实验分析数字式秒表,所以必须有一个数字显示。
按设计要求,须用七段数码管来做显示器。
题目要求最大记数值为99,59,99,那则需要六个数码管。
要求计数分辨率为0.01秒,并且需要相应频率的信号发生器。
选择信号发生器时,有两种方案:一种是用晶体震荡器,另一种方案是采用集成电路555定时器与电阻和电容组成的多谐振荡器。
经过查询资料,555多谐振荡器性能稳定,故采用555多谐振荡器。
数字式秒表是一个频率(100HZ)进行计数的计数电路。
由于数字式秒表计数的需要,故需要在电路上加一个控制电路,该控制电路清零、启动计时、暂停及继续计数等控制功能,同时100HZ的时间信号必须做到准确稳定。
数字电子钟的总体图如图所示。
由图可见,数字电子钟由以下几部分组成:555振荡器秒脉冲发生器,防抖开关;秒表控制开关;一百进制秒、分计数器、六十进制秒计数器;以及秒、分的译码显示部分等七段显示器译码器译码器译码器1005551. 555构成的多谐振荡器555构成的多谐振荡器电路图555多谐振荡器工作波形多谐振荡器工作波形周期计算2.多谐振荡器仿真图根据设计要求,需要产生一个频率为100HZ的信号,由于f=1/T,带入可以算出R1=R1=4.7KΩ,在仿真软件上仿真的时候可以设置电阻为4.7KΩ,加上一个50Ω的电位器来调节脉冲信号的精确度。
秒表 实验报告
秒表实验报告秒表实验报告一、引言秒表是一种常用的计时工具,广泛应用于科学实验、体育竞技、工业生产等领域。
本次实验旨在通过使用秒表进行计时,探究其精确度和可靠性,并对实验结果进行分析和讨论。
二、实验方法1. 实验材料:秒表、实验器材(如小球、弹簧等)。
2. 实验步骤:a. 准备实验器材,并将秒表置于易于观察的位置。
b. 进行实验前的校准,确保秒表的准确性。
c. 进行实验,使用秒表记录实验过程中的时间。
d. 重复实验多次,以提高结果的可靠性。
e. 记录实验数据,并进行数据分析。
三、实验结果在本次实验中,我们进行了多个实验项目,包括计时小球下落时间、测量弹簧振动周期等。
以下是实验结果的一部分:1. 计时小球下落时间:实验1:0.82秒实验2:0.83秒实验3:0.81秒2. 测量弹簧振动周期:实验1:1.24秒实验2:1.26秒实验3:1.25秒四、数据分析通过对实验结果的观察和分析,我们可以得出以下结论:1. 在同一实验条件下,多次重复实验的结果相对稳定,显示了秒表的可靠性。
2. 实验结果的微小差异可能是由于实验器材的误差或操作的不精确造成的。
3. 秒表的精确度可能受到外界因素的干扰,如温度、湿度等。
五、讨论与改进1. 在实验过程中,我们注意到秒表的操作要求较高,需要手指的灵敏度和反应速度。
因此,操作者的技巧和经验对实验结果可能产生一定影响。
2. 为了提高实验结果的准确性,可以采取以下改进措施:a. 使用更高精度的秒表,以减小误差。
b. 进行更多次的重复实验,以提高结果的可靠性。
c. 控制实验环境的稳定性,减少外界因素的干扰。
d. 提高操作者的技能水平,以减少人为误差的发生。
六、结论通过本次实验,我们对秒表的精确度和可靠性有了更深入的了解。
秒表作为一种常用的计时工具,在科学实验和其他领域中具有重要的应用价值。
然而,我们也认识到实验结果的准确性受到多种因素的影响,需要在实验设计和操作过程中进行合理的控制和改进。
数字秒表设计实验报告
数字秒表设计实验报告数字秒表设计实验报告1. 引言•简要介绍实验的目的和意义2. 设计原理•介绍数字秒表的基本原理和工作流程3. 实验步骤•列出实验的具体步骤和操作流程4. 实验结果分析•分析实验过程中的数据和观测结果•对实验结果进行解释和讨论5. 实验结论•给出实验的总结和结论6. 实验改进•提出对实验的改进建议和优化方案7. 参考资料•引用相关的文献和资料来源8. 附录•将实验过程中的数据、图表等附加在文末作为附录以上为一个大致的框架,具体内容根据实验的实际情况进行填写。
本实验报告使用Markdown格式,通过使用标题和列表等语法,使文章更加清晰易读。
注意,为了遵守规则,本文中不包含实际的字母、图片或网址。
希望这份指导对你有所帮助!数字秒表设计实验报告1. 引言•实验目的:本实验旨在设计一个数字秒表,用于测量时间,并掌握数字电路的设计原理和实践技能。
•实验意义:准确测量时间是科学研究和生产实践中的重要要求,数字秒表作为计时测量的常用工具,具有广泛的应用价值。
2. 设计原理•数字秒表的基本原理是利用稳定的时钟信号源产生时间基准,通过计数器、时钟分频电路和显示模块实现对时间的测量和显示。
3. 实验步骤1.首先确定秒表的最高位数,根据实际需求选择适当的位数。
2.设计计数器电路,使用计数器芯片进行计数,根据最高位数确定计数器的范围。
3.设置时钟分频电路,通过将时钟信号分频得到适合计数器工作的时钟频率。
4.连接计数器和时钟分频电路,确保二者能够正确配合。
5.设计显示模块,将计数器的输出转换为数字形式,用于显示具体的时间数值。
6.连接显示模块和计数器,进行正确的信号传递和信息显示。
7.进行测量和验证,检查秒表的测量准确性并进行调整。
4. 实验结果分析•对实验过程中的数据和观测结果进行分析•通过比较测量结果与标准时间的差异,评估秒表的准确性•分析秒表存在的潜在问题并提出解决方案5. 实验结论•总结实验设计和实验过程•归纳出实验结果和分析的要点•得出对设计的数字秒表的结论,包括准确性、可靠性和实用性等方面的评价6. 实验改进•针对实验中发现的问题,提出改进的建议和优化方案•探讨可能的改进措施,包括电路设计、算法优化、显示方式等方面的改进7. 参考资料•[1] 电子技术实验教程,XXX出版社•[2] 数字电路原理与设计,XXX出版社8. 附录•实验数据表格•电路图和连接图•实验中使用的元器件清单以上为数字秒表设计实验报告的大致框架,实验的具体内容和结果分析部分需要根据实际情况进行填写。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
山东理工大学计算机学院课程设计(嵌入式秒表程序开发)班级计升1001班姓名刘海龙学号 1021051005指导教师李业德二○年月日课程设计任务书及成绩评定1、设计题目:用超级终端控制秒表2、题目的设计内容和要求:通过Led显示秒表,能够根据在超级终端中输入不同的字符来控制秒表暂停和重新计时。
3、设计任务和要求:3.1 程序设计、调试:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释,并在实验系统上调试通过。
3.2 课程设计说明书:a、本次课程设计的目的和意义。
b、设计报告:字数约2000~3000字(不包括程序清单),内容包括:○1设计题目;○2系统的主要功能、作用以及主要技术性能指标;○3总体设计方案、工作和组成原理(框图)或设计说明、采用的技术路线等;○4系统设计:接口电路设计,程序设计(程序框图和程序清单及注释)其他有关的理论分析和计算;○5设计总结:对整个设计工作过程进行归纳和综合,对设计中所存在的问题和不足进行分析和总结,提出解决的方法、措施、建议和对这次设计实践的认识、收获和提高。
c、作品的使用或操作说明。
d、设计图纸或图表(如接口电路原理图等)。
装订时将课程设计说明书附在该3页之后。
3.3设计内容不允许抄袭和复印,否则取消设计成绩。
4、工作安排:(设计进度及完成情况)●第一阶段:根据题目要求查阅资料构思设计方案、进行接口电路原理图设计和程序设计以及其它准备工作。
●第二阶段:对第一阶段完成的设计内容进行详细的检查或修改无错后,按照设计方案自行在实验系统上进行程序的输入和调试。
为便于调试和查错,程序最好采用模块化结构,一部分一部分的调试,通过反复的调试或修改直到达到设计要求为止。
●第三阶段:按照3中的内容和要求撰写课程设计说明书。
日期内容2011.12.18 选择题目,查阅相关开发板及程序设计的资料分析开发板控制过程,准备实验2011.12.22 构思设计方案,熟悉试验台,将用到的处理器地址定义成相关宏,写出开发板的初始化函数。
2012.12.25 写出开发板的初始化程序,深入调试,处理错误。
与老师同学进行交流,程序实现2012.12.29 用AXD调试程序,并下载到开发板上运行。
2012.01.09 整理好文档,答辩5、主要参考文献及资料:[1].嵌入式系统原理与接口技术-------清华大学出版社[2].嵌入式Linux OS原理与应用--------清华大学出版社学科部主任___________(签字)6、成绩评定:评语:设计成绩:指导老师:(签字)二○年月日目录第一章:概述 (5)第二章实验开发平台 (6)第三章系统分析 (7)第四章系统设计原理 (10)第五章课程设计步骤 (15)第六章程序代码 (27)第七章心得与体会 (23)第一章概述A/D 转换器是模拟信号源和CPU 之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。
在工业控制和数据采集及许多其他领域中,A/D 转换是不可缺少的。
A/D 转换器有以下类型:逐位比较型、积分型、计数型、并行比较型、电压-频率型,主要应根据使用场合的具体要求,按照转换速度、精度、价格、功能以及接口条件等因素来定选择何种类型。
本实验利用ADS1.2进行开发设计,利用UJTAG2.0,AXD进行调试及运行,通过超级终端输入控制信息,通过在超级终端上输入控制信息来控制秒表。
新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。
这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。
ARM7处理器采用3级流水线,而ARM9采用5级流水线。
增加的流水线设计提高了时钟频率和并行处理能力。
5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。
在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。
指令周期的改进对于处理器性能的提高有很大的帮助。
性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。
对于采用最高级的语言,一般来说,性能的提高在30%左右。
以ARM9E-S为例介绍ARM9处理器的主要结构及其特点。
ARM9E-S 的结构如图4所示。
其主要特点如下:(1)32bit定点RISC处理器,改进型ARM/Thumb代码交织,增强性乘法器设计。
支持实时(real-time)调试;(2)片内指令和数据SRAM,而且指令和数据的存储器容量可调;(3)片内指令和数据高速缓冲器(cache)容量从4K字节到1M字节;(4)设置保护单元(protection unit),非常适合嵌入式应用中对存储器进行分段和保护;(5)采用AMBA AHB总线接口,为外设提供统一的地址和数据总线;(6)支持外部协处理器,指令和数据总线有简单的握手信令支持;(7)支持标准基本逻辑单元扫描测试方法学,而且支持BIST(built-in-self-test);(8)支持嵌入式跟踪宏单元,支持实时跟踪指令和数据。
第二章实验开发平台2.1 课程设计目的:1) 结合UART0和定时器0,设计一个秒表2) 复习UART0和定时器0的工作原理和应用3) 熟悉掌握ARM中的程序应用,将理论结合实际4) 通过本次实验,将以前学的进行结合使用,以检验自己的学习质量5) 更加熟练了ARM的实验环境2.2 课程设计仪器:软件:Windows xp系统,ADS1.2集成开发环境硬件:1)Easy-ARM实验开发板一套计算机一台(内装有ADS1.2及EasyJTAG仿真器)2)单片机选型:AT89S513)复位电路:上电+按钮4)晶振电路5)键盘:独立键盘+中断6)数码管显示:LED7)独立按键控制第三章系统分析3.1 系统平台初始化初始化试验平台ARM9,包括端口地址的初始化,频率,时间等在VIVI终端输入字符,在控制语句中判断输入的字符,从而实现不同的功能。
A/D 转换器在扩展板的接法如图所示,前三路通过电位器接到3.3v 电源上。
A/D 转换器在扩展板上的接法3.2 LED 显示原理:硬件总体设计原理图:单片机键盘 LED 数码管显示独立按键控制复位电路 晶振电路LED显示原理图:原理图如下:3.3 总电路图第四章 系统设计原理4.1中断原理:开始设置I/O 连接UART0IRQ 使能中断 设置定时器使能,IRQ 中断定时器初始化 启动定时器开始计时暂停计时按键G 按下?按键Q 按下?否是否是LPC2131 通过向量中断控制器(VIC)管理中断。
外设中断信号需要经过2 个开关才能到达ARM内核,真正产生异常,逻辑示意图如图4.129所示。
如果在VIC中使能了相应外设的中断,外设中断才能到达VIC并向内核发送中断请求;只有使能了内核中断IRQ 或者FIQ,内核才能真正产生异常。
使用VIC的IRQ中断处理过程如图4.130所示:●用户程序首先要初始化VIC使能相关中断,然后正常运行用户程序(如图4.130中的①);●当有IRQ中断产生时,VIC将会根据中断源设置VICVectAddr寄存器为相应中断服务程序的地址(如图4.130中的②),●切换处理器工作模式为IRQ模式,并跳转到异常向量表的IRQ中断入口0x00000018处(如图4.130中的③);●读取VICVectAddr寄存器的值然后放入PC程序指针,跳转到相应中断服务程序(如图4.130中的④);●中断服务中执行相应的中断处理,清除中断标志,(如图4.130中的⑤);●中断服务完成后,切换回原来的模式,并返回原中断点(如图4.130中的⑥)。
4.2 UART0 查询:(1)特性:●16字节收发FIFO;●寄存器位置符合16C550工业标准;●接收器FIFO触发点可为1, 4, 8和14字节;●内置波特率发生器;●LPC2131包含使能实现软件流控制的机制。
(2)结构:UART 接收器模块UxRx监视串行输入线RxD的有效输入。
UART Rx移位寄存器(UxRSR)通过RxD接收有效的字符。
当UxRSR接收到一个有效字符时,它将该字符传送到UARTRx缓冲寄存器FIFO中,等待CPU或主机通过主机接口进行访问。
UART发送器模块UxTx接收CPU或主机写入的数据并将数据缓存到UART Tx保持寄存器FIF(UxTHR)中。
UART Tx移位寄存器(UxTSR)读取UxTHR中的数据并将数据通过串行输出管脚TxD发送。
UART波特率发生器模块UxBRG产生UART Tx模块所使用的定时。
UxBRG模块时钟源为VPB时钟(pclk)。
主时钟与UxDLL和UxDLM寄存器所定义的除数相除得到UART Tx模块使用的时钟。
该时钟为16倍过采样时钟NBAUDOUT。
中断接口包含寄存器UxIER和UxIIR。
中断接口接收几个由UxTx和UxRx发出的单时钟宽度的使能信号。
●UxTx 和UxRx 的状态信息保存在UxLSR 中。
●UxTx 和UxRx 的控制信息保存在UxLCR 中。
4.3 UART的结构如图4.16所示:VPB 接口提供CPU或主机与UART之间的通信连接。
4.4定时器:(1)概述:LPC2131具有2个32位可编程定时/计数器,均具有4路捕获、4比较路匹配并输出电路。
定时器对外设时钟(pclk)周期进行计数,可选择产生中断或根据4个匹配寄存器的设定,在到达指定的定时值时执行其它动作(输出高/低电平、翻转或者无动作)。
它还包括4个捕获输入,用于在输入信号发生跳变时捕获定时器值,并可选择产生中断。
可用于对内部事件进行计数的间隔定时器,或者通过捕获输入实现脉宽调制,亦可作为自由运行的定时器。
定时器0和定时器1除了外设基地址以外,其它都相同。
(2)定时器特性:●带可编程32位预分频器的32位定时器/计数器;●具有多达4路32位的捕获通道-当输入信号跳变时可取得定时器的瞬时值,也可选择使捕获事件产生中断;●4个32位匹配寄存器:匹配时定时器继续工作,可选择产生中断;匹配时停止定时器,可选择产生中断;匹配时复位定时器,可选择产生中断。
●多达4个对应于匹配寄存器的外部输出,具有下列特性:匹配时设置为低电平;匹配时设置为高电平;匹配时翻转;匹配时无动作。
(3)结构:定时器 0 和定时器 1 的方框图,如下图所示:(注:捕获寄存器3不能用于定时器0)(4)定时器基本操作方法:●计算定时器的时钟频率,设置PR寄存器进行分频操作;●设置比较匹配通道的初值及其工作模式,若是使用捕获功能,则设置捕获方式;●若使用定时器的相关中断,则设VIC,使能中断;●设置TCR,启动定时器。
如前所述,定时计数器时钟频率计算如下:其中,N为PR的值。