PICでUSBを!(知識ゼロからのスタートです)
PIC18F14K50のUSB機能を100%自前のソフトで制御する試みです。しかもアセンブラで!
当記事は2009年12月から「TTLでCPUをつくろう!」というタイトルの もとにほとんど毎日連載をしてきたものを再編集したものです。 |
2011.7.12 前へ 次へ 目次へ戻る ホームページトップへ戻る |
☆PIC18F14K50 PIC18F2550では大きすぎて、計画中のTK80互換マイコンボードND80ZVには組み込めそうにないことがわかりました。 USB機能内蔵のPICにはPIC18F4550、PIC18F2550のほかに20pinのPIC18F14K50があることはちょっと前から知っていました。しかしUSBに関する部分がPIC18F2550とはかなり異なっているようです。 案の定しっかり泥沼にはまってしまいました。 |
[第79回]
●PIC18F14K50をクロック32MHzで動かしてみました
PIC18F14K50の内部発振クロックの最高は16MHzです。
PIC18F2550の内部発振周波数の最高が8MHzでしたから、その倍の周波数ということになります。
立派なものです。
さらに。
PIC18F14K50は、内部発振クロックをPLLで4倍にして、それをシステムクロックとして使うことができます。
ただし、さすがに16MHzの4倍というわけにはいかなくて、内部発振クロックが8MHzのときに限って、PLLで4倍にすることができます。
まずはプログラムです。
;;;pic p18f14k50 test program ;f14k50test2 ;10/5/21 ; ; #include<p18f14k50.inc> ;cpuclock=32MHz internal oscillator ; CONFIG FOSC = IRCCLKOUT,WDTEN=OFF,LVP=OFF;not WDT ; org 00 movlw 64;clock=8MHz,select Primary Clock movwf OSCCON movlw 40;PLL on for intosc=8MHz only movwf OSCTUNE clrf ANSEL;PORTA,PORTC are digital clrf ANSELH;PORTB,PORTC are digital clrf TRISA;porta=out clrf TRISB;portb=out clrf TRISC;portc=out ; movlw 1 loop xorwf PORTC goto loop ; end |