ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:258.24KB ,
资源ID:22998966      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22998966.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于c语言单片机数字频率计课程设计.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于c语言单片机数字频率计课程设计.docx

1、 基于基于 c 语言单片机数字频率计课程设计语言单片机数字频率计课程设计 课程设计报告课程设计报告 课程名称:单片机课程设计 报告题目:数字频率计 学生姓名:所在学院:专业班级:学生学号:指导教师:2013 年 12 月 25 日 课程设计任务书 报告题目 数字频率计 完成时间 2013/1 2/25 学生姓名 专业 班级 指导教师 职称 讲师 总体设计要求和技术要点 设计一个数子频率计,要求如下:1完成单脉冲测量,输入脉冲宽度范围是 100 s0.1s。2使用 AT89C51单片机的定时器/计数器的定时和计数功能,外部扩展 6 位 LED数码管,要求累计每秒进入单片机的外部脉冲个数,用 LE

2、D 数码管显 示出来。3.要求(1)被测频率 fx v 110Hz,米用测周法,显示频率 XXX.XXX;fx 110Hz,米用测频法,显示频率 XXXXXXo(2)利用键盘分段测量和自动分段测量。(3)完成单脉冲测量,输入脉冲宽度范围是 100 s0.1s。(4)显示脉冲宽度要求如下。Txv 1000 s,显示脉冲宽度 xxXo Tx 1000 s,显示脉冲宽度 xxxxo 工作内谷及时间进度安排 1.时间及任务 17 周-18周周一到周五,上午 8:00-11:40,下午 2:00-5:40。(1)17 周周一:学生选题,明确任务,指导教师对课题进行讲解,资料检索。(2)17 周周二:硬件

3、设计(3)17 周周三:硬件仿真(4)17 周周四:软件设计(5)17 周周五:软件设计(6)18 周周一:软件设计(7)18 周周二:综合调试(8)18 周周三:书写课程设计报告(9)18 周周四:书写课程设计报告(10)18 周周五:答辩评分 摘要摘要 以 ATME 单片机为核心,利用单片机的外部中断、定时器的计数模式和定时 器的功能对信号发生器产生的脉冲频率进行计数。且可以根据频率的不同,单片 机控制选择测周法或者测频法对产生的脉冲波形进行计数,以进行更加精确的频 率测量。而且可以通过按键来进行频率测量方法的选择。关键词:数字频率计;测频发;测周法;单片机、概述、方案论证 1总体方案 2

4、.测量方案选择 2 三、硬件设计 2 1.系统功能描述 2 2.硬件电路设计方框 3 3 单片机各部分电路 3 四、软件设计 4 1.测频发 4 2测周法 4 3主程序流程图设计 5 4.程序 设计 14 五、课程与心得 14 六、参考文献 15 一、一、概述概述 数字频率计是采用数字电路制成的实现对周期性变化信号的频率的测量。数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字,显示被测信号频率的数字测量仪器。它的基本功能 是测量正弦信号,方波信号以及其他各种单位时间内变化的物理量。在进 行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示

5、,测量迅速,精度高,显示直观,所以经常要用到数字频率。二、二、方案论证方案论证 1 总体方案总体方案 本次设计包含硬件设计与软件设计两部分,根据设计任务要求,采用 AT89S52 单片机,配置时钟电路,复位电路构成单片机最小系 统,配置前置放大 电路,人机对话通道中的键盘,数码管显示,从而构成设计要求的单片机应用测 频系统,其结构框图如下图 1-1 所示:前置放大整形 键盘电路 图 1 结构框图 2.测量方案选择 方案一:直接测频法。直接测频法是把被测频率信号经脉冲形成电路后加到 闸门的一个输入端,只有在闸门开通时间 T(以秒计)内,被计数的脉冲被送 到十进制计数器进行计数。设计数器的值为 N

6、,由频率定义式可以计算得到被测 信号频率为:f=N/T。方案二:高精度恒误差测频法。通过对传统测量方法的研究,结合高精度恒 误差测量原理,设计一种测量精度与被测频率无关的硬件测频电路。本方法立足 于快速的宽位数高精度浮点数字运算。方案三:倍频法。直接测频法在高频段有着很高的精度。可以把频率测量范 围分成多个频段,使用倍频技术,根据频段设置倍频系数将经整形的低频信号 进行倍频后再进行测量,高频段则进行直接测量。从编程难易及单片机资源利用情况和测量误差角度考虑,选择方案一,尽管 在测量低频段时的相对测量误差较大。但是可以通过增大 T 来提高测量精度。3.硬件设计硬件设计 1 系统功能描述 本次课程

7、设计主要完成功能有:(1)按 P3A4 键可选择测量频率。(2)按卩 3 八 5 键可以选择测量周期。(3)按 P3A6 键可以自动选择测频率与测周期。2.硬件电路设计框架 根据设计要求,数字频率计整个系统硬件框架图如下 2-1 待测信息 图 2 整机硬件电路框图 3.单片机各部分电路(1)P0 口经上拉电阻数据管显示电路(2)卩 3 八 4-卩 3 八 6 作为键盘设置端口 (3)P3A3 作为被测信号输入端口 (4)P3A4被测信号接收端 OpF 图 3 单片机最小系统 4.放大整形部分 待测信号经过第一级放大后,进入第二级放大限幅电路。LM318 是高数运放,工作电压土 5-20V,输入

8、带宽 15MHZ 足够处理高频 信号。放大倍数:n=RL2/RL1(RL2 用 50K,RL1 用 10K)。限幅原理:限幅电路的稳压管跨接在集成运放的输出端和反相输入端之间。假设 稳压管截止,则集成运放必然工作在开环状态,输出电压不是+UO M就是-UOM 这样,必将导致稳压管击穿而工作在稳压状态,DZ 构成负反馈通路,使反相输 入端为“虚地”,限流电阻上的电流 iR 等于稳压管的电流 iZ,输出电压 u O=U 乙 图 4 放大电路 四、软件设计四、软件设计 1测频发 mJ_L mi iiiniiii 图 5 测频原理 所谓“频率”,就是周期性信号在单位时间(1S)内 变化的次数。若在一定

9、时间间隔 T 内测得这个周期性信号 的重复变化次数 N,则其频率可表示为 f=N/T 右图其中脉 冲形成电路的作用是将被测信号变成脉冲信号,其重复频 率等于被测频率 fx o 时间基准信号发生器 提供标准的时间脉冲信号,若其周期为 1s,则门控电路的输出信号持续时间亦准确地等于 1s o 闸门电路由标准秒信号进行 控制,当秒信号来到时,闸门开通,被测脉冲信号通过闸门送到计数译码显示电 路。秒信号结束时闸门关闭,计数器停止计数。2测周法 主要是利用单片机的定时器计时,测量 2 个时间参数 t1和 t2,即如下所示:v11*竺 t N 高电干日寸可 V 氐 电平 AT可 图 6 测周法 计算信号的

10、一个波形的周期 t=t1+t2 则可以求出频率 f=1/t 3.主程序流程图设计 图 7 流程图 4.程序设计#include#include sbit smgdl=P2A6;sbit smgwl=P2A7;bit LED=P3A3;sbit key1=P3A4;/定义按键 1 sbit key2=P3A5;/定义按键 2 sbit key3=P3A6;/定义按键 3 sbit key4=P3A7;/定义按键 4 unsigned char value,smg;/保存按键接口状态 unsigned char lkey,key_time;unsigned char mode=0;unsigned

11、 int time=0;unsigned char num=0;unsigned char key=0;unsigned char time_key=0;unsigned int flag_f=0;unsigned int f_temp1=0;unsigned int f_temp2=0;unsigned int t_temp1=0;unsigned int t_temp2=0;unsigned char flag_int_0=0;char unsigned char tablewe=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf;unsigned tabledu=0

12、x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;unsigned char su=0,0,0,0,0,0,0,0;/*DIS_LED*/void delay(unsigned int a)/延时函数 unsigned int b;unsigned char c;for(b=a;a0;a-)for(c=100;c0;c-);/void display_smg(unsigned char smg,unsigned char value)显示函数 smgwl=1

13、;P0=tablewesmg;smgwl=0;smgdl=1;P0=tableduvalue;smgdl=0;delay(6);/延长显示时间 避开视觉暂留 看数码管显示过程 unsigned char ReadKey(void)if(key1=0)key_time+;if(key_time=20)lkey=1;mode=1;if(key_time 20)key_time=100;else if(key2=0)key_time+;if(key_time=20)lkey=2;mode=2;if(key_time 20)key_time=100;else if(key3=0)key_time+;i

14、f(key_time=20)lkey=3;mode=3;if(key_time 20)key_time else key_time=0;return lkey;void main()unsigned char k;TMOD=0 x01;/TH0=(65536-2000)/256;TL0=(65536-2000)%256;/EA=1;ET0=1;TR0=1;/PT0=1;100;定时器初始化/EX0=1;IT0=1;EA=1;/外部中断初始化 while(1)display_smg(0,su2);/数码管显示 display_smg(1,su3);/数码管显示 display_smg(2,su4

15、);/数码管显示 display_smg(3,su5);/数码管显示 display_smg(4,su6);/数码管显示 display_smg(5,su7);/数码管显示 k=ReadKey();LED=LED;/脉冲发生 void time_1()interrupt 1 /定 时 器 TH0=(65536-1000)/256;初始化 TL0=(65536-1000)%256;time+;if(time=500)time=0;num+;if(num=10)num=0;if(mode=1)/测频法模式 EX0=1;/外部中断打开 IT0=1;flag_f+;钟计时 if(flag_f=600)

16、/1S flag_f=0;mode=0;EX0=0;su2=f_temp2;su3=f_temp1/10000;su4=f_temp1/1000%10;su5=f_temp1/100%10;su6=f_temp1/10%10;su7=f_temp1%10;f_temp1=f_temp2=0;if(mode=2)/测周法模式 EX0=1;/外部中断打开 IT0=0;PX0=1;if(flag_int_0=1)EX0=0;mode=0;flag_int_0=0;TR1=0;t_temp1=TL1;t_temp2=TH1;t_temp2=t_temp2*256;t_temp1=t_temp1+t_t

17、emp2;/su2=t_temp2/100;su3=t_temp1/10000;su4=t_temp1/1000%10;su5=t_temp1/100%10;su6=t_temp1/10%10;su7=t_temp1%10;TH1=0;TL1=0;自动测频测周 if(mode=3)/EX0=1;/外部中断打开 IT0=1;flag_f+;if(flag_f=600)/1S 钟计时 flag_f=0;EX0=0;if(f_temp1 110)mode=2;外部中断=0;if(f_temp1=50000)f_temp1=50000;f_temp2+;if(f_temp2=5000)f_temp1=

18、f_temp2 EX0=1;if(mode=2)TR1=1;flag_int_0=1;五、结论与心得五、结论与心得 这次为期两周的课程设计让我受益匪浅。以前只是对单片机更多的只是一些 感性的,理论上的认识,自己真正动手的时候,才真正理解到其中的精华所在。频率计的设计让我更好的了解如何应用单片机的定时器计数器模块,其中最 重要的是分析问题解决问题的能力,在我看来,无论是在节省硬件资源,还是提 高数据的准确度来看,都需要下一些功夫把它做到最好。感谢 廖亦凡博士 在此寒冷的天气每天指导我们的单片机的设计,是您的经验 帮助我解决很多技术上的难题。六、参考文献六、参考文献【1】杨恢先 黄辉先 单片机原理及应用人民邮电出版社【2】大能 南光群 刘金华 单片机课程设计指导书 北京理工大学 【3】谭浩强 C 语言程序设计第二版 清华大学 教 师 评 语 及 设 计 成 绩 教师评语:课程设计成绩:指导教师:(签名)日期:年月日

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1