资源描述
,*,传感器原理与应用案例教学,传感器案例教学环节,1,基于单片机的简易电子称的设计,系统电源,传感器,仪表放大器,ADC0804,89S51,显示器,4 4 4 5,单元电路规划,电,源,电,路,1,、电桥的激励(由所选择的传感器的参数要求确定),2,、弱信号放大电路(由所选择的放大器参数要求确定),3,、显示电路的功率驱动,4,、,A/D,转换器的基准电压要求,传感器部分,电源,+VD,电源,GND,信号,OUT1,信号,OUT2,测量放大器部分,+,A1,A2,A3,RG,R1,R2,R3,R4,R5,R6,+,+,+,OUT1,OUT2,ADC0804,模拟数字转换电路部分(连续转换),18 DB0,17 DB1,16 DB2,15 DB3,14 DB4,13 DB5,12 DB6,11 DB7,5 INTR,3 WR,1 CS,2 RD,19 CLKR,4 CLKIN,9 VREF,来自测量放大器输出(,VIN 6,),8 AGND,7 VIN-,单片机硬件电路部分,AT89S51,千位数,百位数,十位数,个位数,P1.3,P1.2,P1.1,P1.0,P0.0-7,P2.0-7,来自,ADC0804,+5V,C,RESET,R,OSC1,OSC2,动态显示,段码驱动,系统软件设计,初始化,声明变量与控制函数,读取,A/D,转换数据,数据处理,数据显示,(主程序流程图),数据显示程序流程图,显示开始,变量声明,动态扫描信号的初始化,读取数据,编码转换,时间延时,4,段?,10,次?,NO,YES,返回,C,语言程序设计,/*,称重数据连续读取*,/,#include,/*,声明驱动信号数据,0,、,1,、,2,、,3,、,4,、,5,、,6,、,7,、,8,、,9*/,Char TAB10=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x83,0 xf8,0 x80,0 x98;,/=,unsigned char disp4=0,0,0,0;/,声明显示区数组,Void,display(void,);/,声明显示函数,Void delay 1ms(char);/,声明延时函数,Main();/,主程序,Int,results;/,整型变量声明,While(1)/,无限循环开始,P2=0 xff;/,设置,P2,口为输入口,results=P2*200;/,读入,P2,口数据并进行转换,Disp3=results/10000;,/,获取千位数据,Disp2=results/1000%10;,/,获取百位数据,Disp1=results/100%10;,/,获取十位数据,Disp0=results/10%10;,/,获取个位数据,Disply,();,/,调用显示函数,/,循环结束,/,主程序结束,/=,显示函数,=,Void,display(void,),char,j,scan,;,char i=10;,while(-i=0),scan=1;,For(j=0;j4;j+),P0=0 xff;/,关显示器,p1=scan;/,输出扫描信号,p0=,TABdispj,;,delay 1ms(4);,scan1;,/=,延时函数,=,Void delay 1ms(char x),int,I,j,;,for(i,=0;i,x;i,+),for(j,=0;j120;j+);,单片机开发工具的应用,第一步:打开开发工具,建立新项目,第,2,步:命名项目,第三步:选择芯片类型,第四步:新建项目源文件,第五步:设置输出文件类型以及单片机时钟频率,第六步:向项目添加源文件并进行编译,调试,第七步:制作电路板,第八步:插入下载芯片运行,
展开阅读全文