// 采用硬件件定时器产生宽度可调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 // 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); } } //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
上一篇:AT90S8515单片机SPI驱动74LS595源程序
下一篇:bascom avr tiny45驱动74hc595
推荐阅读
史海拾趣
静芯微电子深知产品质量对于企业的重要性,因此建立了完善的质量管理体系。公司从原材料采购、生产制造到产品检测等各个环节都实行严格的质量控制和管理,确保每一款产品都符合高标准的质量要求。同时,静芯微电子还引进了先进的检测设备和技术手段,对产品质量进行全面检测和评估。这些措施保证了静芯微电子产品的稳定性和可靠性,赢得了客户的信任和好评。
近年来,随着电子行业技术的不断革新和市场环境的变化,协顺电子也面临着前所未有的挑战。为了应对这些挑战,公司开始进行转型升级。一方面,公司加大研发投入,推动产品创新和技术升级;另一方面,公司也积极探索新的业务领域和市场机会。同时,协顺电子还加强了与供应商和客户的合作关系,共同应对市场变化和挑战。这些努力使得公司在激烈的市场竞争中保持了良好的发展态势。
BLACK&DECKER在技术创新方面一直走在行业前列。公司不断投入研发资源,推动电动工具技术的进步。例如,1979年,BLACK&DECKER发布了第一台手提式充电吸尘器Dustbuster,这一创新产品迅速成为市场上的热销产品,并推动了整个吸尘器行业的发展。此外,BLACK&DECKER还积极参与行业标准的制定工作,通过制定严格的产品质量标准和安全规范,为整个电子行业的健康发展做出了贡献。
随着公司业务的不断发展,Crameda Intersys公司开始寻求与行业内其他企业的战略合作。公司通过与多家知名企业建立紧密的合作关系,共同研发和推广新技术产品,成功将业务扩展到全球市场。这些战略合作不仅拓宽了公司的市场渠道,也提升了公司的品牌影响力和市场竞争力。同时,通过与合作伙伴的深入交流和学习,公司不断吸收新的技术和理念,为自身的创新和发展注入了新的活力。
HBH-Microwave的故事始于对高性能微波组件的执着追求。在成立初期,公司便聚焦于设计并制造能够满足严苛应用需求的微波放大器。通过不断的技术研发,HBH成功推出了HA6013型号的高功率放大器,该产品在17.0至18.0 GHz频段内表现出色,迅速在通信和雷达领域获得认可。这一创新不仅巩固了HBH在微波技术领域的地位,也为后续产品的开发奠定了坚实的技术基础。
为了进一步提升国际竞争力,Connection One公司开始实施全球化战略布局。公司在全球范围内设立研发中心和销售网络,以便更好地了解当地市场需求并提供定制化产品。这一举措不仅加速了公司的国际化进程,还为其带来了更多的商业机会。
作者:中国电子科技集团公司第二研究所 梁鸿卿;中国地质大学信息工程学院 许 盈 纳米技术(nanotechnology)是一门在0.1~100nm空间尺度内操纵原子和分子,对材料进行加工,制造具有特定功能的产品,或对某物质进行研究,掌握其原子和分子的运动规 ...… 查看全部问答∨ |
|
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\ ...… 查看全部问答∨ |
|
新手求助:关于函数的使用 EZUSB_WaitForEEPROMWrite() 我刚刚接触单片机和Keil编程,先从一些现有的例子入手,已有程序中使用到了一些函数,比如EZUSB_WaitForEEPROMWrite(),这些函数应该都是已经写好的函数,而且函数的原形也已经找到了。但是在哪里能查到这些函数的说明呢,自己编程的时候又怎样使 ...… 查看全部问答∨ |
|
我使的是PC104是威盛的芯片组在上面做的ISA卡的驱动DLL我已经把它加载进NK了,问下ISA驱动的DLL用修改platform.reg才能使用吗?… 查看全部问答∨ |
定制系统后,用WinCE上自带的播放器只能播放mp3,wma等格式的音频,但是我需要在WinCE上播放出midi格式的文件来。求教高手们,应该怎么办呢?… 查看全部问答∨ |
5.17是世界电信日。 随着电报的发明,信息的传递方便、快捷起来,人类也因此进入了电信时代。为使电报发挥更大的作用,1865年5月17日,法国、德国、俄国、意大利、奥地利等20多个国家在法国巴黎签订了 ...… 查看全部问答∨ |