《微机原理课程设计报告书.doc》由会员分享,可在线阅读,更多相关《微机原理课程设计报告书.doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、咸阳师范学院硬件课程设计报告书 题 目: 硬件设计与实现 系 部: 信息工程学院 专 业: 计算机应用技术 班 级: 1211 姓 名: 刘贞 学 号: 指导老师: 许青林 设计时间:2014.6.23-2014.6.26 目录一、设计目的3二、设计要求32.1设计要求:32.2设计思路:3三、连线设计33.1 各接口的连接:4四、元件及功能44.1、8255引脚及功能44.2、ADC0809引脚功能64.3 ADC0809的工作过程6五、流程图设计:8六、程序设计:8七、使用说明9设计总结:10参考文献:10A/D转换一、设计目的1、ADC0809通过8255A芯片实现对对8路模拟量通道的数
2、据采集。2、通过编程掌握ADC0809和8255A芯片的使用。 3、掌握A/D转换的接口方法。4、了解A/D芯片ADC0809转换性能及编程。5、通过编程掌握ADC0809和8255A芯片的使用6、通过实验了解ADC0809如何进行数据采集。二、设计要求2.1设计要求:2.2设计思路:根据电路图确定8255A端口地址,编写数据采集程序。三、连线设计将程序输入到伟福6000中,把电脑的接口连到实验箱上,ADC0809的片选端和8255的片选端分别接到实验箱9000H和8000H开始的CS1.CS0端,ADC0809的IN0.IN1端分别接上模拟信号,EOC口接在8255的PC1端,8255的A口
3、作输出端分别接在八盏灯上。调输入信号,全速执行程序,根据调整的输入信号可观察到灯泡的亮灭和内存单元2000H开始的存储量3.1 各接口的连接:连接连接孔1连接孔21IN0电位器输出2AD_CSCS13EOC8255_PC148255_CSCS05PA0L06PA1L17PA2L28PA3L39PA4L410PA5L511PA6L612PA7L7四、元件及功能4.1、8255引脚及功能RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255
4、与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输. RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 8255具有3个相互独立的输入/输出通道端口,用+5V单电源供电,能在一下三种方式下工作。 方式0基本输入
5、输出方式;方式1选通输入/出方式;方式三双向选通输入/输出方式; PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 工作于三种方式中的任何一种; PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 不能工作于方式二; PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。不能工作于方式一或二。 A1,A0:地址选择线,用来选
6、择8255的PA口,PB口,PC口和控制寄存器. 当A1=0,A0=0时,PA口被选择; 当A1=0,A0=1时,PB口被选择; 当A1=1,A0=0时,PC口被选择; 当A1=1.A0=1时,控制寄存器被选择.4.2、ADC0809引脚功能ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。下面说明各引脚功能。 IN0IN7:8路模拟量输入端。 2-12-8:8位数字量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。 START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(
7、脉冲上升沿使0809复位,下降沿启动A/D转换)。 EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 VCC:电源,单一+5V。 GND:地。 4.3 ADC0809的工作过程首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转
8、换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。 转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。 (1)定时传送方式 对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,
9、A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 (2)查询方式 A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。 (3)中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。 。五、流程图设计:开始初始化8255送通道号A/D转换读EOC状态从8255输出,同时存入到2000h开始的内存中高电平六、程序设计:DATA SEGMENTORG 2000H
10、 DB 24 DUP(0)DATA ENDS;CODE SEGMENTASSUME CS: CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV SI, 2000H MOV DX, 8003H MOV AL, 81H OUT DX, AL MOV BL, 0AGAIN: MOV AL, BL MOV DX, 9000H OUT DX, AL MOV DX, 8002HNEXT: IN AL, DX AND AL, 02H JZ NEXT MOV DX,9000H IN AL, DX MOV DX, 8000H OUT DX, AL MOV SI,AL
11、INC SIINC BLCMP BL, 2 JNE GOOD MOV BL, 0GOOD: CMP SI, 2017H JNG BOY MOV SI, 2000HBOY: JMP AGAIN MOV AH, 4CH INT 21HCODE ENDS END START七、使用说明1、执行结果如下表:本表为部分数据采集L7L6L5L4L3L2L1L0表示数据0001000010H0010001123H0011010034H10110001B1H10100011A3H0110011167H1000100088H表中:1为灯亮0为灯灭2、 DS数据表2000H2001H2002H2003H2004H
12、2005H2006H10H23H34HB1HA3H67H88H注:由表一和表二可以看到对应数据相同说明程序正确,使用单步执行来进行验证.设计总结:在老师和同学的帮助下,我顺利的完成了这个小学期课程设计,通过这次A/D 转换课程设计,我学习和初步掌握了计算机接口电路ADC0809及8255A的应用和设计技术,认识到理论知识对于应用技术来说是不可或缺的,进一步加强了理论与应用相结合的实践和锻炼。通过这次设计实践加深了我对专业知识的认识和理解,提高了自己的设计水平和对所学知识的应用能力以及分析问题、解决问题的能力,这将对我今后的学习和生活起到非常重要的影响,我会终生受用。总之,编程的过程是麻烦的,不过只要用心,只要肯查资料,一切困难都是可以克服的。这次课程让我的编程能力有很大提升,也让我更加了解硬件的魅力参考文献:1 冯博琴、吴宁.微机计算机原理与接口技术,清华大学出版社2 顾元刚,韩燕.汇编语言与微机原理教程,电子工业出版社