ABOUT RELY-MEASURE
您的当前位置:主页 > 使用说明 >

基于51单片机智能计数器的设计

发布时间:2020-08-29 16:57 作者:人生就是博尊龙

  对外部信号脉冲进行计数,并将脉冲个数显示出来。基本要求:计数至少65536个脉冲,并将脉冲个数显示出来。

  用中断方式进行计数,利用定时器/计数器0的方式2。使用查寻方式进行计数,利用定时器/计数器0的方式1。本程序使用第一方案进行设计,并能实现计数99999999次

  2)、由于按钮按合会出现机械弹跳过程,使得电平跳变发生多次。为了克服按钮抖动而产生的误计数,接入脉冲消抖电路,克服按钮的抖动现象。

  根据硬件设计思路,将用到单片机8031、按纽、脉冲消抖电路,8279芯片电路、6位LED显示器电路用连接线接好。其中按钮脉冲消抖电路由按钮产生的电平跳变信号经由两个与非门构成的RS触发器进行消抖。根据RS触发器的工作原理,当两个输入端均为1时,触发器输出状态不变;当按钮在两个触点间抖动时,RS触发器的两个输入端均为高电平,触发器输出电平不变;仅当按钮实现一次完整的按合过程后,触发器的输出端才产生一个脉冲,从而消除了按钮按合是抖动的影响。数据显示采用8279芯片连接LED数码管实现。应根据单片机,确定8279与单片机和与6位LED显示器的接口方式,以及8279芯片的端口地址(8279数据口地址为0000H,8279命令/状态口地址为0001H)

  以定时器/计数器0来对脉冲进行计数,数据用8279芯片连接LED数码管实现累进显示。程序分为主程序和中断服务程序两部分。主程序主要实现初始化、循环显示。而累计数在中断服务程序中完成。

  包括设置堆栈指针、8279芯片初始化、定时器/计数器0初始化、RAM区初始化,以及开中断、启动定时期/计数器0等。

  首先要编写8279初始化子程序和显示一个字符的基本子程序。其中8279初始化子程序为P8279,该子程序功能包括设置8279的工作方式(8个字符显示,左入口,编码扫描键盘,双键锁定)以及写相关的命令字(设置分频系数为31、清除LED显示等)。显示一个字符的子程序为DISLED,该子程序的入口条件为:工作就寄存器R4中存放待显示字符的LED数码管管号。另在工作寄存器R5中,以非压缩BCD码的形式存放带显示字符。一般情况下,如要显示0~9,则在R5中依次置00H~09H,程序中用查表的方法找到待显示字符所对应的“段码”。

  显示子程序DISP的设计思想是:待显示的六位数据分别以压缩BCD码的形式存放在67H、68H、69H和70H四个单元中,该子程序的功能是依次将存放在67H、68H、69H和70H中的八个BCD码分别送0#~7#数码管显示。先将其拆开为个位、十位、百位、千位、万位、十万位、百万位和千万位八个非压缩BCD码的形式,随之先后送工作寄存器R5,再三次调用DISLED子程序。由于在工作寄存器R4中已设置好该数据显示的管号,故即可在0#号管和1#号管实现个位和十位数据的显示。第二次循环中,又可在2#号管和3#号管实现百位和千位数据的显示,第三次循环中,可在4#号管和5#号管实现万位和十万位数据的显示,第四次循环中,可在6#号管和8#号管实现百万位和千万位数据的显示。

  MOV A, #00H ;置8279工作方式(8个字符显示,左入口;编码扫描键盘,双键锁定)

  定时器/计数器0设置为工作方式2,并设计时器处值为FFH。这样只要来一个脉冲,计时器就溢出而产生中断,进入中断程序使67H、68H、69H、70H四个计数单元的值实现累加。

  通过本次单片机实习彻底掌握了MCS-51、8279的结构及工作原理,通过它们使我能够完成智能计数器,对智能计数器的工作原理也有了更深的体会和掌握。学会了巧妙的编程方法,掌握了定时器/计数器的应用。

  就连我自己也不知道为什么,一开始我就对单片机很感兴趣。我觉得每每听万一堂课,我都有一种说不出的高兴,有时也会发愁,因为课程越往后越难学而且讲课进度再加快,但我没有退缩,每周坚持看单片机。就这样一步步走到课程设计,也许是没全身心投入,搞了两天程序才搞出来,结果上机时还是存在着错误,和同组人刘欢讨论和修改后才完成了“智能计数器”这个程序的编写。为了更好的完成软硬件的结合,我查阅了相关资料,最终得到了解决。 转眼间,一周的课程设计过去了。经过这么一个过程我更加深刻的认识了单片机。单片机是编程语言中非常重要的一种。它的功能十分强大,而且应用广泛。我在编写这个程序时出现了许多问题,同时也发现了要编好一个程序就要有一个好的程序设计基础。不仅设计程序,就是任何事都是这样的。还有我们做事要持之以恒,迎难而上,这样才能有所成就。由于专业的需要我还要继续学习单片机,并且我相信我也会在这方面作出成绩,并把单片机灵活应用在学习和工作中。


人生就是博尊龙
Copyright © 2018 人生就是博尊龙 All Rights Reservrd 版权所有 技术支持:捷搜网络 琼ICP备16000871号-1
网站部分图片来自互联网,如有侵权,请及时通知,我们会及时更换!