单片机产生方波

用ATmega16产生占空比为50%的方波,CTC模式,OC0输出。使用的软件是ICCAVR。我写的程序:#include<iom16v.h>#pragmainterru... 用ATmega16产生占空比为50%的方波,CTC模式,OC0输出。
使用的软件是ICCAVR。
我写的程序:
#include<iom16v.h>
#pragma interrupt_handler zhixing:4
void zhixing(void)
{

}

void main(void)
{
PORTB=0x00;
DDRB=0x08;
TCCR0=0x1B;
OCR0=0x80;
ASSR=0x00;
TCNT0=0x00;
TIMSK=0x02;
SREG|=0x80;
while (1)
{
}
}
我的程序哪里错了,不太明白。

希望能给我个程序,有简单的解释的,给我参考下。
谢谢!!!
展开
 我来答
xuzhimin9514
2010-03-31 · TA获得超过355个赞
知道答主
回答量:215
采纳率:0%
帮助的人:174万
展开全部
快速10位pwm模式:
#include <iom16v.h>

void main()
{
DDRD|=0X30; //也许没必要。自己试试
TCCR1A=0XA3; //设置工作模式
TCCR1B=0X0B; //设置工作模式

OCR1A=800; //设置第1路占空比
OCR1B=500; //设置第2路占空比
}

10位模式下 最高值是1023
调整OCR1A或OCR1B为511,即可产生占空比为50%的方波。
sinba6530d
2010-03-30 · TA获得超过449个赞
知道小有建树答主
回答量:367
采纳率:0%
帮助的人:223万
展开全部
产生波形应当采用中断服务编程

1. 设置定时器中断,定时参数等于采样率

2. 中断服务例程向端口发送振幅数据,每次发送一个采样点。

3. 波形数据保存在数组中 (循环列表)

4. 主程序除了完成初始化,设置参数(改变波形,采样率等)别的什么也不做,
空循环。

程序实现后不只方波,任意的周期波形都能产生。

程序就自己编吧,有了方法,就不复杂。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式