基于单片机的pm2.5空气质量检测系统设计-通信工程大学论文 下载本文

应用代码举例:

unsigned char ADC0832(bit MO,bit CH) //返回转换结果, { unsigned char i,dat,ndat; CS = 0;//将CS端置0,使能 _nop_();//延时一个机器周期 _nop_(); DI = 1; //起始信号必须置高 CLK = 1;//时钟信号 _nop_(); _nop_(); CLK = 0;//时钟信号形成第一个脉冲 _nop_(); _nop_(); DI = MO; //模式选择 CLK = 1; _nop_(); _nop_(); CLK = 0;//时钟信号形成第二个脉冲 _nop_(); _nop_(); DI = CH; //通道选择 CLK = 1;// _nop_(); _nop_(); CLK = 0;//时钟信号形成第三个脉冲 DI = 1; dat = 0; //读取转换后数据 for(i = 0;i < 8;i++) { dat <<= 1; CLK=1; _nop_(); _nop_(); CLK=0;//时钟信号形成第四个脉冲 _nop_(); _nop_(); dat |= ADDO;

27

}

ndat = 0; if(ADDO == 1) ndat |= 0x80;

//反序读取数据,用于校验 for(i = 0;i < 7;i++) {

ndat >>= 1; CLK = 1; _nop_(); _nop_();

CLK=0;//时钟脉冲 _nop_(); _nop_();

if(ADDO==1) ndat |= 0x80; }

CS=1;//结束,使能关 CLK=0; DI=1;

if(dat==ndat)//数据校验 return(dat); else

return 0;

}

28

4 应用软件介绍

4.1

keil的应用

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。Keil C51软件界面如图16:

图16 Keil C51软件编程界面

29

该软件是一款集编程和仿真于一体的软件,它支持汇编、C语言及二者的混合编程。

4.2 protel99se的应用

Protel99SE是本次设计中硬件电路设计的主要手段,它是PORTEL

Technolagy公司的产品。Protel99SE是一个基于Windows平台的32位EDA设计系统,它的编辑功能丰富多样、自动化设计能力也很强大便捷、它还有完善有效的检测工具。它采用设计库管理模式,为用户提供了大量的原理图元件库和PCB元件库,用户还可根据需要自己创建元件库还可以对这些库进行管理。Protel99SE还兼容多种格式的设计文件,也可将文件转化成多种格式输出。Protel99SE还支持Windows平台的所有外出设备,提供高分辨率的光绘文件,使用户轻松掌握设计全过程。

Protel99SE软件主要由两大部分组成:原理图设计系统和印制电路板设计系统。

原理图设计系统主要用于原理图的设计,也为生成PCB文件打下良好的基础。它的特点如下:

1) 分层次组织的设计环境,用户可以将带设计系统划分为若干子系统,子系统再划分为若干功能模块。

2) 强大的元件和元件库 3) 方便易用的连接线工具 4) 强大的编辑功能

5) 有多重设计校验功能,保证设计不会出错

30