1、1.2课程设计的背景 11.3课程设计的目的 11.4课程设计的意义 11.5设计任务 12设计方案2 2.1参数采集和传输设计 2 2.2参数显示设计 2 2.3模拟信号采样设计2 2.4硬件研制过程 23详细设计3 3.1硬件系统框图与说明33.2硬件设计 43.3软件主要模块流程图与说明74设计结果及分析85成员分工及工作情况9 5.1成员分工 9 5.2工作情况 9 5.3实验总结 96参考文献 97. 附录 10一、设计任务与要求1.1课程设计题目1.2 课程设计的背景二十一世纪是信息化高速发展的世纪,产业的信息化离不开微型计算机的支持。微型计算机的进步是推动全球信息化的动力。因此在
2、二十一世纪掌握微型计算机接口技术是十分有必要的。本次课题是双机参数采集系统设计,这次课题旨在通过自己对所需功能芯片的设计与实现来巩固以前所学的微机原理课程知识,同时也提高动手实践的能力,还有为将来进行更大规模更复杂的开发积累经验。随着软件规模的增长,以及随之而来的对软件开发进度和效率的要求,高级语言逐渐取代了汇编语言。但即便如此,高级语言也不可能完全替代汇编语言的作用。1.3课程设计的目的微机原理与汇编语言是一门实践性和实用性都很强的课程,本次课程设计是在课程学习结束后,为使学生进一步巩固课堂和书本上所学知识,加强综合能力,充分理解和运用所学到的知识,通过简单的应用系统的设计,提高系统设计水平
3、,启发创新思想。通过本课程设计希望达到以下目地: 培养资料搜集和汇总的能力; 培养总体设计和方案论证的意识; 提高硬件,软件设计与开发的综合能力; 提高软件和硬件联合调试的能力; 熟练掌握相关测量仪器的使用方法; 掌握相关开发软件,仿真软件的使用方法。1.4课程设计的意义 通过课程设计加深理解课堂教学内容, 培养了我们资料搜集和汇总的在能力以及总体设计和方案论证的意识,锻炼了我们硬件、软件设计与开发的综合能力,提高了我们软件和硬件联合调试的能力,使我们掌握了相关测量仪器和相关开发软件以及仿真软件的使用方法,掌握计算机接口技术的基本应用方法。也掌握了常用接口电路的设计,掌握8255A、8253、
4、8259A、8250A、ADC0809、DAC0832等接口芯片的应用和编程方法,进一步熟悉汇编语言的语法和编程技巧,以及双机通讯所用到的理论基础。1.5设计任务双机数据采集系统设计,制定适当的通信协议包括命令编码,数据编码格式,通信速率、采样周期、校验方式等;模拟信号输入:可用实验箱上的电位器模拟。每路模拟量/开关量信号的采样时间为0.5s,即每秒采样2次。通信接口:自选(推荐串口)二、设计方案2.1参数采集和传输设计下位机通过74LS244采集1路开关量,模拟量由电位器产生,从ADIN0输入,通过串口8250发送给上位机2.2参数显示设计 模拟信号通过A/D转换器转换成数字信号下位机的数码
5、管上显示,发送到PC机的数据通过串口工具显示 2.3模拟信号采样设计通过8253定时触发8259中断,以达到定时采样的目的,0.5秒采样一次。2.4硬件研制过程(1)整个硬件系统划分为7个功能单元电路,包括:定时采样(8253),查询功能(244),模数转换(0809),数据传输(8255,8250),数字显示(数码管),模拟量显示(示波器)(2)系统所选用各芯片的工作方式如下: 8255的工作方式:B口方式0,输入8253的工作方式:计数器1,方式3(方波发生器), 计数初值3750,其时钟接clk3;计数器2,方式3,计数初值100,其时钟接out18250的工作方式:无奇偶校验,8个数据
6、位,一个停止位8259的工作方式:上升沿触发,一般嵌套,自动结束中断(3)系统逻辑电路图如下: 图 2-1 系统逻辑电路图三、详细设计3.1硬件系统框图与说明图 3-1 硬件系统框下位机:8255:PB口,都选用方式0。下位机的采集转换的数据通过8250传到上位机,上位机接收到数据经过处理后通过8250回送到下位机。8253:完成定时采样的功能,采样周期为0.5s。8259A:用于0.5s触发中断。0809:完成模数转换的功能。8255B口:查询EOC状态,判断是否转换完毕。3.2硬件设计3.2.1 A/D转换的基本原理A/D转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号。A/D转换
7、器是用来通过一定的电路将模拟量转变为数字量。模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。A/D转换后,输出的数字信号可以有8位、10位、12位和16位等。A/D转换器的工作原理主要有以下三种方法:逐次逼近法、双积分法、电压频率转换法。A/D转具有如下几个技术指标:1)分辩率指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2n的比值。分辩率又称精度,通常以数字信号的位数来表示。2)转换速率是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。积分型AD的转换时间
8、是毫秒级属低速AD,逐次比 较型AD是微秒级属中速AD,全并行/串并行型AD可达到纳秒级。采样时间则是另外一个概念,是指两次转换的间隔。为了保证转换的正确完成,采样速率必须小于或等于转换速率。因此有人习惯上将转换速率在数值上等同于采样速率也是可以接受的。常用单位是ksps和Msps,表 示每秒采样千/百万次。3)量化误差由于AD的有限分辩率而引起的误差,即有限分辩率AD的阶梯状转移特性曲线与无限分辩率AD(理想AD)的转移特 性曲线(直线)之间的最大偏差。通常是1 个或半个最小数字量的模拟变化量,表示为1LSB、1/2LSB。4)偏移误差输入信号为零时输出信号不为零的值,可外接电位器调至最小。
9、5)满刻度误差满度输出时对应的输入信号与理想输入信号值之差。6)线性度实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。3.2.28253定时器/计数器电路(1)电路原理该电路由片8253组成,8253的片选输入端插孔CS8253,数据口,地址,读写线均已接好,T0、T1、T2时钟输入分别为8253CLK0、8253CLK1、8253CLK2。定时器输出,GATE控制孔对应如下:OUT0、GATE0、OUT1、GATE1、OUT2、GATE2、CLK2。原理图如下:注:GATE信号无输入时为高电平图3-2 8253定时器/计数器电路原理图3.2.38250串口接口电路 该电路由一片
10、8250,一片MAX232组成,该电路所有信号线均已接好。图3-3 8250串行接口电路原理图3.2.4 8259A中断控制电路CS8259是8259芯片的片选插孔,IR0IR7是8259的中断申请输入插孔。DDBUS是系统8位数据总线。INT插孔是8259向8086CPU的中断申请线,INTA是8086的中断应答信号。图3-4 8259中断控制器电路原理图3.2.5硬件系统地址分配说明CS0: 0809 CS1:CS244 CS2:CS273 CS4:8253 CS5:82593.3软件主要模块流程图与说明下位机工作流程图: 四、设计结果及分析五、成员分工及工作情况5.1成员分工 1人进行资
11、料的搜集,下位机的连线和程序的调试,1人负责实验代码的编写以及相应流程图,1人进行实验报告的撰写及相关画图。5.2工作情况(1)模拟信号输入:1路模拟信号(2)每路模拟信号的采样时间为0.5s,每秒采样2次。(3)通信接口:上位机与下位机间用串行通信接口(4)编程语言:汇编语言(5)遇到的问题和解决的方法;问题1:对实验台各部件之间的关系以及各部件的功能和编程不熟悉解决方法:查看以前做过的实验和教科书,熟悉各部件的功能及编程问题2: 发送一次启动命令,显示一次数据通过画流程图,把接受启动命令的程序放到开中断之前5.3实验总结本次微机原理课程设计给我们了充分的时间再一次巩固微机原理及接口技术的相
12、关知识。设计的过程即使将书本理论知识运用到实践中,让我们对各个芯片如8259A、8255A、8253,ADC0809,DAC0832,cs244等有了更全面的认识。我们首先对整个系统进行大致的分析,画出程序流程图,依照思路将试验台的硬件连接完毕后,对软件部分进行了详细的编写及调试,最终达到理想的效果。在学习设计的过程中,逐步消解了我们学习上的盲点,受益匪浅,收获颇多,从中也发现了自己许多的不足和需要改进的地方。通过近两周的努力,我们完成了本学期微机原理的课程设计。在设计的过程中遇到了不少的困难,通过相互讨论、查看书籍、搜索网络、请教同学和老师,最终所遇到的问题都得到了圆满的解决方案。课程设计的
13、任务提高了我们发现问题,解决问题的能力。理论与实践之间永远是存在着一定差距的,要把理论知识充分灵活地运用于实践是需要实践经验和牢固的理论基础的。六、参考文献1.钱晓捷,陈涛.16/32位微机原理,汇编语言及接口技术(第2版).北京:机械工业出版社,20052.微机原理实验指导3.EL-MUT-III 单片机/微机实验系统 Techshine 使用说明及实验指导书 北京精仪达盛科技有限公司 2015七、附录附录一:下位机程序 con8279 equ 0492h dat8279 equ 0490h assume cs:code code segment public org 100h start:
14、 jmp start1 segcod db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch,39h,5eh,79h,71h start1: cli ;中断系统未初始化,先关中断 mov dx,04f0h mov al,00010011B ;边沿触发,单片,写ICW4 out dx,al mov dx,04f2h mov al,80h ;中断类型号80h-87h mov al,00000011B; 一般嵌套,自动结束中断,无缓冲 out dx,al mov al,0 out dx,al ;OCW1,开放中断 mov ax,0 mov ds,ax ;
15、中断向量表位于内存最开始的1KB,段地址为0 mov si,200h ;初始化中断向量表,80H*4=200H mov ax,offset int0 mov ds:si,ax add si,2si,100h ;代码段短地址100h mov bx,0480h ;初始化8250 mov dx,bx add dx,06h mov al,80h mov dx,bx mov ax,0ch ;000ch-9600 ,clk=4.77MHZ/4 out dx,ax ; AL=4770000/16/9600/4=8 add dx,2 mov ax,0h out dx,ax add dx,4 ;LCR agai
16、n mov ax,03h ;no pe,8 bit, 1 stop add dx,2 ;Interrupt Enable register out dx,ax mov dx,04d6h ;初始化8353,CS3 mov al,01110110B;写控制字,计数器1,先写低字节再写高字节,二进制,方式3 mov ax,3750 mov dx,04d2h mov al,ah mov dx,04d6h mov al,10010110B mov dx,04d4h mov al,100 mov dx,04b6h ;初始化8255,CS1 mov al,10000010B; one: call recv
17、cmp al,s jnz one four: sti waiting: cmp al,1 ;destsrc jnz waiting mov dx,04e0h;74LS244,CS4 in al,dx and al,01h mov ah,0 call send mov dx,04a0hout dx,alwait1: mov dx,04b2h ;8255B口 in ax,dx ;读 EOC and ax,1 cmp ax,1 jne wait1 ;如果EOC=0,waiting. mov dx,04a0h读转换结果 and ax,0ffh mov bx,ax nop call disp mov a
18、l,0 jmp four int0: mov al,1 ;中断服务子程序 iretdisp: push ax mov di,offset segcod mov ax,08h ;工作方式,16位,左入 mov dx,con8279 out dx,ax mov ax,90h out dx,ax ;写显示RAM命令,地址自增 mov dx,dat8279 push bx and bx,0f0h ;取高4位 mov cl,4 shr bx,cl add di,bx mov al,cs:di mov ah,0写RAM0 nop mov di,offset segcod pop bx and bx,0fh
19、 ;取低4位写RAM1 pop ax ret send: push ax ;入口参数ax mov bx,0480h add dx,0ah test al,20h ;逻辑与 jnz recv2 pop ax jmp send recv2: ret recv:出口参数al test al,01h jnz recv1 jmp recv;查询 recv1: code ends end start 附录二:元器件序号器件名称作用1PC机显示及写入程序2产生中断启动A/D转换38253按0.5s定时触发中断4ADC0809A/D转换5CS273按阈值控制LED灯68250PC机与上位机间数据传送7CS244EOC查询是否转换结束
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1