课程设计文档格式(模板).doc

上传人:飞****2 文档编号:56405391 上传时间:2022-11-01 格式:DOC 页数:18 大小:846.50KB
返回 下载 相关 举报
课程设计文档格式(模板).doc_第1页
第1页 / 共18页
课程设计文档格式(模板).doc_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《课程设计文档格式(模板).doc》由会员分享,可在线阅读,更多相关《课程设计文档格式(模板).doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 20122013学年 第一学期单片机原理及应用课 程 设 计 报 告题 目: 数字频率计 专 业: 电子信息 班 级: 10电子信息1 姓 名: 张三 李四 指导教师: 周珍艮 崔雪英 电气工程系2012年10月21日单片机原理及应用任务书课题名称数字频率计指导教师(职称)周珍艮(副教授)崔雪英(讲师) 执行时间20122013学年第一学期 第7周学生姓名学号承担任务樊冯飞甘超木森孙文吴传良设计目的1、学会使用测频法和测周法测量频率;2、熟悉使用仿真软件。设计要求使用AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展6位LED数码管,要求累计每秒进入单片机的外部脉冲个数,用LED

2、数码管显示出来。(1)被测频率fx110Hz,采用测周法,显示频率. ;fx110Hz,采用测频法,显示频率。(2)利用键盘分段测量和自动分段测量。(3)完成单脉冲测量,输入脉冲宽度范围是100ms0.1s。(4)显示脉冲宽度要求如下。 Tx1000ms,显示脉冲宽度。 Tx1000ms,显示脉冲宽度。摘 要摘要主要讲述本论文设计的目的,采用的技术方案,达到了什么样的结果关键词:关键词主要用来进行论文检索的,关键词应该能够反映本论文的主要内容及技术关键等目 录单片机原理及应用任务书I摘 要II目 录III第1章 数字电压表原理1第2章 FPGA模块的设计22.1 模数转换控制模块的设计22.2

3、 数据处理模块的设计32.3 显示控制模块的设计6第3章 数字电压表综合仿真83.1 仿真波形83.1.1 ADC0804控制信号时序仿真83.1.2 显示数据仿真波形93.2 性能分析93.3 运行测试93.4 程序扩展9总 结10参 考 文 献11附 录12答辩记录及评分表13第1章 数字电压表原理标题1,四号,黑体,居中数字电压表是一种用数字显示的电压测量仪表。FPGA设计的数字电压表工作过程首先由模数转换器对模拟电压进行模数转换,接着FPGA对转换后的数字信号进行处理,再将结果用数字信号直接显示出来。所以系统结构框图如图1,系统由ADC0804数模转换、 FPGA信号处理和控制、显示电

4、路三部分组成。ADC0804数模转换实现模拟量向数字量的转换,FPGA信号处理和控制,FPGA与ADC0804控制信号进行连接,控制ADC0804的模数转换过程,转换结束后,由FPGA对其进行数据处理并控制显示单元工作。显示电路由LED数码管接收FPGA信号,实现电压值的显示。 图1 系统结构框图正文字号小四,图形的图号及标题为五号,图形中的文字为五号或小五号【图形在WORD中用绘图绘制,最好用VISIO绘制】【中文字体为宋体四号,英文及数字用Times New Roman,字间距为1.5倍】第2章 FPGA模块的设计数字电压表设计核心为FPGA设计,FPGA负责ADC0804的启动以及转换数

5、据的读取,再将读取的8位二进制数据进行变换,形成便于输出的3位LED段码送给LED数码管,显示被测电压值。FPGA的设计主要包括几个部分:ADC0804转换控制模块实现ADC0804的启动以及转换数据的读取;数据处理模块实现ADC0804数字量对应BCD码的变换和处理;显示控制模块实现LED段码和位码的产生。FPGA控制电路原理框图如图2所示。图2 FPGA控制电路原理框图2.1 模数转换控制模块的设计根据ADC0804工作时序,完成ADC0804的初始化、A/D转换的启动、转换状态的读取、数据的读取和数据锁存等功能。模数转换操作步骤,用4个状态完成:(1)状态s0:启动ADC0804进行模数

6、转换操作,设置=0、=1。(2)状态s1:ADC0804进行数模转换,转换时间100us,设置=1,读取INIT是否有下降沿,有则表示转换完成,进入下一状态。(3)状态s2:向ADC0804发出读取转换数据的请求,设置=0、=1。 (4)状态s3:读取数据线D0D7上的数据,设置=1。模数转换控制模块的状态机设计:case sta iswhen s0=cs=0;wr=0;rd=1;stacs=1;wr=1;rd=1; -s1状态,ADC0804进行数模转换if qintevent and qint=0 then -等待转换结束信号qintsta=s2; -结束,进入下一状态else stacs

7、=0;wr=1;rd=0;stacs=1;wr=1;rd=1;sta=s0;data=dati;-s3状态,读取转换数据end case;【这里给出关键程序段,完整的程序可以在附录中给出】2.2 数据处理模块的设计数据处理模块的设计采用查表法实现数据处理。查表法需存储器ROM、BCD码转换等功能模块。设计648bit的ROM,根据表1确定存储数据,每个电压值对应的BCD码占用2个ROM单元,低端地址00H1FH存储电压值对应的高四位BCD码,高端地址20H3FH存储电压值对应的低四位BCD码,ROM的初始化数据如图3所示。表1 ADC0804转换数据与实际电压值对应关系表地址输出高四位输入电压

8、值高四位BCD码地址输出低四位输入电压值低四位BCD码00H00000.000000H20H00000.000000H02H00010.320032H22H00010.020002H04H00100.640064H24H00100.040004H06H00110.960096H26H00110.060006H08H01001.280128H28H01000.080008H0AH01011.600160H2AH01010.100010H0CH01101.920192H2CH01100.120012H0EH01112.240224H2EH01110.140014H10H10002.560256H3

9、0H10000.160016H12H10012.880288H32H10010.180018H14H10103.200320H34H10100.200020H16H10113.520352H36H10110.220022H18H11003.840384H38H11000.240024H1AH11014.160416H3AH11010.260026H1CH11104.480448H3CH11100.280028H1EH11114.800480H3EH11110.300030H【表格标号及表题用5号字体,表格中的字体为5号或小5号,表格居中】图3 ROM的初始化数据ROM设计实现,在Quartus

10、II下调用megafunction/storage/LPM-ROM宏函数,生成一个648bit大小的ROM,在VHDL程序中采用元件例化调用该ROM。ROM模块的外部端口如下:component lpm_rom0 PORT(address: IN STD_LOGIC_VECTOR (5 DOWNTO 0);clock: IN STD_LOGIC ;q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0);end component;ROM地址信号的产生:FPGA读取转换后的数字信号data(7 down to 0),其高四位data(7 down to 4)乘以2作为ROM地址

11、address_h。VHDL描述如下:address_h=(00 & data(7 downto 4)+(00 & data(7 downto 4); 数字信号data(7 down to 0)的低四位data(3 down to 0)乘以2再加上偏移量20H作为ROM地址address_l。VHDL描述如下:address_laddress_l,clock=qclk,q=data_l(15 downto 8);u1: lpm_rom0 port map(address=address_l+1,clock=qclk,q=data_l(7 downto 0);u2: lpm_rom0 port

12、map(address=address_h,clock=qclk,q=data_h(15 downto 8);u3: lpm_rom0 port map(address=address_h+1,clock=qclk,q=data_h(7 downto 0); 图4 BCD码调整设计流程2.3 显示控制模块的设计采用动态扫描显示:扫描时钟由系统时钟clk提供,频率大于100Hz,将数据处理模块得到的BCD码转换成能被数码管识别的段码。动态扫描显示状态控制:如图5所示,在100Hz时钟作用下,当扫描信号scan=001、010、100时,分别将个位、十位、百位数据送给hexd,再根据hexd的具体

13、取值将对应的段码送LED数码管,实现数据的显示。图5 动态扫描显示状态控制第3章 数字电压表综合仿真数字电压表的输入信号:10KHz时钟频率clk、复位信号reset;从ADC读入的转换结束输入信号int、转换数据输入dati;控制ADC的写信号wr、读信号rd、片选信号cs;数字电压表的输出信号:控制LED的扫描信号scan、段数据输出dato。数字电压表的参考程序volmeter.vhd不在这里给出,请参考教材。3.1 仿真波形由于电路的设计涉及到对ADC0804的控制及读取外部数据等外部接口电路,这部分的程序调试必须将程序下载到FPGA中,再与ADC0804连接后才能进行。因此,仿真时可

14、以将程序稍作改动,一方面检查ADC0804控制信号的时序是否正确;另一方面跳过ADC0804的数模控制模块,直接给模数转换后的数据,看显示数据是否正确。3.1.1 ADC0804控制信号时序仿真从仿真波形可以看出,ADC0804的控制信号的波形满足其工作时序要求:CS=WR=0,RD=1,启动ADC0804进行模数转换操作;CS=WR=RD=1,ADC0804进行转换动作,INIT下降沿表示转换完成,进入下一状态;CS=RD=0,WR=1,请求读取转换后数据;CS=WR=RD=1,读取数据线D0D7上的数据。图6 ADC0804控制信号时序仿真3.1.2 显示数据仿真波形当FPGA从AD080

15、4上读取的数据为3AH时,输出的段码为、,分别对应字符6、1、1,个位数中的最高位为小数点,即1.16V,由表1可知,当ADC0804的转换数据为3AH时,对应的电压值应为0.96+0.2=1.16V,表示显示结果正确。图7 显示数据仿真波形3.2 性能分析如果选择目标芯片为EP1C12Q240C8,查表法设计的VHDL程序编译后位的存储单元占用了768位,存储空间的占用不足1%;12060个逻辑单元中占用了69个逻辑单元,逻辑资源占用不足1%。3.3 运行测试将程序下载到目标芯片中,观察数码管的输出,其输出随着输入电压的变化而变化,当输入电压变为0时,数码管的输出为0,输入为5 V时数码管输

16、出也为5.00 V,运行结果正确。3.4 程序扩展该设计还可以进行相应的扩展,例如增加两个功能按键用于设定电压上下限值,当测量电压超出上下限值时,进行声音报警等,感兴趣的可以试着做数字电压表的各种扩展功能。总 结【本部分主要总结所采用的技术方案,达到的结果,以后要改进的地方等】参 考 文 献1 李心合.知识经济对传统会计的挑战J.财经研究,1998.12 2 刘朝英,宋哲英,宋雪玲.MATLAB在模糊控制系统中的应用J.计算机仿真,2001.18 3 辛希孟.信息技术与信息服务国际研讨会论文集:A集C.北京:中国社会科学出版社,1994.5 4 冯西桥. 核反应堆压力管道与压力容器的LBB分析R.北京:清华大学核能技术设计研究院,1997. 5郭路.XML数据传输的安全加密EB/OL. /xml/xmlb2b/index5.shtml, 2001-06-04/2001-10-04. 附 录此部分可以没有答辩记录及评分表 课题名称单片机原理及应用答辩教师(职称)周珍艮(副教授)崔雪英(讲师) 答辩时间20122013学年第一学期 第7周答辩记录 评 分 表学生姓名学号评分樊冯飞甘超木森孙文吴传良

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁