51单片机: A/D 模数转换实验 | 您所在的位置:网站首页 › ad和da转换实验结果分析 › 51单片机: A/D 模数转换实验 |
51单片机: A/D 模数转换实验
一、实验内容 利用实验台上的0809做A/D转换实验,实验台上的W1电位器提供模拟量输入。编制程序,将模拟量转换成数字量。(要求模拟量由0809的IN2采集) 二、仿真图 汇编实现: AD EQU 0FFE2H ;1111 1111 11/10 0(138)/010(通道数) COM8255 EQU 0FFEBH ;键盘显示单元的8255控制口1111 1111 11/10 1/010 PA EQU 0FFECH ;字形控制口 1111 1111/11/10 1/0?/00(00指向PA) p184 PB EQU 0FFEDH ;字位/键扫控制口 1111 1111/ 11/10 1/0?/01(01指向PB) ORG 0000H LJMP START ORG 0030H START: MOV SP, #60H MOV DPTR,#AD ; MOVX @DPTR,A ;0809的通道0采样 MOV DPTR,#COM8255 ;片选 MOV A,#89H ;P186 命令字:选择工作方式,A,B口输出 1/000 1/00/1 (A,B:方式0) MOV DPTR,#0FFEBH ;控制寄存器送入DPTR,8255才工作 0111 1111/ 11/10 1/0?/11 // MOVX @DPTR,A ;方式寄存器送入控制寄存器 MOVX @DPTR,A ;累加器送外部RAM,8255初始化 MOV R7,#100 ;保证转换结束,EOC=1 CALL DELAY ; MOV DPTR,#AD ; L1: JB P3.2,L1 MOVX A,@DPTR ;读取AD转换数据 while1: MOV B,A;此处略有不同,先把数据拆分,不然下边麻烦 SWAP A ;累加器高四位与低四位互换 ANL A,#0FH ;进位内容与直接地址内容相与,取高4位 ANL B,#0FH ;进位内容与直接地址内容相与,取低4位 MOV R4,A ; R4存高位相当于/16 MOV R5,B ; R5存低位相当于%16 MOV DPTR,#AD MOVX @DPTR,A ;开始下次AD转换 MOV R3,#64h ;??? for:;第一个数码管显示 MOV DPTR,#PB ;进行消影,先位选 MOV A,#00H ;全选 MOVX @DPTR,A ;输出 MOV DPTR,#PA ;再段选 MOV A,#0FFH ;全选 MOVX @DPTR,A ;输出 MOV DPTR,#PB MOV A,#80H //1000 0000,选中第一位 MOVX @DPTR,A //第一位输出 MOV DPTR,#LEDMAP //指向表头 MOV A,R5 // R5存低位相当于%16 MOVC A,@A+DPTR ;变位寻址 MOV DPTR,#PA ;选定的数送入RAM MOVX @DPTR,A ;再输出 MOV R7,#1 CALL DELAY ;第二个数码管显示 MOV DPTR,#PB //进行消影 MOV A,#00H // MOVX @DPTR,A // MOV DPTR,#PA ; MOV A,#0FFH ; MOVX @DPTR,A ; MOV DPTR,#PB MOV A,#40H //0100 0000,选中第二位 MOVX @DPTR,A MOV DPTR,#LEDMAP MOV A,R4 ;R4存高位相当于/16 MOVC A,@A+DPTR; MOV DPTR,#PA MOVX @DPTR,A MOV R7,#1 ; CALL DELAY DJNZ R3,for MOV DPTR,#AD L2:JB P3.2,L2 MOVX A,@DPTR ;读取AD转换数据 JMP while1 DELAY: MOV R6,#135 DJNZ R6,$ DJNZ R7,DELAY; RET LEDMAP: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H ;字形表 DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH END资源下载点这里 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |