基于STC15单片机的频率计及方波发生器设计Word下载.docx

上传人:b****3 文档编号:15974508 上传时间:2022-11-17 格式:DOCX 页数:30 大小:1.12MB
下载 相关 举报
基于STC15单片机的频率计及方波发生器设计Word下载.docx_第1页
第1页 / 共30页
基于STC15单片机的频率计及方波发生器设计Word下载.docx_第2页
第2页 / 共30页
基于STC15单片机的频率计及方波发生器设计Word下载.docx_第3页
第3页 / 共30页
基于STC15单片机的频率计及方波发生器设计Word下载.docx_第4页
第4页 / 共30页
基于STC15单片机的频率计及方波发生器设计Word下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

基于STC15单片机的频率计及方波发生器设计Word下载.docx

《基于STC15单片机的频率计及方波发生器设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于STC15单片机的频率计及方波发生器设计Word下载.docx(30页珍藏版)》请在冰豆网上搜索。

基于STC15单片机的频率计及方波发生器设计Word下载.docx

4.其次,课程设计以学生自主学习为主,是课堂容的扩展和延伸,巩固前序教学容,提升学生设计能力,使学生掌握小规模单片机系统的软硬件设计,培养学生的自主学习能力,自主学习掌握单片机相关的新知识,自主解决问题的能力。

三、方案设计

单片机数字频率计与可调方波发生器程序设计流程图

四、硬件设计原理图:

五、硬件设计实物图:

六、程序框架:

USER:

用户区main

Driver:

驱动区keypwmdigital(数码管)

Apply:

应用区measure(测量)

Sys:

系统区globaldelayusart

七、功能说明:

开机后默认进入方波发生器状态,输出引脚为P3.7,此时K2切换粗调细调,K4,K4分别为粗调和细调模式下的增加、减少频率按钮;

按下K1,此时切换为频率计测量,P3.4为测量输入口,注意和测量信号之间的共地。

测量围为1Hz-8MHz,精度误差稳定达到千分之一,附误差分析。

可以用P3.7产生方波给P3.4测量,两个函数从机器上电开始就一直运行,互不干扰。

八、测量:

低频测量:

高频测量:

九、误差分析:

第一次误差分析:

小结:

频率计可以突破5M,平均误差为千分之二。

第二次误差分析:

由于不能稳定达到千分之一的测量设计误差值,并且从上图的测试表中得到误差满足线性关系,因此加入补偿值,第二次误差测试如下:

由上图可知,低频、中频、高频部分误差分别万分之五、万分之一、万分之二,整体平均误差为0.00030759,即万分之三,大幅度超过课程设计要求的误差值。

十:

实现功能情况表:

数字频率计设计要求

课程设计要求

实现情况

结论

1.被测信号为正弦波或方波,频率围为1Hz~5MHz;

频率测量围为1Hz~8MHz

完成,并且大幅度超过设计要求

2.测量相对误差的绝对值不大于百分之一;

测量相对误差的绝对值为万分之三

3.门限电压2V-5V;

门限电压2V-5V

完成

4.测量数据刷新时间不大于2s,测量结果稳定;

测量数据刷新时间为1s,测量结果稳定

方波发生器设计要求

1.方波发生器可以分为低频和高频2个端口产生,频率围1Hz-6MHz;

方波发生器可以产生70Hz~8MHz频率围的方波

完成,基本满足设计要求

2.通过不同按键实现频率的粗调和微调。

可通过不同按键实现频率的粗调和微调

发挥部分

频率计测量围上限为8MHz

能完成500Hz以的测量功能

未完成

自行发挥部分

1.方波发生器可调占空比输出,调节围为5%~100%

完成,通过按键调节

2.方波发生器和频率计可同时运行

完成,通过按键切换

十一、心得与体会

十二、参考资料

十三、附录:

附录一:

源程序

Main主函数:

#include"

STC15Fxxxx.H"

global.h"

measure.h"

pwm.h"

key.h"

delay.h"

Digital.h"

voidmain()

{

while

(1)

{

PWM_Work();

//打开测量功能函数

}

}

按键扫描函数

UINT8KEY_Scan(UINT8mode)

staticUINT8key_up=1;

//按键按松开标志

if(mode)key_up=1;

//支持连按mode=1的时候连按,mode=0时不支持连按

if(key_up&

&

(KEY1==0||KEY2==0||KEY3==0||KEY4==0))

Delay10ms();

//去抖动

key_up=0;

if(KEY1==0){while(!

KEY1);

returnKEY1_PRES;

}//当key1按下,返回KEY1_PRES的值

elseif(KEY2==0){while(!

KEY2);

returnKEY2_PRES;

}//当key2按下,返回KEY2_PRES的值

elseif(KEY3==0){while(!

KEY3);

returnKEY3_PRES;

}//当key3按下,返回KEY3_PRES的值

elseif(KEY4==0){while(!

KEY4);

returnKEY4_PRES;

}//当key4按下,返回KEY4_PRES的值

}elseif(KEY1==1&

KEY2==1&

KEY3==1&

KEY4==1)key_up=1;

return0;

数码管显示相关函数:

digital.h"

UINT8codeLedChar[]={//段码

0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,

0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E

};

UINT8LedBuff[8]={

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF//数码管显示缓存区

voidDigital_Init()

P0M0=P0M1=P1M0=P1M1=P2M0=P2M1=P3M0=P3M1=0;

//配置IO口模式

Timer2Init();

//定时器2初始化

IE2|=0x04;

//开启定时器2中断

EA=1;

//开启总中断

voidDigital_New(UINT32num)//数码管显示数值的更新函数

{

LedBuff[0]=LedChar[num%10];

LedBuff[1]=LedChar[num/10%10];

LedBuff[2]=LedChar[num/100%10];

LedBuff[3]=LedChar[num/1000%10];

LedBuff[4]=LedChar[num/10000%10];

LedBuff[5]=LedChar[num/100000%10];

LedBuff[6]=LedChar[num/1000000%10];

LedBuff[7]=LedChar[num/10000000%10];

voidTimer2Init(void)//1毫秒33.1776MHz

AUXR&

=0xFB;

//定时器时钟12T模式

T2L=0x33;

//设置定时初值

T2H=0xF5;

AUXR|=0x10;

//定时器2开始计时

voidInterruptTime2()interrupt12//数码管显示的更新

staticUINT8i=0;

P0=0xFF;

//关闭残影

switch(i)

{//动态扫描显示

case0:

P2=0x01;

i++;

P0=LedBuff[0];

break;

case1:

P2=0x02;

P0=LedBuff[1];

case2:

P2=0x04;

P0=LedBuff[2];

case3:

P2=0x08;

P0=LedBuff[3];

case4:

P2=0x10;

P0=LedBuff[4];

case5:

P2=0x20;

P0=LedBuff[5];

case6:

P2=0x40;

P0=LedBuff[6];

case7:

P2=0x80;

i=0;

P0=LedBuff[7];

default:

PWM发生器函数:

intrins.h"

voidDigital_Init(void);

voidDigital_New(UINT32num);

sbitBELL=P4^5;

#defineTick0.08179L//时间片长度

#defineLTick0.30864L//16分频后的时间片长度

#definestepH5000//粗调步进值

#definestepL100//细调步进值

#definestepD5//占空比步进值

doublefreq=50000;

//PWM波频率

UINT32Duty=50;

//定义占空比50%

//计算,根据PWM频率计算出15位增强型PWM发生器装载值

doubleCalculate(doublen)

doublei;

BELL=0;

if(n<

=150

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 公务员考试

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

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