第一篇:12864lcd显示部分试验总结报告
12864lcd显示部分试验总结报告
管岱2014.12.19 【实验目的】
在12864液晶显示屏上能够显示出在4×4小键盘上输入的激励源频率值,如输入“789HZ”、“8MHZ”、“2.3KHZ”,显示出“789H”、“8M”、“2.3K”。并且要求此部分程序有较好的可移植性,在最后对电阻率值的显示上能够较好的应用。
【实验原理】
12864-3A接口说明表:
在12864液晶显示原理的基础上,通过在ise上编写vhdl语言,使之能够在fpga学习板上顺利显示数据。
【实验内容】
12864的显示原理并不难理解,并且在以前也用汇编语言实现过,所以本次实验的难点不在于显示原理的理解,而在于VHDL语言的编写。
在实验初期,由于对vhdl语言的不熟练,我们“类比”汇编语言的显示程序,编写出如下的程序:
发现编译时就出现了问题,出现如“multi-source in unit <*> on signal <*>”的报错。在仔细调试检查后发现,我们错误的原因在于:在不同的进程中对同一个信号赋值。例如,在写指令的进程中,将rs信号置‘0’,而在后面写数据的进程中又将rs置‘1’,由于在vhdl中各进程之间是并行的关系,因此这样编写程序会出现在同一时刻对同一个引脚赋高电平和低电平,从而出现矛盾。虽然在程序实际运行中,写指令进程在系统一上电就会完成,远早于写数据进程,但是在逻辑上这样编写是不符合VHDL语言的规则的。
因此,我们利用状态机的思想,将写指令和写数据的两个进程合二为一。程序片段如下:
利用状态机,将写指令和写数据的各个步骤分为一个一个分立的状态,顺序执行。这样编写将对同一个引脚信号的变化放在一个进程中,很好的解决了之前存在的问题。
并且受此启发,在写数据的程序段,对百位、十位、个位以及单位的译码程序中,将原本分别对各自数位信号敏感的四个单独进程改成了受一个的时钟上升沿敏感的一个进程,从而较好的保证了程序的时序性和同步性,经实验验证效果良好。
【实验改进】
最初的设想是三位有效数字(k1、k2、k3),加上一个单位(hz、khz、mhz)就能够满足大部分数字范围。但是后来发现这样不能实现例如“1200HZ”的数据。因此改进实验程序,加入小数点。
在十位的译码程序中加入对小数点的译码,这样当输入第二位时按下小数点的按键,就能在显示屏上显示出小数点,且不影响其它位显示。因此若要显示“1200HZ”的频率,则可显示出“1.2 K”。
【实验体会】
对不熟悉的编程语言,我们不能拿别的语言的相关程序来生搬硬套,不能用别的语言的思维来考虑本语言的编程。在VHDL语言中,“进程”的思想十分重要,进程之间相互并行的特点既可以帮助我们利用模块化的思想编写程序,但同时也给不熟悉VHDL的人带来了困难。多阅读程序,多练习编程,多理解本语言的思想,不仅对VHDL语言是这样,在今后学习其他语言也是同样的道理。
【实验代码】
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;use ieee.numeric_std.all;
ENTITY lcd12864 IS
PORT(clk
--reset
rs
rw
en
dat
DOWNTO 0);
--rst
: IN std_logic;
: IN std_logic;
: OUT std_logic;
: OUT std_logic;
: OUT std_logic_vector(7 : OUT std_logic);
: OUT std_logic;
LCD_N
: OUT std_logic;
LCD_P
: OUT std_logic;
PSB
: OUT std_logic;
LCD_RST
: OUT std_logic;--------------
k1
: in std_logic_vector(7 downto 0);
k2
: in std_logic_vector(7 downto 0);0);0));
------------
END lcd12864;
ARCHITECTURE fun OF lcd12864 IS k4
: in std_logic_vector(7 downto k3
: in std_logic_vector(7 downto
--//状态定义
SIGNAL e
: std_logic;
SIGNAL counter
: std_logic_vector(15 DOWNTO 0);
SIGNAL current
DOWNTO 0);
SIGNAL clkr
SIGNAL cnt
DOWNTO 0);
CONSTANT set0
DOWNTO 0):= “00000000”;
CONSTANT set1
DOWNTO 0):= “00000001”;
CONSTANT set2
DOWNTO 0):= “00000010”;
CONSTANT set3
DOWNTO 0):= “00000011”;
CONSTANT set4
DOWNTO 0):= “00100101”;
CONSTANT set5
DOWNTO 0):= “00100110”;
: std_logic_vector(7 : std_logic;
: std_logic_vector(1
: std_logic_vector(7
: std_logic_vector(7
: std_logic_vector(7
: std_logic_vector(7
: std_logic_vector(7
: std_logic_vector(7
CONSTANT dat0
: std_logic_vector(7 DOWNTO 0):= “00000100”;
CONSTANT dat1
: std_logic_vector(7 DOWNTO 0):= “00000101”;
CONSTANT dat2
: std_logic_vector(7 DOWNTO 0):= “00000110”;
CONSTANT dat3
DOWNTO 0):= “00000111”;
CONSTANT dat4
DOWNTO 0):= “00001000”;
CONSTANT dat5
DOWNTO 0):= “00001001”;
CONSTANT dat6
DOWNTO 0):= “00001010”;
CONSTANT dat7
DOWNTO 0):= “00001011”;
CONSTANT dat8
DOWNTO 0):= “00001100”;
CONSTANT dat9
DOWNTO 0):= “00001101”;
CONSTANT dat10
DOWNTO 0):= “00001110”;
: std_logic_vector(7 : std_logic_vector(7 : std_logic_vector(7 : std_logic_vector(7 : std_logic_vector(7 : std_logic_vector(7 : std_logic_vector(7 : std_logic_vector(7
CONSTANT dat11
: std_logic_vector(7 DOWNTO 0):= “00001111”;
CONSTANT dat12
: std_logic_vector(7 DOWNTO 0):= “00010000”;
CONSTANT dat13
: std_logic_vector(7 DOWNTO 0):= “00010001”;
CONSTANT dat14
: std_logic_vector(7 DOWNTO 0):= “00010010”;
CONSTANT nul
: std_logic_vector(7 DOWNTO 0):= “00110000”;
SIGNAL dat_r
: std_logic_vector(7 DOWNTO 0);
SIGNAL rs_r
: std_logic;
SIGNAL rw_r
: std_logic;
SIGNAL en_r
: std_logic;
---
SIGNAL k1_r
: std_logic_vector(7 DOWNTO 0);SIGNAL k2_r
: std_logic_vector(7 DOWNTO 0);
SIGNAL k3_r
: std_logic_vector(7 DOWNTO 0);
SIGNAL k4_r
: std_logic_vector(7 DOWNTO 0);
SIGNAL a :
std_logic_vector(7 DOWNTO 0);SIGNAL b :
std_logic_vector(7 DOWNTO 0);SIGNAL c :
std_logic_vector(7 DOWNTO 0);SIGNAL d :
std_logic_vector(7 DOWNTO 0);-----------BEGIN
dat <= dat_r;
rs <= rs_r;
rw <= rw_r;
en <= en_r;
k1_r<=k1;
k2_r<=k2;
k3_r<=k3;
k4_r<=k4;
PSB <= '1';
LCD_RST <= '1';
LCD_N<='0';
LCD_P<='1';
分频
PROCESS(clk)
BEGIN
IF(clk'EVENT AND clk = '1')THEN
counter <= counter + “***1”;
IF(counter = “***1”)THEN
clkr <= NOT clkr;
END IF;
END IF;
END PROCESS;
PROCESS(clkr)
BEGIN
IF(clkr'EVENT AND clkr = '1')THEN
CASE current IS
--时钟
WHEN set0 =>
rs_r <= '0';
dat_r <= “00110000”;
--初始化--基本指令集
current <= set1;
WHEN set1 =>
rs_r <= '0';
dat_r <= “00001100”;
current <= set2;
WHEN set2 =>
rs_r <= '0';
dat_r <= “00000110”;
current <= set3;
WHEN set3 =>
rs_r <= '0';
dat_r <= “00000001”;
current <= set4;
WHEN set4 =>
rs_r <= '0';
dat_r <= “10000000”;(地址设置为第1行)
current <= dat0;
--开显示--光标右移--清屏
--设置坐标位置
WHEN dat0 =>
rs_r <= '1';
dat_r <= a;
--发送第一行数据
current <= dat1;
WHEN dat1 =>
rs_r <= '1';
dat_r <= b;
current <= dat2;
WHEN dat2 =>
rs_r <= '1';
dat_r <= c;
current <= dat3;
WHEN dat3 =>
rs_r <= '1';
dat_r <= d;
current <= nul;
WHEN nul =>
--这段保证前段显示部分至少执行一遍
--然后把液晶的En脚拉高,完成一次读写过程
rs_r <= '0';
dat_r <= “00000000”;
IF(cnt /= “10”)THEN
e <= '0';
current <= set0;
cnt <= cnt + “01”;
ELSE
current <= set0;
e <= '1';
cnt <= “00”;
END IF;
WHEN OTHERS =>
current <= nul;
END CASE;
END IF;
END PROCESS;
en_r <= clkr OR e;--对LCD始终为写操作
rw_r <= '0';--对LCD始终为写操作
--rst <= reset;
--------------------
process(clkr)
begin
IF(clkr'EVENT AND clkr = '1')THEN
case k1_r is
--百位 when “00000000”=>a<= x“30”;
when “00000001”=>a<= x“31”;
when “00000010”=>a<= x“32”;
when “00000011”=>a<= x“33”;
when “00000100”=>a<= x“34”;when “00000101”=>a<= x“35”;when “00000110”=>a<= x“36”;when “00000111”=>a<= x“37”;when “00001000”=>a<= x“38”;when “00001001”=>a<= x“39”;when others =>a<= x“20”;end case;
case k2_r is
when “00000000”=>b<= x“30”;
when “00000001”=>b<= x“31”;when “00000010”=>b<= x“32”;when “00000011”=>b<= x“33”;when “00000100”=>b<= x“34”;when “00000101”=>b<= x“35”;when “00000110”=>b<= x“36”;when “00000111”=>b<= x“37”;when “00001000”=>b<= x“38”;when “00001001”=>b<= x“39”;when others =>b<= x“20”;end case;
--十位
case k3_r is
--个位
when “00000000”=>c<= x“30”;
when “00000001”=>c<= x“31”;
when “00000010”=>c<= x“32”;
when “00000011”=>c<= x“33”;
when “00000100”=>c<= x“34”;
when “00000101”=>c<= x“35”;
when “00000110”=>c<= x“36”;
when “00000111”=>c<= x“37”;
when “00001000”=>c<= x“38”;
when “00001001”=>c<= x“39”;
when others =>c<= x“20”;end case;
case k4_r is
when “00001010”=>d<= x“48”;
when “00001011”=>d<= x“4B”;
when “00001100”=>d<= x“4D”;
when others =>d<=x“20”;end case;
--单位--H--K--M
end if;end process;END fun;
第二篇:单片机课程设计报告LCD显示温度
《单片机原理与应用》
课程设计报告
题 目:LCD数字式温度湿度测量计 专 业:自动化 班 级:A1332 学 号:10 姓 名:曾志勇 指导老师:查兵
2016-06-08
目 录
1.设计题目、要求及分工..................................1 1.1.设计要求.........................................1 1.2.分工.............................................1 2.系统设计方案论证与选择................................1 3.系统硬件电路设计......................................1 3.1.单片机的选择......................................1 3.2.温度传感器电路的设计..............................2 3.3.LCD1602显示设计..................................3 4.系统软件设计..........................................4 4.1.主程序...........................................4 4.2.读出温度子程序....................................6 5.系统仿真调试结果记录及分析...........................11 6.总结.................................................13 参考文献................................................14
设计题目、要求及分工
1.1.设计要求
(1)熟悉掌握单片机的中断,定时器及各并行口的应用;(2)熟悉掌握单片机温度湿度的测量方法;(3)利用温度传感器及单片机完成对温度的检测;(4)掌握将检测的温度信号转换为数码管显示的数字信号;
(5)设计一个简单数字温度计,能够测量通常环境下的温度,能够实现零下温度的测量,能够测量小数,精度为0.01度。
1.2.分工
经过我和队友的商讨,为了能最大发挥各自的长处。我主要负责程序的编写与单片机的调试。他主要负责一些相关资料文献的查找与课程设计报告。
1.系统设计方案论证与选择
在日常生活和生产中,我们经常要测量环境的温度湿度,传统的测量方式采用水银温度计和干湿球湿度计查算法,存在着误差大,操作使用不便等问题,采用工业级测量仪表价格昂贵。采用AT89C51和温度传感器等构成的LCD数字式温度湿度测量计精度高且价格便宜。
由于本设计是测温电路,可以使用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行A/D转换,将数据传入80C51单片机中,单片机处理后,通过LED显示出当前实测温度。
2.系统硬件电路设计
2.1.单片机的选择
单片80C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统。
本次设计需要注意的几个端口: P0口(39—32):是一组8位漏极开路行双向I/O口,也既地址/数据总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动8个TTL逻辑电路,对端口写“1”可作为高阻抗输入输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,PO口接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。P3口(10—17):是一组带有内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的P3口将用上拉电阻输出电流。
2.2.温度传感器电路的设计
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图2.3所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义:低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率S18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。温度传感器18B20汇编程序,采用器件默认的12位转化,最大转化时间750微秒,可以将检测到的温度直接显示到80C51的两个数码管上。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单 片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令做出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
图 2-1 温度传感器电路
2.3.LCD1602显示设计
图 2-2 LCD显示电路图
LCD1602显示流程:
图3-3 流程图
3.系统软件设计
3.1.主程序
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值。温度测量每1s进行一次。主程序流程图如图4.1所示:
#include
//初始化LCD1602
//写地址 80表示初始地址 LcdWriteCom(0x88);LcdWriteData('C');while(1){ LcdDisplay(Ds18b20ReadTemp());Delay1ms(1000);//1s钟刷一次 // } }
/* 函数名 : LcdDisplay()* 函数功能
: LCD显示读取到温度/ void LcdDisplay(int temp)//lcd显示
{ unsigned char datas[] = {0, 0, 0, 0, 0};//定义数组
float tp;if(temp< 0)
//当温度值为负数
{
LcdWriteCom(0x80);
//写地址 80表示初始地址 LcdWriteData('-');//显示负
temp=temp-1;
temp=~temp;
tp=temp;
temp=tp*0.0625*100+0.5;} else {
LcdWriteCom(0x80);
LcdWriteData('+');
tp=temp;
temp=tp*0.0625*100+0.5;
} datas[0] = temp / 10000;datas[1] = temp % 10000 / 1000;datas[2] = temp % 1000 / 100;datas[3] = temp % 100 / 10;datas[4] = temp % 10;LcdWriteCom(0x82);
//写地址 80表示初始地址
LcdWriteData('0'+datas[0]);//百位 LcdWriteCom(0x83);
//写地址 80表示初始地址
LcdWriteData('0'+datas[1]);//十位 LcdWriteCom(0x84);
//写地址 80表示初始地址
LcdWriteData('0'+datas[2]);//个位 LcdWriteCom(0x85);
//写地址 80表示初始地址 //显示 ‘.’
//写地址 80表示初始地址 LcdWriteData('.');LcdWriteCom(0x86);
LcdWriteData('0'+datas[3]);//显示小数点 LcdWriteCom(0x87);
//写地址 80表示初始地址
} LcdWriteData('0'+datas[4]);//显示小数点
图 3-1主程序流程图
3.2.读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节。在读出时必须进行CRC 校验,校验有错时不能进行温度数据的改写。读出温度子程序流程图如下图所示:
#include“temp.h” void Delay1ms(uint y){ uint x;
} uchar Ds18b20Init(){
uchar i;DSPORT = 0;i = 70;
//将总线拉低480us~960us for(;y>0;y--){ for(x=110;x>0;x--);} while(i--);//延时642us DSPORT = 1;
//然后拉高总线,如果DS18B20做出反应会将在15us~60us后总线拉低
} void Ds18b20WriteByte(uchar dat)i = 0;while(DSPORT)//等待DS18B20拉低总线 {
} return 1;//初始化成功 i++;if(i>5)//等待>5MS { } Delay1ms(1);return 0;//初始化失败 { uint i, j;for(j=0;j<8;j++)
{
DSPORT = 0;i++;DSPORT = dat & 0x01;//然后写入一个数据,从最低位开始 i=6;while(i--);//延时68us,持续时间最少60us DSPORT = 1;
//然后释放总线,至少1us给总线恢复时间才能接 //每写入一位数据之前先把总线拉低1us 着写入第二个数值
} uchar Ds18b20ReadByte(){
uchar byte, bi;uint i, j;for(j=8;j>0;j--){
DSPORT = 0;//先将总线拉低1us i++;DSPORT = 1;//然后释放总线 i++;i++;//延时6us等待数据稳定
bi = DSPORT;//读取数据,从最低位开始读取
/*将byte左移一位,然后与上右移7位后的bi,注意移动之后移掉 } dat >>= 1;那位补0。*/ byte =(byte >> 1)|(bi << 7);
} i = 4;//读取完之后等待48us再接着读取下一个数
while(i--);
}
return byte;void Ds18b20ChangTemp(){
Ds18b20Init();Delay1ms(1);Ds18b20WriteByte(0xcc);
//跳过ROM操作命令
Ds18b20WriteByte(0x44);//温度转换命令
//等待转换成功,而如果你是一直刷着的话,就不// Delay1ms(100);用这个延时了 } void Ds18b20ReadTempCom(){ Ds18b20Init();
} int Ds18b20ReadTemp(){ int temp = 0;
命令
tml = Ds18b20ReadByte();tmh = Ds18b20ReadByte();temp = tmh;temp <<= 8;Delay1ms(1);Ds18b20WriteByte(0xcc);//跳过ROM操作命令 Ds18b20WriteByte(0xbe);//发送读取温度命令
uchar tmh, tml;Ds18b20ChangTemp();Ds18b20ReadTempCom();
//先写入转换命令
//然后等待转换完后发送读取温度
//读取温度值共16位,先读低字节 //再读高字节
} temp |= tml;return temp;读出温度子程序 读出温度子程序的主要功能是读出RAM中的9字节。在读出时须进行CRC校验,校验有错时不进行温度数据的改写。得出温度子程序流程图如下图所示。
图 3-2
温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令。当采用12位分辨率时,转换时间约为750ms。在本程序设计中,采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如下图所示。
图 3-2
4.系统仿真调试结果记录及分析
硬件调试比较简单,首先检查电感的焊接是否正确,然后可用万用表测试或通电检测。软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和现实数据刷新子程序等的编程及调试 由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读/写编程时必须严格地保证读/写时序;否则将无法读取测量结果。
电路Isis仿真测试
烧写程序至单片机:
液晶显示室温为+28.06度 用手触摸DS18B20,发现温度上升为+32.75度,证明温度传感正常工作。
5.总结
这次课程设计,主要是以STC89C51单片机为核心的,对温度的检测与显示进行了简单的设计与阐述。因没有湿度传感器模块,所以未进行湿度检测。本次课程设计可以说是软硬结合,又以硬件为主。当今科技发展迅速,单片机开发有着光明的前景。由于单片机经济实用、开发简便等特点依然在工业控制、家电等领域占据了广泛的市场。所以我选择这样的设计课题,并且能通过此次设计来提高自己软件编制和硬件电路设计的能力。在我完成这次课程设计的过程中,当看到自己将专业知识用于解决实际的问题时,那份成就感和喜悦感是难以形容的。在这次实际的编程以及调试程序过程中,我发现自己学很多课本以外的东西。光靠自己在书本上所学过的这点知识是远远不够的,真正地认识到了工作就是学习的道理。尤其是对于编程来说,需要硬件的功底,也需要软件的能力。当程序有一点点错误时,将使整个程序无效,需要自己静下心来发现错误,改正错误,一次又一次得进行调试,锻炼了沉着踏实的心态。
通过这次对数字温度计的设计与制作,让我们了解了设计电路的程序,也让我们了解了关于数字温度计的原理与设计理念,要设计一个电路总要先用仿真,仿真成功之后才实际接线的。
但是最后的成品却不一定与仿真时完全一样,因为,在实际接线中有着各种各样的条件制约着。并且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。
通过这次学习,让我们对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻理解。从这次的课程设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识应用到实际当中,学习单机片机更是如此,程序只有在经常写和读的过程中才能提高,这就是我在这次课程设计中的最大收获。这次课程设计对我来说是一次比较全面的、富有创造性和探索性的锻炼,令我深有感触,对于我今后的学习、工作和生活都将是受益非浅。
参考文献
(1)江世明.单片机原理与应用.上海交通大学出版社.2013;(2)朱清慧.电子线路设计、制版与仿真.清华大学出版社.2011.6;
(3)黄同成.程序设计基础与教程(C语言).湖南人民出版社.2011.12;
(4)王东峰等.单片机C语言应用100例[M].北京电子工业出版社,2009;
(5)陈海宴.51单片机原理及应用[M].北京航空航天大学出版社.2010;
(6)胡汉才.单片机原理及接口技术[M].北京清华大学出版社.1996;
(7)高稚允,高岳.光电检测技术[M].北京国防工业出版社.1983;
第三篇:基于LCD显示的空气酒精浓度监测仪的设计
基于LCD显示的空气酒精浓度监测仪的设计(李成章)
| [<<] [>>]
前言
近年来,随着我国经济的高速发展,人民的生活水平迅速提高,越来越多的人有了自己的私家车,而酒后驾车造成的交通事故也频频发生。酒后驾车引起的交通事故是由于司机的过量饮酒造成人体内酒精浓度过高,麻痹神经,造成大脑反应迟缓,肢体不受控制等症状。少量饮酒并不会有上述症状,即人体内酒精浓度比较低时,而人体内酒精超过某一个值时就会引起危险。为此,需要设计一智能仪器能够监测驾驶员体内酒精含量。目前全世界绝大多数国家都采用呼气酒精测试仪对驾驶人员进行现场检测,以确定被测量者体内酒精含量的多少,以确保驾驶员的生命财产安全。此外,空气酒精浓度监测仪还能监测某一特定环境的酒精浓度如酒精生产车间可避免发生起火、爆炸及工业场地酒精中毒等恶性事故,确保环境安全。
本课题研究的是一种以气敏传感器和单片机为主,监测空气酒精浓度,并具有声光报警功能及LCD显示功能的空气酒精浓度监测仪。其可监测出空气环境中酒精浓度值,并根据不同的环境设定不同的阈值,对超过的阈值进行声光报警.来提示危害。
1总体方案设计
本课题采用MQ3气敏传感器,AT89C52单片机实现空气酒精浓度实时测量,通过LCD显示屏实时显示。可以通过键盘设定阈值,超过阈值具有声光报警功能。1.1基于MQ3气敏传感器的空气酒精浓度监测仪的
硬件方案
硬件设计时,考虑酒精浓度是由传感器把非电量转换为电量,传感器输出的是0-5伏的电压值且电压值稳定,外部干扰小等。因此,可以直接把传感器输出电压值经过ADC0809采集数据送入单片机进行处理。此外,还需接人LCD显示,8279键盘/显示器接口芯片,声光报警电路等。
其总体框图如图1所示。
1.2基于MQ3气敏传感器的空气酒精浓度监测仪的软件方案
软件方案主要包括键盘扫描、数据采集、数据处理、显示、声光报警等子程序。仪器开机后经初始化,调用LCD显示子程序显示提示界面、阈值设置界面、测量结果界面等。键盘扫描程序判断是否有键按下。测量时数据采集程序把数据送人到A/D转换器,进行A/I)转换。由数据处理程序完成数据间的转换和数制间转换。当测量数据超过阈值时,报警子程序启动,发出声光报警。
软件主程序流程图如图2所示。
2硬件设计
2.1传感器的选择
本课题选用的是MQ3型气敏传感器。其有很高的灵敏度、良好的选择性、长期的使用寿命和可靠的稳定性。MQ3型气敏传感器由微型Al2O3,陶瓷管和SnO2敏感层、测量电极和加热器构成的敏感元件固定在塑料或不锈钢的腔体内,加热器为气敏元件的工作提供了必要的工作条件。传感器的标准回路有两部分组成。其一为加热回路,其二为信号输出回路,它可以准确反映传感器表面电阻值的变化。传感器的表面电阻RS的变化,是通过与其串联的负载电阻RL上的有效电压信号VRL输出面获得的。二者之间的关系表述为:RS/RL=(VC-VRL)/VRL,其中VC为回路电压为10V。负载电阻RL可调为0.5-200K。加热电压Uh为5v。上述这些参数使得传感器输出电压为0-5V。MQ3型气敏传感器的结构和外形如图3所示,标准回路如图4所示,传感器阻值变化率与酒精浓度、外界温度的关系图如图5所示。为了使测量的精度达到最高,误差最小,需要找到合适的温度,一般在测量前需将传感器预热5分钟。
2.2模数转换电路
模数转换电路的作用是将传感器电路输出的模拟量信号转换为适合单片机处理的数字信号,并输入给单片机。本课题采用的是ADC0809 A/D转换芯片。ADC0809是8路8位逐次比较式A/D转换器,它能分时地对8路模拟量信号进行A/D转换,结果为8位2
进制数据。其由+5V电源供电,片内有带锁存功能的8路选1的模拟开关,由A,B,C的编码来决定选择通道。0809完成一次转换需要1001xS左右。输出具有TTI三态锁存缓冲器,可以直接连到MCS一5l单片机数据总线上。ADC0809可对0-5V的模拟信号进行转换。
2.3键盘电路
8279对键盘部分提供一种扫描工作方式,能对64个按键键盘阵列不断扫描,自动消抖,自动识别出闭合的键并得到键号,能对双键或N键同时按下进行处理。显示部分为显示器提供了按扫描方式工作的显示接口,可以显示多达16位的字符或数字。传感器输出的信号经ADC0809和单片机采集、处理后输出的信号为BCD码形式,它经过8279及显示电路处理后送入LCD显示。此外,酒精浓度监测仪的阈值浓度的设置是由键盘输入的,因此需有一个键盘/显示器接口电路。
键盘有两种工作方式:编码式键盘和非编码式键盘。当键盘中某一个按键被按下时,键盘编码器会自动产生相对应的按键代码,并输出一选通脉冲信号与CPU进行信息联络。编码式键盘使用很方便,目前已有数种大规模集成电路键盘编码器出售,例MM5740AA芯片就是一种专用于64键打字机的键盘编码器,其输出为ASCII码。非编码键盘不含编码器,当某键被按下时,键盘只能送出一个简单的闭合信号,对应的按键代码的确定必须借助于软件来完成。显然,非编码键盘的软件是比较复杂的,并且要占用较多的CPU时间,这是非编码键盘的不足之处。但非编码键盘可以任意组合、成本低、使用灵活,因而智能仪器大多采用非编码式键盘。本课题选用非编码键盘。键盘工作方式为编程扫描方式。
2.4显示电路
LJDl28X64液晶显示模块是128X64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。可与CPU直接接口,提供两种界面来连接微处理机:8一位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。
2.5声光报警电路
报警电路分为蜂鸣器报警电路和LED发光报警电路组成。当输入端P1.0为低电平时,有电流通过蜂鸣器,蜂鸣器发出声音报警。而当输入端为高电平时不报警。当输人端P1.1为低电平时,LED点亮报警,反之输入端P1.1为高电平则不报警。
3软件设计
软件设计包括分析仪器系统对软件的要求,程序整体结构设计和程序模块化设计,画出每一子程序的详细流程图,选择合适语言编写程序。最后,将各子程序模块连接成一个完整的程序。
3.1数据采集子程序
ADC0809初始化后,把0通道输入的0-5V的模拟信号转换为对应的数字量OOH-FFH,然后存储到3FH单元中。
3.2数据处理子程序
数据处理子程序主要是系数调整和数制转换,将ADC0809采集的模拟电压值转换为8位二进制数。系数是酒精浓度的最大测量值1500/255=5.88确定。系数调整是为了使十六进制与十进制转换方便,将转换系数.5.88放大10倍取整后为59即3BH作为转换系数。
3.3键盘扫描子程序
键盘扫描子程序为通过扫描判断是否有键按下,如有键按下则读出各个按键值。并根据键值判断是进人提示界面还是完成阈值设定的输入,或返回。
3.3.1提示界面键盘子程序
首先判断是否有键按下,若按下的是“D”键,则进入阈值设定界面。如果不是则返回提示界面继续判断。
3.3.2键盘阈值设定子程序
键盘阈值设定子程序首先判断是否有键按下,若有键按下,判断是“0-9”键,还是“F”键。如果是“0-9”这些数字键。则进行数字键处理,是“F”键则返回重新设定阈值。键盘输入的数字键即为阈值,将其保存在50H开始的3个单元,为了便于比较和显示,阈值的千位50H中,百位和十位放入5lH,个位放人52H中。
3.4显示子程序
本课题显示为LCD显示。显示子程序分为开机界面显示程序,提示界面显示程序,阈值设定界面显示程序,测量界面结果显示程序。
3.5报警子程序
报警子程序执行之前,键盘设定的报警阈值转换为压缩的BCD码并存放在两个存储单元中。传感器输入值A/D转换后,调用比较程序,经过数据处理后显示的测量值与阈值比较,小于阈值则继续执行显示程序。若大于阈值则将单片机的P1.0、P1.1两端口清零进行声光报警。40H、4lH、42H单元存放A/D转换后,并进行十进制转换后的结果。40H和50H分别存放的是处理后的测量值与阈值的千位的压缩BCD码,41H和51H分别存放的是处理后的测量值与阈值的百位、十位压缩的BCD码,42H和52H分别存放的是处理后的测量值与阈值的个位的压缩BCD码。程序首先对40H、50H中的值进行比较大小,如果40I-I中的值大于50H中的值,则进行报警。依此类推,比较41H和51H,42H和52H。
4调试分析
调试分析包括硬件调试分析和软件调试分析及软、硬件联调。由于硬件调试分析和软件调试分析是独立进行的,所以可以先调硬件再调软件。再调试中找出错误、缺陷,判断各种故障,并作出软硬件的修改。直至没有错误。
4.1硬件调试
硬件调试包括传感器电路、显示电路、键盘电路、单片机外围电路、声光报警电路等。下面主要介绍传感器电路、报警电路的调试。
首先把MQ3型气敏传感器按照说明书介绍,接上+6伏工作电源,进行预热5-10分钟。由于气敏传感器里已经集成了放大电路,而用万用表测量可证实其输出是一稳定的0-5V的电压信号,符合ADC0809及单片机的输入条件,因此此信号可以直接接人进行A/D转换而不需要放大、滤波等。
其次对于声光报警电路的调试分为蜂鸣器和LED的调试。经试验可知LJD一2008型实验箱的蜂鸣器和LED只有在低电平工作,了解这一点,对程序的设计很重要。
4.2软件调试
软件调试为利用伟福软件进行模块化调试。调试过程中观察存储单元数据的变化,查找所写程序的错误,并改正。
4.3软、硬件联调
利用伟福仿真器及其自带实现一个模拟仿真系统。把伟福软件模拟器伟福6000的仿真器设置中语言选为“伟福汇编器”。选择仿真器用“。H5l/L”选择仿真头为“POD-H8X5X”选择CPU用“AT89C52”。调入程序编译运行,并把传感器接人电路,看LCD显示器是否显示提示界面。显示提示界面后根据ICD显示器上的提示按键进行下一步操作。看键盘是否能够设定阈值,并显示。设定阈值后,用浸有酒精的棉签靠近气敏传感器,并对着棉签缓缓吹气观察LCD显示的数值。按“F”键重新设定小于测量值的阈值,观察蜂鸣器是否发声及LED是否被点亮。当过了一两分钟后,LCD显示器上数值下降,当小于阈值时蜂鸣器停止发声,LED也熄灭。上述这些功能能够实现则表明达到了课题要求。4.4调试故障及原因分析
报警电路出错,体现在软硬件联调时,程序刚一运行,声音报警电路就发出报警声音而LED正常。经程序检查及对LJD一2008型实验箱蜂鸣器及LED灯的实验,发现该实验箱的蜂蜂鸣器及都是在低电平时工作。而主程序开始就把P1.0口清零了,P1.O口接的是蜂鸣器,这就使程序刚运行蜂鸣器就发出报警声音了。发现这个错误,把程序中不报警时的P1.O口都置高电平,报警时置低电平。
传感器输出电压不稳定。把传感器工作电路接好后急于接到ADC0809上,运行程序发现还未吹酒精气体进传感器而LCD显示的测量数值明显偏大。经看M03型气敏传感器的严原理和使用说明得知该传感器工作时需加热到300~C左右,因此需预热5分钟,使传感器内部敏感元件恢复到初始状态。便于测量结果准确。找到错误原因,在测量前传感器先预热5分钟,接人后续电路,测量结果正常。
5结论及进一步设想
本课题主要任务是设计一个基于单片机的空气酒精浓度监测仪。通过软、硬件联调,实验结果满足设计的基本要求,达到设计的指标。实现可用键盘输入阈值。并用LCD显示,而对超过阈值的浓度值进行声光报警。本设计过程包括了硬件电路设计和软件程序的编写两部分。硬件电路部分结构简单,使用方便,适合大众化使用。软件部分采用模块化设计思想,各个子程序的功能相对独立,便于调试和修改。
应用单片机编写不同的程序嵌入各种仪器中便形成不同功能的智能仪器。作为广泛应用于工程中的智能仪器将有更大的运用空间。空气酒精浓度监测仪将越来越深入的运用到普通人民的生活中
第四篇:2.试验路段总结报告
目 录
一、选用地段
二、施工准备
三、施工组织
四、施工目的
五、试工过程
六、总结
附表 项目部组织机构
附表 主要施工管理人员和劳动力一览表 附表 试验设备一览表 附表 量砂密度标定记录表 附表 含水量试验记录表
附表(原地面)压实度试验记录(灌砂法)附表(原地面)压实度试验报告 附表 腾泸二级公路施工抄平记录表 附表 路基工程填石路堤检查报告表 附图 碾压遍数与压缩量曲线图 附图 试验路段压实厚度曲线图
附报告 K40+900右侧900米取土场土工标准试验报告 附报告(原地面)土工标准试验报告 附报告(原地面)土工标准试验报告 附表 土壤颗粒分析试验记录表 附表 土石比试验记录表
试验路段总结报告
腾泸二级公路第二总监办:
(一)选用地段
我标选定K42+700~K42+900段填方作为试验路段,共长200米。为保证路基稳定,减少路基不均匀沉降,降低路基的工后沉降,试验路段按照填土和填沙砾石两种施工方案进行填筑和控制。该段设计填方高度为2.245~4.132米,按设计纵坡方向填筑。
(二)施工准备
1、该试验路段的机械已到位
卡特320C挖掘机4台、沃尔沃挖掘机2台、厦工ZL50型装载机1台、厦工ZL40型装载机1台、宣化140型推土机1台、山推推土机1台,洛阳22T压路机1台、8T洒水车1辆、东风汽车16辆,相关驾驶员及现场管理技术人员均已到位
2.原地面的处理情况及试验路段测量放样工作
我项目部按照合同文件及相关规范已完成K42+700~K42+900试验路段的路基清场及填前碾压,经监理工程师检验,路堤基底的压实度符合规范要求。并完成了该试验路段的测量、取样等原始数据的收集整理工作。(土工试验资料见附件)
3、土工试验
进场后我部试验室就对全线的土样取样进行标准试验工作,现已完成了前期所需的全部试验,可以满足路基填方的施工。(土工试验 资料见附件)
4、取土场
取土场位置:K40+900右侧900米。
材料:K40+900右侧900米为风化玄武岩,经我试验室对该土进行土石掺配从含石率为10%~70%标准试验.如现场进场材料含石率大于75%按工艺控制施工。
填方沙砾石,含石率大于75%,难于用压实度施工工艺进行施工。按现场试验路段准定施工工艺。
(三)施工组织
1、项目部组织机构(见附件)
2、试验路段人员安排
试验路段由总工办、试验室、工程技术科、质检科全面负责完成,施工队配合。主要人员和劳动力见附表。
(四)施工目的
根据设计要求进行试验段填方得到试验结果及施工过程中所得参数,以便指导和控制现场施工工艺,确保填方施工达到设计要求。
(五)施工过程
一、填料的确定;最大压实厚度;松铺系数的确定。分层填筑,摊铺平整
施工前,首先对下承层进行路基测量放样,放出路基中边线位置,路基两侧各加宽50cm,以保证设计路基的压实质量。然后逐桩进行标高测量,并作详细记录。施工时在中桩和两边线处插立竹竿,在竹竿上以红油漆将分层层位线标出,按层位线摊铺整平施工。用推土机进行摊铺平整作业。推土机摊铺过程中要根据挂线做好松铺厚度控制,在摊铺初平层面上,采用人工精细平整,在表层铺撒一层嵌缝料,填料不足部分用小粒径补填平整。
待整平完成后,恢复路基中边桩,逐桩进行标高测量,详细记录。
2、碾压遍数、碾压速度的确定。
采用洛阳22T振动压路机进行碾压施工,碾压速度4Km/h,频率30HZ左右。碾压顺序先自两侧开始向中间推进,后由中间向两侧碾压,每次要重复1/3轮宽进行碾压。
⑴初压:在摊铺完成;铺撒细料,层面大致平整后,进行初压,填料干燥时适量进行撒水碾压,初压时采用静压。初压第一遍时对局部补料找平,逐桩进行标高测量,并作详细记录,第二遍压实补料找平,逐桩进行标高测量,并作详细记录。
⑵振压:初压完成后,第三、四遍进行振动压实,填石混合料中的小石料被挤入大料空隙,表面细料也基本振入小料夹缝。逐桩进行标高测量,并作详细记录。
⑶补料,再振压:在振压挤密后,下沉较大处,用中小料填补,再撒细料。局部补料完成后,普遍碾压一遍后,继续振压2~3遍,边压边撒料,直到平整。然后逐桩进行标高测量,并作详细记录。
⑷终压:振压无明显轮迹及沉降量小于2mm时,最后普遍进行一次静压。
⑸检查:在每层压实后的填石路基表面,采用18.0t的振动压路 机作碾压检测,(车速2.0Km/h;频率30HZ),碾压前后无明显轮迹或沉降差小于2mm。按此方法沿线路,随机取点,每两百米测10点。外观检查无明显空隙,石块无松动现象,碾压层的填石层面平整,石块紧密。
二、最优的施工组织
1、各工序间的配合衔接
路基施工主要施工机械设备为装、运、铺、压四类,配套组成一条或多条施工作业线,进行流水作业施工。根据取土场的实际情况,需要配挖掘机、推土机、装载机各1台,配合组成一套挖、装机械组合,根据运距情况,能满足10台自卸车的挖、装要求。本装运组合需要配1台T140推土机摊铺,1台压路机碾压,1辆洒水车即可以满足要求。
2、施工人员的协调、联络、调配。
在施工现场,由项目经理负责统一协调,项目总工负责技术指导,项目副经理组织施工,现场技术人员负责技术把关,试验人员严把材料质量,测量人员进行精密测量。
(六)总结
通过七层现场检测试验,得出最终结论:
沙砾石工艺控制施工采用静压二遍、强振五遍,最后静压一遍,压缩系数为0.797,作为今后填石路基施工工艺控制依据使用。
碎石土工艺控制施工采用静压二遍、强振五遍,最后静压一遍,压缩系数为0.810,作为今后填土路基施工工艺控制依据使用。
第五篇:试验员工作总结报告
实验员工作总结报告
我是13年来公司新员工,所学的专业是工民建,毕业后来到我公司在张家口承建的xxxxxx工程,从事试验员和资料员的工作。半年即将过去,下面我把工作这几个月来积累的一些心得、体会总结一下,请各位同事、前辈多多提供宝贵意见。
首先我想说说对我们公司的认知与看法。
回想自己毕业初来公司工作时,由于对从学生突然转变为工作者的不适应,对工作过程的不清楚,以及对生活环境的不熟悉,导致在初始的工作中不知所以,在经理部领导及项目部同事们的关心帮助下,我顺利过渡了难关,在工作上逐渐走上了正轨。我们公司是那么的年轻有朝气,同事们是那么的团结有干劲,人与人之间的关系是那么的融洽、和谐。
无论从事什么工作,都必须要认清自己的岗位职责,知道自己需要干什么,其次才是应该怎么去做。作为一个土建试验员,我想强调一下时间,时间对于试验员是非常重要的。据例说明,标养的砼试块28天就要送检,在张家口是7天内要送实验室标养,过期实验室不收试块。再比如钢筋电渣压力焊,如果送检不及时,等封模或者浇注完混凝土后再去送检,万一不合格,后果是很严重的。所以作为试验员必须按时送检。取报告。
作为一个试验员首先要按时对材料进行取样送检。
取样送检包括原材取样和过程取样两大部分。其中原材包括钢筋、防水材料、水泥、天然大理石、陶瓷锦砖、砌块、砂子、石子等,过程取样主要就是砼试块、钢筋电渣压力焊、钢筋直螺纹连接、砂浆试块、门窗三性检验以及土壤试验等。
1、原材取样
对于原材试验我举两种材料说明,一是钢筋,另外一个是防水材料,因为这两种材料是用的量最大且比较重要的原材。先说钢筋,一般常用的钢筋分为:热轧光圆钢筋(HPB235)、热轧带肋钢筋(HRB335、HRB400、RRB400)。对于钢筋取样,首先核对质量证明书,在质量证明书真实的情况下(注意:公司要求进场数量大于质量证明书代表数量一半时就要质量证明书原件,复印件、传真件是不行的),按书中的规定取样就是了,对于试件的数量及长度见取样手册即可。
其中需要注意三点:一就是热轧带肋钢筋的直径,我们要分清楚公称直径和实际直径,如实际中的¢20钢筋内径是19.3mm,加上肋,平均直径是20mm。所以钢筋进场时我们用游标卡尺量的时候一定要注意。
二、同等级同直径,不同生产厂家的钢筋,不要当做是同一批次,需分别送检。
三、在填写委托单时,不同规格,不同型号,不同厂家的钢材不要填在一张委托单上,后面整理资料容易一点。
对于防水材料,我们用的大多是卷材,按规定,它是属于抽检项目,不是送检项目,首先要明白我们不能自己现场取样送检,要有专业的质量监督员,现场随机抽样检验。填写委托单时名称要详细,报告出来后,核对抽检报告。
2、过程产品取样
对于过程产品试验我举两种材料说明,一是砼试块,二是钢筋电渣压力焊。先说说砼试块,砼试块分为标准养护抗压试块、同条件养护试块、抗渗试块,其中抗渗试块只有标准养护的。留置方法和试块做法见规范,但一定要仔细分析,是同配合比砼不超过100m3留置一组标养试块,而不是同强度等级,比如C30P6和C30同一强度等级,而不是同配合比,问题往往出在地下室,外墙抗渗,而内部是普通砼,在两种配合比砼总量超过1000m3,但其中一个没有超过,我们就不能组合起来按每200m3留一组标养试块(同配合比的砼一次施工超过1000m3,每200m3 留置一组标养试块)。
下面再提醒大家几点:
一、我们项目抗压砼试块留置的是100×100×100的砼试块,但是这不是标准的试块,标准的试块是150×150×150的。100×100×100和200×200×200的试块试压结果要分别乘以0.95和1.05,所得结果才是砼试块的标准抗压结果。二在制作试块时,石子数量越多,试块强度越大,所以在制作试块时,应尽可能多加石子,但是也不宜过多,灰浆具有一定的握过力,如果灰浆太少试块会比较松散。
三、同条件试块必须放置在现场,不可与标养试块一起放置在养护箱内。同条件试块要求温度累加至600度左右送检,但不得超过60天。所以冬季施工应格外注意,因为天气温度较低,累计600度,可能会超过60天期限。
四、同条件试块一次连续浇注留置一组试块即可,梁板施工必须加一组拆模试块,如果砼施工跨几个工作日,最好在最后一个工作日留置。个人认为拆模的试块可以多留几组,防止拆模时试块强度不达标还需要重新做抗压试验。
再说说钢筋电渣压力焊取样送检。取样要求及长度见规范即可,我想强调一点,首先必须要先送试件去检测,合格后才可以用于现场。所以我们需要及时取样送检取报告,报告合格后才可以进行施工。、自己要总结一种试块编号方法,编好号,使试块放置有序。填写委托单的时候,不同强度等级。不同配合比、不同批次的试块不要填写在同一张单子上,大家都想省几张委托单,但是填在一起,后面资料整理、分类归纳,就会非常混乱了。然后还要负责填写试验台帐及技术资料台帐。这一部分工作很麻烦,要细心,台账根据工作的需要和个人习惯自己编制好表格,把相应的数据填入相应的表格,而且要定期核对报告与表格内容是否相符,这样就不会漏下内容了,到检查的时候也可以从容应对了。做为一个项目的试验员,肯定还要做一部分其它的技术资料,如各个工序的检验批报验、隐蔽验收记录等这一部分的工作,一定要及时做,把工作量均匀分开,否则容易混乱。做的时候细心是最重要的。刚开始犯错误是避免不了的,一定在做好后,找有经验的前辈们看一下,请他们检查指正,这样不但保证工作顺利进行,而且还有利于自己学习掌握。
我们公司培养的是全面的复合型人才,需要的是能够胜任许多岗位工作的员工。试验员只是我的岗位,但我不会觉得只要把试验员的工作做好就够了,试验员只是我分管的一部份工作,但是无论试验员、资料员、质量员都属于施工员,现场施工管理也是我必须要做的工作。
先说说技术,我们从学校学习的都是基础的理论知识,与现场实际操作有很大的不同,那么我们就必须尽快的把所学的理论知识转化为适应现场的技术,其次就是补充知识,在学校学的只是基础知识,有许多东西是没有涉及的,所以我们还要丰富自己的知识储备。首先我们要看懂图纸,图纸是现场施工的说明与依据。重点一是施工图设计总说明,这里面有很多细节东西要我们掌握,砼的强度等级、保护层厚度、开洞的加强措施以及一些细部做法。重点二是施工图,施工图是现场施工的主要依据,上面反应了构件的尺寸、钢筋直径、型号、数量、排放方式、连接方式、以及定位。这是作为一个施工员必须要清楚知道,明白的东西,也是我们必须去现场核对的内容。强调一点,要重点看正在施工的楼层施工图以及上一层的施工图,这样有利于我们学习图纸,以及检验。其次就是要熟悉国家规范及图集,规范是工程质量检测的依据,其中常用的必须要牢记,其他的也要熟悉,在出现问题时,能够及时、快速的找到。图集是帮助我们看懂图纸的重要资料,也是很难掌握的,这就要靠我们平时多学习,多积累。再次就是看施工方案,技术交底。这是讲解分部工程的具体做法及技术要求,可以让我们针对性很强的,很直观的学习到实际操作技术。其中技术交底是给班组、工人发的文件,内容很全,而且很容易理解,更要好好学习。最后也是最重要的,必须多跑现场,多听,多看,多问。要把理论知识转化为实际技术,必须去现场实地学习。书本里的知识是抽象的,空洞的,现场的是形象的,可以帮助我们快速的了解,学习。还有有些书本知识是不太适合实际操作的,我们要格外注意区分。多听就是要多听前辈和工人的讲解,他们有着丰富的经验与知识。其次就是要多看,看工人怎样施工,更加形象的了解怎样操作。最后就是要多问,多问前辈,多问工人。他们是实践的专家,有着丰富的实际操作经验,一定要虚心的问他们,最好把所问的记录下来,以便日后温习查阅。有问题要问,但是不能轻易去问,有了问题,一定要自己先找资料,试着自己先解决。然后再去问,可以把自己查的,自己理解的东西,与他们交流,请他们指点,这样不但节省他们的宝贵时间,而且有利于自己学习掌握,不至于在他们讲解的时候还不知所云。
管理是施工员重要的任务,管理的对象是专业分包。我不会觉得比工人地位高,比他们能力强,也不会对工人趾高气扬。其实一个工程主要就是依靠工人来完成的,而且工人是实践的专家,他们有着丰富的现场施工经验。我们要把工人当做朋友、同事,我们要诚心的对待他们,不要有意的为难他们,但是如果是质量以及文明施工方面的事情,就不能讲任何情面,一定要严格按规定办事。我刚参加工作,还谈不上威信。管理起来肯定会有许多困难。只有努力学习,不断提高自身能力,丰富自己的知识,无论工人问什么问题,都能对答如流,那么工人才会认可你,才会服从你的管理,自身的威信才会慢慢建立起来。
最后我想说一点,现在我们不要怕犯错误,做起事来畏手畏脚的,要大胆的去做,但犯了错误一定要及时总结改正,多积累经验,争取早日成熟起来。
以上是我参加工作以来的一点心得,请大家多多指教