AD课程设计.docx
《AD课程设计.docx》由会员分享,可在线阅读,更多相关《AD课程设计.docx(24页珍藏版)》请在冰豆网上搜索。
AD课程设计
郑州航空工业管理学院
微机原理课程设计说明书
11级电气工程及其自动化专业972班级
题目八路模拟量转换为数字量电路设计
姓名刘会超学号110697211
指导教师王义琴职称讲师
2011年12月26日
摘要
随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用。
多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。
本课程设计是基于微机原理与接口技术的简单应用。
运用所学的微机原理和接口技术知识完成ADC0809的采样,即基于0806最小系统将模拟电压表通过ADC0809的采样完成模拟量转换成的数字量并显示出来。
通过硬件与软件的结合,用我们刚刚学过的汇编语言编写程序模拟分析了ADC0809的芯片功能和硬件配置,结合硬件和软件阐述了该系统的工作原理,得出了一种简单实用的ADC0809的采样即实现数字电压表功能系统的硬件、软件电路设计方案。
该系统能测量0~5V的电压,结果显示于数码管上。
关键字:
ADC0809、8086系统、频率发生器
前言
电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。
我们可以用已学的微机原理与接口技术课程中介绍的芯片设计检测电压表测量0-5V的电压信号,我们使用的模数转换芯片是ADC0809,ADC0809是NSC公司生产的8路模拟输入逐次逼近型A/D转换器,它采用CMOS工艺,另外,还有8通道多路转换器和3位地址锁存和译码器,以实现对8路输入模拟量IN0~IN7的选择。
运用以上芯片在8086的最小系统可以实现对电压测量。
该采样系统是通过计算机使用编写汇编语言程序编写并控制的。
1.题义分析与解决方案
1.1题义与需求分析
1、设计并开发能检测电压信号,并能显示的系统;
2、能检测的电压值为0-5V;
3、采用模数转换芯片ADC0809从,转换成数字量。
1.2解决问题的方法与思路
1.2.1硬件部分
实验采用
模数转换芯片ADC0809、可编程外围接口芯片8255A一片,七段LED显示器,频率发生器。
1.2.2软件部分
1、该系统采用汇编语言编写程序。
2、首先要对系统的各个芯片进行初始化设计,
3、设置ADC0809转换控制,从IN0通道采样电压模拟信号,输出数字信号。
4、将所测的电压值在LED上显示出来;
2.硬件设计
2.1电路原理
本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。
硬件电路由0~5V电压输出、频率发生器、8255可编程外围接口模块和LED显示模块、ADC0809模数转换。
2.28086最小系统模块
(1)8086CPU构成的最小模式系统如图:
(2)硬件连接框图
(3)8086最小系统配置模拟图
在最小模式下,还加一片8284A作为时钟发生器,三片8282/8283或74LS373作为地址锁存器,二片8286/8287或74LS245作为双向数据总线收发器。
2.3可编程并行接口芯片8255A
2.3.18255A的作用
利用8255A将ADC0809所转化的电压的值通过LED显示出来,并与8086最小系统相连。
2.3.28255A的功能分析及技术参数
1、8255A的工作方式:
方式0---基本输入输出方式;
方式1---选通输入输出方式;
方式2---双向选通输入输出方式。
8255A的内部结构图
2、引脚信号
8255A的引脚如图,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。
8255A芯片引脚
3、8255A的接线方式
8255A的接线电路图如图所示
2.4模数转换芯片ADC0809
2.4.1ADC0809的内部结构和外部引脚
直接输入8个单端的模拟信号分时进行A/D转换。
利用它可是电压模拟信号转换成数字信号并通过LED显示。
ADC0809是CMOS器件,包括一个8位的逐次逼近型的ADC部分,还提供一个8通道模拟多路开关和通道寻址逻辑,利用它可直接输入8个单端的模拟信号分时进行A/D转换。
ADC0809的内部结构
各引脚定义分述如下:
1)IN0~IN7——8路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。
2)D7~D0——A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。
8位排列顺序是D7为最高位,D0为最低位。
3)ADDA、ADDB、ADDC——模拟通道选择地址信号,ADDA为低位,ADDC为高位。
地址信号与选中通道对应关系如表11.3所示。
4)ALE——地址锁存允许信号,高电平有效。
5)OE——输出允许信号,高电平有效。
当微处理器送出该信号时,ADC0809的输出三态门被打开,使转换结果通过数据总线被读走。
地址信号与选中通道的关系
地址
选中通道
ADDC
ADDB
ADDA
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
IN0
IN1
IN2
IN3
IN4
IN5
IN6
IN7
ADC0809接线如图示
2.5模拟量(0~5V)电压输出
电源采用5V的采用电位器来调节的电压的输入大小。
电路如图所示:
2.6频率发生器
频率发生器采用74hc4040十二位计数器通过CLK端口外接8MHZ晶振来产生各种频率信号。
2.7七段LED显示器
2.7.1七段LED显示器的作用、功能分析及结构
七段LED显示器的工作原理:
如果发光二极管共阳极,则输入为0时亮,为1时灭,反之,则输入1时亮,0时不亮。
发光二极管时一种外加电压超过额定电压时发生击穿,并因此能产生可发光的器件,数码显示器通常由多个发光二极管来组成七段或八段笔画显示器,当组合发光时,便会显示某一个数码管或字符,七段代码的各位用作a—g和DP的输入。
LED显示器内部结构
2.8硬件总逻辑图及说明
8255的PA口和PB口分别作为七段LED显示器的段选和位选,可以把电压值通过LED显示。
8255A与8086最小系统相连,ADC0809与频率发生器相连,与0-5V电位器相连,将采集的模拟信号转换为数字信号,通过LED显示电压的值。
电路图如图所示
3.汇编程序设计
3.1控制程序设计思路说明
首先对系统初始化,将8255的C口清零,A口用于LED的位选,B口用于LED的段选。
启动程序并装载,然后执行采样程序,启动AD转换读入电压值,将电压值转换为数字量并显示出来。
3.2程序流程图
程序初始化
N
Y
执行采样程序
启动AD转换
读入电压值
N
Y
CPU处理数据,调用显示模块
执行显示模块并显示
结束
1、汇编语言程序
.MODELTINY
PCIBAR3EQU1CH
Vendor_IDEQU10EBH;厂商ID号
Device_IDEQU8376;设备ID号
.STACK100
.DATA
ADDR_0809DW00F0H
BUFFERDB'H.V$'
LastADDB0;上一次AD转换值
msg3DB'AD转换结果(前边是16进制数,后边是十进制数):
$'
IO_Bit8_BaseAddressDW?
msg0DB'BIOS不支持访问PCI$'
msg1DB'找不到StarPCI9052板卡$'
msg2DB'读8位I/O空间基地址时出错$'
.CODE
START:
MOVAX,@DATA
MOVDS,AX
NOP
CALLInitPCI
CALLModifyAddress
MOVAH,00H
MOVAL,03H
INT10H;清屏
MOVAH,09H
LEADX,msg3
INT21H
XORAL,AL
JMPSTART6
START1:
MOVCX,50;采样五十次
MOVBX,0;累计五十次的采样值
START2:
CALLAD0809
XORAH,AH
ADDBX,AX
LOOPSTART2
MOVAX,50
XCHGAX,BX
DIVBL;五十次的平均值
CMPAL,LastAD
JZSTART3
START6:
MOVLastAD,AL
CALLDisplay_Data
MOVAH,02H
MOVDL,43
MOVDH,0
INT10H;定位光标
MOVAH,09H
LEADX,BUFFER
INT21H;显示结果
START3:
CALLDLTime
CALLIfExit
JZSTART1
JMPExit
AD0809PROCNEAR
PUSHCX
MOVAL,0
MOVDX,ADDR_0809
OUTDX,AL
MOVDX,IO_Bit8_BaseAddress
AD08091:
MOVCX,200
NOP
NOP;延时,等待AD转换完成
MOVDX,ADDR_0809
INAL,DX
POPCX
RET
AD0809END
ToCharPROCNEAR;转化为可显示的16进制数
ADDAL,'0'
CMPAL,'9'
JBEToChar1
ADDAL,07H
ToChar1:
RET
ToCharEND
DISPLAY_DATAPROCNEAR
MOVAH,AL
ANDAL,0FH
CALLToChar
MOVBUFFER+1,AL
MOVAL,AH
ANDAL,0F0H
RORAL,4
CALLToChar
MOVBUFFER,AL
MOVAL,AH
XORAH,AH
MOVBL,51;255/51(16进制的1=1/51V)
DIVBL
ORAL,'0';转化为可显示的10进制数
MOVBUFFER+4,AL;整数部分
MOVAL,10
MULAH
DIVBL
ORAL,'0'
MOVBUFFER+6,AL;第一位小数
MOVAL,10
MULAH
DIVBL
ORAL,'0'
MOVBUFFER+7,AL;第二位小数
RET
DISPLAY_DATAEND
DLTimePROCNEAR
PUSHAX
PUSHDX
MOVDX,100;延时100ms
MOVAH,0FFH;星研公司提供的软中断
INT21H
POPDX
POPAX
RET
DLTimeENDP
IfExitPROCNEAR
PUSHAX
PUSHDX
MOVAH,06H
MOVDL,0FFH
INT21H
POPDX
POPAX
RET
IfExitENDP
InitPCIPROCNEAR
MOVAH,00H
MOVAL,03H
INT10H;清屏
MOVAH,0B1H
MOVAL,01H
INT1AH
CMPAH,0
JZInitPCI2
LEADX,msg0
InitPCI1:
MOVAH,09H
INT21H
JMPExit
InitPCI2:
MOVAH,0B1H
MOVAL,02H
MOVCX,Device_ID
MOVDX,Vendor_ID
MOVSI,0
INT1AH
JNCInitPCI3;是否存在StarPCI9052板卡
LEADX,msg1
JMPInitPCI1
InitPCI3:
MOVDI,PCIBAR3
MOVAH,0B1H
MOVAL,09H
INT1AH;读取该卡PCI9052基地址
JNCInitPCI4
LEADX,msg2
JMPInitPCI1
InitPCI4:
ANDCX,0FFFCH
MOVIO_Bit8_BaseAddress,CX
RET
InitPCIENDP
ModifyAddressPROCNEAR
ADDADDR_0809,CX
RET
ModifyAddressENDP
Exit:
MOVAH,4CH
INT21H
ENDSTART
2、汇编程序调试
程序调试中主要是在显示数据的时候出现了一些问题,程序在上星研系统自带的延时程序,加上以后就不会出现上述问题。
4.ADC0809采样系统的设计总结
在本次设计中,使用了8086最小系统、8255可编程外围接口、ADC0809采样芯片实现了电压表的采样和显示。
通过该课程设计,掌握了什么是编译程序,编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的生成过程、构造工具及其相关的技术对课本上的知识有了更深的理解,课程设计历时二个星期左右,理论联系实际的能力还急需提高。
这次的课程设计也让我看到了团队的力量,我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。
刚开始的时候,大家就分配好了各自的任务,聚在一起讨论各个方案的可行性。
在课程设计中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。
团结协作是我们成功的一项非常重要的保证。
而这次设计也正好锻炼我们这一点,这也是非常宝贵的。
此次实习可以说是获益匪浅。
通过查阅了很多资料,并且通过查阅相关资料,学习书本及课堂中老师不曾介绍过的知识.同时也学会了在动手实践的过程中,发现问题,分析问题,在最短的时间内寻找问题的解决方案。
更重要的是通过本次的课程设计,我学到了关于微机原理课程的更多相关内容,了解了ADC0809芯片的作用、内部结构、引脚的功能、工作方式、技术参数、如何实现从模拟量到数字量的转换。
更加深入认识了8255A的内部构造、控制字、方式字的设置以及通过8255A控制输出量。
了解了许多汇编程序的思想,扩展了自己的视野,不再仅仅局限于书本中几条简短的程序,而且更重要的是明白写程序的态度:
仔细谨慎,精益求精。
在系统加电调试中,针对一些问题,熟练掌握了根据原理分步测试,将错误之处缩小的最小范围内。
我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。
这次课程设计必将成为我人生旅途上一个非常美好的回忆!
附录:
1、8086最小系统框图
2、0809功能模块框图:
3、接口与显示模块框图
4.程序流程图
程序初始化
N
Y
执行采样程序
启动AD转换
读入电压值
N
Y
CPU处理数据,调用显示模块
执行显示模块并显示
结束
ADC0806的采样系统系统程序流程图
设计总结:
在本次设计中,使用了8086最小系统、8255可编程外围接口、ADC0809采样芯片实现了电压表的采样和显示。
通过该课程设计,掌握了什么是编译程序,编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的生成过程、构造工具及其相关的技术对课本上的知识有了更深的理解,理论联系实际的能力还急需提高。
这次的课程设计也让我看到了团队的力量,我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。
指导教师评语:
课程设计成绩:
指导教师签名:
年月日