全28件 (28件中 1-28件目)
1

回路図です、PIC12F683を使用しました。本職は、一応ソフト屋なので回路は実際の資料で確認して下さい。PIC12F683のソースコードです。処理は単純です、ホールセンサ(GP0)の変化割込みでコイルの出力を変更するだけです。なお、ソース中のA/D変換はデバック用ですので不要です。#include <htc.h>#include <stdio.h>__CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_ON & BOREN_ON & MCLRE_ON & IESO_OFF & FCMEN_OFF & CP_OFF) ;#define _XTAL_FREQ 8000000int dly;void dl(){ int i; i = dly; while(i--);}void interrupt isr(void){ if(GPIF) { if(GP0) { //dl(); GPIO = 0x10 | (GPIO & 0x0f); GP2 = 1; } else { //dl(); GPIO = 0x20 | (GPIO & 0x0f); GP2 = 0; } GPIF = 0; }}void main(void){ OSCCON = 0b01111110; // 内臓クロック8MHzに設定 ANSEL = 0b00000010; // AN1 TRISIO = 0b00001011; // GPIO CMCON0 = 0b00000111; // IOCbits.IOC0 = 1; INTCONbits.GPIE = 1; INTCONbits.GPIF = 0; // Grobal interrupt INTCONbits.GIE = 1; // Grobal interruptを有効にする INTCONbits.PEIE = 1; // 外部割込みを有効にする /*ADC初期設定*/ ADCON0 = 0b10000101; //右詰め|基準電圧は電源Vdd)|空白|空白|AN1(GP1)|ADC終了|ADC有効 GPIO = 0x10 | (GPIO & 0x0f); __delay_ms(20); GPIO = 0x20 | (GPIO & 0x0f); while(1) { __delay_us(25); GO = 1; //ADC変換開始 while(GO); //ADC変換終了までループ待機 dly = ADRESL + (ADRESH
2013.03.10
コメント(0)

百円均一で超強力マグネットなるものを見つけたのでモータが作れないかやってみた、専門家では無いので、モータの各部の名称等は適当に記述しますが、お愛嬌で許して頂いて、まず、回転子の作成です。ゼムピンを以下の様に加工します。先ほどの磁石を下記の図のようにセットします。強力な磁石なので特に接着剤も無しで密着します。次に回転子の軸受は、手ごろなリード線の被覆を利用します。次にコイルですが、同期モータを分解したときのエナメル線(テフロン?)を利用しました、巻数は適当ですが直流抵抗が8Ω程度巻きました。そのままではバラけるのでホットボンドで固定。下図が、モータ部分の完成形です、回転子とホールセンサをホットボンドで固定します。次回は制御部の回路図です。
2013.03.10
コメント(0)

Psoc designerのデザイン画面です、及び設定値です。PGAの設定画面ADCINCの設定画面DACの設定画面Timer8の設定画面
2013.01.31
コメント(0)
開発環境は、Psoc Designer 5.3を使用しました。まだ、POSCを使い始めて3ヶ月程度なので綺麗なソースではないですが、下記がmain.cです。#define POW_MIN 110unsigned char bDACValue = 0; // Variable for the DAC valueunsigned short i; char buf[16];char buf1[8];int adata;char ps;int sec;char cnt = 0;char fsec = 0;float w;long wh_sum;long lwk;#pragma interrupt_handler Timer8_1_ISRvoid Timer8_1_ISR(){ cnt++; if(cnt >= 10) { cnt = 0; fsec = 1; }}void main(void){ char theStr[] = "Start"; IMO_TR = 0x7a; M8C_EnableGInt; // Enable Global Interrupts M8C_EnableIntMask(INT_MSK0, INT_MSK0_SLEEP); DAC6_1_Start(DAC6_1_HIGHPOWER); // Start DAC6 in HIGH power mode LCD_1_Start(); // Initialize LCD LCD_1_Position(0,0); // Place LCD cursor at row 0, col 5. LCD_1_PrString(theStr); // Print "PSoC LCD" on the LCD bDACValue = 1; ADCINC_1_Start(ADCINC_1_HIGHPOWER) ; ADCINC_1_GetSamples(0) ; // read AD convert continuously DAC6_1_WriteStall(bDACValue); // Write value to DAC and decrement PGA_1_Start(PGA_1_MEDPOWER); sec = 0; Timer8_1_EnableInt(); Timer8_1_Start(); wh_sum = 0; while(1) // Repeat forever { while(ADCINC_1_fIsDataAvailable() == 0 ) ; ADCINC_1_iClearFlagGetData() ; adata = ADCINC_1_iGetData() ; if(adata > POW_MIN) { LCD_1_Position(0,0); // Place LCD cursor at row 0, col 5. w = ((float)adata - 98.0)*0.084 + 35.0; itoa(buf1,(int)w,10); ps = strlen(buf1); memset(buf, ' ', 8); strcpy(&buf[5-ps], buf1); buf[5] = 'W'; buf[6] = 0; LCD_1_PrString(buf); // Print "PSoC LCD" on the LCD // 使用量 wh_sum += (long)w; ltoa(buf1,wh_sum,10); LCD_1_Position(1,0); // Place LCD cursor at row 0, col 5. LCD_1_PrString(buf1); // Print "PSoC LCD" on the LCD } else { LCD_1_Position(0,0); // Place LCD cursor at row 0, col 5. memset(buf, ' ', 8); buf[4] = '0'; buf[5] = 'W'; buf[6] = 0; LCD_1_PrString(buf); // Print "PSoC LCD" on the LCD } fsec = 0; while(fsec == 0); //M8C_Sleep; } while(1){ }; }このプログラムは、各I/Oを初期化後に100ms毎の割り込みをカウントし1秒毎に電力値を計測しワット数に変換し、電力使用量の合計エリアに単純に足し込むだけです。自作の交流電流センサの校正は、1KW程度の電気製品と60W程度の電球等の各A/D値を計測して変換式を求めます。センサの入力はPGAに入っており増幅倍率は0.062~48倍迄可変出来るので電流センサを適当に作っても対応可能かと思います。また、使用しているD/A変換はLCDのコントラスト用の電圧を発生しています。 CY8C24423はプログラムエリアが4Kしか無いのでfloatとlongを使用しただけでパンクするので最適化のオプションが必要です。複雑な処理をしたいときはCY8C27443等を使用すれば16Kのエリアが有ります。これだけのプログラムで、A/D変換してLCDに1秒毎のワット数を表示出来るから大したCPUだと思います。 プログラム中の"IMO_TR = 0x7a"は、クロックを調整して、タイマーを出来るだけ1秒に近づける為の校正値です。次回は、Psocのデザインを記述予定です。
2013.01.30
コメント(0)

節電が喧しいので電力計を探してみたら、それなりの値段がするので試しに作ってみた。部品は、交流電流センサ+Psoc(CY8C24223)+LCDの三点を使用。上図中のL1が交流センサです。共立電子で交流電流センサの名前で\1300程度で市販していますが、適当に転がっていたフェライトコアに、これもビデオデッキを分解した時に有った同期モータの巻線を使用してフェライトコアに適当に巻きつけたものです。試行錯誤で何回か作るつもりが1回で動いてしまったので巻数とか不明です。このセンサでも、500W位の電流を測定すると、倍電圧整流後の電圧は2V程度の出力を発生します。上図が電力計の部分です、次回はソースその他を記述予定
2013.01.29
コメント(0)

PIC24FJ64GB002は、USBのホスト機能が有るのでUSBメモリが読み書き出来ないか探していたら、[小山工業高等専門学校]で紹介の、Mass_Strage.zipが目的の機能を持っていることが判ったので、早速使って見ました。 ただ読み書きだけでは面白く無いので、LM61の温度センサ+マイコン+I2C液晶モジュール(SB1602B)+USBメモリで一定時間毎に温度を計測して液晶に表示し、USBメモリに書き込む仕様にしました。 表示、及びUSBメモリには1分毎に日付、温度、電源電圧を書き込んでいます。電源電圧はバッテリー駆動時の電池交換時期を判定するために測定しています。 日付を使用するため内臓のクロックでは誤差が大きいと思い20MHzのクリスタルを使用しています。また、時刻の設定用の10KEYが無いのでUSBのメモリに書き込んだパラメータファイルに書いておきUSBをセットしたタイミングで読み込んでいます。
2012.02.05
コメント(0)

数年前から、100円ショップでAUの携帯の充電用にUSB接続の電池式の充電器が販売されている。出力電圧を測定すると5.02Vが出力されいる。これに充電式のエネループを使用して超低価格の5V電池電源が完成する。試作のマイコン用に使用しているがさしあたって問題は感じていない。ただし、最大電流値とかは判らないのであくまで自己責任で使用してみてください。
2012.02.04
コメント(0)
PIC24FJ64GB002はヤフーのオークションで\1200で販売していた物を使用しました。共立電子で\680でも購入しましたが、3.3VのDCーDCコンバータその他追加部品を考えると価格的には同じぐらいかと、USB Bluethoothドングルは\700~1500ぐらいと色々ありますが安いのを使えば\2000弱程度で完成すると思います。パソコンからこの金額で制御できる無線装置は少々感激します。なお、USB Bluethoothドングルは\350位の物も使って見ましたがさすがに止めた方がよさそです。
2012.02.03
コメント(0)

2。Ubuntu(Linux)で使用する場合Ubuntu(Linux)に端末を登録する。・Bluetoothのアイコンをクリックすると下記の画面が表示される。「検索」をクリックしてPIC24Fのデバイスを検索する、見つけると表示されるので、PIC24Fのデバイスを右クリックし「デバイスの追加」を指定して登録完了。Ubuntu(Linux)にはBlutoothの開発に便利なツールが色々有るので一部を紹介。と言うよりすぐ忘れるのでメモ代わりに。[Blutoothデバイスの検索]xxx@ubuntu2:~$ hcitool scanScanning ... 00:1B:DC:00:3A:7A PIC24F---122[サポートしているサービスの表示]xxx@ubuntu2:~$ sdptool browse 00:1B:DC:00:3A:7ABrowsing 00:1B:DC:00:3A:7A ...Service RecHandle: 0x10000Service Class ID List: UUID 128: 00001101-0000-1000-8000-00805f9b34fbProtocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 1[Blutoohパケットのダンプ]特に便利なのがbluetoothのパケットをダンプツールが役に立った。ファイルに出力することが出来るのでファイルに出力し、「Wireshark」で後で解析することも出来る。xxx@ubuntu2:~$ sudo hcidump -x[sudo] password for xxx: HCI sniffer - Bluetooth packet analyzer ver 1.42device: hci0 snap_len: 1028 filter: 0xffffffff< ACL data: handle 42 flags 0x02 dlen 13 L2CAP(d): cid 0x0040 len 9 [psm 0] 0B EF 0B 61 30 30 30 30 9A > HCI Event: Number of Completed Packets (0x13) plen 5 01 2A 00 01 00 > ACL data: handle 42 flags 0x02 dlen 14 L2CAP(d): cid 0x0040 len 10 [psm 0] 09 FF 0B 01 61 01 E5 00 CC 5C < ACL data: handle 42 flags 0x02 dlen 13 L2CAP(d): cid 0x0040 len 9 [psm 0] 0B EF 0B 62 30 30 30 30 9A > HCI Event: Number of Completed Packets (0x13) plen 5 01 2A 00 01 00 > ACL data: handle 42 flags 0x02 dlen 14 L2CAP(d): cid 0x0040 len 10 [psm 0] 09 FF 0B 01 62 02 3D 00 CC 5C < ACL data: handle 42 flags 0x02 dlen 13 L2CAP(d): cid 0x0040 len 9 [psm 0] 0B EF 0B 61 30 30 30 30 9A > HCI Event: Number of Completed Packets (0x13) plen 5 01 2A 00 01 00 > ACL data: handle 42 flags 0x02 dlen 14 L2CAP(d): cid 0x0040 len 10 [psm 0] 09 FF 0B 01 61 01 E3 00 CC 5C < ACL data: handle 42 flags 0x02 dlen 13 L2CAP(d): cid 0x0040 len 9 [psm 0] 0B EF 0B 62 30 30 30 30 9A > HCI Event: Number of Completed Packets (0x13) plen 5 01 2A 00 01 00
2012.02.02
コメント(0)

備忘録を兼ねて「PIC24FJ64GB002+USB Bluethoothドングル」の検出と登録の方法について記述する。以降「PIC24FJ64GB002+USB Bluethoothドングル」を端末と記述。本端末は電源ONで常に検出可能状態になっている。1。Windows(Vista)の場合端末とのペアリングの設定。ワイアレスデバイスの追加を選択。PIC-24Fを選択して次へで完了。コードを使用せずにペアリングを選択して次へ以降、Pythonから使用できる。
2012.02.01
コメント(0)

まず、アプリの構成から、本職はC言語ですが楽したいのでPythonを使用しました。また、OSはLinux(Ubuntu)を使用しています。 最近はUbuntuの方が起動時間やWEB、その他はLinuxの方が早く感じるので、開発環境等がWindowsにしか無いとき以外はLinuxを使用しています。最近は無料のOSでも実用になるように感じています。それに、PythonはLinuxでもWindowsでもほぼ同じプログラムを利用できるのでその点便利です。まずはPythonでの画面構成です。チェック用の単純なグラフです、グラフも実質10行ぐらいで完成なので、C言語でのプログラミングが嫌になりそう。恥ずかしいですが、ソースプログラムです。Pythonはこのプログラムが初めてですので参考程度にしてください。# -*- coding:utf-8 -*-import pygtkpygtk.require("2.0")import sysimport gtkimport threadingimport timefrom bluetooth import *from Tkinter import *import numpy as npimport matplotlib.pyplot as pltclass GtkTmp(): def __init__(self): self.builder = gtk.Builder() #ファイルから画面を作成 self.builder.add_from_file("btondo.glade") self.builder.connect_signals(self) self.window = self.builder.get_object("dialog1") self.window.connect("delete-event", self.test) plt.ion() self.window.show() def main(self): gtk.main() def on_stop_clicked(self, button): self.loop = False def on_connect_clicked(self, button): self.loop = True t = threading.Thread(target=self.sense) t.start() def sense(self): s1=BluetoothSocket( RFCOMM ) s1.connect(("00:1b:dc:00:3a:7a", 1)) tmp = self.builder.get_object("tmp1") vt = self.builder.get_object("v1") x=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] y=[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ma=[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0] while self.loop: gtk.gdk.threads_enter() s1.send("a0000") d1=s1.recv(10) vv=(ord(d1[1])
2012.01.31
コメント(1)

ノートパソコンのスカイプ用に片耳Blutoothイヤホンを付けようと思って、探していたら、PCのUSB接続のBluetoothドングルが千円以下で入手出来る事が判って早速取り付けてみた、それはそれで終わったのだが、Bluetoothを調べているうちに、中々面白いのでBluetoothドングルをマイコンで制御出来れば、低価格の無線端末が出来そうなので検討してみた。 たまたま、USBのホスト接続出来るPICマイコン「PIC24FJ64GB002」を持っていたので、USBのドングルが接続出来ないか調べてみたら、Bluethoothドングルに接続するソースが「hrdakinoriさん」のブログでソースまで公開されていましたので評価用に利用させていただきました。[USB Blutoothドングル][Bluetooth温度計システムの構成]アプリ(Python+GTK+Plot) ↑ ↓ノートパソコン+USB-Bluetoothドングル ↑ (無線) ↓PIC24FJ64GB002+USB-Bluetoothドングル ↑ (A/D変換) | LM61(温度センサ)[Bluetooth温度計の試作機]
2012.01.30
コメント(0)
昨日に続いて古いコンピュータの話を、ブログに書くため、或いは忘れないために昔の事を思い出すと、確かに古き良き時代です。今から約30年ぐらい前のソフトウェア開発の状況は、その頃テキストエディタは存在していませんでしたので、媒体はIBM80欄のパンチカードで、フォートランの開発していました。たぶん、パンチカードを知っているのは私と同じ年代の人しかいないと思います。 80欄のパンチカード(興味のある人はIBMの80欄カードで検索)カード一枚がソース1行に対応しますのでソースを修正するときは、数千枚のカードの中から目的のカードを探し出して新しいカードと入れ替えることが編集作業です。今の若い人には信じられないでしょうが。それで、帰る時にパンチカードをオペレータの人に預けておくと夜中にコンパイルしてくれますのであくる日にコンパイルエラーを確認するの繰り返しが開発の作業です。
2010.02.01
コメント(0)
昔の事を話し出すと年をとった証拠と言いますが、ちょっと昔のコンピューターの話を少し、20代の初めぐらいからコンピュータにかかわって約40年近くなりますが。。。今から30年位前のコンピュータの状況は(余りに昔の話ですので5年程度の誤差があるかもしれませんが)その頃の汎用機の構成はメインCPU&メインメモリ4GB、確か仮想記憶もあったような気もしますが、ラインプリンタ、磁気ドラム、MT、コンソールなどの構成で、月のリース代が1000万程度していたと思います。この構成ですと、今の10万程度のパソコンの方が性能的には上と思います。すなわち、数億円のコンピューターと同じものが自宅で使える様になったことになります。それだけでも凄いとゆうか、何か恐ろしいですね。
2010.01.31
コメント(0)
何時から書いていないのか、久しぶりの書き込みです。30年近くフリーのソフト屋(ソフトクリーム屋ではなく)をしてきましたが、最近は全く仕事が無いですね。フリーの仲間も3~4人居ますが皆失業中です。それも、半年以上。。。マイコン仕事を主にしていますが、マイコンはメーカでの開発が殆どなのでメーカーが不景気だと当分なさそうです。それに、還暦なのでそれも影響していますが.....まあ、マイコンの開発をする人は50歳以上の人間が多いですが。しかし、これから先ソフトウェア業界はどうなるのか???
2010.01.29
コメント(0)

今までとは流れが少し違いますが、MC9S08QG4を使用してLEDを蛍のように点滅します。 MC9S08QG4(8ピン)、抵抗、LEDの3個で出来ます。ソフト屋なのでエレキは余り詳しくないですが、ロジックで組めばもっと複雑で費用も掛かるような気がします。 本当にマイコンは安くて便利になったものです。
2009.10.01
コメント(0)

ユニポーラのパルスモータ制御ユニットです。モータドライバはFT5754Mを使用しています。 CPUのアナログポートに古いモデムのボードから取り外した、ブザー、VRを接続しています。VRはパルスモータの速度制御のテストに使用します。ブザーは汎用で他のCPUからのI2Cを経由で鳴らすことが出来ます。パルスモータも大昔の8'FDDから取り外したものです。リード線は6本出ています。リード線は導通のある3本ずつに分けて、3本の直流抵抗を測って電源ラインを見つけます。 電源ラインを除くと4本のラインに、それぞれボタンSWを接続して手動で順番に押して正常に回転するように押してみることで接続が判ると思います。
2009.09.30
コメント(0)

昨日のDCモータ制御用のユニットの3個のTA7291Pのうち2個を使用して制御します。パルスモータはバイポーラ型で、多分大昔に8(5)'FDDから外したものでは?リード線は4本ですので導通のある2本の線にそれぞれパルスと加えると大抵回ると思います。後は回転が正逆方向をみてソフトを修正するぐらいです。 現状は単に回して見る程度のソフトですが、回ると何故か感激します。
2009.09.29
コメント(0)

DCモータの正逆回転等を制御するユニットです。モータのドライブ用にTA7291Pを3個接続しています。TA7291Pはビデオ等のDCモータを使用する機器に割りと使われているようで3個のうち2個は不要のビデオの基板から取り外したものです。モータに接続されているスリットをフォトインタラプタで検出し、出力を整形する為にOPアンプのLM358に接続しています。 スリットをカウントしてモータの回転角度等を制御します。このメカは、多分5'FDDのシーク制御に使用されていたものでは無いかと思います。モータ停止時の慣性動作、誤差等のテストに使用出来ます。
2009.09.27
コメント(0)

昨日と同様に捨てる予定のFDD,CD、プリンタ等から取ってきたパルスモータです。パルスモータには、ユニポーラ、バイポーラの2種類有るようですが、リード線の正式な色分けは無いようで、ユニポーラのリード線は6本、または5本から見たいです。6本の場合は、2種類のコイルの電源が別々、5本の場合は電源が共通のようです。6本の場合、それぞれのコイルが別々なので導通テストで導通しない3本どうしに分けられるので何となくわかると思います。バイポーラの場合は4本みたいですので導通テストで導通する2本にそれぞれパルスを加えると、正または逆に回転すると思います。
2009.09.24
コメント(0)

下の写真は各種DCモータの写真です。 これらのDCモータは買った物ではなく、10数年前からのプリンタ、ビデオ、8’FDD,5’FDD、CDドライブなどを分解して取り外したものです。かなり小さなモータから大きなものも手にはいります。モータの規格等は不明ですがDC1.5V→12V程度を順次接続していくと大体の感じがわかります。ビデオ、プリンタ等は粗大ゴミに出す前に中を見て必要なものを取り外すのはおすすめです。
2009.09.23
コメント(0)

マイコンを使用してゴム鉄砲を作るのもヒンシュクを買いそうですが、動作確認に... 超音波センサを横切ると、I2C通信ライン経由でRCサーボユニットにコマンドを発行してゴムを発射します。単純ですが遊べます。超音波センサはマイコン制御で距離センサの機能も持っていますので、ある範囲内の物体の検出にも使用できます。ゴミ袋を荒すカラスを脅かせないかな?
2009.09.22
コメント(1)

下記がロボット制御等によく使用されるRCサーボを制御するユニットです。回路は簡単で、CPUのPWMのタイマ出力をサーボモータのシグナル線に接続しているだけです。PWMタイマは2CHあるので2個のサーバを制御出来ます。現在、未使用ですがポートが余っているのでパルスモータの制御にMP4024も接続しています。ソフトも簡単で20msのPWMを発生させてパルス幅を変化することによりサーボモータの角度を制御しています。
2009.09.21
コメント(0)

下の写真が超音波測定ユニットです。 送信回路と受信回路からなっています。送信回路は、CPUのPWMタイマを利用して40KHzのパルスを発生させ、4069で増幅して送信ユニットに接続しています。受信回路は、受信センサの出力をOPアンプで2段増幅して、CPUのアナログ端子に接続すると同時に、OPアンプ出力を74HCU04に入力して出力をI/Oポートに接続したアナログとデジタルの2種類の信号をCPUの入力にしています。緑と白のリード線が電源で、赤と黒のリード線がI2Cのラインです。LEDは汎用のLEDで現在は障害物を検出したときに点灯します。図面をつければ良いのですが、本来はソフト屋ですので回路図を描くのが不得意ですので勉強してそのうちつけるようにします。
2009.09.20
コメント(0)
HCS08マイコンは、フリースケール社製のマイコンです。フリースケール社は余り聞かなかった名前ですが、モトローラの半導体部門と聞けば納得します。モトローラは20数年まえに、私の大好きなマイコン68000,6809,6502などを作っていた会社ですね。68000はアーキテクチャもしっかりしたマイコンでアセンブラでのプログラミングでも苦にならなかったのですが、なぜか8086に負けてしまいました。このとき、いい製品が売れるとは限らない、コンピュータはソフトが命と思ったものです...HCS08マイコンですが大体以下の特徴があります。今回使用したMC9S08QG8/QG4の特長・HCS08コアを搭載・8K/4Kのフラッシュ・メモリの選択が可能・同期および非同期シリアル・ペリフェラル(SPI、IIC、SCI)・8チャネル、10ビットの温度センサ付きA/Dコンバータ・アナログ・コンパレータ・モジュール(ACMP)・2チャネル・タイマ/PWMモジュール(TPM)および8ビット・モジュロ・タイマ・モジュール(MTIM)・エッジ検出モードとエッジ/レベル検出モードをソフトウェアで選択可能な8ピン・キーボー・ド割込み(KBI)モジュール・周波数ロック・ループ(FLL)を内蔵した内部クロック・ソース(ICS)モジュールMC9S08QG8の価格は大体\300~\400位の様です。LEDを点滅する程度の装置なら、クロック内臓ですのでロジックで組むのと同じ程度の価格で済むのでは無いかと思います。デバッカは、SPYDER(USBSPYDER08)とゆうBDMデバッカが開発環境つきで\4000程度で売っています。BDMデバッカといえば大体5万~50万ぐらいしていましたので驚きです。昔、68000のFull-ICEは1千万程度していましたのでマイコンの世界は驚くほどの進化ですね。
2009.09.19
コメント(0)
I2C通信は、SH2とかのマイコンでは、カレンダLSIやシリアルメモリ等の制御に使用していたのですが、殆どがマスタ→スレーブ接続で要求は常にマスタからスレーブに対して、リード要求、ライト要求で制御していたのですが、HCS08のマイコンは、・信号線は3本。SCL,SDA,GND。 GNDを共有した場合は、SCLとSDAの2本で通信できる。・ワイアードOR接続。・マルチマスターが出来ます。←注目・ノード指定で通信がでる。SH2でシリアルメモリ等を使用していたときは、マルチマスタの機能を知らなかったのですが、マルチマスタが使用できると、各CPUから自由にノードを指定して他CPUにコマンドを発行出来るので非常に便利です。
2009.09.18
コメント(0)

さて、RAM=512,ROM=8K程度で何を作ろうかと?今までは、殆どが、SH,M16Cなどでリアルタイムモニタを使用したシステムをつくってきたが、今回はモニタは使用できそうに無いので、HCS08の中には通信機能が色々使えるものが有るのでちょっと変わった使い方(?)をしてみようかと。
2009.09.18
コメント(0)
定年で暇なので前から考えていたマイコンで遊ぼうかと。実際は、自営業(ソフトウェア業)なので定年は無いのですが、不景気で強制的に定年のような...出来るだけお金はかけたくないので、数千円で手に入るマイコンを買って遊んでみましたが、HCS08のシリーズに決定。理由は以下。・型番にもよりますが、価格が安い、大体\400以下、RAM=512byte,フラシュ=8kbyte,16pin)・フラシュライタ、デバッガが\4000程度・コンパイラが無料・クロックを内臓しているので、LEDの点滅等ならば、 CPU,LED,抵抗の3点で実現出来る。貧乏人の味方のようなマイコンですね。
2009.09.17
コメント(0)
全28件 (28件中 1-28件目)
1


