線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2836
推到 Plurk!
推到 Facebook!

[ASM]Avr ATtiny13 簡單的溫控風扇裝置

 
powmien
初階會員


發表:27
回覆:80
積分:41
註冊:2004-10-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-07 16:15:12 IP:61.59.xxx.xxx 未訂閱
這個簡單的東西仍然使用Atmel 的ATtiny13來做~~ SOURCE 包含ASM/HEX/EEP,EEP檔保存此程式INITIAL的數值,直接跑ASM/HEX會出現錯誤。    ATtiny13 特色: 1個 8-bit Timer/Counter 和二個 PWM Channels (PB0,PB1)                 1個10-bit ADC 和內部參考電壓(Vref=1.1v)    ATtiny13 pin 腳宣告: Input:PB4 (定義為ADC input) output:PB0,PB1,PB2,PB3 (程式內部也把PB5宣告成output,不過沒作用)    用途: 由一個NTC元件偵測溫度改變電壓至PB4(input),再用internal Vref(1.1v)做ADC改變PB[0..1]pin腳準位。    PS: PB0在>12度時為HIGH, <9度時為60hz DUTY CYCLE 50%, <6度時為60hz DUTY CYCLE 25%, <0度時為LOW. 所以這個程式也用到了簡單的PWM MODE . 動作:
           PB0  PB1  PB2  PB3
---------------------------
溫度>12度    1    1    0    1
溫度< 9度  50%    1    1    0
溫度< 6度  25%    0    0    0 
溫度< 0度    0    0    0    0
---------------------------
         (PB0 <9 AND <6 度時FREQUENCY = 60hz)
其實就是像在控制馬達一樣所以才使用PWM MODE,不同的是為經由溫度的改變做OUTPUT的準位轉換。如果PB0外接風扇的話,就會經由溫度的變化而改變轉速達到溫度管理的效果。 SOURCE檔解開壓縮後可直接使用(ASM/HEX/EEP),但是為了將來使用上的方便,程式INITIAL時會讀取EEPROM的值(分別為12度、9度、6度、0度NTC元件在INPUT給ADC讀取到的數值),所以如果要在不同的溫度做變化的話,可以修改EEPROM就可達到效果,但是如果在AVR STUDIO 上模擬的話,沒D/L EEPROM的值進入模擬就會出錯。 如果要燒鍵測試,也記得將EEP(EEPROM數值)也一並燒入。 小弟為初學者,如有錯誤請多多指正。m(_-_)m
附加檔案:66350_0307_TEMP.rar
系統時間:2024-06-02 15:52:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!