历史上的今天

今天是:2024年09月16日(星期一)

2020年09月16日 | avr mega8 PWM 超声发射试验程序

发布者:MoonlightStar 来源: 51hei关键字:avr  mega8  PWM  超声发射 手机看文章 扫描二维码
随时随地手机看文章

// 采用硬件件定时器产生宽度可调PWM信号

//ICC-AVR application builder : 2020/3/23 10:29:05

// Target : M8

// Crystal: 11.059Mhz

//

#include

#include


// #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// 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);

  }

}

////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////


关键字:avr  mega8  PWM  超声发射 引用地址:avr mega8 PWM 超声发射试验程序

上一篇:AT90S8515单片机SPI驱动74LS595源程序
下一篇:bascom avr tiny45驱动74hc595

推荐阅读

加密货币迎来新一轮惨烈暴跌,MVIS CryptoCompare数字资产10指数(MVIS CryptoCompare Digital Assets 10 Index)比今年一月最高点跌去八成,跌幅已打破2000年“互联网泡沫”破裂后的历史记录,当时纳斯达克综合指数从最高点蒸发78%。 就像十几年前互联网热潮中的前辈一样,那些为这项所谓革命性技术豪掷千金的投资者在现实面前遭受煎熬,尤其悲惨...
紫光和意科技发展(广东)有限公司(以下简称:紫光和意)成立,注册资本为2亿元,龙涛任董事长、经理,赵伟国等人任董事。 此外,天眼查显示,紫光和意所属行业为研究和试验发展。其经营范围包括半导体软硬件技术开发,智能芯片研发、产销,科技企业孵化等。 据悉,紫光和意股东为北京紫光海阔科技有限公司(持股比例84.00%)与东莞市宏兆都市企业管理...
德州仪器(TI)近日发布了Cadence 设计系统公司的PSpice®仿真器的新型定制版本。此版本使工程师可自由对TI电源和信号链产品进行复杂的模拟电路仿真。PSpice for TI提供了全功能电路仿真,包括不断增长的5700多种TI模拟集成电路(IC)模型库,使工程师比以往任何时候都能更容易地评估用于新设计的组件。如需了解更多信息,敬请参阅www.ti.com.cn/pspice...
业内消息人士透露,日月光、力成科技等中国台湾地区封测厂商正在加紧为新 iPhone和其他苹果设备扩展高端后端服务。digitimes报道指出,消息人士称日月光不仅忙着为新的5G iPhone封装和测试AiP模块,还持续对高通为iPhone 13系列开发的调制解调器芯片和射频模块进行全面测试。“随着日月光旗下子公司环旭电子开始履行新苹果设备的订单,日月光的EMS业务...

史海拾趣

问答坊 | AI 解惑

纳米技术在微电子连接上的应用(图)

作者:中国电子科技集团公司第二研究所 梁鸿卿;中国地质大学信息工程学院 许 盈 纳米技术(nanotechnology)是一门在0.1~100nm空间尺度内操纵原子和分子,对材料进行加工,制造具有特定功能的产品,或对某物质进行研究,掌握其原子和分子的运动规 ...…

查看全部问答∨

有关PLL的小问题

QUARTUS II里面锁相环PLL怎么不能设为10M以下的,而且11M,13M为什么也不能啊。。。…

查看全部问答∨

这两句打印信息是什么搞的,查找不到啊?

DeviceFolder::LoadDevice!Enumerate Found deprecated load instructions at (Drivers\\BuiltIn\\AFD). Driver cannot be unloaded. USB enable interrutp DeviceFolder::LoadDevice!Enumerate Found deprecated load instructions at (Drivers\ ...…

查看全部问答∨

系统挂起问题

我有两个问题想请教各位 1.为何我点击‘开始’-‘挂起’后,屏幕的背景灯一直不灭?如何才能使屏幕在点击‘挂起’后就能关闭? 2.我在外部设置了一个按键,按下它则系统进入挂起,再按则被唤醒,该功能已做通,为何我点‘开始’中的‘挂起’后无 ...…

查看全部问答∨

新手求助:关于函数的使用 EZUSB_WaitForEEPROMWrite()

我刚刚接触单片机和Keil编程,先从一些现有的例子入手,已有程序中使用到了一些函数,比如EZUSB_WaitForEEPROMWrite(),这些函数应该都是已经写好的函数,而且函数的原形也已经找到了。但是在哪里能查到这些函数的说明呢,自己编程的时候又怎样使 ...…

查看全部问答∨

在CE下ISA驱动封装的DLL用注册吗?

我使的是PC104是威盛的芯片组在上面做的ISA卡的驱动DLL我已经把它加载进NK了,问下ISA驱动的DLL用修改platform.reg才能使用吗?…

查看全部问答∨

如何在WinCE上播放midi文件

定制系统后,用WinCE上自带的播放器只能播放mp3,wma等格式的音频,但是我需要在WinCE上播放出midi格式的文件来。求教高手们,应该怎么办呢?…

查看全部问答∨

CAN总线的分布式运动控制

                                        ...…

查看全部问答∨

05.17【每日一问】:电信日一天

    5.17是世界电信日。     随着电报的发明,信息的传递方便、快捷起来,人类也因此进入了电信时代。为使电报发挥更大的作用,1865年5月17日,法国、德国、俄国、意大利、奥地利等20多个国家在法国巴黎签订了 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved