1、A D转换及多位数码显示实验课 程:微处理器原理与应用课 时: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所示。如图6.1(A)所示,8051数据线P0.1P0.7连接0809数据口OUT8OUT0,8051地址线
4、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脚作为位数据线经过三极管驱动器连接数码管的阳极。 也可以如图6.1B所示,ADC0809和数码显示电路都通过并行总线来扩展
5、,由于8051总线是数据地址复用总线,当地址空间紧缺时可用74LS373芯片来完成总线解复用和增加一些地址空间。 2单片机控制ADC0809芯片的AD转换电路的参考程序代码(1) 图6.1(A)电路的参考程序代码 PORT7 EQU 7FFFH ;通道7启动地址 ORG 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转换
6、结果 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 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+DPT
7、R 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 ;低位先发,送出个位段码 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 D
8、JNZ 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)电路的参考程序代码PORT EQU 0CFA0H ; EL-MUL- 型实验箱通道0启动地址ORG 0000HLJMP STARTORG 4100HSTART: MOV DPTR, #PORT MOVX DPTR, A ;启动通道0MOV R0, #0FFHDJNZ R0, $ ;延时等待MOVX A, DPTR
9、;读结果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, #0CFE9H ;CFE9H是8279控制口地址MOV A, #90HMOVX DPTR, A ;写显示RAM命令字DISP3: MOV R0, #50H ;R0存放待显数字的存储地址MOV R1, #02H ;R1存放待显数字的位数MOV DPTR, #0CFE8H ;CFE8H 是8279数据口地址DL0: MOV
10、 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转换电路
11、的参考程序结构 ( 图6.1A电路的参考程序代码 ) ( 图6.1B电路的参考程序代码 )4. 深入实验问题(学生独立完成) (1)对于图6.1(A),电位器的输出信号AN0改接0809的ADIN1,试修改程序并加以验证。 (2)对于图6.1(A),若ADDC、ADDB、ADDA及74LS02的6/2脚分别接P2.4,P2.5,P2.6和P2.7,试列出IN0、IN1、IN2和IN7的写数据(启动转换)和读数据的外部地址。四、实验报告要求与考核标准1、 实验报告要求(1)按照实验任务画出电路图、程序流程图,写出程序代码和运行现象。(2)若将延时等待方式分别改为中断方式和查询方式,试修改硬件电路
12、图和编写程序代码。(3)说明以十六进制数显示和以十进制数显示的两种程序代码的异同点。(4)结合实际电路,说明动态扫描的扫描周期和每一位数码管显示停留的时间长度。(5)结合程序流程图,说明显示缓冲区的地址空间、存储内容和刷新情况。(6)说明七段LED数码管共阴极与共阳极电路在硬件连接、位扫描码和字段码方面的异同点。(7)说明6位显示和4位显示的程序代码不同点。2、实验考核标准序号考核内容权重评分摘要扣分标准得分1电路设计软件仿真电路(20分)画错接线 2分个画错元件 2分个仿真出错3分个实际电路连线(15分)接线错误3分个2软件设计程序编辑(10分) 编辑不规范2分个程序编译(10分) 编译出错2分个功能完整(15分)功能出错3分个3安全与纪律安全操作(15分)违规操作5分/ 次实验纪律(10分)违纪5分/ 次4综合考核综合(5分)5如有侵权请联系告知删除,感谢你们的配合!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1