龚庆单片机课程设计.docx
- 文档编号:29450256
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:12
- 大小:139.18KB
龚庆单片机课程设计.docx
《龚庆单片机课程设计.docx》由会员分享,可在线阅读,更多相关《龚庆单片机课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
龚庆单片机课程设计
单片机课程设计
题目:
数字频率计
班级:
电气073班
姓名:
龚庆
学号:
200708952
指导教师:
苟军年
设计时间:
2010.1.3
评语:
成绩
讨论后独立思考完成
目录
§1中文摘要----------------------------------------
(1)
§2引言---------------------------------------------
(1)
§3设计方案及原理----------------------------------
(2)
§4硬件设计-----------------------------------------(3)
§5软件设计-----------------------------------------(3)
§6总结---------------------------------------------(6)
§7参考文献-----------------------------------------(6)
§8附录汇编源程序代码------------------------------(6)
§1中文摘要
摘要:
在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。
测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。
电子计数器测频有两种方式:
一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。
直接测频法适用于高频信号的频率测量,间接测频法适用于低频信号的频率测量。
本文阐述了基于通用集成电路设计了一个简单的数字频率计的过程。
关键词:
数字频率计,信号,周期
§2引言
随着电子信息产业的发展,信号作为其最基础的元素,其频率的测量在科技研究和实际应用中的作用日益重要,而且需要测频的范围也越来越宽。
随着单片机技术的发展和成熟,用单片机来作为一个电路系统的控制电路逐渐显示出其无与伦比的优越性。
因此本论文采用单片机来作为电路的控制系统,设计一个能测量高频率的数字频率计。
用单片机来做控制电路的数字频率计测量频率精度高,测量频率的范围得到很大的提高。
数字频率计的主要功能是测量周期信号的频率。
频率是单位时间(1S)内信号发生周期变化的次数。
如果我们能在给定的1S时间内对信号波形计数,并将计数结果显示出来,就能读取被测信号的频率。
数字频率计首先必须获得相对稳定与准确的时间,通过单片机的定时与计数功能可以实现,同时将被测信号转换成幅度与波形均能被数字电路识别的脉冲信号,然后通过计数器计算这一段时间间隔内的脉冲个数,将其换算后显示出来。
这就是数字频率计的基本原理。
§3设计方案及原理
1)设计方案
在单片机8031中,当定时器/计数器用作“定时器”时,在每个机器周期寄存器加1,因此,也可以把它看作是在累计机器周期。
由于一个机器周期包括12个振荡周期,所以,它的计数速率是振荡频率的1/12。
而用作“计数器”时,寄存器在其对应的外输入端T0或T1有一个“1→0”的跳变时加1。
此操作中,在每个机器周期的S5P2期间采样外部输入信号,当一
个周期的采样值为高电平,而下一个周期采样值变为低电平时,计数器加1。
新的计数值在紧接着检测到一个跳变后的下一个周期的S3P1期间在寄存器中出现。
由于识别一个从“1→0”的跳变要用两个机器周期(24个振荡周期),所以最快的计数速率是振荡频率的1/24。
外部输入信号的速率是不受限制的,但必须保证给出的电平在变化前至少被采样一次,即它应该至少保持一个完整的机器周期。
当开关与振荡器相接则为定时,与TX端相接则为计数。
后一个开关受控制信号的控制,它实际上决定了脉冲源是否加到计数器的输入端,即决定了加1计数器的开启与运行。
在实际线路中起另个开关作用的是特殊功能寄存器TMOD与TCON的相应位。
TMOD和TCON是专门用于定时器/计数器的控制寄存器,用户可用指令对其各位进行写入或更改操作,从而选择不同的工作状态(计数或定时)或启动时间,并可设置相应的控制条件,换言之,定时器/计数器是可编程的。
2)参考硬件原理图如图3.1所示。
被测信号从输入端输入经三极管放大电路放大,再经由555电路组成的施密特触发器整形,将三角波、正弦波、锯齿波等信号变换成方波信号,便于计数。
三极管采用高频小功率管。
数字频率计的总电路图如附图所示,输入被测信号经放大整形电路整形送入定时/计数器输入端口P3.5,单片机在1s时间内统计输入脉冲个数,将计数值的每一位分离出来并显示在LCD液晶显示屏上。
当输入信号改变时需要复位CPU,否则测出的频率是错误的
§4硬件设计
具体硬件电路如图3.1所示。
图3.1
§5软件设计
1)定时
本次设计选用定时器T0完成定时功能,选用方式1时最多也只能定时,显然不能满足定时1的要求,可以用下面这种方法解决:
采用T0定时10mS,连续循环定时100次即可完成1定时,用一个计数单元20H存放循环的次数,每一次循环20H单元自减1,当20H单元为零时则1定时到时。
其程序流程图如图5.1所示。
图5.1
2)T1计数程序
设计中T1采用计数功能,需要注意的一个问题是,输入的待测时钟信号的频率最高可以达到460800Hz,但计数器最多只能计数65536次,显然需要对计数单元进行扩展,扩展的思路是除了计数器T1的TH1和TL1用于计数外,再选用一个计数单元23H,每当计数器T1溢出回零时产生中断,中断程序执行23H单元自增1,这样,当一秒到时时采集的计数数据,23H单元存放的是数据的最高位,TH1存放的是数据的次高位,TL1存放的是数据的最低位。
当然,这里所说的“最高位”“次高位”以及“最低位”都是针对十六进制而言的。
T1计数程序的流程图如图5.2所示。
图5.2
§6总结
课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,会被经常使用到。
通过本次课程的设计,不但加深我对在课程上所学到的单片机理论知识的认识和理解,重新让自己认识到了这门学科的在应用方面的广阔前景,并且通过知识与应用于实践的结合更加丰富了自己的知识。
扩展了知识面,不但掌握了本专业的相关知识,而且对其他专业的知识也有所了解,而且较系统的掌握单片机应用系统的开发过程,因而自身的综合素质有了全面的提高。
经过这次一个较完整的产品设计和制作过程,对于认识到自己在知识方面存在的不足,明确今后的学习方向是非常有益的,为将来的的就业提前打了下坚实的基础。
在设计过程中,得到了我的指导老师的悉心指导与帮助,还有其他老师和同学的大力支持和协助,在此一并表示衷心的感谢。
§7参考文献
[1]蔡明文,冯先成编著,单片机课程设计,湖北:
华中科技大学出版社,2007
[2]李华,王思明,张金敏编著,单片机原理及应用,兰州:
兰州大学出版社,2001
[3]祁伟,杨亭编著,单片机C51程序设计教程与实验,北京:
北京航空航天大学出版社,2006
[4]吴蓉主编,数字电子技术,兰州:
兰州大学出版社,2005
[5]封志宏主编,模拟电子技术,兰州:
兰州大学出版社,2003
§8附录汇编源程序代码
ORG0000H
AJMPSTART
ORG000BH ;T0中断入口
AJMPT0INT
ORG001BH ;T1中断入口
AJMPT1INT
ORG0030H
START:
MOVIE,#8AH ;开放T0、T1中断
MOVTMOD,#51H;T0定时,T1计数
MOVTH0,#0DCH
MOVTL0,#00H ;定时10ms
MOV20H,#100 ;100*10ms=1s
MOVTH1,#00H
MOVTL1,#00H
MOV21H,#0
MOV22H,#0
MOV23H,#0;存放采集到的频率
SETBTR1
SETBTR0
WAIT:
AJMPWAIT;等待中断
T1INT:
INC23H;计数器溢出则23H单元自增1
RETI
T0INT:
DJNZ20H,NEXT1;定时10ms产生中断
CLRTR1
CLRTR0
MOV22H,TH1;1s时间到则采集数据
MOV21H,TL1
ACALLDISPLAY
SJMP$
END
;Hereisend
NEXT1:
MOVTH0,#0DCH;继续定时
MOVTL0,#00H
RETI
DISPLAY:
MOVA,23H
MOVB,#0FFH
MULAB
MOV24H,A
MOV25H,B
MOVA,23H
MOVB,#0FFH
MULAB
MOVB,26H
ADDA,25H
MOV25H,A
CLRA
ADDCA,26H
MOV26H,A;
文件名:
LCD1301.ASM;程序功能:
显示程序
RSbitP3.4
RWbitP3.6
EbitP3.7
LCDEQUP1;显示主程序
MAIN:
MOV26H,#12H
MOVA,26H
DAA
MOV26H,A
MOV25H,#33H
MOVA,25H
DAA
MOV25H,A
MOV24H,#47H
MOVA,24H
DAA
MOV24H,A
toString:
MOVR6,#3
MOVR1,#30H//HEADADDRESS
MOVR0,#26H
NEXT:
MOVA,@R0
ANLA,#0F0H
SWAPA
ADDA,#30H
MOV@R1,A
INCR1
MOVA,@R0
ANLA,#0FH
ADDA,#30H
MOV@R1,A
INCR1
DECR0
DJNZR6,NEXT
MOVLCD,#00000001B;清屏并光标复位
ACALLWR_COMM;调用写入命令子程序
ACALLINIT_LCD;调用初始化子程序
MOVLCD,#00H;写入显示起始地址
ACALLWR_COMM;调用写入命令子程序
MOVR7,#6
MOVR1,#30H
TO:
MOVA,@R1
MOVLCD,A
ACALLWR_DATA;调用写入数据子程序
INCR1
DJNZR7,TO
JMP$;维持当前输出状态
;LCD初始化设定
INIT_LCD:
MOVLCD,#00110000B;设置8位、2行、5x7点阵
ACALLWR_COMM;调用写入命令子程序
MOVLCD,#00001111B;显示器开,光标允许闪烁,
ACALLWR_COMM;调用写入命令子程序
MOVLCD,#00010100B;文字不动,光标自动右移
ACALLWR_COMM;调用写入命令子程序
RET;
WR_COMM:
;写入命令子程序
CLRRS;RS=0,选择指令寄存器
CLRRW;RW=0,选择写模式
CLRE;E=0,禁止读/写LCM
ACALLCHECK_BF;调用判LCM忙碌子程序
SETBE;E=1,允许读/写LCM
RET
CHECK_BF:
;判断是否忙碌子程序
MOVLCD,#0FFH;此时不接受外来指令
CLRRS;RS=0,选择指令寄存器
SETBRW;RW=1,选择读模式
CLRE;E=0,禁止读/写LCM
NOP;延时1微秒
SETBE;E=1,允许读/写LCM
JBLCD.7,CHECK_BF;忙碌循环等待
RET
WR_DATA:
;写入数据子程序
SETBRS;RS=1,选择数据寄存器
CLRRW;RW=0,选择写模式
CLRE;E=0,禁止读/写LCM
ACALLCHECK_BF;调用判断忙碌子程序
SETBE;E=1,允许读/写LCM
RET
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计