久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2609|回復: 0
打印 上一主題 下一主題
收起左側

avr mega8 PWM 超聲發射試驗程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:382220 發表于 2020-3-31 11:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
// 采用硬件件定時器產生寬度可調PWM信號
//ICC-AVR application builder : 2020/3/23 10:29:05
// Target : M8
// Crystal: 11.059Mhz
//
#include <iom8v.h>
#include <macros.h>

// #define  FG1 0xFEED   // 20KHz
// #define  FG2 0x0113   //

#define  FG1 0xA99C    // 500HZ
#define  FG2 0x5664    //


unsigned char rtu0=0;
////////////////////////////////////////////////////////////////////////////////
void port_init(void)
{
PORTB = 0xE9;
DDRB  = 0x16;   // 0001 0110
PORTC = 0x7F;   // m103 output only
DDRC  = 0x00;
PORTD = 0xFF;
DDRD  = 0x00;
}
////////////////////////////////////////////////////////////////////////////////
//TIMER1 initialize - prescale:1
// WGM: 14) PWM fast, TOP=ICRn
// desired value: 20KHz
// actual value: 20.069KHz (0.2%)
void timer1_init(void)
{
TCCR1B = 0x00; // stop
TCNT1 = FG1;   // setup
//OCR1A = 247; // 90%FULL  
OCR1A = FG2>>1;
OCR1B = FG2;
ICR1  = FG2;

TCCR1A = 0x82;
TCCR1B = 0x19; //start Timer
}
////////////////////////////////////////////////////////////////////////////////
// TIMER2 initialize - prescale:1024
// WGM: Normal
// desired value: 23mSec
// actual  value: 22.963mSec (0.2%)
void timer2_init(void)
{
TCCR2 = 0x00; // stop
ASSR  = 0x00; // set async mode
TCNT2 = 0x08; // setup
OCR2  = 0xF8; //
TCCR2 = 0x07; // start
}
////////////////////////////////////////////////////////////////////////////////
#pragma interrupt_handler timer2_ovf_isr:iv_TIM2_OVF
void timer2_ovf_isr(void)
{
TCNT2 = 0x08;           // reload counter value

// if(OCR1A<FG2)OCR1A+=(FG2/100);
// else OCR1A=0;

// rtu0++;
if( rtu0>20 )
{ rtu0=0; PORTB^=0x14;} // B2
}
////////////////////////////////////////////////////////////////////////////////
//UART0 initialize
// desired baud rate: 9600
// actual: baud rate:9600 (0.0%)
void uart0_init(void)
{
UCSRB = 0x00; //disable while setting baud rate
UCSRA = 0x00;
UCSRC = BIT(URSEL) | 0x06;
UBRRL = 0x47; //set baud rate lo
UBRRH = 0x00; //set baud rate hi
UCSRB = 0xD8;
}
////////////////////////////////////////////////////////////////////////////////
#pragma interrupt_handler uart0_rx_isr:iv_USART0_RXC
void uart0_rx_isr(void)
{
//uart has received a character in UDR
}
////////////////////////////////////////////////////////////////////////////////
#pragma interrupt_handler uart0_tx_isr:iv_USART0_TXC
void uart0_tx_isr(void)
{
//character has been transmitted
}
////////////////////////////////////////////////////////////////////////////////
//ADC initialize
// Conversion time: 75uS
void adc_init(void)
{
ADCSR = 0x00; //disable adc
ADMUX = 0x00; //select adc input 0
ACSR  = 0x80;
ADCSR = 0x86;
}
////////////////////////////////////////////////////////////////////////////////
//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
timer1_init();
timer2_init();
uart0_init();
adc_init();

MCUCR = 0x00;
GICR  = 0x00;
TIMSK = 0x40; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}
////////////////////////////////////////////////////////////////////////////////


void main(void)
{

init_devices();

PORTB|=0x04;

while( 1 )
  {
  
  OCR1A=FG2/2;
  
  
   asm("NOP");asm("NOP");asm("NOP");asm("NOP");
   asm("NOP");asm("NOP");//asm("NOP");asm("NOP");
   
   // PORTB^=0x02;  //B1
   // while(1);
  }
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 密室大逃脱第六季大神版在线观看 | 亚洲乱码一区二区三区在线观看 | 91资源在线| 国产九九九九 | 精品综合| 亚洲 欧美 日韩在线 | 亚洲精品字幕 | 久久久精品一区二区三区四季av | 日韩国产在线 | 国产福利视频在线观看 | 国产欧美精品区一区二区三区 | 麻豆毛片 | 91精品国产综合久久国产大片 | 一级黄在线观看 | 黄视频国产 | 在线永久看片免费的视频 | 国产精品国产馆在线真实露脸 | 国产探花在线精品一区二区 | 美女爽到呻吟久久久久 | 国产精品久久片 | 日韩精品一区二区三区在线播放 | 一区2区 | 欧美激情一区二区三区 | 韩日精品视频 | 精品久久久久久久 | 久久高清国产 | 超碰在线97国产 | 日产精品久久久一区二区福利 | 成人午夜网站 | 成人免费在线视频 | 久久久天天 | 免费成人毛片 | 正在播放国产精品 | 国产精品国产精品国产专区不片 | 欧美在线亚洲 | 欧美一区二区在线观看视频 | 亚洲精品一区中文字幕乱码 | 久久中文字幕一区 | 成人深夜福利网站 | 成人精品久久久 | 久久免费资源 |