基于单片机的频率计数器课程设计.docx
- 文档编号:11712495
- 上传时间:2023-03-30
- 格式:DOCX
- 页数:17
- 大小:242.37KB
基于单片机的频率计数器课程设计.docx
《基于单片机的频率计数器课程设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的频率计数器课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
基于单片机的频率计数器课程设计
第1章频率计数器设计………………………………………………
设计内容、要求及目的…………………………………………
大体原理与整体方框图………………………………………
第2章硬件系统设计……………………………………………
各部份方案及说明………………………………………………
单片机部份…………………………………………………
状态译码器…………………………………………………
数据显示电路………………………………………………………
第3章软件系统设计……………………………………………
应用系统的程序设计………………………………………………
1s按时………………………………………………………………
T1计数程序………………………………………………………
进制转换………………………………………………………
数码显示………………………………………………………
程序调试………………………………………………………………
第4章设计总结体会……………………………………………
参考文献………………………………………………………………
附录………………………………………………………………………………
第1章频率计数器设计
设计的内容、要求及目的
设计内容:
本课题以单片机为核心,设计和制作一个频率计数器,来完成对输入的信号进行频率计数,计数的频率结果通过6位动态数码管显示出来。
要求能够对0-250KHZ的信号频率进行准确计数,计数误差不超过±1HZ。
设计要求:
1.设计方案要合理、正确;
2.系统硬件设计;
3.完成必要元器件选择;
4.系统软件设计及调试;
5.写出设计报告
实验目的
本应用系统实验的目的是通过在“单片机原理及应用”课堂上学习的知识,和查阅资料,培育一种自学的能力。
而且引导一种创新的思维,把学到的知识应用到日常生活当中。
在设计的进程中,不断的学习,试探和同窗间的彼此讨论,运用科学的分析问题的方式解决碰到的困难,把握单片机系统一样的开发流程,学会对常见问题的处置方式,积存设计系统的体会,充分发挥教学与实践的结合。
全能提高个人系统开发的综合能力,开拓了思维,为尔后能在相应工作职位上的工作打下了坚实的基础。
大体原理与整体方框图
大体原理
频率计数器的要紧功能是测量周期信号的频率。
频率是单位时刻(1S)内信号发生周期转变的次数。
若是咱们能在给定的1S时刻内对信号波形计数,并将计数结果显示出来,就能够读取被测信号的频率。
测量进程中按时/计数器T0和T1的工作方式设置,T1是工作在计数状态下,对输入的频率信号进行计数,在本次设计利用的98C51单片机,由于检测一个由“1”到“0”的跳变需要两个机械周期,前一个机械周期测出“1”,后一个周期测出“0”。
故输入时钟信号的最高频率不得超过单片机晶振频率的二十四分之一,最大计数值为fOSC/24,由于fOSC=12MHz,因此:
T1的最大计数频率为。
关于频率的概念确实是在一秒只数脉冲的个数,即为频率值。
因此T0工作在按时状态下,每按时1秒中到,就停止T1的计数,而从T1的计数单元中读取计数的数值,然后进行数据处置。
送到数码管显示出来。
整体方框图
课题设计的是一种以单片机为主操纵的频率计。
数字频率计要紧由以下几部份组成:
按时计数、搜集数据、进制转换和数码显示。
本课题主若是以单片机AT89C51为核心,通过计数电路,和软件程序的编写,实现脉冲频率的显示。
频率计系统整体框图如下:
外部脉冲信号
关闭中断
1s定时同时开始计数
AT89C51
单片机
中断响应
段选
频率数据采集
进制转换
数码管显示
74LS138译码电路
位选
图1频率计系统整体框图
第2章硬件系统设计
这次设计要求制作一频率计系统,需要利用的硬件要紧包括51单片机芯片,74LS138译码器和数码管。
另外仍是用到排线假设干,下载线及电源线。
各部份方案选定、功能
单片机部份
本次设计采纳了AT89C51单片机,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处置器。
如图2所示:
图2AT89C52引脚图
AT89C51拥有五个中断源,当有外部脉冲到来时可实现中断的响应,另外AT89C51拥有按时/计数器(T0、T1),可实现按时与计数的功能。
单片机AT89C51的P0、P2的4个8位并行I/O口可进行外部存储设备扩展。
状态译码器(74LS138)
图374LS138译码器
74LS138译码器输出的状态操纵数码管的亮与灭,它有6个状态,连接到数码管的位选,达到点亮数码管点亮的要求。
数据显示电路
图4显示电路图
数据显示电路由限流电路和7段数码管组成,采纳器件LED显示器。
本设计中采纳了六个七段数码管进行数据显示,将五个数码管串接起来进行显示,显示数据即是对频率计的测量结果。
系统板上硬件连线:
(1)把“单片机系统”中的-口连接动态数码的段选ABCDEFGH端口。
(2)把“单片机系统”中的-与译码器74LS138的A、B、C、引脚相连,再把译码器经“非门”与“动态数码显示”区域中的一、二、3、4、五、6端口用6芯排线连接。
(3)把“单片机系统”中的(T1)端子用导线连接到“频率源”的端子上。
(4)把(/INT1)与按键连接。
第3章软件系统设计
应用系统的程序设
1s按时
采纳T0按时50
,持续循环按时20次即可完成1
按时,用一个计数单元20H寄存循环的次数,每一次循环20H单元自减1,当20H单元为零时那么1
按时到时。
其程序流程图如图5所示。
开始
初始化T0
是否启动定时器
等待中断
N
Y
启动定时器
产生中断
N
20H-1=0?
-——
重装初值
Y
关闭中断
结束
图51s按时流程图
T1计数程序
设计中T1采纳计数功能,思路是除计数器T1的TH1和TL1用于计数外,再选用一个计数单元23H,每当计数器T1溢出回零时产生中断,中断程序执行23H单元自增1,如此,当一秒到不时搜集的计数数据,23H单元寄存的是数据的最高位,TH1寄存的是数据的次高位,TL1寄存的是数据的最低位。
固然,那个地址所说的“最高位”“次高位”和“最低位”都是针对十六进制而言的。
T1计数程序的流程图如图6所示。
图6T1计数流程图
进制转换
算法的大体思路是:
第一步将最高位的高半字节提出来,除以10,把商存储起来,余数与最高位的低半字节组合成一个字节,再除以10,再存储商,余数以此类推,直到最后一次计算取得的余数即为十进制数的个位;第二步把第一步存储的商组合成一个字节,依次除以10,仍然把每次取得的商存储起来,以此类推最后一次取得的余数即为十进制数的十位;以后也是以此类推取得十进制数的百位、千位……以上算法必需要注意的一个为题是,每次取得的余数与低位的半字节组合成一个字节时,余数必需放在该字节的高半字节,不然计算错误。
该本次频率计系待测的时钟信号的最高频率为460800Hz,对应的十六进制数为70800H,那个地址就以70800H转换为十进制数为例来讲明这种算法。
第一步:
用7H除以10,商0H余7H,把商0存储在24H单元,余数7H与下一个字节08H的高半字节0H组合成一个字节70H。
70H除以10,商BH余2H,把商BH存储在25H单元,余数2H与8H组合成一个字节28H。
28H除以10,商4H余0H,把商4H存储在26H单元,余数0H与0H组合成一个字节00H。
00H除以10,商0H余0H,把商0H存储在27H单元,余数0H与0H组合成一个字节00H。
00H除以10,商0H余0H,把商0H存储在28H单元,余数0即为所需十进制数的个位。
第二步:
把存储在24H与25H单元的商组合成一个字节0BH。
0BH除以10,同第一步,存储商,余数与下一个商组合成一个字节,再除以10,一次类推取得十进制数的十位0。
第三步:
方式同第二步,取得十进制数的百位8。
第四步:
方式同第三步,取得十进制数的千位0。
第五步:
方式同第四步,取得十进制数的万位6和十万位4。
最后取得了十进制数460800。
.4数码显示
将十进制数转换为相应的LED显示的代码,最容易实现的编程方式确实是查表,因数码管最多只需要显示六位,只需要查六次表就能够够了,图7是将十进制数对应的LED显示代码存入以60H为首单元的流程图。
图7十进制数转换为显示代码流程图
程序的调试
编写的频率计整体程序编译成HEX文件,写入51单片机内,在观看数码管显示的时候,发觉高位的“0”仍然能够显示,而通常十进制的高位的“0”一般是省略的。
为了解决那个问题,需要另外添加一段屏蔽高位的“0”的程序。
具体程序编写如下:
PINGBI:
MOV20H,#06H
MOVR1,#55H
PANDUAN:
MOVA,@R1
JNZSCANNUM
DECR1
DEC20H
AJMPPANDUAN
程序通过调试以后,数码管从高位第一名不为“0”的数开始显示。
参考文献
1、《单片机原理与应用》王迎旭等编机械工业出版社
2、《51系列单片机设计实例》楼然苗等编北京航空航天大学出版社
3、《运算机硬件技术基础实验教程》黄勤等编重庆大学出版社
4、《微型运算机接口技术及应用》刘乐善主编华中科技大学出版社
五、《单片微型运算机原理及接口技术》陈光东等华中科技大学出版社
附录1
源程序清单:
ADDA,25H
MOVB,#0AH
DIVAB
MOV24H,A;存储第一名商
MOVA,BMEQU15
NEQU5
ORG0000H
AJMPMAIN
ORG0003H
AJMPCNINT0
ORG000BH
AJMPT0INT
ORG001BH
AJMPT1INT
ORG0030H
MAIN:
MOVSP,#70H
MOVIE,#8BH;开放EA、T一、T0中断
MOVTMOD,#51H;初始化程序
MOVTH0,#3DH
MOVTL0,#71H
MOV20H,#20
MOVTH1,#00H
MOVTL1,#00H
MOV21H,#00H
MOV22H,#00H
MOV23H,#00H
SETBIT0
SJMP$
CNINT0:
SETBTR0
SETBTR1
RETI
T0INT:
DJNZ20H,NEXT1;按时中断效劳程序
CLRTR1
CLRTR0
MOV22H,TH1
MOV21H,TL1
AJMPTRANSBD
NEXT1:
MOVTH0,#3CH
MOVTL0,#0B0H
EXIT:
RETI
T1INT:
INC23H;计数中断效劳程序
RETI
TRANSBD:
MOVSP,#70H;将十六进制数转换成十进制数
MOVA,23H
MOVB,#0AH
DIVAB
MOV24H,A;存储第一名商
MOVA,B
MOV30H,22H
ANL30H,#0F0H
ADDA,30H
SWAPA
MOVB,#0AH
DIVAB
MOV25H,A;存储第二位商
MOVA,B
SWAPA
ANL22H,#0FH
ADDA,22H
MOVB,#0AH
DIVAB
MOV26H,A;存储第三位商
MOVA,B
MOV30H,21H
ANL30H,#0F0H
ADDA,30H
SWAPA
MOVB,#0AH
DIVAB
MOV27H,A;存储第四位商
MOVA,B
SWAPA
ANL21H,#0FH
ADDA,21H
MOVB,#0AH
DIVAB
MOV28H,A;存储第五位商
MOV50H,B;存储十进制数个位
MOVA,24H
SWAPA
SWAPA
ADDA,26H
MOVB,#0AH
DIVAB
MOV25H,A;存储第二位商
MOVA,B
SWAPA
ADDA,27H
MOVB,#0AH
DIVAB
MOV26H,A;存储第三位商
MOVA,B
SWAPA
ADDA,28H
MOVB,#0AH
DIVAB
MOV27H,A;存储第四位商
MOV51H,B;存储十进制数十位
MOVA,24H
SWAPA
ADDA,25H
MOVB,#0AH
DIVAB
MOV24H,A;存储第一名商
MOVA,B
SWAPA
ADDA,26H
MOVB,#0AH
DIVAB
MOV25H,A;存储第二位商
MOVA,B
SWAPA
ADDA,27H
MOVB,#0AH
DIVAB
MOV26H,A;存储第三位商
MOV52H,B;存储十进制数百位
MOVA,24H
SWAPA
ADDA,25H
MOVB,#0AH
DIVAB
MOV24H,A;存储第一名商
MOVA,B
SWAPA
ADDA,26H
MOVB,#0AH
DIVAB
MOV25H,A;存储第二位商
MOV53H,B;存储十进制数千位
MOVA,24H
SWAPA
ADDA,25H
MOVB,#0AH
DIVAB
MOV54H,B;存储十进制数万位
MOV55H,A;存储十进制数十万位
DISPLAY:
MOVR0,#60H;对60H-65H清零
MOVR1,#06H
NEXT2:
MOV@R0,#00H
INCR0
DJNZR1,NEXT2
MOVR0,#50H;将数码管要显示的频率送到60H开头的内存
MOVR1,#5FH
MOVR2,#06H
MOVDPTR,#TAB
NEXT3:
MOVA,@R0
MOVCA,@A+DPTR
INCR0
INCR1
MOV@R1,A
DJNZR2,NEXT3
PINGBI:
MOV20H,#06H
MOVR1,#55H
PANDUAN:
MOVA,@R1
JNZSCANNUM
DECR1
DEC20H
AJMPPANDUAN
SCANNUM:
MOVR0,#60H;将60H开始的数送到数码管显示
MOVR1,#00H
MOVR2,20H
LIGHT:
MOVA,@R0
MOVP0,A
MOVA,R1
MOVP2,A
INCR0
INCR1
ACALLDELAY
DJNZR2,LIGHT
AJMPSCANNUM
DELAY:
MOVR5,M
WAIT:
MOVR6,N
WAITT:
DJNZR6,WAITT
DECR5
DJNZR5,WAIT
RET
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
附录2
设计电路原理图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 频率 计数器 课程设计