首页 实验7(AD转换实验)

实验7(AD转换实验)

举报
开通vip

实验7(AD转换实验)实验7(AD转换实验) 一、实验目的和要求 1、掌握单片机与ADC0809的接口设计方法 。 2、掌握Proteus软件与Keil软件的使用方法 。 二、实验内容或原理 1、设计一个简单的单片机数据采集系统,利用 ADC0809转换器,轮流采集模拟量输入电压 信号,并将模拟量转换成数字量,通过数码管 显示器显示 。 三、设计要求 1、用Proteus软件画出电路原理图,在单片机的外部 扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在...

实验7(AD转换实验)
实验7(AD转换实验) 一、实验目的和要求 1、掌握单片机与ADC0809的接口 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 方法 。 2、掌握Proteus软件与Keil软件的 使用方法 消防栓的使用方法指针万用表的使用方法84消毒液使用方法消防灭火器使用方法铁材计算器使用方法 。 二、实验内容或原理 1、设计一个简单的单片机数据采集系统,利用 ADC0809转换器,轮流采集模拟量输入电压 信号,并将模拟量转换成数字量,通过数码管 显示器显示 。 三、设计要求 1、用Proteus软件画出 电路 模拟电路李宁答案12数字电路仿真实验电路与电子学第1章单片机复位电路图组合逻辑电路课后答案 原理图,在单片机的外部 扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在单片机的外部扩展数码管显示器。 4、分别采用延时和查询的方法编写A/D转换程序。 5、启动A/D转换,将输入模拟量的转换结果在显示 器上显示。 四、实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 要求 1、实验目的和要求。 2、设计要求。 3、电路原理图。 4、实验程序流程框图和程序清单。 5、实验结果(波形图)。 6、实验总结。 7、思考 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 。 五、思考题 1、采用中断的方法编写A/D转换程序,完成实验要求。 ORG 0000H SJMP MAIN ORG 0030H MAIN: MOV DPTR,#0000H MOVX @DPTR,A LCALL DELAY MOVX A,@DPTR MOV B,#51 DIV AB MOV R0,A MOV A,B MOV B,#5 DIV AB MOV R1,A MOV R2,B MOV DPTR,#TAB 开始 MOV A,R0 MOVC A,@A+DPTR 通道首地址 MOV P2,#04H 启动A/D转换 MOV P1,A LCALL DELAY 调用延时子程序 MOV A,R1 MOVC A,@A+DPTR 读通道数据 MOV P2,#08H 整数位转换 MOV P1,A LCALL DELAY 小数位转换 MOV A,R2 MOVC A,@A+DPTR 表格首地址 MOV P2,#10H MOV P1,A 查个位送入LED2 LCALL DELAY SJMP MAIN 查小数点后第一位送LED1 DELAY: MOV R6,#01H DL0 : MOV R5,#3EH 查小数点后第二位送LED0 DJNZ R5,$ DJNZ R6,DL0 RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END #include #include #define unchar unsigned char #define uint unsigned int sbit CLK=P2^4; sbit START=P2^5; sbit EOC=P2^6; sbit OE=P2^7; unchar disp[3]; uint temp,result; unchar Code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay1ms() {int i; for(i=0;i<=120;i++){} } void delay256us() {int j; for(j=0;j<=32;j++){} } void dispplay() { P2=0xfd; P0=Code[disp[0]]|0x80; delay1ms(); P2=0xfb; P0=Code[disp[1]]; delay1ms(); P2=0xf7; P0=Code[disp[2]]; delay1ms(); } void main() { START=0; while(1) { START=1; START=0; delay256us(); OE=1; temp=P1; result=temp*1.0/250*500; disp[0]=result/100%10; disp[1]=result/10%10; disp[2]=result%10; dispplay(); }} ORG 0000H SJMP MAIN ORG 0030H MAIN:MOV DPTR,#0000H MOVX @DPTR,A JNB P3.3 , $ MOVX A,@DPTR MOV B,#51 ;个位转换 DIV AB MOV R0,A MOV A,B MOV B,#5 ;小数转换 DIV AB MOV R1,A MOV R2,B MOV DPTR,#TAB MOV A,R0 MOVC A,@A+DPTR MOV P2,#04H MOV P1,A LCALL DELAY MOV A,R1 MOVC A,@A+DPTR MOV P2,#08H MOV P1,A LCALL DELAY MOV A,R2 MOVC A,@A+DPTR MOV P2,#10H MOV P1,A LCALL DELAY SJMP MAIN DELAY:MOV R6,#01H ;130us DL0:MOV R5,#3EH DJNZ R5,$ DJNZ R6,DL0 RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END #include #include #define unchar unsigned char #define uint unsigned int sbit CLK=P2^4; sbit START=P2^5; sbit EOC=P2^6; sbit OE=P2^7; unchar disp[3]; uint temp,result; unchar Code[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f}; void delay() {int i; for(i=0;i<=120;i++) {} } void dispplay() { P2=0xfd; P0=Code[disp[0]]|0x80; delay(); P2=0xfb; P0=Code[disp[1]]; delay(); P2=0xf7; a P0=Code[disp[2]]; delay(); } void main() { START=0; while(1) { START=1; START=0; while(EOC==0); OE=1; temp=P1; result=temp*1.0/250*500; disp[0]=result/100%10; disp[1]=result/10%10; disp[2]=result%10; dispplay(); } } ORG 0000H SJMP MAIN ORG 0030H MAIN:MOV DPTR,#0000H MOVX @DPTR,A HERE: SJMP HERE LOOP: MOVX A,@DPTR MOV B,#51 ;个位转换 DIV AB MOV R0,A MOV A,B MOV B,#5 ;小数转换 DIV AB MOV R1,A MOV R2,B MOV DPTR,#TAB MOV A,R0 MOVC A,@A+DPTR MOV P2,#04H ;LED2 个位 MOV P1,A LCALL DELAY MOV A,R1 MOVC A,@A+DPTR MOV P2,#08H ;LED1小数点后第一个数 MOV P1,A LCALL DELAY MOV A,R2 MOVC A,@A+DPTR MOV P2,#10H ;LED0小数点后第二个数 MOV P1,A LCALL DELAY MOV DPTR,#0000H MOVX @DPTR,A RETI DELAY:MOV R6,#01H ;130us DL0:MOV R5,#3EH DJNZ R5,$ DJNZ R6,DL0 RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END #include #include #define unchar unsigned char #define uint unsigned int sbit CLK=P2^4; sbit START=P2^5; sbit EOC=P3^2; sbit OE=P2^7; unchar disp[3]; uint temp,result; unchar Code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delay() {int i; for(i=0;i<=120;i++) {} } void dispplay() { P2=0xfd; P0=Code[disp[0]]|0x80; delay(); P2=0xfb; P0=Code[disp[1]]; delay(); P2=0xf7; P0=Code[disp[2]]; delay(); } void tachmeter() interrupt 0 using 0 {OE=1; temp=P1; result=temp*1.0/250*500; disp[0]=result/100%10; disp[1]=result/10%10; disp[2]=result%10; dispplay(); } void main() { EA=1; EX0=1; START=0; while(1) {START=1; START=0; }}
本文档为【实验7(AD转换实验)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_594905
暂无简介~
格式:doc
大小:50KB
软件:Word
页数:12
分类:生活休闲
上传时间:2017-10-17
浏览量:42