×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。

16F84A XC8開発例 - カウンタ回路(7セグメントLEDの制御)

はじめに

本ページでは,PIC16F84AとMPLAB XC8 C Compilerを使用した開発例として,1桁の10進数を1秒毎にカウントアップして7セグメントLEDに表示する回路(以降,カウンタ回路)を紹介します.

下記の環境で動作を確認しておりますが,動作を保証するものではありません. 掲載情報は自己責任の上でご利用ください.

PIC 16F84A
MPLAB IDE MPLAB IDE v8.91
MPLAB XC8 MPLAB XC8 C Compiler v1.20
PICkit 2 Application Version 2.61.00 / Device File Version 1.61.00

回路

回路図

今回はブレッドボード上に回路を組むことにしました. PICkit 2によるICSP (In Circuit Serial Programming)と電源供給を行うことし,回路部品数は必要最低限に抑えています.

回路部品

上記の回路図中で使用している回路部品のリストです. 参考単価は,7セグメントLEDを除き,秋月電子通商で購入した場合のものです.

使用部品表
番号 部品名 型番 数量 参考単価
U1 PICマイコン Microchip 16F84A 1 220円
X1 セラロック 村田製作所 10MHz 1 30円
LED1 7セグメントLED PARA LIGHT C-421E(カソードコモン) 1
R1 炭素皮膜抵抗 各社 1/4W 10kΩ 1 1円
R2 - 8 炭素皮膜抵抗 各社 1/4W 200Ω 7 1円
その他 リード線など 適量

プログラム

下記のプログラムはMPLAB XC8 C Compiler向けです.Cコンパイラの種類にご注意ください.

実装

回路構成例

上記の回路図を基に,ブレッドボード上に回路を組み立てました.電源はPICKit 2から供給しています.

動作例

上記のプログラムを実際に動作させたときの映像です.

__delay_ms関数にエラーマークが表示されるときは

文法や関数の利用方法に問題がなくコンパイルが成功するにも関わらず, __delay_ms関数や__delay_us関数にエラー(警告)マークが表示される場合,下記の記事をご一読ください.

blog 渓鉄: MPLAB X+XC8で__delay_ms関数にエラーマークが表示される問題の解決方法