8051ベース温度制御システムの実装とPID調整
本稿では、8051マイコンを用いた温度制御システムの設計と実装について解説する。システムはHD7279ドライバによる4桁7セグメントディスプレイとキーパッド、DS18B20温度センサ、I²C EEPROM(24C16)、およびPWM制御可能なファンモータで構成される。全体のコード量は約1500行で、Keil C51で開発され、フラッシュメモリ容量8KBの制限に対応するため最適化レベル9が適用され ...
7月11日 20:37 投稿
STC12C5A60S2マイコンとSC09Aタッチチップによる増減ボタン実装
概要
本記事では、STC12C5A60S2シリーズ1T 8051マイクロコントローラーとXiamen icman(晶尊微)製のタッチチップSC09Aを用いて、タッチボタンの実装方法を解説します。実装する機能は、一方のボタンは短押し・長押しの両方で値を増加させ、もう一方のボタンは短押し・長押しの両方で値を減少させるというものです。
ハードウェア構成
システムはSTC12C5A60S2マイクロコント ...
7月9日 21:01 投稿
第14回藍橋杯マイコン基礎問題の解法解説
14回目の藍橋杯マイコン基礎問題は、実際に取り組んでみると確かに難易度が高いと感じました。
システム構成と初期設定
#include <reg52.h>
#include "ds1302.h"
#include "onewire.h"
#define HC573_CHANNEL(ch) (P2 = (P2 & 0x1F) | (ch << 5))
unsigned char ds1302_data[7] = {0x50, 0x50, 0x23, 0x31, 0x03, 0x05, 0x22};
unsigned int temp_value = ...
7月8日 21:24 投稿
51マイコンにおけるUART通信の実装と制御
UART(Universal Asynchronous Receiver/Transmitter)は、低コストかつ高信頼性を持つ非同期シリアル通信インターフェースであり、マイコン同士、マイコンとPC、あるいは各種センサ・モジュールとの双方向データ交換を可能にします。8051アーキテクチャのマイコンには内蔵UARTが搭載されており、専用のレジスタ群を用いて送受信動作を柔軟に制御できます。
ハードウェア ...
7月2日 23:08 投稿
8051マイコンのUART通信実装ガイド
8051アーキテクチャのマイコンにおいて、UART(Universal Asynchronous Receiver/Transmitter)は外部デバイスとの双方向データ交換を実現する主要インターフェースです。開発ボードではUSB-シリアル変換チップが統合され、PCとの通信が可能となります。非同期伝送方式を採用するこのプロトコルは、ボーレート・データビット数・ストップビット・パリティビットのパラメー ...
6月27日 00:40 投稿
8051マイクロコントローラでのUART通信プロトコル実装
概要
本稿では、8051マイクロコントローラ(MCU)のシリアルインターフェース(UART)を使用し、ホストコンピュータとの間でデータ通信を行うシステムの構築方法について解説します。通信仕様は、モード1(8ビットUART)、ボーレート9600bpsとします。データ送信はポーリング方式、受信は割り込み方式を採用し、LEDの制御およびシステム状態の返信を行うプロトコルを実装し ...
6月21日 01:24 投稿
AT89C51による7セグメントLEDのダイナミックスキャン制御とProteusシミュレーション
AT89C51マイコンを使用して複数桁の7セグメントLEDを制御する際、表示がちらついたり、一部の桁だけ点灯したり、意図しないパターンが表示されることがあります。これは「ダイナミックスキャン」のタイミングや論理に誤りがあることが原因です。本稿では、Proteus環境で共陽極6桁7セグメントLED(7SEG-MPX6-CA)を安定して駆動するための「セグメント選択(セグ選)」と「 ...
6月18日 19:37 投稿
割り込みを利用した1秒カウンターの実装
概要
8051マイコン(AT89C52等)と2桁の7セグメントLED(カソードコモン)を用いて、1秒ごとにカウントアップする簡易ストップウォッチをタイマ割り込みで実現する。
タイマ0を16ビットモードで動作させ、50msごとに割り込みを発生。20回の割り込みで1秒を計測し、カウンタ値を表示する。
ヘッダファイル (head.h)
#include <reg52.h>
#define uint unsigned int
#d ...
6月8日 23:33 投稿