您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 基于8086的数字电压表与秒表的设计
1微机原理与接口技术课程设计题目:数字电压表和数字秒表的综合设计学生姓名:王虎专业:__________软件工程学号:2012023225系别:_________信息工程系指导老师:_______王位喜日期:2014年12月28日2一、课程目的1、加深对微机原理与接口技术课程内容的理解,增强综合运用课程知识的能力和编程能力,加深软、硬件应用的综合能力,在微机应用系统软、硬件开发中有初步的能力。2、把课堂实验中分布学到的知识,在课程设计中综合加以应用,进而加深理解、不断巩固、努力创新。通过学习查找、运用设计资料,完成工程所必备的基本训练,提高分析问题、解决问题的能力,养成良好的学习习惯、严谨的工作作风。二、课程设备微机,微机接口实验箱,示波器,三用表等。三、课程设计内容及要求用中断法实现数字电压表和数字秒表的综合设计8255PC口外接四位数码管和K7、K6两位开关,当k7=1时系统运行,k7=0时系统停止运行;系统运行时分两种情况:1.当K6=1时,8254作为秒发生器,其OUT作为中断请求信号,秒表时间在数码管显示。2.当K6=0时,用中断法,将ADC0809通道0外接0~5V电压,连续转换采集10次成数字量后,用均值滤波算法得到的平均值,在CRT的输出窗口,以小数点后两位(几十毫伏)的精度,显示其模拟电压的十进值。并且当:(1)当0V<ADJ≤1V时,数码管显示“1”;LED单元的D7~D0单灯左跳;(2)当1V<ADJ≤2V时,数码管显示“2”,LED单元的D7~D0双灯右跳;(3)当2V<ADJ≤3V时,数码管显示“3”,LED单元的D7~D0向左渐亮;(4)当3V<ADJ≤4V时,数码管显示“4”,LED单元的D7~D0向右渐灭;(5)当4V<ADJ≤5V时,数码管显示“5”,LED单元的D7~D0闪动显示A/D值。ADC0809的CLK脉冲为1MHZ,ADC0809的EOC信号,用作8259中断请求信号。8254作为秒发生器,它的CLK脉冲为1MHZ,工作方式自行确定,其OUT作为秒中断请求信号。要有较好的人机对话界面;控制程序的运行。四、硬件系统设计因采用了PC机和微机实验箱,硬件电路设计相对比较简单,主要利用微机实验箱上的8255并行口、ADC0809、七段LED数码管单元、8254定时/计数器、电位器等单元电路,就构成了数字电压表和数字秒表,硬件电原理框图1-1所示。3123456ABCD654321DCBATitleNumberRevisionSizeBDate:22-Dec-2014SheetofFile:D:\唐都.ddbDrawnBy:RDRDWRWRA0A1A0A1CSCS82548255RDWRADDAADDBCS0809abfcgdeDPY1234567abcdefg8dpdpabfcgdeDPY1234567abcdefg8dpdpabfcgdeDPY1234567abcdefg8dpdpabfcgdeDPY1234567abcdefg8dpdpPC0PC1PC2PC3PB0-PB7PC0-PC310KIN0ADDCCLK1MHZEOCMIR7MIR6CLK0OUT0CLK1GATE1+5V1MHZD0D1D71K1K1KPA0PA1PA7D0-D7D0-D7D0-D7XD0-D7PC7PC6+5VK6K71K1K+5VOUT1图1-1电路原理框图(1)根据课设内容的要求,设计完成该任务的所需硬件系统框图;控制面板LED显示模块A/D转换模块计数器中断请求与响应外部电压4设计的基本思想和顺序利用0809采集电压数据,将模拟电压信号数字电压信号。8255通过I/O控制两位数码管显示采集电压值。8254设置采样频率。8359设置中断。基本思路:当到定时时间时产生中断信号,进入中断采集电压数据。采集的数据转化后保存到内存空间里,返回主程序后在数码管上显示。(2)根据硬件系统框图,细化成电原理图;1、并行接口8255A8255A是一个40引脚的双列直插式并行接口芯片。8255芯片内部有3个8位的输入输出端口,即A口,B口和C口。从内部控制角度来讲,可分为两组:A组和B组;A组控制模块管理A口和C口的高四位,B组控制模块管理B口和C口的第四位。1.0方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路1.1方式1:选通输入输出方式适用于查询和中断方式的接口电路1.2方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路本设计中使用8255端口A输出LED数码管的位选信号和端口B输出段码信号52、A/D转换器0809ADC0809是双列直插式8位A/D转换芯片,具有8路模拟量输入线,可在程序控制下对任意一路进行A/D转换,得到8位二进制数字量。ADC0809包括一个8位的逐次逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑。用它可以直接输入8个单端的模拟信号,分时进行A/D转换,在多点巡回检测、过程控制等应用领域中使用非常广泛。2.0主要特性1)8路输入通道,8位A/D转换器,即分辨率为8位。2)具有转换起停控制端。3)转换时间为100μs4)单个+5V电源供电5)模拟输入电压范围0~+5V,不需零点和满刻度校准。6)工作温度范围为-40~+85摄氏度7)低功耗,约15mW。本设计中电压模拟量从ADC0809的IN0端输入。6图2-1ADC0809引脚图3、定时计时/计数器82548254芯片是一款使用十分广泛的可编程定时,计数芯片,其主要功能是定时和计数的功能。是8253的改进型,比8253具有更优良的性能。与大多数微处理器兼容;技术频率从支流到10MHz;有6种可编程计数器方式;3个独立的16位计数器,二进制或十进制(BCD)计数;任一引脚对地电压-0.5~7V.3.18254芯片主要由四部分组成:1.数据总线缓冲器;2.读写逻辑;3.3.控制字寄存器;4.4.计数器;3.28254的工作方式:方式0:计数到0结束输出正跃变信号方式;方式1:硬件可重触发单稳方式;方式2:频率发生器方式;方式3:方波发生器;方式4:软件触发选通方式;方式5:硬件触发选通方式。7图3-1定时计时/计数器8254引脚图4、七段LED数码管单元LED数码管是由发光二级管显示字段组成的显示器,有8段和“米”字段之分,这种显示器有共阳级和共阴极两种。所谓共阳方式是指笔画显示器各段发光管的阳极(即P区)是公共的,而阴极互相隔离。所谓共阴方式是笔画显示器各段发光管的阴极(即N区)是公共的,而阳极是互相隔离的。本设计用2位8段LED数码管分别显示电压值(电位器模拟电压)的十位和个位部分。图4-1七段式LED显示部件引脚图8(3)根据电原理图,编写简单的硬件检测程序;-------------------------------------------------------------;课程设计三硬件检测:数据采集控制与数字电压表;HLXKSJC3.ASM;-------------------------------------------------------------A8255EQU0600H;8255端口地址:PA0~PA7--LED.D0-D7B8255EQU0602H;PB0~PB7--A~G.DP段码口C8255EQU0604H;PC0~PC3--X1~X4,PC4.PC5--EOCCON8255EQU0606H;PC6--K6电压表,PC7--K7开机A8254EQU0640H;8254端口地址B8254EQU0642HC8254EQU0644HCON8254EQU0646HADC0809EQU0680H;ADC0809端口地址;-------------------------------------------------------------;-------------------------------------------------------------CODESEGMENTASSUMECS:CODE;-------------------------------------------------------------START:MOVDX,CON8255;8255控制字:PA7~PA0显示AD转换值MOVAL,10001000B;A口.B口,PC0~PC3输出,PC4~PC7输入OUTDX,AL;-------------------------------------------------------------BEGIN:MOVDX,A8255;L0~L7灯显示01010101MOVAL,55HOUTDX,AL;-------------------------------------------------------------MOVDX,B8255;LED数码管显示2MOVAL,5BHOUTDX,ALMOVDX,C82559MOVAL,11110101BOUTDX,AL;-------------------------------------------------------------MOVDX,CON8254;启动秒计数MOVAL,00100111BOUTDX,ALMOVDX,A8254MOVAL,10HOUTDX,ALMOVDX,CON8254MOVAL,01100111BOUTDX,ALMOVDX,B8254MOVAL,10HOUTDX,AL;-------------------------------------------------------------;-------------------------------------------------------------ALEST:MOVDX,ADC0809;选择通道,启动转换OUTDX,ALEOC:MOVDX,C8255;检测EOC状态,判断转换是否结束INAL,DXTESTAL,00110000BJZEOCMOVDX,ADADC0809;转换结束,取AD转换结果INAL,DX;-------------------------------------------------------------MOVDX,A8255;显示AD转换结果OUTDX,ALJMPALEST;继续;-------------------------------------------------------------CODEENDSENDSTART;-------------------------------------------------------------10五、软件系统设计(1)根据课设内容的要求,画出软件系统框图;(2)根据软件系统框图,分出各功能模块,并设计各功能模块的控制流程;1、8254和8259模块初始化8254和8259,设置工作方式和计数方式,进行计数采样,启动A/D转换,分析结果并进行显示初始化8255工作方式换码用8255显示在实验箱数码管上显示结果在屏幕上软件延时子程序计数器2初始8254并设置工作方式3输入1.8432MHz至CLK2进行100分频初始化8254设置工作方式:计数器0,方式3输出至CLK0计数0进行18432次分频得到1HZ方波初始化计数1,设置工作方式0,进入计数初值(键盘键入)计数完成,进入中断112、中断程序开始关中断初始化PCI_INTCSR替换INTR中断矢量打开INTR中断屏蔽位开中断计数是否完进入A/D采集模块关中断恢复PCI_INTCSR恢复INTR中断矢量恢复INTR中断屏蔽字开中断结束123、A/D转换部分(3)根据程序框图设置存贮变量,编写汇编语言的控制程序;(见附录)六、在调试过程的问题及解决办法(1)问题:在连接好线路进行调试时,发现只有电压表的数值能够正常在8位数码管上显示,而当K6=1时,数码管上上显示的是三位乱码。办法:在确认电路没有连错的情况下,对程序进行了
本文标题:基于8086的数字电压表与秒表的设计
链接地址:https://www.777doc.com/doc-2533303 .html