



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据采集c程序(Dataacquisition,Cprogram)/*task:firsttopicdataacquisitionsystem-inthetaskbooksecondsmallquestions*/Thehardwareconnection/**///AT89C51microcontrollerSet|//K5——>|P1.0A|//K4 >|Pl.1AK3 >|Pl.2|/reductionK2 >|Pl.3/|transpositionTodeterminetheKI >|Pl.4//|RunKO——>|P1.5/| >|Pl.6|/hornI/IA/——>|P3.2(INTO)|//EOC——>|P3.6
KEY/LED//KEY/LED//CSCSO//AD-CS CS1*//*OperationsGuide#include<reg51.h>#include<intrins.h>//containsleftrightshiftfunctionintheheaderfile#include<absacc.h>//usethedefinitionofmacrostoaccesstheabsoluteaddress,suchasoutseg,outbit,ADC0809etc.#include<stdio.h>#defineoutsegXBYTE[0x8004]//codettdefineoutbitXBYTE[0x8002]//code#defineADC0809XBYTE[0x9ff8]//A/Dconversion#defineuintunsignedintunsignedint//uintinstead#defineucharunsignedcharunsignedchar//ucharinstead//functiondeclarationsectionVoiddisplay(uchara,ucharB,ucharC,ucharD,ucharNum);//displaydelayfunctionVoid,init();//adc0809initializationVoid(keyscan);//keyboardscanfunctionVoid(shine);//displayfunctionVoid(switcher);//switchdisplayfunctionVoid(Bell);//alarmfunctionVoidconvertADvalue(Al,Bl,Cl,DI);//theresultsintoadecimalnumbercomparisonVoid(convert);//transferfunctionVoiddelay(unsignedintz);//delayfunctionVoid,shinedisplay(a,B,C,D,n);VoidconvertADvalueMAX(A2,B2,C2,D2);//rangefunction//definition,initializationsectionSbitF1=P10;//asthe"set"buttonisconnected,andastheflagSbitF2=P1 1; //asthe'+1"keyconnection, andasthe flagSbitF3=P1 2; //asthe'T"keyconnection, andasthe flagSbitF4=P1 3; //as"transposition'bonds, andasthe flagSbitF5=P1 4; //as"OK"buttontoconnect, andasthe flagSbitF6-P1 5; //asexecutebonds,andastheflagSbitE0C=P3-6;//A/DqueryconversionSbitOE-P3'7;Sbitbj=Pl6;//alarmsignaloutputUnsignedcharLED;//Ucharflag=O,flagl=O,flag2=0;//Ucharn=31;//afterschoolnumbertwoFloat,K,max=0;IntADV=0;Inta=ll,b=0,c=8,d=l;//H08131Inta0=0,b0=0,c0=0,d0=0;//setthevalueofthevariableasastoragelineTOC\o"1-5"\h\zInt, al=0, bl=3, cl=0, dl=0;Int, a2=0, b2=5, c2=0, d2=0;Int, a3=0, b3=0, c3=0, d3=0;intA4=0,=0=0B4,C4,D4=0;int捷运;//A/D转换结果国际advshow;//A/D转换结果转换成示值unsignedcharledmap口=//设定显示数据数组,共阴数码管0-9灭H{0x3F,0x06,0x5b,0x4f,0x66,0x6d,7d,0x07,0x7f,0x6f,0x00,0x76};主要函数(主要通过调用子函数来实现功能)/**/main()i();〃初始化系统(1)(ADC0809=0x00;_nop_();而(0=E0C);0E=1;convert();keyscan();显示(a、b、c、d、n);shine();switcher();convertadvalue(Al、Bl、Cl、DI);convertadvaluemax(A2、B2>C2、D2);bell();OE=0;)}系统初始化/**/无效()IOE=0;)/*将A/D转换值进行转换,用于十进制运算*/无效convert()如果(标志=2)捷运=ADC0809;K=最大/255;//求出量程上限确定后对应的A/D转换比例advshow=K*捷运;//求A/D转换值对应的十进制数值LEDadvshow/100//求百位上的数;aLED;//将百位上的数值送入D,准备送入display。显示N=(advshow%100);〃求出示值的后两位a=ADV/100;b=(ADV/10)%10;c=10%;显不(a、b、c、d、n);))键盘扫描函数/**/无效keyscan()如果(Fl==0)/设定键按下延迟(5);〃去抖如果(fl=0)(旗帜+;如果(标志=3)标志=0;如果(标志=1)!-A1;b=Bl;C=Cl;D-DI;n=1;显示(a、b、c、d、n);如果(标志=0)(a=11;b=0;c=8;D=1;n=31;显示(a、b、c、d、n);)而(!Fl);如果(F4==0)/换位键按下延迟(5);如果(F4=0)(标志1++;如果(FLAG1==5)标志1=0;而(!F4);))如果(F5==0)/确定键按下{延迟(5);如果(F5=0)如果(标记2==5)标记2=0;而(!F5);显示程序/**/无效的显示(一个函数的函数的函数,B,C,D的函数,函数学好)ioutbit=0x20;//显示左边第一位outseg=ledmap[一];〃显示段码延迟(3);〃延时调用outbit=0x10;//显示第二位outseg=ledmap[B];延迟(3);outbit=0x08;//显示第三位outseg=ledmap[C];延迟(3);outbit=0x04;Fourth/displayOutseg=LEDmap[d];Delay(3);0utbit=0x02;//displayfifth0utseg=LEDmap[xuehao/10];Delay(3);0utbit=0x01;//displaySixth0utseg=LEDmap[xuehao%10];Delay(3);}Flashingfunction*//*Void,shine()If(flagl==l)A=10;Shinedisplay(a,B,C,D,n);Delay(30);A=a0;Shinedisplay(a,B,C,D,n);Delay(30);A=10;Shinedisplay(a,B,C,D,n);)If(flagl==2){B=10;Shinedisplay(a,B,C,D,n);Delay(30);B=b0;Shinedisplay(a,B,C,D,n);)If(flagl==3)(C=10;Shinedisplay(a,B,C,D,n);Delay(30);C=c0;Shinedisplay(a,B,C,D,n);}Shinedisplay(a,B,C,D,n);Delay(30);D=d0;Shinedisplay(a,B,C,D,n);))Switchthedisplayfunction*//*Void,switcher()iIf(flag2==l)IIf(flagl==l)(If(F2==0)Delay(5);A1++;If(al-10)A1=O;While(...F2);})If(F3==0)(Delay(5);If(F3==0)(Al——;Al=9;While(...F3);If(flagl==2)IIf(F2==0){Delay⑸;If(F2==0){B1++;If(bl==10)B1=O;While(...F2);Delay(5);If(F3==0)(Bl—;If(bl==T)Bl=9;While(...F3);))Delay(5);If(F2==0){C1++;If(cl==10)C1=O;While(…F2);))If(F3==0){Delay(5);ci—;If(cl--1)Cl=9;While(...F3);)))If(flagl==4){If(F2==0)(Delay(5);If(F2==0)D1++;If(dl==10)D1=O;While(...F2);))If(F3==0){Delay(5);If(F3==0){DI--;If(dl==T)Dl=9;While(...F3);A=al;b=bl;c=cl;d=dl;n=l;AO=al;bO=bl;cO=cl;dO=dl;n=l;)If(flag2==2)(If(flagl==l)IIf(F2==0){Delay(5);If(F2==0)A2++;A2=0;While(…F2);))If(F3==0)(Delay(5);If(F3==0)[A2一;If(a2==-1)A2=9;While(…F3);if(f2==0)(delay(5).if(f2==0)(b++.if(b==0)b2=0;while(!f2).delay(5).if(p==0)Ib-;if(b==-1)b=9;while(!f3);if(flagl==3)(if(f2==0)delay(5).c++;if(c==10)c2=0;while(!f2).))if(p==0)(delay(5).if(p==0)while(!f3);if(flagl==4)(if(f2==0)idelay(5).if(f2==0)Id2++;if(d2==10)d2=0;while(!f2).if(p==0)(delay(5).if(p==0)(d2-if(d2==-1)d2=9;while(!f3);a=a;b=b,c=c;d=d2,n-2;aO=a2=b2;bOandcO=c;dO=d2,n=2;if(flag2==3)Iif(flagl==1){if(f2==0)Idelay(5).if(f2==0)Idoc++.if(a3==10)a3—0;while(!f2).if(p==0)(delay(5).if(p==0){a3-if(a3==-1)a3=9;while(!f3);)))delay(5).if(f2==0)(doc++.if(b3==10)b3=0;while(!f2).))if(p==0)(delay(5).b3-if(b3==-1)b3=9;while(!f3);if(flagl==3)Iif(f2==0){delay(5).if(f2==0)c++;c3=0;while(!f2).))if(p==0)(delay(5).if(p==0)[c3-.if(c==-1)c3=9;while(!f3);if(f2==0)(delay(5).if(f2==0)(d3++;if(d3==10)d3=0;while(!f2).if(p==0)Id3--;if(d3==-1)d3=9;while(!f3);aO=a3;bO=b3;cO=c3;dO=d3;n=3);a=a3;b=b3;c=c;d=d3;n=3);if(f2==0){delay(5).if(f2==0)Ia4++;if((=10)a4-0;while(!f2).}if(p==0)]a4-if(a4==-1)a4=9;while(!f3);)))if(flagl=-2)(if(f2==0)(delay(5).B4++;如果(B4==10)B4=0;而(!F2);))如果(F3=0)I延迟(5);如果(F3=0)(B4—;如果(B4==1)B4=9;如果(FLAG1==3){如果(F2=0)I延迟(5);如果(F2=0)IC4+;如果(C4=10)C4=0;而(!F2);延迟(5);如果(F3=0)(C4—;如果(C4=-1)C4=9;而(!F3);延迟(5);如果(F2=0)[D4++;如果(D4=10)D4=0;而(!F2);))如果(F3=0)延迟(5);如果(F3=0)D4——;如果(D4=-1)D4=9;而(!F3);aA4;乙=B4;C—C4;D—D4;n—4;AO=A4;BO=B4;CO=C4;DO=D4;n=4;})结果十进制转换/**/void(int,intconver
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国高级PS保护胶数据监测研究报告
- 2025年高级压花长毛绒椅套项目可行性研究报告
- 2025至2030年中国电动场地车数据监测研究报告
- 2025至2030年中国生态功能型内墙乳胶漆数据监测研究报告
- 2025至2030年中国防爆防腐操作柱数据监测研究报告
- 2025年稳压直流电源适配器项目可行性研究报告
- 2025年气动分条刀项目可行性研究报告
- 2024-2030年中国核磁共振谱仪(NMR) 行业发展监测及投资战略研究报告
- 2025年斜面控制台项目可行性研究报告
- 景杆行业行业发展趋势及投资战略研究分析报告
- 《公平竞争审查条例》微课
- 《肺部疾病 案例分析-原发性肺癌》课件
- (高清版)WST 402-2024 临床实验室定量检验项目参考区间的制定
- 中英对照版-中文版-The-Dead-By-James-Joyces死者-詹姆斯-乔伊斯
- 清水河储能电站施工方案设计
- 低温绝热液氧瓶充装操作规程模版(2篇)
- (正式版)JBT 11517-2024 刮板取料机
- 大众汽车使用说明书
- 小学科学湘科版五年级下册全册教案2023春
- 【冠心病探究文献综述2000字】
- 2024年学校法制副校长工作职责 法制副校长聘任书(5篇)
评论
0/150
提交评论