每秒递减的方波扫频信号怎么生成_单片机产生扫频信号400Hz~3KHz-----占空比50%的方波...

发一个产生扫频信号的程序,大家参考一下

//单片机晶振12MHz,这个程序如果要提高扫频信号输出的频率关键的一句是本文引用地址:http://www.eepw.com.cn/article/201611/315780.htm

//dataLoad=10000/(2*(4+i));//153个时钟周期

//记该指令的执行时间是N个时钟周期

//该程序可以输出地扫频信号的最高频率为fosc/(2*N*12)

//如果想要提高扫频信号的最高频率使用时钟频率更高的芯片,或者可以

//更改这条语句,使之执行时间缩短

//这个程序的编程思路如下:

//定时器0负责输出方波的定时,输入指定频率的方波

//定时器1负责0.1秒定时,如果时间到,则改变

//定时器0的控制的输出方波的频率

#include sbit outWave=P0^0;

#define uchar unsigned char

#define uint unsigned int

uchar t1Counter;//the times of t1 interrupt

uint dataLoad; //the reset data of the time0, volatile variable.

bit t1Int;// the flag of time1 interrupt

//定时器0初始化

void InitTimer0(){

TMOD|=0x01;//定时器方式1

ET0=1;//允许T0中断

TH0=(65536-dataLoad)/256;//定时器初值10ms

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值