微机原理课程设计_简单数字电压表的设计.doc

上传人:本田雅阁 文档编号:2748889 上传时间:2019-05-10 格式:DOC 页数:20 大小:5.41MB
返回 下载 相关 举报
微机原理课程设计_简单数字电压表的设计.doc_第1页
第1页 / 共20页
微机原理课程设计_简单数字电压表的设计.doc_第2页
第2页 / 共20页
微机原理课程设计_简单数字电压表的设计.doc_第3页
第3页 / 共20页
微机原理课程设计_简单数字电压表的设计.doc_第4页
第4页 / 共20页
微机原理课程设计_简单数字电压表的设计.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《微机原理课程设计_简单数字电压表的设计.doc》由会员分享,可在线阅读,更多相关《微机原理课程设计_简单数字电压表的设计.doc(20页珍藏版)》请在三一文库上搜索。

1、江苏科技大学(张家港) 微机原理与接口技术课程设计 微机原理与接口技术课程设计姓名: 黄涛 学号: 0945531222 班级: 09电信2班 专业: 电子信息工程 学院: 电气与信息工程学院 江苏科技大学张家港校区2012年6月19目 录一 理论部分21课题要求与内容22 系统方案设计23 系统硬件的设计3二 实践部分41 系统硬件原理简介42 系统硬件调试中出现的问题及解决措施83 系统软件83.1 软件设计83.2软件调试中出现的问题及解决措施10三 附录11数字电压表的设计一 理论部分 1 课题要求与内容基本要求:(1) 使用AD0809获取电压数据。(2) 数据在数码管上面实时显示。

2、(3) 通过按键设置采样时间,比如60秒采集一次。(4) 采样时间计时结束后产生中断,采集电压数据。附加要求:(1) 通过串口在PC上的串口调试助手显示实时电压信号。 2 系统方案设计本电路采用模块化设计,主要由A/D转换模块、控制模块和LED显示模块组成.被测电压基准电压源积分RC元件3 12位 A/D转换器A/D转换器显示电路字位驱动电路VREF图 1 数字电压表原理框图框图功能说明基准电源:提供A/D转换参考电压,基准电压的精度和稳定性是影响转换精度的主要因素。A/D电路:A/D转换器是数字电压表的核心部件,由它完成模拟量转换为数字量的任务。译码驱动电路:将二-十进制(BCD)码转换成七

3、段供LED发光显示信号。显示电路:将译码器输出的七段信号进行数字显示,即A/D转换结果。积分RC元件:通过对RC元件的选取,控制测量量程。字位驱动电路:根据A/D器上DS4DS1端的位选信号,控制显示部分个、十、百、千位哪一位上进行显示。3 系统硬件设计本电路采用模块化设计,主要由A/D转换模块、控制模块和LED显示模块组成(如图1.0)。控制模块 LED显示模块计数器 中断请求与响应A/D转换模块外部电压图2 系统总体硬件框图设计的基本思想和顺序利用0809采集电压数据,将模拟电压信号数字电压信号。8255通过I/O控制两位数码管显示 采集电压值。8254设置采样频率。8359设置中断。基本

4、思路:当到定时时间时产生中断信号,进入中断采集电压数据。采集的数据转化后保存到内存空间里,返回主程序后在数码管上显示。二 实践部分(一) 系统硬件原理简介1 模数(A/D)转换器ADC08091.1 概述ADC0809是采样分辨率为8位的、以逐次逼近原理进行模数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A / D转换。1.2 主要特性1) 8路输入通道,8位AD转换器,即分辨率为8位。 2) 具有转换起停控制端。 3) 转换时间为100s 4) 单个5V电源供电 5) 模拟输入电压范围05V,不需零点和满刻度校准。 6) 工作温

5、度范围为-4085摄氏度 7) 低功耗,约15mW。图3 ADC0809引脚图2 可编程中断控制器8259A2.1 概述 8259A是专门为了对8085A和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。单个的8259A能管理8级向量优先级中断。在不增加其他电路的情况下,最多可以级联成64级的向量优先级中断系统。8259A有多种工作方式,能用于各种系统。各种工作方式的设定是在初始化时通过软件进行的。 在总线控制器的控制下,8259A芯片可以处于编程状态和操作状态.编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态 2.2 8259A引脚图图4

6、8259A引脚图2.3 主要功能 在有多个中断源的系统中,接受外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到CPU的INTR端;当CPU响应中断并进入中断子程序的处理过程后,中断控制器仍负责对外部中断请求的管理。3 并行接口8255A3.1 概述Intel 8086/8088 系列的可编程外设接口电路(Programmable Peripheral Interface)简称 PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A的

7、通用性强,使用灵活,通过它CPU可直接与外设相连接。3.2 8255A工作方式l 方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路l 方式1:选通输入输出方式适用于查询和中断方式的接口电路l 方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路3.3 8255A引脚图图5 8255A引脚图4 数码管4.1 数码管结构图 (a)七段式LED (b) 共阳极LED (c) 共阴极LED图6七段式LED显示部件数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数

8、码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。5 计数器Intel82545.1 概述8254 芯片是一款使用十分广泛的可编程定时,计数芯

9、片,其主要功能是定时和计数的功能。是8253的改进型,比8253具有更优良的性能。与大多数微处理器兼容;技术频率从支流到10MHz;有6种可编程计数器方式;3个独立的16位计数器,二进制或十进制(BCD)计数;任一引脚对地电压-0.57V.5.2 Intel8254的引脚图与逻辑引脚图图7 8254的引脚图对8254的编程通常只需注意两点:先写控制字,再写计数初值;计数初值必须遵循控制字中设定的格式(只有低字节或只有高字节或者先低后高,由RW1,RW0规定)。只有当CPU向8254 控制字寄存器写入控制字后,即对其初始化之后, 8254 才能正常地工作。写入控制字后,所有控制逻辑电路将立即复位

10、,输出端OUT立即进入初始状态。接着向计数器的计数初值寄存器中写计数初值,在写入初值后, 需要经过一个时钟脉冲后, 计数器才开始在脉冲下降沿进行减1计数。通常在时钟脉冲的上升沿时,门控信号GATE被采样。当A1,A0=11时,控制字寄存器被选择,控制字寄存器中的SC1,SC0则决定着(0 2)计数器中哪个会被选中以写计数初值。2 系统硬件调试中出现的问题及解决措施实验中,在连接总电路之前我们运用实验系统提供的实验程序将实验箱各个模块芯片检查了一遍.确定各个芯片和电位器能够正常工作之后开始连接总的电路.(1)连接好电路图后运行程序数码管显示不太稳定.重新检查电路,发现有些导线接触不良甚至损坏,更

11、换损坏导线重新运行程序直至数码管显示稳定.(2)连接好电路后发现调节电位器数码管显示不改变。首先检查整个电路,发现电路正常;转而检查程序是否有问题,发现有个子程序参数设置错误,设置了错误的终端屏蔽端口。纠正之后重新连接中断部分电路之后运行程序,发现当调节电位器之后,在一个计数周期之后,数码管的显示值会变化电路正常。3 系统软件3.1 软件设计1、整个程序源代码包括定义数据段,定义代码段、子程序及主程序内容。子程序中包括延时子程序、中断服务子程序及8259A初始化主程序。2、A / D转换器从启动转换到转换结束需要一定时间。为了得到正确的转换结果,必须在转换结束之后才能去读取数字量,这就是时间配

12、合。常用三种方法实现时间配合,有:延时等待法、查询法和中断法。中断法是当ADC转换结束,用转换结束信号作为中断请求信号向CPU提出中断请求,CPU相应中断,在中断服务子程序中读取转换结果。3、此次设计中我使用的是中断法。将ADC0809的转换结束指示引脚EOC输出信号作为中断请求信号,送中断控制器8259A,占用一个终端类型号n,在中断服务程序里读取转换结果。4、A / D转换中IN0单极性输入电压与转换后数字的关系为N=(输入电压/参考电压)*2565、经过A / D转换后的数字量是八位二进制数,通过以下程序转换为原始电压值MOV BL,0C4H ;乘以5/256*10000=196 MUL

13、 BL ;AX=AL*BL,得16位结果 PUSH AX ;压栈,存入结果 MOV BX,0001H POP AX MUL BX ;将AX扩展为32位,结果在DX:AX中 MOV BX,64H ;100 DIV BX ;DX:AX/BX,得32位,商在AX中,余数在DX中 DIV BL ;AX/BL,得16位,商在AL中,余数在AH中 MOV SI,AL ;整数部分,结果放进NUM MOV SI,OFFSET NUM ;段码地址,指向七段码表 MOV AL,AH MOV AH,00H MOV BL,0AH DIV BL;再除10 MOV SI+1,AL ;AL中为小数点后第一位 MOV SI+

14、2,AH ;AH中为小数点后第二位6、通过8255A输出在三位LED数码管上,程序如下:(后两位同理) MOV AL,SI MOV DI,OFFSET LEDDMAP ;段码地址,查表,显示第一位包括小数点 MOV AH,0 ADD DI,AX MOV AL,DI MOV DX,PORTA OUT DX,AL MOV DX,PORTC ;位选 MOV AL,00000100B OUT DX,AL ;选通第一位数码管,整数位 CALL DELAY总程序见附录一3.2 软件调试中出现的问题及解决措施(1)编写程序时候有细微语法错误,结合运行时软件纠错提示,发现并改正;(2)部分子程序未达到设定要求

15、,无法产生想要的结果; 整理思路,重新构思程序的设计,与他人交流,修改程序。(3) 编写好的程序没有实现要求的全部功能,无法实现通过按键设置采样时间,只能在程序里面事先设置好采样时间,不可以用小键盘设置并显示。 最后,由于时间和精力问题,此功能未能得以实现。总结: 通过本次课程设计,使我们加深了对微机接口技术这一门课程的理解,在思路的构思,方案的设定、动手操作方面都有较大的提升。还增强了我们的团队协作能力。还有,能够熟练的运用TD-PIT+这个软件来调试运行已编号的程序和调节实验箱。更重要的是通过这次课程设计,使我们能够熟练理解书本上所学的代码并运用到电路的设计中去。这就是理论与实践的转变。三

16、 附录附录1 参考程序清单;T0809.asm;A/D转换实验IOY0 EQU 3000H ;片选IOY0对应的端口始地址IOY1 EQU 3040H ;片选IOY0对应的端口始地址AD0809 EQU IOY1 ;AD0809的端口地址MY8255_A EQU IOY0+00H*4 ;8255的A口地址MY8255_B EQU IOY0+01H*4 ;8255的B口地址MY8255_C EQU IOY0+02H*4 ;8255的C口地址MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址IOY2 EQU 3080H ;片选IOY0对应的端口始地址MY8254_CO

17、UNT0 EQU IOY2+00H*4 ;8254计数器0端口地址MY8254_COUNT1 EQU IOY2+01H*4 ;8254计数器1端口地址MY8254_COUNT2 EQU IOY2+02H*4 ;8254计数器2端口地址MY8254_MODE EQU IOY2+03H*4 ;8254控制寄存器端口地址IOY3 EQU 30C0H ;片选IOY0对应的端口始地址MY8259_ICW1 EQU IOY3+00H ;实验系统中8259的ICW1端口地址MY8259_ICW2 EQU IOY3+04H ;实验系统中8259的ICW2端口地址MY8259_ICW3 EQU IOY3+04H

18、 ;实验系统中8259的ICW3端口地址MY8259_ICW4 EQU IOY3+04H ;实验系统中8259的ICW4端口地址MY8259_OCW1 EQU IOY3+04H ;实验系统中8259的OCW1端口地址MY8259_OCW2 EQU IOY3+00H ;实验系统中8259的OCW2端口地址MY8259_OCW3 EQU IOY3+00H ;实验系统中8259的OCW3端口地址INTR_IVADD EQU 01C8H ;INTR对应的中断矢量地址INTR_OCW1 EQU 0A1H ;INTR对应PC机内部8259的OCW1地址INTR_OCW2 EQU 0A0H ;INTR对应P

19、C机内部8259的OCW2地址INTR_IM EQU 0FBH ;INTR对应的中断屏蔽字STACK1 SEGMENT STACK DB 256 DUP(?) STACK1 ENDSDATA SEGMENT DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HCUN DB 256 DUP(?) MES DB Press number to set interrupt time!,0AH,0DH,0AH,0DH,$ CS_BAK DW ? ;保存INTR原中断处理程序入口段地址的变量IP_BAK DW ? ;保存IN

20、TR原中断处理程序入口偏移地址的变量IM_BAK DB ? ;保存INTR原中断屏蔽字的变量DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV SI,OFFSET CUN CALL MY_8259 ;初始化8259,完成设置 CALL MY_8254 CALL MY_0809 ;第一次采集电压QUERY: CALL DISPLAY1 ;显示电压 MOV AH,1 ;判断是否有按键按下 INT 16H JNZ QUIT ;有按键则退出 MOV DX,MY8259_OCW3 ;向8259的OCW3发

21、送查询命令 MOV AL,0CH OUT DX,AL IN AL,DX ;读出查询字 TEST AL,80H ;判断中断是否已响应 JZ QUERY ;没有响应则继续查询 CALL MY_0809 CALL DISPLAY1 CALL MY_8259 JMP QUERYQUIT: MOV AX,4C00H ;结束程序退出 INT 21HMY_8254 PROC NEAR MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,0B6H ;计数器2,方式3 OUT DX,AL MOV DX,MY8254_COUNT2 ;装入计数初值 MOV AL,64H ;100分频 OU

22、T DX,AL MOV AL,00H OUT DX,AL MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,36H ;计数器0,方式3 OUT DX,AL MOV DX,MY8254_COUNT0 ;装入计数初值 MOV AL,00H ;18432分频 OUT DX,AL MOV AL,48H OUT DX,AL MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,74H ;计数器1,方式0 OUT DX,AL MOV DX,MY8254_COUNT1 ;装入计数初值 ; MOV AH,01H ;INT 21H ;SUB AL,30H MO

23、V AL,08H ;计数8秒 OUT DX,AL MOV AL,00H OUT DX,AL RETMY_8254 ENDP MY_8259 PROC NEAR MOV DX,MY8259_ICW1 ;初始化实验系统中8259的ICW1 MOV AL,13H ;边沿触发、单片8259、需要ICW4 OUT DX,AL MOV DX,MY8259_ICW2 ;初始化实验系统中8259的ICW2 MOV AL,08H OUT DX,AL MOV DX,MY8259_ICW4 ;初始化实验系统中8259的ICW4 MOV AL,01H ;非自动结束EOI OUT DX,AL MOV DX,MY8259

24、_OCW1 ;初始化实验系统中8259的OCW1 MOV AL,0FEH ;打开IR0屏蔽位 OUT DX,AL RETMY_8259 ENDP MY_0809 PROC NEAR ;采样 PUSH DX PUSH CX PUSH AX MOV DX,AD0809 ;启动A/D转换 OUT DX,AL CALL DALLY MOV DX,AD0809 ;读A/D转换结果 IN AL,DX MOV CH,AL ;分析结果进行显示 AND AL,0F0HMOV CL,04HSHR AL,CL ;取出数据的十位MOV BX,OFFSET DATA XLAT MOV SI,ALMOV AL,CH AN

25、D AL,0FH ;取出数据的各位 MOV BX,OFFSET DATA XLATINC SIMOV SI,AL POP AX POP CXPOP DX RETMY_0809 ENDP DISPLAY1 PROC NEAR PUSH AX PUSH DX MOV DX,MY8255_MODE ;初始化8255工作方式 MOV AL,81H ;方式0,A口、B口输出,C口低4位输入 OUT DX,AL MOV AL,SI MOV DX,MY8255_BOUT DX,ALMOV AL,02H MOV DX,MY8255_A OUT DX,ALCALL DALLYDEC SIMOV AL,SIMOV DX,MY8255_BOUT DX,ALMOV AL,01H MOV DX,MY8255_AOUT DX,AL CALL DALLY INC SIPOP DXPOP AXDISPLAY1 ENDPDALLY PROC NEAR ;软件延时子程序 PUSH CX PUSH AX MOV CX,4000HD1: MOV AX,0300HD2: DEC AX JNZ D2 LOOP D1 POP AX POP CX RETDALLY ENDPCODE ENDS END START附录2:电路连接实物图图8 电路接线实物图 图9 电路接线实物图附录3:仿真电路图图10 软件仿真图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1