1100072-课程设计报告-基于51单片机的酒精浓度检测+仿真+报告+原理图proteus可做实物
功能描述:(可做实物)
基于51单片机的酒精浓度检测+仿真+报告+原理图
1、检测酒精浓度
2、设置酒精浓度阈值
3、超过阈值报警
4、继电器动作、蜂鸣器动作
有哪些资料:
1、PCB图
2、实物图
3、原件清单
4、原理图工程
5、源代码及仿真工程
6、制作实物过程照片
7、制作详情
8、课程设计报告-7374字
#include <reg52.h> //调用单片机头文件
#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255
#define uint unsigned int //无符号整型 宏定义 变量范围0~65535
sbit CS=P2^4; //CS定义为P2口的第4位脚,连接ADC0832CS脚
sbit CLK=P2^3; //SCL定义为P2口的第3位脚,连接ADC0832CLK脚
sbit DODI=P2^2; //DODI定义为P2口的第2位脚,连接ADC0832DODI脚
sbit beep = P3^2; //蜂鸣器IO口定义
long dengji,s_dengji = 80; //酒精浓度
uint flag_300ms ; //300毫秒的变量
//这三个引脚参考资料
sbit rs=P2^7; //1602数据/命令选择引脚 H:数据 L:命令
sbit rw=P2^6; //1602读写引脚 H:数据寄存器 L:指令寄存器
sbit e =P2^5; //1602使能引脚 下降沿触发
sbit relay = P1^0; //继电器IO口定义
sbit key1 = P1^2; //按键IO口定义
sbit key2 = P1^3; //按键IO口定义
/***********************1ms延时函数*****************************/
void delay_1ms(uint q)
{
uint i,j;
for(i=0;i<q;i++)
for(j=0;j<120;j++);
}
/********************************************************************
* 名称 : delay_uint()
* 功能 : 小延时。
* 输入 : 无
* 输出 : 无
***********************************************************************/
void delay_uint(uint q)
{
while(q--);
}
/********************************************************************
* 名称 : write_com(uchar com)
* 功能 : 1602指令函数
* 输入 : 输入的指令值
* 输出 : 无
***********************************************************************/
void write_com(uchar com)
{
rs=0; //写指令
rw=0; //对1602写操作
P0=com; //P0口对1602写指令数据
delay_uint(25);
e=1; //e=1使能信号
delay_uint(100); //延时一下等1602完成操作
e=0;
}