// 采用硬件件定時器產(chǎn)生寬度可調(diào)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驅(qū)動74LS595源程序
下一篇:bascom avr tiny45驅(qū)動74hc595
推薦閱讀
史海拾趣
進(jìn)入21世紀(jì),C.K TOOLS不滿足于現(xiàn)有的技術(shù)成果,開始與冶金和設(shè)計工程師合作,探索新材料在工具制造中的應(yīng)用。他們發(fā)現(xiàn)了一種新型合金材料,具有出色的硬度和耐磨性,非常適合用于制造電子制造中使用的切割和剝線工具。經(jīng)過多次試驗和改進(jìn),C.K TOOLS成功推出了這一系列新型工具,并在電子制造領(lǐng)域取得了顯著的市場份額。
在環(huán)保和可持續(xù)發(fā)展成為全球共識的今天,Heatron LED Integration積極踐行綠色發(fā)展理念。公司不僅在生產(chǎn)過程中注重節(jié)能減排和資源循環(huán)利用,還致力于推廣高效、節(jié)能的LED照明產(chǎn)品。通過不斷的技術(shù)創(chuàng)新和產(chǎn)品優(yōu)化,公司成功推出了一系列低碳環(huán)保的LED照明解決方案,為推動全球綠色可持續(xù)發(fā)展貢獻(xiàn)了自己的力量。
1985年,艾立華和王安安懷揣著3700元的全部家當(dāng),毅然決然地踏上了創(chuàng)業(yè)之路。他們租下了兩間不到50平方米的廢棄小平房,與幾名工人一起,手工制作鋁電解電容器。由于資金、技術(shù)和市場的限制,艾華集團(tuán)最初只能接一些其他企業(yè)不愿意做的、用量很少但又剛需的項目。然而,即便是在這樣的困境中,艾立華和王安安也始終堅持對產(chǎn)品品質(zhì)的精益求精,他們深知,只有高品質(zhì)的產(chǎn)品才能在市場上立足。
在電子行業(yè)的早期,ENTRELEC UK以其創(chuàng)新的接觸器設(shè)計在市場中脫穎而出。隨著技術(shù)的進(jìn)步,公司不斷研發(fā)新產(chǎn)品,如過載繼電器和電動機保護(hù)開關(guān),這些產(chǎn)品迅速獲得了市場的認(rèn)可。公司通過持續(xù)的研發(fā)投入,確保產(chǎn)品始終走在行業(yè)前沿,為客戶提供更安全、更可靠的解決方案。
在電子行業(yè)的早期,ENTRELEC UK以其創(chuàng)新的接觸器設(shè)計在市場中脫穎而出。隨著技術(shù)的進(jìn)步,公司不斷研發(fā)新產(chǎn)品,如過載繼電器和電動機保護(hù)開關(guān),這些產(chǎn)品迅速獲得了市場的認(rèn)可。公司通過持續(xù)的研發(fā)投入,確保產(chǎn)品始終走在行業(yè)前沿,為客戶提供更安全、更可靠的解決方案。
隨著業(yè)務(wù)的不斷發(fā)展,ENTRELEC UK開始尋求全球市場的拓展。公司通過與國外代理商建立合作關(guān)系,將產(chǎn)品銷往世界各地。同時,公司還在海外設(shè)立研發(fā)中心和生產(chǎn)基地,以便更好地了解當(dāng)?shù)厥袌鲂枨螅峁┒ㄖ苹慕鉀Q方案。這些舉措使ENTRELEC UK在全球電子行業(yè)中樹立了良好的品牌形象。
演講筆錄:完全不用電解電容的LED驅(qū)動方案 演講嘉賓:創(chuàng)意電子中國區(qū)技術(shù)支持工程師 龍金節(jié) 龍金節(jié)2009年加入創(chuàng)意電子有限公司。擔(dān)任中國區(qū)的技術(shù)支持工程師。在 ...… 查看全部問答∨ |
|
Wince 5.0 如何設(shè)置使文件夾選項-->高級設(shè)置項不選中 Wince 5.0 如何設(shè)置使文件夾選項-->高級設(shè)置項不選中 默認(rèn)是選中的,修改那些地方可以使其不選中? 什么值設(shè)為0?… 查看全部問答∨ |
請請大家?guī)蛡€忙!我在DXP 里畫的原理圖拷到WORD格式,復(fù)制到WORD顯示不全,我就需要復(fù)制原理圖,有什么辦法能把原理圖完全復(fù)制過去呢! 謝謝你們了… 查看全部問答∨ |
使用ScrollWindowEx時出現(xiàn)比較明顯的拖滯現(xiàn)象,怎么處理。 在拖動滾動條時,頁面出現(xiàn)了拖影,應(yīng)該怎么處理呀, 看系統(tǒng)內(nèi)即使文件很多也沒有這現(xiàn)象呢。? void C2MSetting::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { int nDelta = 0; ...… 查看全部問答∨ |
NIOSII編譯出現(xiàn)內(nèi)存已滿,該如何解決? 編譯老是出現(xiàn)這樣的錯誤,該如何解決? region onchip_memory2 is full (uart_232.elf section .text). Region needs to be 3824 bytes larger.… 查看全部問答∨ |
【設(shè)計工具】賽靈思Xilinx® 7 系列FPGA如何利用先進(jìn)工藝大幅度降低功耗 本白皮書與Xilinx® 28nm 7 系列 FPGA功耗有關(guān)的幾個問題,詳細(xì)解釋了TSMC 28nm 高K金屬柵工藝技術(shù)(HKMG) 、高性能低功耗工藝制程,也介紹了賽靈思全系列FPGA 如何利用28 nmHPL 工藝制程實現(xiàn)架構(gòu)創(chuàng)新,以及如何通過降低靜態(tài)功耗、動態(tài)功耗 ...… 查看全部問答∨ |
請各位大俠用匯編語言幫忙設(shè)計一個程序,小弟不勝感激。如下圖示,單片機通電復(fù)位后端口P1.0、P1.1對應(yīng)的A、B輸出5V電壓,現(xiàn)在需要檢測此兩端口的電壓由高到低的先后時間差的一致性,要求如下: 按一下輕觸開關(guān)S1后:①單片機的一個端口P0.0輸出低 ...… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- API調(diào)用小記(Touchdesigner和ESP32)
- 關(guān)于ESP32/8266使用async-mqtt-client庫的一些基本介紹
- 座椅、天窗、電動尾門應(yīng)用 國產(chǎn)車規(guī)級高壓霍爾效應(yīng)傳感器推薦
- 突發(fā)!又一車企車機“崩了”
- 寧德時代為陳立泉院士頒發(fā)“卓越貢獻(xiàn)獎”
- 一文速覽吉利雷神 AI 電混 2.0 發(fā)布會重點
- 2025年1-4月ADAS供應(yīng)商裝機量排行榜:頭部集中與國產(chǎn)突圍并存
- 國內(nèi)飛行汽車無線通信測試成功,通信安全新突破
- SPAD席卷車載激光雷達(dá)市場
- 大聯(lián)大品佳集團(tuán)推出基于Microchip和ams OSRAM產(chǎn)品的10Base-T1S萬級像素大燈方案
- 哈曼推出采用三星Neo QLED技術(shù)的全新顯示屏
- Syntiant推出超低功耗汽車AI創(chuàng)新技術(shù) 提升車輛安全性和用戶體驗
- 【投票瓜分2500元紅包】2022得捷電子創(chuàng)新設(shè)計大賽優(yōu)秀作品人氣獎由你來定!
- 積分芯幣兌換情人節(jié)專場
- DEYISUPPORT:【全新FAQ來襲】今夏且聽風(fēng)吟,你不能錯過的精華!
- 暢想十二月,設(shè)計我自己的EEWORLD!
- DEYISUPPORT TI 大咖級工程師在這里,等你來約!
- 提出你的電源問題&技術(shù)解答,提升自我電源知識,贏取好禮
- 看是德科技利用校準(zhǔn)降低儀器測量不確定度、提高測試精度 直播享好禮!
- 有獎直播:8月21上午10:00 泰克助您應(yīng)對現(xiàn)在及未來的測試挑戰(zhàn)!