预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共44页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

本章内容:9.1单片机应用系统设计一、需求分析、方案论证和总体设计阶段二、硬件设计人机界面设计三、软件设计9.2单片机应用系统开发与调试二、单片机应用系统的开发工具软件模拟开发系统9.2.2单片机应用系统的开发过程三、仿真调试四、目标程序写入利用在系统编程(ISP)技术五、运行设计开发过程:9.2提高系统可靠性的一般方法二、直流电源抗干扰措施一、使用微处理器监控电路二、软件抗干扰措施(2)避免系统“死机”的方法9.3多路数字电压表的设计9.3.2方案设计设计方案9.3.3系统硬件电路的设计在连接时,ADC0809的数据线D0~D7与AT89C52的P0口相连,ADC0809的地址引脚、地址锁存端ALE、启动信号START、数据输出允许控制端OE分别与AT89C52的P2口相连,转换结束信号EOC与AT89C52的P3.7相连。时钟信号输入端CLOCK由单片机的地址锁存信号ALE通过14024二分频后得到。9.3.4系统软件程序的设计二、A/D转换子程序三、显示子程序9.3.5汇编语言源程序清单(略)9.4智能二线制温度变送器设计实例9.4.2硬件设计二、信号处理模块三、数据运算模块四、V/I变换模块五、系统功耗AD_Change() {AXM0CF=0x00; ADCS2=1;ADCS1=0;ADCS0=0; AMPGN2=0;AMPGN1=1;AMPGN0=0;//增益为4 ADM0SL=0x00;//选择A/D通道0 ADCEN=1; for(i=0;i<=100;i++);//启动A/D转换 ADCBUSY=1; while(ADCBUSY==1);//等待转换结束 ad_result1=(ADC0H&0x03)*256+ADC0L;//读结果 ADBUSY=0;//清A/D转换标志 }二、线性化处理将温度被分成30个均匀的区间,每个区间的端点A/D转换值Nk都对应一个Tk。当A/D转换值为Ni时,实际测量温度值Ti一定会落在某个区间(Tk,Tk+1),采用线性插值法进行插值,用通过(Nk,Tk)和(Nk+1,Tk+1)两点的直线近似代替原特性。unsignedlongCount_Tem(unsignedintad_counter) {unsignedlongjs1,js2; unsignedcharjs=0; while(1) {js1=counter[js]; js2=counter[js+1]; if(ad_counter>=js1&&ad_counter<=js2) {temp1=tempture[js];2=tempture[js+1]; temp=temp1+(ad_counter-js1)*500/(js2-js1); returntemp;//返回温度值 } js=js+1; if(js>61){break;} } }