基于单片机的酒精浓度测试仪(编辑修改稿)内容摘要:
( ~ ) 是一个漏极开路型准双向 I/O口。 在访问外部存储器时,它是分时多路转换的地址 (低 8位 )和数据总线,在访问期间激活了内部的上拉电阻。 ( 2) P1口( ~ ) 是带内部上拉电阻的 8位双向 I/O口。 在 EPROM编程和程序验证时,它接收低 8位地址。 ( 3) P2口( ~ ) 是一个带内部上拉电阻的 8位双向 I/O口。 在访问外部存储器时,它送出高 8位地址。 在对 EFROM编程和程序验证期间,它接收高 8位地址。 ( 4) P3口( ~ ) 是一个带内部上拉电阻的 8位双向 I/O口。 在访问外部存储器时,它送出高 8位地址。 在对 EFROM编程和程序验证期间, 它接收高 8位地址。 第三章 硬件设计 毕业设计论文 10 单片机系统原理图 该芯片为 52内核 8位单片机,内部集成了 10位多路 A/D转换模块,适用于常用检测电路。 由 STC12C5A16AD组成的单片机系统原理图如图 36所示。 图中 AOUT为 MQ3传感器模块输出的检测电压信号,送入 ADC7端口进行处理, DOUT为传感器模块输出的数字电平信号,该信号可以根据乙醇气体浓度直接输出报警信号,报警阈值通过模块上的电位器进行调节。 图 36 单片机系统原理图 图中,按键 K2和 K3为醉酒阈值调整键,其中 K2为“增加”, K3为“减小”按键。 L2和 L3为报警指示灯,分别可以进行酒后和醉酒两级报警。 毕业设计论文 基于单片机的酒精浓度测试仪 11 复位电路用于单片机控制系统开机时所需的信号,通过 RST 引脚是复位信号的输入端。 复位信号是高电平有效实践单片机整个内部状态初始化。 高电平有效的持续时间应为 24 个振荡周期以上。 若时钟频率为 6MHz,则复位信号至少应持续 4 微秒以上,才可以使单片机复位。 复位以后, 07H写入栈指针 SP, P0口一 P3口均置 1(允许输入),程序计数器 PC 和其它特殊功能寄存器 SFR全部清“ 0”。 只 要该脚保持高电平,单片机便循环复位。 当 RST 端由高变低后,由 ROM 的 0000H 开始执行程序。 单片机的复位操作不影响内部 RAM 的内容。 本单片机的复位方式是手工复位如下图 37 所示: 图 37 复位电路图 XTAL1( 19 脚)和 XTAL2( 18 脚):外接晶体引脚。 当晶振确定后,也确定了单片机的基本时序周期。 一条指令译码产生的一系列微操作信号在时间上有严格的先后次序,这种次序就是计算机的时序。 其基本时序周期有如下四种。 ●振荡 周期:指振荡源的周期,若为内部产生方式,则为石英晶体的振荡周期。 T 振荡周期=1 /fosc。 ●机器周期:一个机器周期含 6 个时钟周期 (S 周期 )。 T 机器周期= 6*T 时钟周期= 12* T 振荡周期= 12/fosc。 STC12CXX 系列单片机有 1 个时钟周期 /机器周期。 ●时钟周期: (称 S周期 )为振荡周期的两倍,时钟周期=2倍的振荡周期 T时钟周期 =2* T 振荡周期。 ●指令周期:完成一条指令占用的全部时间。 805l 的指令周期含 1— 4个机器周期,其中多数为单周期指令,还有 2周期和 4周期指令。 当使用芯片内部时钟时,两个 引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接入外部时钟脉冲信号, 晶振电路如图 38 所示。 第三章 硬件设计 毕业设计论文 12 图 38 晶振电路图 显示模块 显示部分采用 SMC 1602 液晶屏进行数据显示,其主要技术参数如表 34所示: 显示容量 12 2个字符 芯片工作电压 工作电流 最佳工作电压 字符尺寸 2. 95 ( WXH) mm 表 34 液晶屏技术指标 接口信号说明如表 35所示: 编号 符号 引脚说明 编号 符号 引脚说 明 1 VSS 电源地 9 D2 Data 1/0 2 VDD 电源正极 10 D3 Data 1/0 毕业设计论文 基于单片机的酒精浓度测试仪 13 3 VL 液晶显示偏压信号 11 D4 Data 1/0 4 RS 数据 /命令选择端 12 D5 Data 1/0 5 R/W 读 /写选择端 13 D6 Data 1/0 6 E 使能信号 14 D7 Data 1/0 7 D0 Data 1/0 15 BLA 背光源正极 8 D1 Data 1/0 16 BLK 背光源负极 表 35 液晶屏接口信号说明 与单片机接口电路如图 39所 示。 其中 J2的 3脚为背光引脚, R9 和 R10电阻用于调节背光亮度。 J2 的 6 引脚分别接液晶的 RS、 E/W 和 E控制引脚, J2 的 7— 14引脚为数据引脚。 图 39 LCD 与单片机接口电路 存储模块 醉酒阈值存储在 EEPROM 芯片 AT24C04 中,并可以通过 “增加”、“减少”按键调节并保存。 AT24C04 是 IIC 接口的 EEPROM 芯片,可以用于掉电不易失数据的存储。 其电路如图 310 所示。 图中 A0、 A1 和 A2 为芯片的地址引脚,一般接地即可。 SCL和 SDA 为 AT24C04 和单片机 IIC 通信的时 钟线和数据线。 第三章 硬件设计 毕业设计论文 14 图 310 EEPROM 存储电路 供电及程序下载模块 本设计采用 USB 接口供电,电源电压 5V。 同时, USB 接口通过内含 PL2303 芯片的转换电路对单片机进行程序编写。 其电路原理如图 311 所示。 图 311 供电及程序下载电路 毕业设计论文 基于单片机的酒精浓度测试仪 15 第四章 软件设计 对于单片机的开发应用中,逐渐引入了高级语言, C语言就是其中的一种。 汇编语言的可控性较高级语言来说更具优越性。 程序编写语言比较常见的有 C 语言、汇编语言。 汇编语言的机器代码生成效率高,控制性好,但就是移植性不高。 C 语言编写的程序 比用汇编编写的程序更符合人们的思考习惯。 还有很多处理器都支持 C 编译器,这样意味着处理器也能很快上手。 且具有良好的模块化、容易阅读、维护等优点,且编写的模块程序易于移植。 基于 C 语言和汇编语言的优缺点,本程序采用 C 语言编写方法。 软件编写的主体思路是将系统按功能模块化划分,包括主程序模块, A/D转换模块,按键输入模块,液晶显示输出模块。 然后根据各个模块要实现的功能写各个子程序。 主程序模块 主程序实现的功能:与硬件相结合实现便携式酒精浓度检测仪的各个功能。 主要是 包括 A/D 转换模块,按键输 入模块,液晶显示输出模 块。 见 图 41: 图 41 主程序模块框图 第四章 软件设计 毕业设计论文 16 A/D 转换模块 ( 1) 模数转换模块的主要功能就是将经放大器放大的模拟电压信号转化为 MCU能够处理的数字信号,并传送给 MCU。 ( 2) A/D转换的流程图见下图 42: 图 42 模数转换模块框图 ( 3)程序介绍: void Timer0_ISR (void) interrupt 1 using 0 { TL0 = 0xcc。 TH0 = 0xf8。 //定时器赋予初值 //每 1 秒钟启动一次 AD转换 ALCounter ++。 if (ALCounter = 500) { FlagStartAL = 1。 ALCounter = 0。 } } 毕业设计论文 基于单片机的酒精浓度测试仪 17 按键输入模块 ( 1) 按键时显现人机对话的一个控制按钮,通过按键的操作,对系统进行发送操作指令,后经与 MCU 串行通信,然后在液晶上显示。 ( 2) 按键查询式的流程图见下图 43: 图 43 按键输入模块框图 ( 3)程序介绍: //定义按键 sbit Key_Up = P3^6。 sbit Key_Down = P3^7。 //定义 LED 报警灯 sbit Led_Warn1 = P3^4。 sbit Led_Warn2 = P3^5。 //定义乙醇传感器 TTL 电平输出引脚 sbit DOUT = P1^4。 第四章 软件设计 毕业设计论文 18 液晶显示输出模块 LCD 模块在本系统中主要起着开界面汉字显示,以及各控制效果的显示。 采用直接访问方式。 液晶显示的操作流程图见下图 44: 图 44 液晶显示输出模块框图 ( 3)程序介绍: L1602_string(1,1, )。 L1602_string(2,1, )。 L1602_string(1,1,Alcohol: mg/L)。 L1602_string(2,1,Thresho: mg/L)。 //载入设定值 Load_Setting()。 L1602_int(2,9,Threshold)。 毕业设计论文 基于单片机的酒精浓度测试仪 19 主程序 下面介绍 主程序编写,其他程序略。 (1) 头文件和一些宏定义 include include include define uchar unsigned char define uint unsigned int (2) 常量、变量定义和函数声明 //声明常量 define ALCH 80 //醉驾标准 80mg/L //K_MG_MV 和 K_ZERO 为传感器校准系数,要根据每个 MQ3 模块校准 define K_MG_MV 160/60 //传感器灵敏度系数,可以自行校准 define K_ZERO 0 //传感器零点漂移 //定义按键 sbit Key_Up = P3^6。 sbit Key_Down = P3^7。 //定义 LED 报警灯 sbit Led_Warn1 = P3^4。 sbit Led_Warn2 = P3^5。 //定义乙醇传感器 TTL 电平输出引脚 sbit DOUT = P1^4。 //定义标 识 volatile bit FlagStartAL = 0。 //开始转换标志 volatile bit FlagKeyPress = 0。 //有键弹起标志 char Threshold。 //酒精浓度上限报警值 第四章 软件设计 毕业设计论文 20 uint ALCounter。 //酒精转换计时器 int ALValue。 //酒精测量值 float ALtemp。 //计算临时变量 uint keyvalue, keyUp, keyDown。 //键值 char * pSave。 //EEPROM 存盘用指针 //函数声明 void Data_Init()。 void Timer0_Init()。 void Port_Init()。 void ADC_Init()。 uchar GetADVal()。 void KeyProcess(uint )。 (3) 各子程序。基于单片机的酒精浓度测试仪(编辑修改稿)
相关推荐
41内部截止 ,可控硅断开 ,关闭水泵 . 4 软件设计 工作流程 本装置的软件包括主程序、液位设定子程序以及有关 8255芯片的程序(初始化子程序、写程序和读程序 ),键盘设定子程序 ,报警输出子程序等。 这里主要介绍主程序 ,工作流程如图 6所示。 主程序完成的功能是 :启劢传感器采集信号 ,输入转换器迚行转换 ,输入单片机迚行数据处理 ,将处理结果不给定值比较 ,比较结果迚入输出通道。 若
也就越小。 这么做有效的避免了人为确定数值的随意性,使结果唯一,但也具有客观性、合理性。 ②计算机软件的开发使因子分析法的全部过程可以更加方便快捷地进行,具有很强的操作性。 因此,本文的研究方法选择因子分析法。 3 食品制造业上市公司经营绩效评价指标体系的构建 食品制造业上市公司指标建立的原则 企业经营绩效评价的一个重要部分就是食品制造业上市公司绩效评价指标体系,它应根据企业经营
因子分析进行适用性检验,在 SPSS 软件中检验方法是 KMO 检验法和巴特莱特球形度检验法,当 KMO 检验值大于 或巴特莱特球形度检验 P 值小于 时表明数据适合因子分析。 由运行结果可以看出, KMO 和 Bartlett 球形度检验显示,数据适合做因子分析。 Communalities Initial Extraction 二氧化硫 .891 氮氧化物 .848 烟尘 .754
机 械波相同的电信号。 电 极 压 电 晶 片共 振 板 图 压电式超声波传感器结构图 压电式超声波发生器实际上是利用压电晶体的谐振来工作的,超声波发生器内部结构如图 所示,它有两个压电晶片和一个共振板,当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。 反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动
向。 在 MIMO 解耦控制中目前逐渐出现了将自适应控制、预测控制、神经网络、模糊控 制、遗传算法等先进控制手段合理搭配来实现解耦 , 这种扬长避短的方法也不失为解决耦合问题的一个有效途径。 本文主要工作 本题目的 主要内容 是构造一个多输入、多输出耦合系统;设计 基于 单片机的解耦控制系统 硬件装置,针对耦合系统构造补偿 PID 控制和解耦控制算法,并编制软件程序,实现多输入
稳运行。 吊架:用于运动门扇的 悬挂,安全可靠。 毕 业 论 文 6 课题研究设计思路 有人来时(进门或出门)开门。 当人走到离门不远的时候时,安装在门上侧的红外线传感器信号检测装置检测到有人时,将启动电动机带动传动链开门。 当人离开后,自动门将延迟 1秒启动电动机带动传动链关门。 图 11 红外门原理图 毕 业 论 文 7 第二章 方案论证 电动机调速控制 1 电动机的调速方法很多