シングルチップマイコンに基づく539超音波視覚保護システムの設計 - 設計情報
ハードウェア構成:MCU + ミニマムシステム + LCD1602 液晶表示モジュール + 超音波モジュール + DS18B20 温度取得モジュール + 光検出モジュール + ADC0832 モジュール + ブザーモジュール + LED インジケータモジュール + キーモジュール
この設計は STC89C51/52 に基づいています
1. LCD1602 液晶には、測定された距離 (ヘッドとプローブ)、温度、読み取り時間が表示されます (デフォルトの起動時間は 45 分です); 2. 温度補償機能付き (DS18B20 センサー); 3. 距離測定に超音波モジュールを使用する
と
、測定範囲は0.02m~4m、精度は0.01m;
4. 距離は30cm未満、ブザーとLEDライトアラームプロンプト;
5. 4つのボタン機能: ボタン1リセットボタン、ボタン2設定、ボタン3プラスボタン、ボタン 4 マイナスボタン;
6. 追加機能: フォトレジスタを使用して光の強度を検出し、AD0832 アナログ - デジタル変換チップがアナログ量をデジタル量に変換し、それをシングルチップ マイクロコンピュータに送信します。光が強すぎるか弱すぎる場合、アラームプロンプトが表示され、ボタンを押して光アラーム値を設定できます。
//显示模式 0正常 1计时时间调整 2最小值调整
uchar mode=0;
char min=45;
char sec=0;
char Mini=30;
char HG=70;
char LG=30;
//按键标志
uchar k=0;
//数值有误
uchar FW=0;
uint light=0;
/*********************************端口定义**********************************/
sbit CS = P2^3;
sbit Clk = P2^0;
sbit DATI = P2^1;
sbit DATO = P2^1;
/*******************************定义全局变量********************************/
unsigned char dat = 0x00; //AD值
unsigned char CH=0; //通道变量
//uchar pdata tt[51]; //定义空数组用于AD取平均值
bit bdata flag_BJS=0,flag_BJC=0,flag_BJG=0,jishi=1;
#include "BJ_Key.h" //报警按键
#include "display.h" //显示头函数
#include "ultrasonic_wave.h"//超声波头函数
#include "DS18B20.h" //温度传感器头函数
点击并拖拽以移动
51個のシングルチップマイクロコンピュータに基づく8キー電子オルガンの1137シミュレーション設計
#include<reg52.h> //定义头文件
#define uchar unsigned char //宏定义
#define led P0 //定义LED等位P0口
#define sw_port P1 //中间变量。。。使按键和led对应
sbit buzzer=P2^7; //扬声器管脚
sbit key1=P3^2; //播放音乐与弹奏歌曲转换
sbit key3=P3^4; //掉电存储按键
sbit key4=P3^5; //播放掉电存储的歌曲
sbit keybofang=P3^3; //播放刚才弹奏的歌曲
sbit key7=P3^0; //音调键。。。 和 歌曲键
sbit key8=P3^1; //音调键。。。 和 歌曲键
sbit key6=P1^7;
sbit key5=P1^6;
sbit sda=P1^1; //24c02数据线
sbit scl=P1^0; //24c02时钟线
uchar keyd,i,keys,b; //定义变量
uchar tone_H; //定义变量
uchar tone_L; //定义变量
void beat_125(unsigned char); //声明函数
uchar code beat1[]={16,8,8,8,8,4,4,16,8,4,4,8,4,4,4, //歌曲1节拍
4,4,4,16,16,8,8,4,4,12,8,16,16,8,4,4,4,4,16};
uchar code song1[]={6,5,3,5,7,6,5,6,3,5,6,5,3, //歌曲1简谱
2,1,6,5,3,2,2,3,5,5,6,3,2,1,5,3,2,1,6,1,1,15};
uchar code beat2[]={7,7,7, 7,8,9, 1,2,3, 6,2,4, 4,4,4, 12, //歌曲二节拍
8,2,2, 4,4,4, 8,2,2, 4,4,4, 2,2,4,4, 12,};
uchar code song2[]={1,2,8, 8,5,1, 3,3,3, 5,4,3, //歌曲二简谱
5,4,3, 2, 2,1,0, 1,2,3, 4,3,2, 3,4,5, 5,4,3, 2,1,15};
uchar code beat4[]={4,4,4, 6,2,4, 4,4,4, 6,2,4, 4,4,4, 12,
8,2,2, 4,4,4, 8,2,2, 4,4,4, 2,2,4,4, 12,};
uchar code song4[]={1,1,1, 3,2,1, 3,3,3, 5,4,3,
5,4,3, 2, 2,1,0, 1,2,3, 4,3,2, 3,4,5, 5,4,3, 2,1, 15};
uchar code tone[]={115,102,91,86,77,68,61,57}; //歌曲音调
unsigned int code tone1[]={1012,956,852,759,716,638,568,506,478,426,379,531,10}; //歌曲音调
uchar song3[43]; //定义空数组
void play(uchar*,uchar*); //演奏歌曲函数
void delay8um(uchar); //第一8um延时函数
void sound(uchar); //弹奏发声函数
1155 8086 8 チャンネルアナログ信号取得平均値表示システム設計マイコン
8255、ADC0809、8253、8259 およびその他のコンポーネントを使用して、マルチチャネル センサー データ収集および表示システムを設計します。8253 が 20 ミリ秒ごとに割り込み要求を生成すること、8253 のクロック CLK を 1MHZ に設定すること、8253 の OUT0 が 8259 の IR2 端子に接続されること、8259 に書き込まれる ICW2 が 08H であることがわかっていること、および割り込みサービスの名前がわかっていることが必要です。プログラムはISR_Sample8です。20 ミリ秒ごとの割り込みが必要な場合、割り込みサービス ルーチンは ADC0809 の 8 チャネルの各チャネルを 1 回収集します。メインプログラムは8チャンネルのセンサーデータの平均値を計算し、3本の7セグメントデジタル管を使用して平均値を静的に表示します。
;---模式设置----------------------------------------------------------------------------
.model small
.8086
;---宏定义-----------------------------------------------------------------
;---常量端口地址定义--------------------------
nIO1 equ 0200h
nIO2 equ 0400h
nIO3 equ 0600h
nIO4 equ 0800h
nIO5 equ 0a00h
; 8255A端口
PORT_A_8255 equ nIO1 ; 8255A控制端口
PORT_B_8255 equ nIO1+2 ; 8255A 端口A
PORT_C_8255 equ nIO1+4 ; 8255A 端口B
PORT_CTR_8255 equ nIO1+6 ; 8255A 端口C
; ADC0809端口
PORT_START_0809 equ nIO2 ; 启动并选择通道端口
PORT_EOC_0809 equ nIO2 ; 查询AD转换结束否端口
PORT_DATA_0809 equ nIO3 ; 读转换结束端口
1156 8086 8 データ電圧温度取得システム シミュレーション データに基づく
8255、ADC0809、8253、8259 およびその他のコンポーネントを使用して、マルチチャネル センサー データ収集および表示システムを設計します。8253 が 20 ミリ秒ごとに割り込み要求を生成すること、8253 のクロック CLK を 1MHZ に設定すること、8253 の OUT0 が 8259 の IR2 端子に接続されること、8259 に書き込まれる ICW2 が 08H であることがわかっていること、および割り込みサービスの名前がわかっていることが必要です。プログラムはISR_Sample8です。20 ミリ秒ごとの割り込みが必要な場合、割り込みサービス ルーチンは ADC0809 の 8 チャネルの各チャネルを 1 回収集します。メインプログラムは8チャンネルのセンサーデータの平均値を計算し、3本の7セグメントデジタル管を使用して平均値を静的に表示します。
;---模式设置----------------------------------------------------------------------------
.model small
.8086
;---宏定义-----------------------------------------------------------------
;---常量端口地址定义--------------------------
nIO1 equ 0200h
nIO2 equ 0400h
nIO3 equ 0600h
nIO4 equ 0800h
nIO5 equ 0a00h
; 8255A端口
PORT_A_8255 equ nIO1 ; 8255A控制端口
PORT_B_8255 equ nIO1+2 ; 8255A 端口A
PORT_C_8255 equ nIO1+4 ; 8255A 端口B
PORT_CTR_8255 equ nIO1+6 ; 8255A 端口C
; ADC0809端口
PORT_START_0809 equ nIO2 ; 启动并选择通道端口
PORT_EOC_0809 equ nIO2 ; 查询AD转换结束否端口
PORT_DATA_0809 equ nIO3 ; 读转换结束端口
; 8253定时器端口
PORT_COUNTER0_8253 equ nIO4
PORT_CTR_8253 equ nIO4+6
8086波形発生器に基づく1158シミュレーション設計 - マイコン原理設計情報
; 8255+DAC0832 をスイッチで制御してさまざまな波形を生成する例では、ノコギリ波、三角波、矩形波(方形波)、パルス波、台形波のデモンストレーションを順番に実現できます。
;输出专用,X为端口地址,Y为要输出内容
OUT_PORT MACRO X,Y
MOV DX, X
MOV AL, Y
OUT DX, AL
ENDM
;延时的宏,X用于延时设定,AA为标号
DELAY_M MACRO X,AA
LOCAL AA
MOV BX,CX
MOV CX,X
AA:
LOOP AA
MOV CX,BX
ENDM
;====================================================================
;几个常数的设定
IO6 EQU 60H ;8255 PA端口地址
TIMES EQU 40 ;用于延时控制
この記事は典社から転送されており、データ百度ネットワーク ディスクのダウンロード アドレスは https://www.aiesst.cn/share.html です。
目次
シングルチップマイコンに基づく539超音波視覚保護システムの設計 - 設計情報
51個のシングルチップマイクロコンピュータに基づく8キー電子オルガンの1137シミュレーション設計
1155 8086 8 チャンネルアナログ信号取得平均値表示システム設計マイコン
1156 8086 8 データ電圧温度取得システム シミュレーション データに基づく
8086波形発生器に基づく1158シミュレーション設計 - マイコン原理設計情報