首页 单片机实验之AD转换实验

单片机实验之AD转换实验

举报
开通vip

单片机实验之AD转换实验单片机实验之AD转换实验 一、实验目的 1、掌握单片机与ADC0809的接口设计方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计要求 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在单片机的外部扩展数码管显示器。 4、分别采用延时和查询的方法编写A/D转换程序。 5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。 三、电路原理图 六、实验总结 通过本...

单片机实验之AD转换实验
单片机实验之AD转换实验 一、实验目的 1、掌握单片机与ADC0809的接口 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在单片机的外部扩展数码管显示器。 4、分别采用延时和查询的方法编写A/D转换程序。 5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。 三、电路原理图 六、实验 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 通过本实验基本掌握了AD0809通道选择设计,数码管显示器的动态显示接线,整个采样应是多通道巡回采样,运用了显示子程序来显示数码管。 七、思考题 1、采用中断的方法编写A/D转换程序,完成实验要求。 答:程序见程序清单。 四、实验程序流程框图和程序清单 1、延时 汇编 ORG 0000H 开始START:LJMP MAIN 启动AD ORG 0100H MAIN:MOV SP, #2FH 延时 CLR EA MOV DPTR, #0FEF8H MOV R0, #7BH 从AD中取数据 MOV @R0, #0AH MOVX @DPTR, A 数据处理 DEC R0 LCALL DELAY MOVX A, @DPTR 调显示子函数 MOV B, #51 DIV AB MOV @R0, A 结束 DEC R0 MOV A, B MOV B, #5 DIV AB display MOV @R0, A DEC R0 送百分位字符代码 MOV A, B 送个位及小数点字符代码 MOV B, #2 MUL AB 送位选信号 MOV @R0, A LCALL DIR 送位选信号 LJMP MAIN 延时1ms /**********显示程序************/ 延时1ms送十分位字符代码 DIR:PUSH ACC 熄灭第四位数码管 PUSH DPH 送位选信号 PUSH DPL PUSH PSW 延时1ms SETB RS0 延时1ms SETB RS1 MOV R0, #78H 返回 MOV R7, #4 MOV R6, #0 LOOP:MOV DPTR, #WK MOV A, R6 MOVC A, @A+DPTR //位控 MOV P2, A MOV DPTR, #DK MOV A, @R0 MOVC A, @A+DPTR JNB P2.2, LOOPD CLR ACC.7 LOOPD:MOV P0, A LCALL MS1 INC R6 INC R0 DJNZ R7, LOOP POP PSW POP DPL POP DPH POP ACC RET WK:DB 0001B DB 0010B DB 0100B DB 1000B DK:DB 0C0H ;0 DB 0F9H ;1 DB 0A4H ;2 DB 0B0H ;3 DB 099H ;4 DB 092H ;5 DB 082H ;6 DB 0F8H ;7 DB 080H ;8 DB 090H ;9 DB 0FFH ;灭 /**********延时**********/ DELAY:MOV R6,#01H //200us DL0: MOV R5,#61H DJNZ R5,$ DJNZ R6,DL0 RET MS1:MOV R5, #250 //1ms LOOPX:NOP NOP DJNZ R5, LOOPX RET END 延时 C语言 #include"absacc.h" #include"reg52.h" #define uchar unsigned char #define TD0 XBYTE[0Xfef8] sbit EOC=P3^3; sbit P22=P2^2; sbit P07=P0^7; uchar code wk[]={1,2,4,8}; Uchar code dk[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XFF}; uchar b[]={0,0,0,10}; /*********延时程序***********/ void ms1(void) //延时1ms { unsigned char a,b,c; for(c=1;c>0;c--) for(b=142;b>0;b--) for(a=2;a>0;a--); } void delay(void) //延时 200us { unsigned char a,b; for(b=1;b>0;b--) for(a=97;a>0;a--); } /**********A/D模块********/ short int ad0808() { unsigned short int t; TD0=0X00; delay(); t=TD0; return(t); } /*********显示程序*********/ void display(void) { unsigned short int i=0; unsigned short int k=0; unsigned short int c=4; unsigned short int j; while(c--) { P2=wk[i++]; j=b[k++]; P0=dk[j]; if(P22) { P07=0; } ms1(); } } /*********主函数***********/ void main() { while(1) { unsigned short int m; unsigned short int n; unsigned short int a; unsigned short int k; SP=0X2F; a=ad0808(); m=(a*5)/256; n=((a*5)%256)*10/256; k=((((a*5)%256)*10)%256)*10/256; b[0]=k; b[1]=n; b[2]=m; display(); } } 2、查询法 汇编: 只需将 延时法 汇编程序中 “LCALL DELAY”语句改为 “LOOP0:JB P3.3, LOOP0” 以及 DELAY 延时子程序删除即可。 查询法 C语言 将“delay();”改为“while(!EOC){;}”以及删除void delay(void)延时程序,其他程序不变即可。 3 中断法(思考题)汇编: 在延时法 汇编程序中“START:LJMP MAIN” 下加入以下语句: ORG 0013H LJMP INTT1 再将“LCALL DELAY”语句改为“HERE:LJMP HERE” 在将“MOVX A, @DPTR”语句改为“INTT1:MOVX A, @DPTR” 以及 DELAY 延时子程序删除即可。 五、实验结果
本文档为【单片机实验之AD转换实验】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_196623
暂无简介~
格式:doc
大小:81KB
软件:Word
页数:9
分类:教育学
上传时间:2017-09-30
浏览量:39