学位论文中北大学单片机数字频率计课程设计Word文档下载推荐.docx
- 文档编号:12939849
- 上传时间:2022-09-30
- 格式:DOCX
- 页数:13
- 大小:224.32KB
学位论文中北大学单片机数字频率计课程设计Word文档下载推荐.docx
《学位论文中北大学单片机数字频率计课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《学位论文中北大学单片机数字频率计课程设计Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
2.硬件系统设计
2.1系统硬件的构成
本频率计的数据采集系统主要元器件是单片机AT89C51,由它完成对待测信号频率的计数和结果显示等功能,外部还要有分频器、显示器等器件。
可分为以下五个模块:
晶振电路、复位电路、译码转换、单片机系统、数码显示模块。
各模块关系图如图1所示。
图1系统组成框图
2.2系统硬件各模块简介
2.2.1晶振电路和复位电路
XTAL1与XTAL2管脚接两个22pF电容和12MHz晶振构成时钟电路。
RST管脚接10kΩ电阻,20μF电容上电复位电路。
2.2.2AT89C51单片机
本设计采用的是AT89C51单片机,它提供下列标准特征:
4K字节的程序存储器,128字节的RAM,32条I/O线,2个16位定时器/计数器,一个5中断源两个优先级的中断结构,一个双工的串行口,片上震荡器和时钟电路。
设计中主要用到P2端口与74HC4511译码器连接输出待显示的个位与十位的数据,P1端口与74HC4511译码器连接输出频率计的百位和千位,P3端口连接信号输入电路。
P3是一带有内部上拉电阻的8位双向的I/O端口,它的输出缓冲能驱动4个TTL逻辑门电路。
当向P3口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。
作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。
2.2.3译码显示
74HC4511译码器是4线七段译码驱动器,在设计中用它来译码并且驱动数码显示管来显示数值,共需要4个74HC4511和4个七段显示数码管。
89C51单片机P2端口与74HC4511译码器连接输出待显示的个位与十位的值,P1端口与74HC4511译码器连接输出频率计的百位和千位的值。
2.2.4系统硬件电路图
图2系统硬件电路图
3设计过程
3.1程序流程图
图3程序流程图
3.2初始化程序部分
采用12MHz的晶体振荡器的情况下,一秒的定时已超过了定时器可提供的最大定时值。
为了实现一秒的定时,采用定时和计数相结合的方法实现。
选用定时/计数器TO作定时器,工作于方式1产生50ms的定时,再用软件计数方式对它计数20次,就可得到一秒的定时。
将定时器/计数器的方式寄存器TMOD,用软件赋初值51H,即01010001B。
这时定时器/计数器1采用工作方式1,方式选择位C/T设为1,即设T1为16位计数器。
定时器/计数器O采用工作方式1,C/T设为0,即设TO为16位定时器。
所以T0的初始值为3CB0H。
以下为程序代码。
ORG0000H
AJMPSTART
ORG0600H
START:
MOVTMOD,#51H
MOVTH0,#3CH
MOVTL0,#0B0H
MOVIE,#82H
MOVTH1,#00H
MOVTL1,#00H
SETBTR0
SETBTR1
3.3频率计算
由于定时50ms,采用4位显示,最大显示频率是9999,因此50ms里最大计数为500,否则显示不准确,500的十六进制为01F4H,当计数器的高八位大于01时,计数值大于500超过最大显示,即直接显示9999,当高八位等于01时,在判断第四位TL1与F4H的大小,大于或等于也直接显示频率9999,小于时在进行十进制转换,当高八位小于01时,在跳转到十六进制转换到十进制的程序中,再显示出来。
最后将十六进制数转换为十进制数。
以下为程序代码:
LOOP:
SJMP$;
等待中断
ORG000BH;
入口地址
AJMPBTR0
ORG0080H
BTR0:
CLRTR1;
停计数
CLRTR0
MOVA,TH1
CJNEA,#01H,NEXT1;
判断TH1的计数是否大于01H,(500十六进制为01F4H)
SJMPNEXT2
NEXT1:
JCBEGIN
JNCNEXT4
NEXT2:
MOVA,TL1
CJNEA,#0F4H,NEXT3;
等于则比较TL1的计数值和#0F4的大小
SJMPNEXT4
NEXT3:
NEXT4:
MOVA,#99H;
大于01F4H则输出9999
MOVP1,A
MOVP2,A
4.仿真调试
4.1仿真结果
本次仿真是在Proteus平台上进行,仿真电路如下:
图4方波频率为10kHz显示结果
图5方波频率为800Hz显示结果
4.2仿真结果分析
本实验采用两个分别为10kHz,800Hz的信号源来验证所设计的频率计的准确性,分别模拟量程范围0~9999Hz外和量程范围0~9999Hz内的显示结果。
当开关打在10kHz时,数码管显示9999,与预期符合,当开关打在800Hz的信号源上时,显示800也符合。
总结
5.1设计小结
该频率计设计,实现了测被测信号的频率,周期和脉宽的功能。
在调测的过程中发现测量频率时,档位在1Hz~9999Hz,最终得到的结果的符合预期要求,测量结果在误差允许范围之内。
5.2心得体会
在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,会被经常使用到。
通过这次课程设计,不但加深我对在课程上所学到的单片机理论知识的认识和理解,重新让自己认识到了这门学科的在应用方面的广阔前景,并且通过知识与应用于实践的结合更加丰富了自己的知识。
扩展了知识面,不但掌握了本专业的相关知识,而且对其他专业的知识也有所了解,而且较系统的掌握单片机应用系统的开发过程,因而自身的综合素质有了全面的提高。
在本次课程设计中,发现了自己的不足之处,对以前所学过的知识理解得不够深刻,比如在硬件仿真时,由于对数电、模电的知识掌握得不够牢固,导致仿真结果一直不能实现,还有在进行编程的时候对单片机的寄存器、接口电路等不够了解,也遇到了很多问题,但最终通过查资料、同学的帮助解决了这些问题。
同时也熟练掌握了proteus、keil这两个软件,提高了自己的动手能力。
参考文献
[1]胡汉才.单片机原理及其接口技术.清华大学出版社,1996.
[2]胡汉才.单片机原理及系统设计.清华大学出版社,2002.
[3]李朝青.单片机原理及接口技术.北京航空航天大学出版社,1994.
[4]徐惠民,安德宁.单片微型计算机原理、接口、应用.北京邮电大学出版社,1990.
[5]张友德,赵志英,涂时亮.单片微型机原理、应用与实验.复旦大学出版社,1992.
[6]proteus帮助文档.
[7]keil帮助文档.
[8]高海生,杨文焕.单片机应用技术大全.西南交通大学出版社,1996.
[9]E.A.Nichols,J.C.Nichols,K.R.Musson.微型计算机数据通信,1989.
[10]徐爱钧.智能化测量控制仪表原理与设计.北京航空航天大学出版社,1999.
附录程序清单
MOVTMOD,#51H;
送方式字
MOVTH0,#3CH;
T0赋初值
MOVTL0,#0B0H
MOVIE,#82H;
开T0中断
MOVTH1,#00H;
T1清零
MOVTL1,#00H
SETBTR0;
开始计数
SETBTR1
AJMPBTR0
LJMPLAST;
长转移
BEGIN:
MOVA,TL1;
小于01F4H则转换为十进制,以下程序为十进制转换
MOVB,#14H
MULAB
MOVR2,B
MOVB,#10H
DIVAB
MOVR0,A
MOVR1,B
ADDA,R2
MOVR7,A
MOVB,#06H
MOVB,#0AH
MOV40H,A
MOV41H,B
MOVA,R0
MOVR3,A
MOVR4,B
MOVA,R2
MOVR5,A
MOVR6,B
MOVA,R1
ADDA,R4
ADDA,R6
ADDA,41H
ADDA,R0
ADDA,R3
ADDA,R5
MOVB,#05H
MOVA,R7
MOVB,#09H
MOV42H,A
MOVA,B
ADDA,40H
MOVR0,B
MOVB,#02H
ADDA,42H
MOVR4,A
MOVR5,B
MOV
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学位 论文 北大 单片机 数字频率计 课程设计