Quantcast
Channel: JH7UBCブログ
Viewing all articles
Browse latest Browse all 440

PIC16F628A 883周波数カウンタの製作その3

$
0
0
 PIC16F628A 883周波数カウンタの表示部について説明します。

 表示部は、PIC16F883を使用しています。8桁の7セグメントLEDを動かすためには、8+7=15のポートが必要です。このため、24個のI/Oを持つこのPICにしました。

 7セグメントLED(秋月電子のOSL-40562-LB)は、ダイナミック点灯としています。

 プログラムのメインループは、ダイナミック点灯に使い、データをシリアル通信でデータを受信したときに発生する割り込みにより、表示データを更新します。 通信速度は、19200bpsです。

 カソードコモンのLEDはデジタルトランジスタDTC114でドライブしています。これにより抵抗を8本省略できます。

 PIC16F883は、内部子ロック8MHzで動作させています。

 周波数測定部からは、周波数データがASCIIコードで送られてきますので、ASCIIコード一旦BCDに変換し、それをLED表示用のデータに変換しています。

 ASCIIコードのスペース(20h)は、00hに変換することにより、LEDが消灯されます。

; ------------------------------------------------
; BCD4ビットを7セグメントLED表示用に変換するサブルーチン
;-------------------------------------------------
BCD2LED
 ADDWF PCL,F
 RETLW 03Fh ;0
 RETLW 006h ;1
 RETLW 05Bh ;2
 RETLW 04Fh ;3
 RETLW 066h ;4
 RETLW 06Dh ;5
 RETLW 07Dh ;6
 RETLW 007h ;7
 RETLW 07Fh ;8
 RETLW 06Fh ;9
 RETLW 040h ;a
 RETLW 040h ;b
 RETLW 040h ;c
 RETLW 040h ;d
 RETLW 040h ;e
 RETLW 040h ;f

回路図です。

イメージ 1

 1桁当たりの表示時間を当初3msとしましたが、ちらつきを感じましたので、約1.6msとしました。

イメージ 2



Viewing all articles
Browse latest Browse all 440

Trending Articles