《AD转换及多位数码显示实验》由会员分享,可在线阅读,更多相关《AD转换及多位数码显示实验(9页珍藏版)》请在金锄头文库上搜索。
1、. . . . .课 程:微处理器原理与应用课 时:4学时教学环境:单片机实验室教学方法:讲解相关容,指导学生实验实验四 A/D转换及多位数码显示实验 一、目的、任务和要求1.1 实验目的1. 掌握8051单片机控制的多位数码显示器电路的设计方法、程序结构和编程方法。2. 掌握LED动态扫描显示器的扫描方法和程序结构,同时进一步掌握单片机扩展I/O接口、定时中断的应用和编程方法。3. 掌握8051单片机控制的A/D转换电路的硬件设计、程序结构和编程方法。4. 掌握ADC0809芯片的工作原理和完成A/D转换的三种等待工作方式以及三种工作方式下的硬件电路和程序结构的设计方法1.2 实验任务搭建一
2、个单片机控制的A/D转换及多位数码显示电路,编写并调试通过一个能实现单路A/D转换和数码显示的程序。本实验采用七段LED数码管来显示A/D转换后的数值。1.3实验要求通过利用8051单片机的并行扩展功能和采用ADC0809芯片,搭建一个A/D转换电路,采用七段LED数码管来显示A/D转换后的数值。设计并调试通过相应的程序。二、 实验设备和器件2.1实验设备(1)微型计算机(PC机)(装配相关软件),(2)单片机实验箱或开发板。2.2电路元器件本实验采用Protues仿真软件搭建一个简单的单片机系统电路,进行电路仿真分析,不需要实际的元器件。若实验采用实验箱或万能板(或面包板)搭建电路,则需要如
3、下元器件:ADC0809,74LS02,10k电位器、七段LED数码管,74HC595、三极管9013、LED限流电阻、软导线等。学生可自己在课后搭建电路进行实验,并与仿真实验比较。三、实验容及步骤3.1参考电路与程序代码1单片机控制ADC0809芯片的A/D转换参考电路该电路图是在80C51单片机最小系统的基础上,通过并行总线扩展ADC0809芯片,再将电位器的输出模拟电压信号接ADC0809的模拟信号输入端,同时采用扩展的方法接入一个多位7段LED数码显示器。如图6.1所示。+5V+5V+5V图6.1 单片机控制ADC0809芯片的A/D转换电路简图如图6.1(A)所示,8051数据线P0
4、.1P0.7连接0809数据口OUT8OUT0,8051地址线P2.0P2.2连接0809模拟输入信号的地址线ADDAADDC,8051地址线P2.7与读写控制线/RD、/WR通过或非门芯片74LS02连接0809的启动转换信号START、模拟输入端地址锁存信号ALE和转换输出控制端OE,0809的外接时钟信号CLOCK由8051单片机的ALE信号提供,0809的AD转换结束信号EOC接8051的P3.5脚(查询方式用)。AD转换后的数据由8051串口和串并转换芯片74HC595送至LED数码管的段码数据线,8051的P1.0P1.4脚作为位数据线经过三极管驱动器连接数码管的阳极。8VCCD7
5、D0IN-0ADDAADDBADDC CLKOE EOC ALESTARTADC0809P0口P1口 ALEP2口INTX/WR/RD8051373地址及读写逻辑88显示控制和显示器8地址及读写逻辑。图6.1(B) 单片机控制ADC0809芯片的AD转换电路简图B也可以如图6.1B所示,ADC0809和数码显示电路都通过并行总线来扩展,由于8051总线是数据地址复用总线,当地址空间紧缺时可用74LS373芯片来完成总线解复用和增加一些地址空间。2单片机控制ADC0809芯片的AD转换电路的参考程序代码(1) 图6.1(A)电路的参考程序代码 PORT7 EQU 7FFFH ;通道7启动地址 O
6、RG 0000H LJMP START ORG 0100H START:MOV SCON,#00H MOV R3,#50 ;设置显示循环变量的初值 LOOP:NOP MOV DPTR,#PORT7 MOVX DPTR,A ;启动通道7 MOV R2,#250 DJNZ R2,$ ;等待方式读 MOVX A,DPTR ;读AD转换结果 MOV B,#100 ;以下完成二十进制转换 DIV AB MOV 30H,A ;存百位 MOV A,#10 XCH A,B DIV AB MOV 31H,A ;存十位 MOV 32H,B ;存个位 NOP DISP:LCALL DL0 ;延时6ms左右 MOV
7、A,30H ;取百位数送显 MOV DPTR,#TAB MOVC A,A+DPTR ;转换成段码 CLR P3.2 MOV SBUF,A ;低位先发,送出百位段码 JNB TI,$ CLR TI SETB P3.2 ;锁存输出 MOV P1,#02h LCALL DL0 MOV A,31H ;取十位数 MOVC A,A+DPTR CLR P3.2 MOV SBUF,A ;低位先发,送出十位段码 JNB TI, $ CLR TI SETB P3.2 MOV P1,#04H LCALL DL0 MOV A,32H ;取个位数 MOVC A,A+DPTR CLR P3.2 MOV SBUF,A ;低
8、位先发,送出个位段码 JNB TI,$ CLR TI SETB P3.2 MOV P1,#08H DJNZ R3, DISP ;循环显示50次 MOV R3,#50 ;约1秒AD采样一次 LJMP LOOP DL0::MOV R0,#6 ;延时6ms左右 DL1:MOV R1,#2 DL2:MOV R2,#250 DJNZ R2,$ DJNZ R1,DL2 DJNZ R0,DL1 RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H DB 90H,88H,83H,0C6H,0A1H,86H,8EH,8CH,0FFH END (2)图6.1(B)
9、电路的参考程序代码PORT EQU 0CFA0H ; EL-MUL- 型实验箱通道0启动地址ORG 0000HLJMP STARTORG 4100HSTART: MOV DPTR, #PORT MOVX DPTR, A ;启动通道0MOV R0, #0FFHDJNZ R0, $ ;延时等待MOVX A, DPTR ;读结果MOV R1, ADISP: MOV A, R1 ;从R1中取转换结果SWAP A ;分离高四位和低四位ANL A, #0FH ;并依次存放在50H到51H中MOV 50H, AMOV A, R1ANL A, #0FHMOV 51H, ADISP2: MOV DPTR, #0
10、CFE9H ;CFE9H是8279控制口地址MOV A, #90HMOVX DPTR, A ;写显示RAM命令字DISP3:MOV R0, #50H ;R0存放待显数字的存储地址MOV R1, #02H ;R1存放待显数字的位数MOV DPTR, #0CFE8H ;CFE8H 是8279数据口地址DL0:MOV A, R0ACALL TABLE ;转换为显码MOVX DPTR, A ;送显码输出INC R0DJNZ R1, DL0SJMP DEL1 ;转入延时TABLE:INC AMOVC A, A+PCRETDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDEL1:MOV R6, #255 ;延时一段时间使显示更稳定DEL2:MOV R5, #255DEL3:DJNZ R5, DEL3DJNZ R6, DEL2LJMP START ;循环,再开始取样。END 3单片机控制ADC0809芯片的AD转换电路的参考程序结构 ( 图6.1A电路的参考程序代码