完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
新手刚开始学习avr
我用的是 avr stdio 6.0 环境。编译都没问题 但是就是产生不了正弦行的脉宽 而是等宽的脉冲 求住: 代码如下: #include #include #include #include til/delay.h> const unsigned char auc_Sinparam[128]= { 64,67,70,73,76,79,82,85,88,91,94,96,99,102,104,106,109,111,113,115,117,118,120,121, 123,124,125,126,126,127,127,127,127,127,127,127,126,126,125,124,123,121,120,118, 117,115,113,111,109,106,104,102,99,96,94,91,88,85,82,79,76,73,70,67,64,60,57,54,51,48, 45,42,39,36,33,31,28,25,23,21,18,16,14,12,10,9,7,6,4,3,2,1,1,0,0,0,0,0,0,0,1,1,2,3,4,6, 7,9,10,12,14,16,18,21,23,25,28,31,33,36,39,42,45,48,51,54,57,60 };//128 point machao unsigned char x_SW=8,X_LUT=0; #pragma interrupt_handler Timer_interrupt:17 void Timer_interrupt(void) {SEI(); X_LUT+=x_SW; if(X_LUT>127) X_LUT-=128; OCR0A=auc_Sinparam[X_LUT]; } int main(void) { CLI(); DDRD=0x40;//PD6 out;PWM //Timer/Counter 0 initialization //Clock source;System Clock //Clock value:4000.000khz //Mode:Fast PWM top=FFh //OC0 output:Non-Invented PWM TCCR0B=0x00; TCNT0=0xff; TCCR0A=0x83; TCCR0B=0x01; OCR0A=128; TIMSK0 |=(1< while(1); } |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
4983 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7643 浏览 0 评论
2933 浏览 2 评论
3032 浏览 1 评论
9904 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 14:28 , Processed in 0.550060 second(s), Total 52, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191