《汇编语言+微型计算机》课程设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长江大学工程技术学院《汇编+微机》课程设计报告
数据采集系统的设计与调试
学生姓名:袁春云学号:200960720 序号:25
专业班级:计本60901
指导老师:李华贵许建国
报告日期:2011 年9月10日
一.课程设计题目:数据采集系统的设计与测试
利用《汇编语言+微型计算机》课程中所学的可编程接口芯片8253、8255A、ADC0809和微机内部的中断控制器8259A设计一个数据采集系统,并且编程与调试。
二.设计目的
1.通过本设计,使学生综合运用《微型计算机技术》、《汇编语言程序设计》以及电子技术等课程的内容,为以后从事计算机检测与控制奠定一定的基础。
2.主要掌握并行I/O接口芯片8253、8255A、ADC0809及中断控制芯片8259A 等可编程器件的使用,掌握译码器74LS138的使用。
3.学会用汇编语言编写一个较完整的实用程序。
4.掌握微型计算机技术应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。
三.课程设计要求
1.功能要求
①利用《汇编语言+微型计算机系统》课程中所学的可编程接口芯片8253、8255A、ADC0809和微机内部的中断控制器8259A(从保留的IRQ2或TRQ10端引入)设计一个数据采集系统、并且编程与调试。
②用8253定时器定时10MS,每次定时10MS后启动一次模/数转换,要求对所接通道变化的模拟电压值进行采集。
③每次模/数转换结束后,产生一次中断,在中断服务程序中,采集来的数字量被读入微处理器的累加器AL中,然后通过8255A输出到8个LED发光二极管显示。
2.设计所需器材与工具
④微机原理与接口综合仿真实验平台。
⑤可编程接口芯片8253、8255A、ADC0809和译码器芯片74LS138、74LS245等。
⑥可调电位器4.7KΩ一个。
⑦其他逻辑器件、导线若干。
⑧万用表、常用工具等。
四.设计思路
1. 4.7Ω电位器一端接+5V,一端接地,调节电位器得到变化的模拟电压,
该电压接至ADC0809的某一通道输入端(如IN0),ADC0809的时钟为(500MHz),由8253对面包板上的时钟1MHz或2MHz分频后得到,8253的端口地址200H~207H。
2. 用8253定时输出信后启动ADC0809转换,ADC0809完成一次转换时间
大约为120us,将ADC0809的EOC引脚信号作为中断信号,若转换结束则进入中断服务程序。在中断服务程序中读入模数转换结果,并发送至二极管显示。
3. 8255A端口地址:208H~20FH。
4. 译码电路由74LS138提供。
四.硬件组成及工作原理
图1—框架总图
1.数据显示模块:
数据显示模块是由8255A与74LS245所组成的。8255A有三个并行输入/输出接口,分别为A、B、C三个端口。分别为:
方式0 :基本的输入输出方式,即无须联络就可以直接进行的 I/O方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出。
方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有A 口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0。
方式2:双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络
线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方
式0的I/O线。
然后根据在程序中是设置的那种工作方式去与74LS245进行连接。在程
D
L
图2—8255A连接图
2.中断管理模块
中断管理模块主要74LS138来完成,74LS138为3-8译码器,可以产生8片
选,但是在这个程序中只要用四个片选,即200-207、208-20F、210-217、218-21F。
74LS138其工作原理如下:当一个选通端(G1)为高电平,另两个选通端(/(G2A)
和/(G2B))为低电平。可将地址端(A、B、C)的二进制编码在一个对应的输出
端以低电平译出。
同时,中断管理模块需要做的工作有设置中断向量。在对中断进行设置的时
候可以对中断类型号进行修改。其实中断类型号的设置在对8259进行初始化的
时候就完成了。
3.数据采集模块
数据采集模块是用ADC0809来完成的,通过ADC0809来进行模数转换,
ADC0809所采集的模拟信号转换为数字信号。这个模块是用来对数据进行采集、
处理、转换的部分。在这个模块里我们要注意的是如何去处理在设计过程中该怎
样去处理送入软件里面的信号的频率,我们在实验中ADC0809所接入的频率为
0.25MHZ,但是也可以去使用0.5MHZ的这样一个频率,因为是8253的
ADC0809是模/数转换器。其内部有一个8通道多路开关,它可以根据地
址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
IN3连接一个滑动电阻器,通过该电阻器改变电阻得到不同的电压值,经过数据采集并转换后通过LED显示得到结果
8253可编程计数器/定时器,内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决
图4——8253A连接图
五. 软件框图
1.主程序流程图
将8259A、8255A、8253初始化后,通过开始中断、等待中断来进行数据传输
图5--主程序流程图
2.中断服务程序
启动摸/数转换,对数据进行转换,然后通过8255A输出。返回开中断来进行循环。
图6——中断服务器程序结构