论文:智能数字频率计的设计内容摘要:

0商 C 余 8百位为 81 CH / 10商 2 余 88 CH / 10商 E 余 0 千位为 02 E / 10商 4 余 6 万位为 6十万位为 40 FC 1 60 2 DA 3 F2 4 66 5 B6 6 BE 7 E0 8 FE 9 E6 9 管最多只需要显示六位,只需要查六次表就可以了,图 是将十进制数对应的 LED 显示代码存入以 60H 为首单元的流程图。 图 十进制数转换为显示代码流程图 MOV @R1,A。 把 即将数码管显示的数据送入以 60H为首的单元 DJNZ R2,NEXT3 TAB:DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H 得到十进制数的 LED 显示代码以后,就可以把这些代码送入数码管显示了,方法是 50 单片机先通过 CI2 通信的方式把显示代码发送给数码管管理芯片 ZLG7290 相应的显示区域,就可以通过数码管显示频率了。 51 单片机通过CI2 通信传送数据的过程如图。 开始R 0 = 50 HR 1 = 5 FHR 2= 6DPTR = TAB@ R 0 → A@A + DPTR → AR 0 + 1 → R 0R 1 + 1 → R 1A → @ R 1R 2 1= 0 ?结束YN 10 图 CI2 通信过程框图 6 频率计系统总体程序 各单元子程序已经设计完毕,将各子程序通过适当的指令链接起来,总程序的第一部分为 T0、 T1 初始化,第二部分为 1s 定时,第三部分为计数,第四部分为采集频率,第五福分为进制转化,第六部分为数码显示,这几各部分即构成了频率计系统的总体程序,如 附录 所示。 7 程序的调试 编写的频率计总体程序编译成 HEX 文件,烧写入 51 单片机内, 角输入一定频 率 (较小 )的时钟信号,观察数码管显示的频率与输入信号的频率相符,逐渐增大输入信号的频率,数码显示的频率开始出现误差,并且误差随着输入信号频率的增加而增加,当输信号达到频率计所允许输入的最高频率时,误差达到了 650Hz,即误差 1 4%.01 00 %4 60 8 006 50  此误差很小可以认误差在允许的范围内,即频率计的计频功能满足要求。 另外在观察数码管显示的时候,发现高位的“ 0”仍然能够显示,而通常十进制的高位的“ 0”通常是省略的。 显示“ 0”的原因是没有考虑到频率值小于六位十进制数的情况,当频率小于六位十 进制数时,传送到 ZLG7290 显示区的数据仍然是六位,高位由“ 0”填充,因此会出现高位显示“ 0”的情况。 为了解决这个问题,需要另外添加一段屏蔽高位的“ 0”的程序。 解决的发送起始位发送控制字并检查应答位发送地址并检查应答位多字节发送并检查应答位发送停止位 11 思想是把高位“ 0”的个数记下,设为 n,那么只需要传送给管理芯片的数据位数为 6n。 程序流程图如图 所示。 图 屏蔽高位 “ 0” 流程图 程序经过调试以后,数码管从高位第一位不为“ 0”的数开始显示。 至此,本次课程设计制作的频率计系统无论是计频功能还是显示功能都 取得成功。 8 结束语 开始R 3 = 0R 0 = 55 H@ R 0→ AA =0 ?R 0 1→ R 0R 3 + 1→ R 3YA = 6NA R 3→ R 2结束 12 本次课程设计有较强的综合性,不仅要求设计者能灵活使用单片机的各种指令,熟练使用单片计计数器余定时器,熟练编写顺序结构程序,循环结构程序以及分支结构程序,还要求对单片机的电路连接结构,对数码管管理芯片有明确清晰的了解与认识,否则在设计的第一步就会遇到障碍。 经过一个多星期的资料收集与查询,又经过几天的总体构思,再脑中对频率计的设计有了一个总体的框架,对程序的流程图也有一个基本的结构,最后结合参考资料,结合自己对单片机知识的认识,又经过两天对程序的编写以及程序的改进,最后终于完成了 本次课程设计各各项内容。 通过设计 学到了很多,例如面对问题要保持冷静,特别是在程序的编写这一块,要找出程序的错误一定要有一个冷静的头脑,否则很难发现错误甚至是越改越错。 另外我还认识到与他人合作的重要性,虚心向别人学习,吸取别人编写程序的一些好的风格与特点再融入到自己的程序中,都是一些不错的方法。 参考文献 13 [1] 李群芳 .单片微型计算机与接口技术 (第二版 ).北京:电子工业出版社, 2020 [2] 蒋立培 .单片危机系统使用教程 .北京:机械工业出版社, 2020 [3] 凌玉华 .单片 机原理及应用系统设计 .长沙:中南大学出版社, 2020 [4] 王琼 .单片机原理及应用实践教程 .合肥:合肥工业大学出版社, 2020 [5] 刘丹 .例说 :人民邮电出版社, 2020 附录 汇编源程序代码。 ydg 于 2020 年 ,第 1 秒显示 012345。 T0 用于产生秒信号。 T1 用于计数,溢出送 5FH, 1秒后取出, 5FH62H,TH161H, TL160H。 1MHZ 频率计 P_B1 EQU P_B2 EQU P_B3 EQU P_B4 EQU P_B5 EQU P_B6 EQU ORG 000H。 AJMP MAIN。 转主程序 ORG 00BH AJMP T0_。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。