资源预览内容
第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
第9页 / 共19页
第10页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
目 录一、系统功能要求分析1二、方案设计及其说明2三、原理线路设计31 原理线路2 工作原理说明3 操作时序分析4 特点说明四、程序设计41 程序结构及流程2 程序算法分析3 关键程序段说明4 源程序清单五、系统调试及结论51 调试方法2 重点问题及解决方法3 运行结果及结论六、设计体会6附录1 系统原理图附录2 源程序清单参考文献.7实验题目:频率计1设计目的通过数字频率计的设计,使同学们进一步掌握:(1) 8086/8088汇编语言程序的设计和调试;(2) 信号频率的数字测量方法;(3) 定时计数器8253的基本工作原理和应用;(4) 微机基本应用系统的设计方法;2、实验设备 1计算机一台; 2Dais958H+(80X88、8253、8259、数码管);3基本TTL电路芯片若干(74LS138);4. 导线若干;辅助设备:示波器、函数发生器(最低要求为方波发生器);3设计功能要求用微机原理实验装置,设计并实现一个信号频率测试系统,要求频率测量范围不小于5Hz50kHz,并将测得的频率显示在LED数码显示器上。分析: 1.利用8088,8253,8259等芯片实现测量程序的功能; 2.测量的二进制数值转化成十进制,并且显示在数码管上; 3.误差不可以大于1Hz; 4用函数发生器测试实验的结果;提升要求:达到课设要求后,试着扩大测量范围,使其精确到0.1Hz65kHz;4设计提示1 频率测量方法频率测量方法有M法,T法,M/T法,测量的基本要求是快速准确。(1) M法:测量计数在一定时间Tc内的信号脉冲数M。譬如,Tc1秒,计数值M1200,则信号频率为1200Hz; 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,于是可求频率。2 频率测量参考方案设采用M法,定时时间T=1秒,则计数值即为待测频率。设频率计的测量频率范围为1Hz65535Hz,则设计方案如下:利用8253CT0和CT1级联作一秒定时器,利用8253CT2作待测信号脉冲计数器,在定时开始之时也开启计数器,在一秒定时到之时关闭计数器并读取计数值,此计数值即为频率。参考程序流程如下: 置CT1定时初值测量结束?读CT2计数值并显示一秒定时到?置CT2定时初值置CT2计数初值8253初始化END5方案设计及其说明5.1硬件电路设计硬件线路部分主要采用了几个学过的芯片,即8088,8253,8259,74LS138。其工作过程如下:利用8253芯片的CT1定时/计数器的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,即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:00110110 计数器0 从低到高读写 工作方式3 二进制CT1:01110110 计数器1 从低到高读写 工作方式3 二进制5.1.2计数部分用8253的CT2产生计数。CLK2是待测信号脉冲的输入端。OUT2悬空不接线。初值定为65535,即从65535开始,每一个脉冲周期自减一。控制字如下:CT2:10110000 计数器2 从低到高读写 工作方式0 二进制5.1.3片选寻址部分实验中用了8253和8259两片芯片。故需要进行地址的片选。8259的地址是FFE0H FFE3H。对应的各地址线如下:A19A9A8A7A6A5A4A3A2A1A0地址11111100000FFE0H11111100001FFE1H11111100010FFE2H11111100011FFE3H对应的片选接74LS138的Y0口8253的地址是FFF8H FFFBH。对应的各地址线如下:A19A9A8A7A6A5A4A3A2A1A0地址11111111000FFF8H11111111001FFF9H11111111010FFFAH11111111011FFFBH对应的片选接74LS138的Y6口5.1.4中断部分将8253的OUT0的计时信号给8259的IR7口产生中断。写入控制字令接收到上升沿产生中断。通过实验箱的内部已接好的输出电路给数码管显示。5.1.5硬件线路图D0-D7 A1A0 A2A3A4 D0-D7 GATE1 CLK1 OUT1A1 A0 CLK0 GATE0 OUT0 CLK2CS OUT2 GATE2AB Y6C Y0CS IR7数码管显示待测信号+5V+5V+5V基频1.8432MHz80888253825974LS1385.1.6操作时序图TT1=18432TT2=100T1T2=1000T1每10s上升沿产生中断每1s上升沿产生中断每次中断之内经过的脉冲个数M,则被测频率F=MCLK1:(时基信号)OUT1:(10ms方波 )OUT0:(1S方波)OUT0:(10S方波)INTR1:(1S中断)INTR2:(10S中断)CLK2:(被测信号)5.2软件电路设计项目作品的软件部分共划分为如下几个模块:1. 8253芯片定时模块2. 8253芯片计数模块3. 8259芯片中断模块4. 显示模块5.2.1软件流程图 原程序:开始数码管初始化8259初始化8253初始化关中断定计数初值开中断等待中断显示结束8259初始化子程序开始写初始命令字ICW1写初始命令字ICW2写OCW1RET8253初始化子程序开始写CT0控制字置CT0初值写CT1控制字置CT1初值RET8259中断子程序二进制-十进制转化子程序(高频)开始初始化清零SISI-1是否除尽?RETSISI+5YAX/10 余数存入SIN二进制-十进制转化子程序(低频)与高频流程类似,先显示最低位,再调用有小数点的数字显示带小数点位,最后显示高三位。5.2.2源程序代码(见附页)6试验中出现问题及解决方法刚开始课设时候小组出现两种方案,最后经过对比与讨论准备用第二种也就是做成功的这个方案,在实验硬件接线成功后进行测试时候 发现测试不出来数据,最后经过反复研究,用示波器测波形,发现8253的CT0口出现问题,而CT1口可以正常产生1s方波,经过和孙老师研究后发现是8253芯片的问题,最后换箱子,结果换的新箱子数码管没有显示,最后经过一番折腾,再次换新箱子之后所有硬件才正常了,数码管正常显示。 在此期间,我们还对程序做了一点改进,因为刚开始受书本知识的影响,8253,8259地址都做成一个了,经过修改使其能用74LS138进行片选。还有锁存程序也进行了改进。7. 实验结果及分析 用函数发生器给频率计输入方波信号,可较精确的测得信号频率。测量范围为0.1Hz 65534Hz,经与函数发生器比较,测量误差为高频1Hz,低频0.1Hz。 部分测量结
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号