網頁

顯示具有 AVR 標籤的文章。 顯示所有文章
顯示具有 AVR 標籤的文章。 顯示所有文章

2012年8月26日 星期日

USBtinyISP 在 AVR Studio 5 和 Atmel Studio 6 的配置

最近這一陣子,Atmel 一直在更新 AVR 微處理器的編輯軟體,從 AVR Studio 4 到現在最新的版本 Atmel Studio 6,程式碼撰寫變得越來越人性化,也大幅減少打字錯誤以及編譯的速度,因此如果電腦還有空間的話,可以更新或是直接下載 AVR Studio 5 或 Atmel Studio 6 安裝,絕對讓你耳目一新!

電腦環境:

  • HP COMPAQ 8710W
  • Processor: Intel Core 2 Duo CPU T7500 2.20GHz
  • Memory (RAM) : 4GB
  • Windows Vista Business, SP2, 64-bit
  • 燒錄器:USBtinyISP ( 上 Google 瞧瞧這東西的樣子! )

我一開始使用 AVR Studio 4 配合 USBtinyISP 進行晶片的燒錄,但官方軟體只知官方燒錄硬體,如 STK500 和 AVRISP Programmer。因為兩者都是使用 serial port ( 串列埠 ) 與 PC 做連接,而 USBtinyISP 是使用 USB 轉 serial port,兩者不同,即使插上 USBtinyISP, AVR Studio 4 也不會認得 USBtinyISP。

解決的方法就是 USBtiny500 將 USBtinyISP 模擬成 AVR Studio 4 認得的硬體,並利用 COM Bride 軟體 com0com,建立 AVR Studio 4 與 USBtinyISP 兩者 serial port 的連接。這樣傳送到 STK500 或 AVRISP 的命令,就會轉到 USBtinyISP 幫你(妳)完成燒錄的動作。

AVR Studio 4 使用 USBtinyISP 燒錄的方法,請參考這個網站的說明。

升級到 V5 和 V6 後,上述的方法就不能再用了,也就是本文接下來要講的,怎樣使用升級後的軟體做燒錄,以及環境如何設置。

2011年7月3日 星期日

使用AVR 玩弄 EL-Wire (冷光線)

EL-Wire(ElectroLuminescent Wire, 簡稱 冷光線),是一種利用電致發光原理的發光體,外觀類似電線。看起來像是電線,但依照所要發出不同顏色的光再批覆上不同的外皮,而且由於本體中心有一根單心銅線(依照本文所使用的 3mm 的冷光線線徑,銅線部分大約占整體的 1/3,也就是 1mm 左右的線徑)可根據設計的圖形、文字做不同的形狀變化。

本文主要的目的為介紹如何使用 AVR (其他為控制器亦可)控制冷光線,內容有:

  1. 冷光線介紹與焊接方法
  2. 冷光線DC(直流電)轉AC(交流電)電路(此處的AC是指有頻率的電壓,但所轉換的電壓不一定要通過電壓零點)。
  3. 冷光線控制電路
  4. 程式碼
  5. 實際例子影片

無線模組 (RF 315MHz) 發射接收,使用8051與ATtiny2313

相信大多數的人都有玩過遙控類的玩具,甚至在日常生活中也常常用到,例如家裡的電動門、汽車中控鎖......等,都使用到這種 RF (Radio Frequency) 通訊的技術。

本文中所要探討的是 RF 315MHz 長距離發射/接收模組 (TG-11A 與 TG-11B) 的控制方法,不使用額外的編碼與解碼晶片,而是使用 MCU (Micro-Controller Unit) 微控制器來負責發射與接收:發射端送出自訂字元,接收端接收自訂字元產生相對應的動作 (這裡是控制 LED 明滅)。


網路上關於照片中的模組所找到的資料都是基於八支腳位的,不過由於大部份接腳都是共用的,所以簡化之後的接腳只有 Vcc、GND和 DATA IN/OUT用的到。

文中所使用的模組都是 4-pin,有些接腳在使用時必須接在一起 (照片中可清楚看出)。

參考網站:
WinAVR AVR-GCC Tutorial - Running TX433 and RX433 RF modules with AVR microcontrollers

2011年3月3日 星期四

實作 UART 功能使用 Attiny45 USI

Attiny45 是一個 8-pin 的晶片,因為體積小而且功能強大且內建 4K 的 flash rom,對於簡單的一些練習是再好不過的晶片。但是這幾天為了想作一些關於 ADC 的實驗,於是就拿了它來做,結果呢? 它本身內建的功能沒有所謂的 UART (也就是在接腳圖上看不到 TxD 與 RxD ),而且手邊的Attiny2313 卻只有 on-chip Analog Comparator 兩支接腳作為類比比較用。一個有 ADC 卻沒硬體 UART,一個有 UART 卻只有一組 Analog Comparator 也不夠用 ......真是羚羊趕不完!

不過既然 Attiny45 有 USI 功能,想必可以用軟體實作的方式做出來!

上網 google 的一下,在 Atmel 官網中的一份文件( AVR307: Half Duplex UART Using the USI Module on tinyAVR and megaAVR devices) 有解決方案(如果找不到這份文件請 Google 一下,Updated 10/03,打文時又檢查了一遍連結發現ATEML官網最近有大改版)。不過事情卻沒想像中這麼容易,文件中所使用的晶片是 Attiny26,編譯器是 IAR Workbench。跟我用的都不一樣,所以如果要使用 Attiny45 內的 USI 做出 UART 的功能,必定要經過一番苦讀與修改。


首先要做的就是下載 AVR307所附的範例程式,把 Attiny26 相關的暫存器設定,修改為Attiny45,最後再修改整個 IAR 的程式碼讓它可以符合並通過 AVR Studio 編譯器的語法檢查,這樣才能產生所需要的Attiny45 UART 程式碼。


我的目的是要使用 ATtiny45 實現兩個 ADC 的監控。當然需要兩個 UART 功能的也可利用這個方法來做實現。


硬體線路:


硬體線路可以分為兩個部份,第一部分是Attiny45的線路部分,需要注意的是:當使用三線USI模式時,PB1(pin6) 是設定為 output 而且是一個open-drain output,所以必須要加上一個pull-up電阻。如圖中所示,加上了一個 1K 電阻,經實際測試是OK的!


第二部份是一個 RS232 準位準換電路,Attiny45 所標示的的 Tx 與 Rx 分別接到 232 晶片的 pin11 和 pin12,由於輸出已經直接跳線到 D-Type 母接頭,因此在與電腦連接時並不需要特別購買 9-pin 的 RS232跳線,直接用一般的線就好。圖中所使用的晶片為 MAX232 和 HIN232,若你使用的晶片代號不一樣時,請查閱一下晶片手冊。對於簡單應用與測試來講這個線路很足夠了,不但簡單而且零件很容易取得,價錢又便宜!