ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:50.90KB ,
资源ID:8478814      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8478814.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理课程设计频率计报告最完整版Word文档格式.docx)为本站会员(b****5)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

微机原理课程设计频率计报告最完整版Word文档格式.docx

1、标题:“参考文献”,小四,黑体,居中。示例:(五号宋体)图书类:序号作者1,作者2,作者n.书名.版本.出版地:出版社,出版年:页次.5、附录(打印)实验题目:频率计1设计目的通过数字频率计的设计,使同学们进一步掌握:(1) 8086/8088汇编语言程序的设计和调试;(2) 信号频率的数字测量方法;(3) 定时计数器8253的基本工作原理和应用;(4) 微机基本应用系统的设计方法;2、实验设备 1计算机一台; 2Dais958H+(80X88、8253、8259、数码管);3基本TTL电路芯片若干(74LS138);4. 导线若干;辅助设备:示波器、函数发生器(最低要求为方波发生器);3设计

2、功能要求用微机原理实验装置,设计并实现一个信号频率测试系统,要求频率测量范围不小于5Hz50kHz,并将测得的频率显示在LED数码显示器上。分析: 1.利用8088,8253,8259等芯片实现测量程序的功能; 2.测量的二进制数值转化成十进制,并且显示在数码管上; 3.误差不可以大于1Hz; 4用函数发生器测试实验的结果;提升要求:达到课设要求后,试着扩大测量范围,使其精确到0.1Hz65kHz;4设计提示1 频率测量方法频率测量方法有M法,T法,M/T法,测量的基本要求是快速准确。(1) M法:测量计数在一定时间Tc内的信号脉冲数M。譬如,Tc1秒,计数值M1200,则信号频率为1200H

3、z; Tc0.1秒,计数值M=1200,则信号频率为12000Hz。显然,M法适用于高频信号的测量。(2) T法:测量一个完整脉冲的周期T,则此周期T的倒数就是待测频率。譬如,测得T0.1ms,则信号频率为10000Hz。显然,T适用于低频信号测量。(3) M/T法:测量在一定时间Tc左右M个整数脉冲的完整周期T,则待测信号频率为M/T。首先给定一个基本时间Tc,利用计数器测得Tc内的脉冲个数,设为M。但是,一般情况下,在Tc结束时刻并不严格的与第M个脉冲结束时刻(即第M+1个脉冲上升沿时刻)相对应,因此,利用定时器测量出Tc结束时刻到第M个脉冲结束时刻的时间T,则T=Tc+T,于是可求频率。

4、2 频率测量参考方案设采用M法,定时时间T=1秒,则计数值即为待测频率。设频率计的测量频率范围为1Hz65535Hz,则设计方案如下:利用8253CT0和CT1级联作一秒定时器,利用8253CT2作待测信号脉冲计数器,在定时开始之时也开启计数器,在一秒定时到之时关闭计数器并读取计数值,此计数值即为频率。参考程序流程如下: 置CT1定时初值测量结束?读CT2计数值并显示一秒定时到?置CT2定时初值置CT2计数初值8253初始化END5方案设计及其说明5.1硬件电路设计硬件线路部分主要采用了几个学过的芯片,即8088,8253,8259,74LS138。其工作过程如下:利用8253芯片的CT1定时

5、/计数器的OUT1端和CT0定时/计数器的CLK0端级联计时,CT2定时/计数器的CLK2端接收待测信号进行计数,OUTO端口将计时信号输出到8259芯片的IR7口产生中断。中断产生后,从CT2中读出计数值转化成频率值由数码管显示。若CLK2接收到的为高频率的脉冲,令计时为1s,即每秒产生一次中断,即OUT1生成10ms的方波,OUT0出来的是1s的方波。利用M法可以知道,在下一个1s到来的时候可以测出1s经过的CLK2的基本脉冲数为M,则被测频率f=M,此时将M转换为十进制显示在数码管上即可。若CLK2接收到的是低频率的脉冲,此时若计时仍为1s,则用M法无法测量,所以改设定中断时间为10s,

6、即OUT1生成的依旧是10ms的方波,OUT0生成10s方波脉冲。在下一个中断来临时,记下CLK2经过的脉冲数M个,所测的频率为:f=M/10,转换为十进制显示在数码管上。5.1.1计时部分8253的CT0和CT1级联产生出1秒的方波。基准时钟信号是CT1的CLK1自带的内部晶振1.8432MHZ。CT1写入初值18432,令OUT1输出10ms的方波信号再输入给CLKO。当待测信号为高频时,CT0写初值100从OUT0输出1s的脉冲时钟信号;当待测信号为低频时,修改CT0的初值为1000令其输出10s的脉冲信号。控制字如下:CTO:1 计数器0 从低到高读写 工作方式3 二进制CT1: 计数

7、器1 从低到高读写 工作方式3 二进制5.1.2计数部分用8253的CT2产生计数。CLK2是待测信号脉冲的输入端。OUT2悬空不接线。初值定为65535,即从65535开始,每一个脉冲周期自减一。CT2: 计数器2 从低到高读写 工作方式0 二进制5.1.3片选寻址部分实验中用了8253和8259两片芯片。故需要进行地址的片选。8259的地址是FFE0H FFE3H。对应的各地址线如下:A19A9A8A7A6A5A4A3A2A1A0地址11FFE0HFFE1HFFE2HFFE3H对应的片选接74LS138的Y0口8253的地址是FFF8H FFFBH。FFF8HFFF9HFFFAHFFFBH

8、对应的片选接74LS138的Y6口5.1.4中断部分将8253的OUT0的计时信号给8259的IR7口产生中断。写入控制字令接收到上升沿产生中断。通过实验箱的内部已接好的输出电路给数码管显示。5.1.5硬件线路图74LS1385.1.6操作时序图每次中断之内经过的脉冲个数M,则被测频率F=MCLK1:(时基信号)OUT1:(10ms方波 )OUT0:(1S方波)(10S方波)INTR1:(1S中断)INTR2:(10S中断)CLK2:(被测信号)5.2软件电路设计项目作品的软件部分共划分为如下几个模块:1. 8253芯片定时模块2. 8253芯片计数模块3. 8259芯片中断模块4. 显示模块

9、5.2.1软件流程图 原程序:结束8259初始化子程序RET8253初始化子程序开始写CT0控制字置CT0初值写CT1控制字置CT1初值8259中断子程序二进制-十进制转化子程序(高频)初始化清零SISI-1是否除尽?N二进制-十进制转化子程序(低频)与高频流程类似,先显示最低位,再调用有小数点的数字显示带小数点位,最后显示高三位。5.2.2源程序代码(见附页)6试验中出现问题及解决方法刚开始课设时候小组出现两种方案,最后经过对比与讨论准备用第二种也就是做成功的这个方案,在实验硬件接线成功后进行测试时候 发现测试不出来数据,最后经过反复研究,用示波器测波形,发现8253的CT0口出现问题,而C

10、T1口可以正常产生1s方波,经过和孙老师研究后发现是8253芯片的问题,最后换箱子,结果换的新箱子数码管没有显示,最后经过一番折腾,再次换新箱子之后所有硬件才正常了,数码管正常显示。 在此期间,我们还对程序做了一点改进,因为刚开始受书本知识的影响,8253,8259地址都做成一个了,经过修改使其能用74LS138进行片选。还有锁存程序也进行了改进。7. 实验结果及分析 用函数发生器给频率计输入方波信号,可较精确的测得信号频率。测量范围为0.1Hz 65534Hz,经与函数发生器比较,测量误差为高频1Hz,低频0.1Hz。 部分测量结果如下表:高频待测(Hz)655303556262334211

11、3030实测(Hz)3556142103031低频562.5336.111.520.7900.352562.536.21.50.80.38. 课程设计心得体会微型计算机已经广泛应用于各行各业,促进了社会的进步。作为今天的设计人员,必须很好的掌握微型计算机的概念与技术。书本上学习的知识通常只是理论上的东西,而微机原理则是与实际结合很紧密的事情。所以实践是必不可少的掌握所学内容的阶段。微机原理课设是学校提供给我们的很好的理论与实际相结合从而把学习课程融会贯通的机会。通过此次课设,加强了我们的动手,思索和解决问题能力。熟悉了所常用的芯片比如8253,8259,74ls138等的应用,其中8259大纲

12、的要求很少,通过课设,使我们掌握了中断的具体应用。通过对程序的编译,使我对汇编语言的基本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在课设完成过程中通过和同学的交流,也增加了合作的技巧。通过查阅以下资料也学到了一些课本上没有的东西,拓宽了自己的知识面,更掌握了8086的调试环境 此次课设使我们又一次明白了团队合作的的重要性,遇到很多问题时,当我看书查资料不能解决时,这时去找同学讨论一下,收获很大,可以使很多问题迎刃而解,直到问题最终解决。课设的成功离不开孙老师的悉心指导和组员们的共同努力。再次感谢孙老师的指导!附页:源代码CODE SEGMENT ASSUME CS:CODE,DS

13、:CODE,ES:CODE ORG 3400HH8: JMP P8259ZXK EQU 0FFDCHZWK EQU 0FFDDHLED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;09 DB 040H,079H,24H,30H,19H,12H,02H,78H,00H,10H,0FFH ;0.9.BUF1 DB ?BUF DB ?,?Port0 EQU 0FFE0HPort1 EQU 0FFE1HP8259: CLI CALL WP ;数码管初始状态为0 MOV AX,OFFSET INT8259 MOV BX,003CH MOV BX,AX

14、 MOV BX,003EH MOV AX,0000H MOV BX,AX ;以上是写中断向量表 CALL FOR8259 ;对8259初始化设置 CALL FOR8253 ;对8253初始化设置 CALL FOR8253X ;对频率范围进行设置 MOV SI,OFFSET BUF1 MOV AL,01H MOV SI,AL ;默认为高频 STI PPP: CALL DIS JMP PPP ;循环显示等待中断;8259初始化-FOR8259:MOV AL,13H ;上升沿产生中断(ICW1) MOV DX,Port0 OUT DX,AL MOV AL,08H ;ICW2的设置 MOV DX,Po

15、rt1 MOV AL,09H ;icw4的设置 MOV AL,07FH ;设置IR7为中断源,并且屏蔽其它的中断源 8253初始化(一秒信号)-FOR8253: MOV DX,0FFFBH MOV AL,36H ;0111 0110 CT1,方式3 MOV AL,76H ;0011 0000 CT0,方式0 , MOV DX,0FFF9H MOV AX,18432 ;(6144) CT1 产生10ms方波 MOV AL,AH MOV DX,0FFF8H MOV AX,100 ;1000 ;1s脉冲 OUT DX,Al8253初始化(十秒信号)FOR8253b:MOV DX,0FFFBHCT0,

16、方式0 MOV AL,076H ;CT1,方式3 MOV DX,0FFF9H ;CT1(18432) 产生10ms方波 MOV DX,0FFF8H ;CT0 MOV AX,1000 ;10s脉冲 RET控制CT2计数,设置频率范围-FOR8253X: MOV DX,0FFFBH ;控制口地址 MOV AL,0B0H ;CT2,方式0 MOV DX,0FFFAH ;CT2地址 MOV AX,65535 ;T2计数的最大值 mov cx,10 ;延时good: loop good二 十进制转化(高频无小数点,利用了M法测量)-BTRO: MOV CL,6 XOR CH,CH XOR DX,DX M

17、OV BX,10 MOV SI,OFFSET BUF ADD SI,5 ;从低位到高位存储NEXT: DIV BX MOV SI,DL ;除以10的余数存放低位 DEC SI AND AX,AX JZ STOP ;判断是否除尽 MOV DL,0 LOOP NEXTSTOP:- 二 十进制转化(低频有小数点,利用了T法测量)BTROb:MOV CL,3使其从数码管的低位开始显示 MOV SI,DL MOV DL,0 ;将存放余数的清0 ADD DL,10 ;查表将该位的小数点显示出来 AND AX,AX ;检测商是否为0,若为0程序跳出,否则继续 JZ STOP1NEXT1: LOOP NEXT

18、1 ;由于数码管只能显示5为,则CL=3STOP1:8259的中断子程序INT8259: PUSH AX PUSH DX PUSH BX ;断点保护 MOV AL,80H OUT DX,AL ;给CT2置控制字,方便下面读取CT2接口的值 MOV DX,0FFFAH IN AL,DX MOV Bl,AL IN AL,DX MOV Bh,AL ;读取CT2的值,此时值为剩余的计数值 MOV AX,BX MOV DX,65535 SUB DX,AX ;将读取CT2的值转化为频率值 MOV AX,DX PUSH AX ;保护频率值 MOV BL,SI CMP BL,1 ;判断新频率进来之前的显示模式

19、 JNZ DIPIN ;低频跳转,高频继续向下执行 CMP AX,2000 JB OTHER ;若小于2000,测的频率为低频,跳转,否则继续向下GOM: CALL FOR8253X CALL WP POP AX CALL BTRO ;将频率值转化为十进制,无小数 jmp x59DIPIN: cmp AX,20000 ;低频时,判断是否为高频 JNB OTHER2 ;大于2000则为高频,跳转GOM2: CALL FOR8253X CALL WP POP AX ;出栈 CALL BTROb ;将频率值转化为十进制,此时带有小数 JMP X59OTHER: CALL ANTHER ;调用高频转低

20、频程序,设定标志位和中断时间(10s) jmp GOMOTHER2: CALL ANTHER2 ;调用低频转高频程序,设定标志位和中断时间(1s) jmp GOM2X59: MOV AL,20H中断响应后,将ISR相应位清0 MOV CX,0050H ;置循环显示的次数XX59: PUSH CX CALL DIS ;调用显示程序,将频率值显示在数码管上 POP CX LOOP XX59 ;循环显示,直至下一次中断 POP BX POP DX断点回复LAST:IRETDIS是显示子程序-DIS: MOV CL,20H ;准备好数码管位 MOV BX,OFFSET BUFDIS1: MOV AL,

21、BX PUSH BX MOV BX,OFFSET LED XLAT ;换码,在LED表里面换取数据 POP BX MOV DX,ZXK ;输出字型位 MOV AL,CL ;输出字位位 MOV DX,ZWK MOV CX,0100HDELAY: LOOP $ CMP CL,01H JZ EXIT INC BX SHR CL,1 ;右移,显示下一个数码管 JMP DIS1EXIT: MOV AL,00H初始化显示000000WP: MOV BUF,0 MOV BUF+1,0 MOV BUF+2,0 MOV BUF+3,0 MOV BUF+4,0 MOV BUF+5,0频率转化程序ANTHER:让高频转为低频(0) call FOR8253b ;将中断时间设定位10秒

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2