应用代码举例:
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