539基于单片机超声波视力保护系统设计-设计资料
硬件构成:单片机+最小系统+LCD1602液晶显示模块+超声波模块+DS18B20温度采集模块+光线检测模块+ADC0832模块+蜂鸣器模块+LED指示灯模块+按键模块
本设计基于STC89C51/52
1.LCD1602液晶显示测量的距离(头部与探头)、温度和看书时间(默认开机是45分钟);
2.带有温度补偿功能(DS18B20传感器);
3.采用超声波模块测距,测量范围0.02m~4m,精度为0.01m;
4.距离小于30cm,蜂鸣器和LED灯报警提示;
5.四个按键功能:按键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" //温度传感器头函数
点击并拖拽以移动
1137基于51单片机8音键电子琴仿真设计
#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八路模拟信号采集均值显示系统设计-微机
利用8255、ADC0809、8253、8259等元器件设计一个多路传感器数据采集并显示的系统。要求每20毫秒由8253产生一次中断请求,设8253时钟CLK等于1MHZ, 8253的OUT0连接到8259的IR2端,已知写入8259的ICW2是08H,中断服务程序名称为ISR_Sample8。要求每次20毫秒中断时,中断服务程序对ADC0809八个通道的每个通道采集一遍。主程序对八个通道传感器数据进行求平均值,并用三位七段数码管静态显示平均值。
;---模式设置----------------------------------------------------------------------------
.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八路数据电压温度采集系统仿真资料
利用8255、ADC0809、8253、8259等元器件设计一个多路传感器数据采集并显示的系统。要求每20毫秒由8253产生一次中断请求,设8253时钟CLK等于1MHZ, 8253的OUT0连接到8259的IR2端,已知写入8259的ICW2是08H,中断服务程序名称为ISR_Sample8。要求每次20毫秒中断时,中断服务程序对ADC0809八个通道的每个通道采集一遍。主程序对八个通道传感器数据进行求平均值,并用三位七段数码管静态显示平均值。
;---模式设置----------------------------------------------------------------------------
.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
1158基于8086波形发生器仿真设计-微机原理设计资料
; 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
目录