单片机课程设计频率发生器doc.docx
- 文档编号:10821307
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:24
- 大小:179.96KB
单片机课程设计频率发生器doc.docx
《单片机课程设计频率发生器doc.docx》由会员分享,可在线阅读,更多相关《单片机课程设计频率发生器doc.docx(24页珍藏版)》请在冰豆网上搜索。
单片机课程设计频率发生器doc
微型计算机技术专业方向设计
任务书
题目名称:
基于MCS-51单片机的频率计的设计
专业自动化班级
姓名学号
学校:
指导教师:
课程设计任务书
课程名称:
微型计算机技术
设计题目:
基于MCS-51单片机的频率计的设计
系统硬件要求:
1、最小系统设计:
AT89C51单片机为本设计的控制器,包括外扩ROM,RAM各32KB(其大小由设计者自己设计),系统时钟电路、复位电路等构成的最小系统;
2、频率计使用定时器的计数方式,记录频率的个数并显示;显示部分为LED动态显示设计;并有键盘设计;
3、接口电路的设计:
设计者扩展一个并行接口〔8155或8255〕,键盘设计由设计者根据需要设计键盘的数量,显示采用LED显示,显示电路也根据显示的内容设计;
4、有开机显示状态(如显示88....);
软件设计:
1)主程序设计(包括初始化芯片,定时器,中断以及SP指针等);
2)各功能子程序设计,键盘子程序、\显示子程序设计,定时,中断程序等;
其他要求:
1、每位同学独立完成本设计。
2、依据题目要求,提出系统设计方案。
3、设计系统电路原理图。
1、调试系统硬件电路、功能程序。
2、编制课程设计报告书并装订成册,报告书内容(按顺序)
(1)报告书封面
(2)课程设计任务书
(3)系统设计方案的提出、分析
(4)系统中典型电路的分析
(5)系统软件结构框图
(6)系统电路原理图
(7)源程序
(8)课设字数不少于2000字
成绩
评语
第一章引言.............................................................................................-4-
第二章方案论证.....................................................................................-5-
2.1采波选择方案..........................................................................-5-
2.2扩展I/O口芯片选择...............................................................-5-
2.3理论分析与计算......................................................................-5-
第三章系统硬件设计.............................................................................-5-
3.1频率发生器的设计原理..........................................................-5-
3.2整体结构设计..........................................................................-5-
3.3频率发生器的主机电路设计..................................................-6-
3.4系统整体原理图....................................................................-11-
第四章系统软件设计...........................................................................-11-
4.1测频软件实现原理................................................................-11-
4.2程序清单.................................................................................-11-
总结.........................................................................................................-12-
参考文献.................................................................................................-12-
附录.........................................................................................................-13-
附录一:
电路原理图...................................................................-13-
附录二:
软件流程图...................................................................-13-
附录三:
程序设计.......................................................................-14-
第1章引言
随着电子信息产业的发展,信号作为其最基础的元素,其频率的测量在科技研究和实际应用中的作用日益重要,而且需要测频的范围也越来越宽。
传统的频率计通常采用组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量范围低,精度低。
因此我们需要寻找一种新的测频的方法。
随着单片机技术的发展和成熟,用单片机来做为一个电路系统的控制电路逐渐显示出其无与伦比的优越性。
因此本论文采用单片机来做为电路的控制系统,设计一个能测量高频率的数字频率计。
用单片机来做控制电路的数字频率计测量频率精度高,测量频率的范围得到很大的提高。
频率仪器是数字电路中一个典型应用,实际的硬件设计用到的器件较多,联机比较复杂,而且会产生比较大的延迟。
随着复杂可编程逻辑器件的广泛应用,将使整个系统大大简化。
提高整体性能,它是直接用十进制数字来显示被测信号频率的一种测量装置。
它不仅可以测量正弦波,方波,三角波,尖脉冲信号和其他具有周期的信号的频率,而且还可以测量他们的周期。
经过改装,可以测量脉冲宽度,做成数字式脉宽测量仪:
可以测量电容做成数字电容测量仪;在电路中增加传感器,还
可以做成数字脉搏仪,计价器等。
因此数字频率仪在测量物理量方面的广泛应用。
频率计的设计原理实际上是测量单位时间内的周期数。
这种方法免去了实测以前的预测,同时节省了划分频率的时间,克服了原来高频率采用测频模式而低频段采用测周期模式的测量方法存在换挡速度慢的缺点。
通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。
闸门时间也可以大于或小于1秒。
闸门时间越长,得到的频率值就越准确,但闸门时间越长则每测一次频率的时间隔就越长。
闸门时间越短,测得频率值刷新据越快,但测得的频率精度就受影响。
本论文的任务是设计一个基于单片机技术的数字频率计。
主要介绍了整形电路、控制电路和显示电路的构成原理,以及其测频的基本方法。
进行了相应
的软硬件设计。
本论文的任务是设计一个基于单片机技术的数字频率计。
主要介绍了整形电路、控制电路和显示电路的构成原理,以及其测频的基本方法。
进行了相应的硬软件设计。
第二章方案论证
2.1采波选择方案
方案一:
用定时器定时1s,用计数器记录1s内经过的波的周期。
方案二:
用计数器记录10次波峰,用定时器定时中间经历的时间。
第一种方案波的周期接近一秒时,无法准确计数,进而无法得到波的频率,第二种方法免除了这个弊端因此选择方案二。
2.2外扩I/O口芯片选择
方案一:
8255A。
操作方便,外扩I/O接口简单、实用。
但所需控制端口太多。
方案二:
8155。
操作方便,外扩I/O接口简单、实用,所需控制端口少。
故选此方案。
2.3理论分析与计算
定时器部分:
AT89C51本身带16位定时计数器,可以很方便的采用它来完成定时与计数功能,本设计需要一个可以自动装初值的计数器和一个可以定时尽量长的定时器。
因此选用计数器T0和定时器T1。
T0选用工作方式2可以自动重装初值,T1选用工作方式1可以定时尽量长的时间,保证计时时间的充足。
第三章系统硬件设计
3.1频率发生器的设计原理
频率发生器系统由采样电路、控制芯片、显示组成。
该系统采用AT89C51为主控芯片,用以控制采样、计算和控制显示。
以8155作为扩展电路,用来完成开机显示和采样计算完成后的频率显示。
在系统中运用定时中断和计数中断,来完成一定时间波的周期的采集,随后通过运算,计算出波的频率,进而经过处理后用数码管显示。
频率计数开始用按键来控制,开始后完成一次计数并作处理显示检测波的频率。
3.2整体结构设计
3.3频率发生器的主机电路设计
ATC89C51[可以完成ISP在线编程功能,ATC89C51内部有EEPROM,可以在程序中修改,断电不丢失。
还增加了两级中断优先级,STC推出的系列51单片机芯片是全面兼容其它51单片机的,而且51单片机是主流大军。
1.89C51芯片介绍
许多由关硬件设计中都使用到单片机89C51,其功能[7]比以往的单片机强大的多。
89C51引脚图如图3-1所示。
图3-189C51引脚图
芯片引脚功能:
主电源引脚Vcc和Vss
•Vcc(40脚):
接+5V电压;
•Vss(20脚):
接地。
89C51晶振接法如图3-2。
图3-289C51晶振接法图
选用6MHz频率的晶体,允许输入的脉冲频率为250kHz。
电容的大小范围为20pF~40pF,本设计选用30pF电容。
2.单片机复位状态
单片机的复位都是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟震荡脉冲(2个机器周期)以上的高电平,单片机便实现初始化状态复位。
为了保证应用系统可靠地复位,在设计复位电路时,通常使RST引脚保持10ms以上的高电平。
只要保持高电平,则MCS-51单片机就循环复位;当RST从高电平变为低电平以后,MCS-51单片机从0000H地址开始执行程序。
在复位有效期间,ALE、引脚输出高电平。
89C51上电复位电路图。
图3-389C51上电复位电路图
单片机复位状态表。
表3-4单片机复位状态表
专用寄存器
复位状态
专用寄存器
复位状态
PC
0000H
TMOD
00H
ACC
00H
TCON
00H
B
00H
TH0
00H
PSW
00H
TL0
00H
SP
07H
TH1
00H
DPTR
0000H
TL1
00H
P0~P3
FFH
SCON
00H
IP
XXX00000B
SBUF
XXXXXXXXB
IE
0XX00000B
PCON
0XXXXXXXB
注:
XXX不定
复位后,P0口~P3口输出高电平,且使这些准双向口皆处于输入状态,并且将07H写入栈指针SP(即设定堆栈底为07H),同时,将程序计数器PC和其余的特殊功能寄存器清为0(不定的位除外)。
但复位不影响单片机内部的RAM状态
3.显示器
在单片机系统中,常用的显示器有:
发光二极管显示器,简称LED;液晶显示器,简称LCD;荧光管显示器。
而发光二极管显示又分为固定段显示和可以拼装的大型字段显示,此外还有共阳极和共阴极之分等。
LED段显示器结构与原理
LED显示器是由发光二极管显示字段组成的显示块,有7段和“米”字段之分。
这种显示块有共阳极和共阴极两种。
此外,显示块中还有一个圆点型发光二极管(在图中以dP表示)用于显示小数点。
通过发光二极管亮、暗的不同组,可以显示多中数字、字母以及其他符号。
LED显示块中的发光二极管共有两种连接方法:
(1)共阳极接法
发光二极管的阳极连在一起构成公共阳极。
使用时公共阳极接+5V,这样,阴极端输入低电平的段的发光二极管被点亮,相应的段被显示;而输入高电平的段则不点亮。
(2)共阴极接法
发光二极管的阴极连在一起构成公共阴极。
使用时公共阴极接地,这样,阳极端输入高电平的段的发光二极管被点亮,相应的段被显示;而输入低电平的段则不点亮。
数码管引脚如图3-5。
图3-5数码管引脚图
共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的。
当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。
8个笔划段dP、g、f、e、d、c、b、a对应于一个字节(8位)的D7、D6、D5、D4、D3、D2、D1、D0,于是用8位二进制码就可以表示欲显示字符的字形代码。
例如,对于共阴LED显示器,当公共阴极接地(为零电平),而阳极dP、g、f、e、d、c、b、a各段为0111011时,显示器显示"P"字符,即对于共阴极LED显示器,“P”字符的字形码是73H。
如果是共阳LED显示器,公共阳极接高电平,显示“P”字符的字形代码应为10001100(8CH)。
用LED显示器显示十进制转换成十六进制数的字形代码在表3-6中列出。
表3-6LED十六进制的数字代码表
字形
共阳极代码
共阴极代码
字形
共阳极代码
共阴极代码
0
C0H
3FH
9
90H
6FH
1
F9H
06H
A
88H
77H
2
A4H
5BH
B
83H
7CH
3
BOH
4FH
C
C6H
39H
4
99H
66H
D
A1H
5EH
5
92H
6DH
E
86H
79H
6
82H
7DH
F
8EH
71H
7
F8H
07H
灭
FFH
00H
8
80H
7FH
4.定时器部分:
AT89C51本身带16位定时计数器,可以很方便的采用它来完成定时与计数功能,本设计需要一个可以自动装初值的计数器和一个可以定时尽量长的定时器。
因此选用计数器T0和定时器T1。
T0选用工作方式2可以自动重装初值,T1选用工作方式1可以定时尽量长的时间,保证计时时间的充足。
3.4系统整体原理图
第四章系统软件设计
4.1测频软件实现原理
测频软件的实现是基于电路系统来进行设计的。
本次设计采用的是脉冲定时测频法,所以在软件实现上基本遵照系统的设计原理,进行测频。
本次软件设计语言采用汇编语言,在电脑上编译通过后即可下载到电路上的实际电路中,即可实现频率的测量。
4.2程序清单
单片机主要完成的工作是:
开机显示,设定定时器计数器初值,波频率采集并计算,控制数码管显示处理后的数据。
程序见附件。
总结
通过此次设计,我们小组的成员都受到了极大的锻炼,对团队合作的重要性有了深刻认识,虽然我们面对的是一个相对简单的课题,但由于初次进行基于单片机的课题设计,所以在设计过程中,我们遇到了一些困难,也经历一次又一次的困惑,最终我们尝试着美化我们的设计,以实现更多的功能和提高可操纵性。
经过一周不断研究与尝试,最终成功的完成了对频率计的设计。
这不仅增强了我们对单片机课程设计与实践的兴趣,更掌握了程序设计各个模块的设计方法与连接。
具备了这些基本知识,为今后的自主学习奠定了良好的基础。
本设计综合性较高,设计的时候一开始找不到头绪,不知道应该从哪下手,
直到小组讨论后,才弄清楚频率计设计中应该包括哪些部分,然后一起讨论写出了基本程序。
然而遇到的挫折这不仅仅在于编程,再后来的调试过程中先后出现了各种问题,比如程序跳转出现问题,按键没有反应,调试没有反应等等。
经过一次次的失败,一次次的编译执行,最终能够正确的测量和显示频率。
本次设计是以AT89C51为控制核心的频率计。
系统由采样电路、控制芯片、显示组成。
通过单片机控制定时与采样,采集外部波的周期进而计算出频率。
通过单片机程控使最终处理结果显示在数码管上。
此频率计可以完成中频波的频率采集显示。
但是本设计还存在很多不足,对于高频和低频信号采集不准确,采集范围不太广。
希望在以后的学习中能逐步改善。
课程设计过程是一个不断追求成功与完美的过程,然而这个过程确实给我们教育最深刻,我们小组一起讨论,在加深了我们友谊的同时教会了我们对待科学工作要有谨慎的态度,也为我们将来走向工作岗位奠定了基础。
参考文献
【1】胡汉才单片机原理及其接口技术(第三版)清华大学出版社
【2】黄庆华,张永格.单片机开发技术和实训【M】.
【3】电子技术基础模拟部分(第四版)【M】.高等教育出版社.1996(2004重印).
【4】全国大学生电子设计竞赛训练教程【M】.电子工业出版社.2005-1.
【5】数字电子技术基础【M】高等教育出版社.1998-12.
【6】仪器仪表学报【J】第33卷第六期.2012
附录
附录一:
电路原理图
附录二:
软件流程图
主程序流程图
子程序流程图
附录三:
程序设计
OVTEQU30H;计数器T0溢出次数
BCHU_1EQU40H;多字节除法寄存器
BCHU_2EQU41H
BCHU_3EQU42H
CHU_1EQU44H
CHU_2EQU45H
CHU_3EQU46H
MEQU47H
NEQU48H
ORG0000H
LJMPMAIN
ORG0000BH
LJMPBRT0
ORG001BH
LJMPBRT1
ORG0050H
MAIN:
MOVA,#03H;8155工作方式;
MOVDPTR,#8000H
MOVX@DPTR,A
MOVA,#7FH
MOVDPTR,#8001H
MOVX@DPTR,A
MOVA,#0C0H
MOVDPTR,#8002H
MOV@DPTR,A
MOVTMOD,#16H;计数器0工作于方式2,定时器1工作于
方式1
SETBEA;开总中断开关IE=10H
CLRET0;关闭定时计数器开关
CLRET1;关闭定时计数器开关
CLRTF0;清定时器0中断申请标志位
CLRTF1;清定时器1中断申请标志位
LOOP:
MOVP1,#0FFH
MOVA,P1
JBACC.0,$
LCALLLOOP1;测试频率
LCALLLOOP2;数码管显示
LCALLDELAY
AJMPLOOP
BRT0:
INCOVT
RETI
BRT1:
INCR2
RETI
LOOP1:
MOVOVT,#00H计数器溢出次数为0
MOVR2,#00H;清零计数
MOVTH0,#0F6H
MOVTL0,#0FFH;测10个脉冲
MOVTH1,#00H
MOVTL1,#00H;定时器
CLRTF0
CLRET0
SETBTR0;开计数器T0开关
JNBTF0,$;判断脉冲是否到,到了开始计时
CLRTF0
SETBTR1;开定时器1
CLRTF1;清中断标志位
SETBET1;开定时器1中断
JNBTF0,$;10个周期脉冲到否,到了关闭定时器
CLRTR0
CLRTR1;关闭定时计数器
CLRTF0
CLRTF1;清中断标志位
CLRET0
CLRET1;关闭定时计数器中断
MOVBCHU_1,#80H
MOVBCHU_2,#96H
MOVBCHU_3,#98H
MOVBCHU_4,#00H;公式F=10000000/T(1MS--50US)
MOVA,TL1
MOVCHU_1,A
MOVA,TH1
MOVCHU_2,A
MOVA,R2
MOVCHU_3,A
MOVR0,#BCHU_1
MOVR1,#CHU_1
MOVM,#4
MOVN,#3
LCALLLOOP3
MOVR7,BCHU_1
MOVR6,BCHU_2
MOVR5,BCHU_3
RET
除法程序
LOOP3:
MOVA,M
CLRC
SUBBA,N;M-N字节差存到B
MOVB,A
ADDA,R0;取被除数第N字节
MOVR4,A;保存到R4
XCHA,R0;R0指向被除数第N字节,并把R0中的值放到A
MOVR3,A;把R0中的值保存至R3
MOVA,R1;除数头字节地址送至A
MOVR5,A;除数头字节地址存至R5
MOVR2,#00H;
CHU1:
MOVR7,N
CLRC
CHU2:
MOVA,@R0
SUBBA,@R1
MOV@R0,A
INCR0
INCR1
DJNZR7,CHU2
MOVA,R4
MOVR0,A
MOVA,R5
MOVR1,A
JCNDVMN3;有错位被除数比除数小
INCR2
SJMPCHU1
CHU3:
MOVR7,N
CLRC
CHU4:
MOVA,@R0;恢复余数
ADDCA,@R1
MOV@R0,A
INCR0
INCR1
DJNZR7,CHU4
MOVA,#08H
MULAB
MOVB,A
CHU5:
MOVA,R3
MOVR0,A
MOVR7,M
CLRC
CHU6:
MOVA,@R0
RLCA
MOV@R0,A
INCR0
DJNZR7,CHU6
MOVF0,C
MOVA,R4
MOVR0,A
MOVA,R5
MOVR1,A
MOVR7,N
CLRC
RET
显示程序
LOOP2:
MOVA,R5
PUSHA
ANLA,#0FH
ADDA,#57地址调整
MOVCA,@A+PC
MOVDPTR,#8001H
MOVX@DPTR,A
MOVDPTR,#8002H
MOVA,#0FEH
MOVX@DPTR,A
POPA
SWAPA
ANLA,#0FH
ADDA,#45
MOVCA,@A+PC
MOVDPTR,#8001H
MOVX@DPTR,A
MOVDPTR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 频率 发生器 doc