版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、外部中断数字频率测量设计报告目录-第一章 技术指标-1.1整体功能要求1.2系统结构要求1.3电气指标1.4设计条件第二章 系统设计-2.1各模块算法设计及原理框图第三章 电路设计3.1电路设计第四章 51单片机程序编程4.1 主程序4.2 外部中断4.3 延迟程序4.4 定时器0初始化4.5 波特率第五章 总结第一章 技术指标1. 整体功能要求频率计主要用于测量正弦波、矩形波、三角波和尖脉冲等周期信号的频率值。其扩展功能可以测量信号的周期和脉冲宽度。2. 系统结构要求数字频率计的整体结构要求如图所示。图中被测信号为外部信号,送入测量电路进行处理、测量用于选择测试的项目-频率、周期或脉宽。稳压
2、电源数字信号频率测量电路数码管显示数字信号产生器3.电气指标3.1被测信号波形:正弦波、三角波和矩形波。10Hz9.999kHz3.2 测量周期范围:1ms1s。3.3 测量脉宽范围:1ms1s。4.设计条件 1.电源:5v 2.显示器 3.51单片机一个 4.电阻若干 5.电线若干第二章 系统设计2.1各模块算法设计及原理框图1. 测试频率设计:(1)测量频率设计算法:频率是周期信号每秒钟内所含的周期数值。在测试电路中设置一个外部中段,当被经过放大的被测电压大于这个电压时输出高电平,当小于这个电压时输出低电平。计算出单片机输出的电压频率,从而得到被测电压的频率。(2)测量频率设计原理框图:被
3、测信号AT89C51单片机分频电路信号放大整形fx 数码管显示驱动电路频率测量:被测信号经整形后变为脉冲信号(矩形波或者方波),经整形分频后,产生一个标准的时基信号,作为外部中断的基准时间。被测信号通过51单片机,作为计数器的时钟信号,计数器即开始记录时钟的个数,这样就达到了测量频率的目的。3. 计数显示电路:在电路导通的情况下,开始计数被测信号中有多少个下降沿。在计数的时候显示器不显示数字。当计数完成后,此时要使显示器数完成后的数字第三章 电路设计3.1电路设计第四章 51单片机编程4.1 主程序/*- 程序功能: 01 基本功能:外部中断0、1,定时器0、1,串口中断 02 03-*/#i
4、nclude #include /header#include #include #include /-void init_device() /设备初始化delay_1ms(100);init_com(); /初始化串口init_timer0(); /定时器0初始化init_ex0(); /外部中断初始化/*- 程序 名: void main() 程序功能: 主程序-*/void main()int i;init_device(); /设备初始化while(1)delay_1ms(500);i=0;str1i=0+num%10000000/1000000;i+;str1i=0+num%1000
5、000/100000;i+;str1i=0+num%100000/10000;i+;str1i=0+num%10000/1000;i+;str1i=0+num%1000/100;i+;str1i=0+num%100/10;i+;str1i=0+num%10; Uart1Sends(str1,sizeof(str1)-1); /发送字符串4.2外部中段/*- ex0.h -*/void init_ex0() /外部中断初始化EA = 1; /开总中断EX0 = 1; /开外部中断0IT0 = 1; /下降沿触发/-void ex0_sev() interrupt 0 /外部中断0服务函数 num
6、=T0_num; num=8; num+=TH0; num=8; num+=TL0; T0_num=0; TH0=0; TL0=0;4.3 延迟程序/*- 程序 名: 延时子程序delay_1ms(unsigned int a) 程序功能: 延时时间a*1ms-*/void delay_1ms(unsigned int x) unsigned int i,j; for(j=0;jx;j+) for(i=0;i120;i+); /1ms /STC12C5A60S2系列单片机存储器xdata区,1024字节/ASCII格式 /-1-2-3-4-5 /012345678901234567890123
7、4567890123456789012345678901unsigned char str1=0000000;unsigned char str_i;unsigned long int num1; /上个时间unsigned long int num2; /当前时间unsigned long int num0; /周期 unsigned long int num; unsigned int T0_num;4.4定时器0初始化/* 程序名称:void init_timer0() 程序功能:timer0 定时器0初始化*/void init_timer0() /100微秒12.000MHzTMOD
8、 &= 0xF0;/设置定时器模式TMOD |= 0x01;/设置定时器模式EA = 1;ET0 = 1;TR0 = 1;/定时器0开始计时/* 程序名称:void t0_sever(void) interrupt 1 程序功能:timer0 定时器0中断服务程序*/void t0_sever(void) interrupt 1 T0_num+;4.5波特率void init_com(void)/4800bps12.000MHzPCON |= 0x80;/使能波特率倍速位SMODSCON = 0x50;/8位数据,可变波特率TMOD &= 0x0F;/清除定时器1模式位TMOD |= 0x20
9、;/设定定时器1为8位自动重装方式TL1 = 0xF3;/设定定时初值TH1 = 0xF3;/设定定时器重装值ET1 = 0;/禁止定时器1中断TR1 = 1;/启动定时器1void es_server() interrupt 4 /串口中断服务 if(RI=1) RI=0; /-void delay_ms() /延时几个毫秒的子程序 unsigned int i; for(i=0;i100;i+);void send_ch(unsigned char ch)/发送1个字节 SBUF=ch; while(TI=0);/等待发送结束 TI=0; void Uart1Sends(unsigned char *str,unsigned char num)/发送1个字符串 unsigned char i; for(i=0;inum;i+) send_ch(*(str+i); /发送1个字节delay_ms(); send_ch(0x0d); send_ch(0x0a);第五章 总结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津市(功能区)四年级上学期数学《“数学实践”纳入学生综合素质评价的可行性》
- 广电运维实操考试试题及答案
- 物品损失理赔协议书
- 挂靠工程协议书范本
- 挂车服务外包协议书
- 现场清理维护协议书
- 抵押拍卖合同协议书
- 接竣工资料合同协议
- 收购废油协议书范本
- 环境工程类合同范本
- GB/T 29472-2012移动实验室安全管理规范
- GB/T 13542.1-2009电气绝缘用薄膜第1部分:定义和一般要求
- GB/T 11344-2021无损检测超声测厚
- 汽车电子商务综述
- 人力资源部门经理竞聘演讲课件
- 汽车维修增项服务认知讲解课件
- 安全文明施工措施费清单五篇
- 交管12123驾驶证学法减分题库
- 2022年杭州萧山城市交通开发有限公司招聘笔试题库及答案解析
- QFSN-660-2-22型发电机检查性大修作业指导书
- 陕西省中考数学试卷含解析2
评论
0/150
提交评论