键控大数据采集及数值显示电路设计(微机原理)
- 格式:doc
- 大小:497.00 KB
- 文档页数:10
梧州学院课程论文(2012 -2013学年第一学期)课程论文题目:数据采集电路和简易存储示波器设计学生姓名:石凯摘要:设计中采用了模块化设计方法,并使用了多种EDA工具,提高了设计效率。
整个设计实现了存储示波器的所有功能要求,达到较高的性能指标。
本设计分为四个模块分别是:数据采集模块,控制模块和数据存储模块和数据输出模块。
数据采集模块采用A/D(ADC0809)对不同频率的输入信号分别以相应的采样速度予以采样,并将采样数据存在FPGA内部的RAM中。
数据输出模块采用D/A(DAC0832)输出采样信号,在示波器上以X-Y的方式显示波形。
控块以采用EDA中的状态机控制A/D的采样和数字信号的输出。
关键词: 数字存储示波器,状态机, AD,DA, EDA,LPM RAM一、设计内容:数据采集电路和简易存储示波器设计二、设计目的与要求:用ADC0809采集外部一个信号(从IN1输入),转换为8位的二进制数据存储到存储器中,采样一个周期后,把存储器里面的数据重新读出来,通过DAC0832输出,用示波器观察比较被采集的信号和重新输出的信号。
三、设计原理本设计利用FPGA直接控制ADC0809对模拟信号进行采样,然后将转换好的8位二进制数迅速存储到FPGA内部RAM存储器中,在完成对模拟信号一个或数个周期的采样后,由外部按键电路系统将存储器中的采样数据读出处理。
包括如下模块:对ADC0809的采样控制电路、8位地址计数器、存储器、D触发器和按键电路模块。
为使电路设计更加简单快捷,且方便阅读与理解,本电路使采用模块化的设计思想,先由VHDL源程序对各个模块进行独立编写(对各个模块进行硬件描述)、测试,然后生成原理图封装,再用原理图方式进行连接、整合。
A/D采样控制电路可以分为三个部分来分别实现:ADC0809的控制部分、地址计数器部分、数据存储器部分。
系统框图:在设计整个系统的过程中,可以把设计分成信号采样、存储、信号输出等几部分。
“采集AD值显示波形图”案例原理与测试说明1 程序设计目标及程序运行效果说明程序设计目标:该程序是分时的采集四种AD值,并利用定时器以上位机要求的不同速率定时发送AD值,上位机把上传的四种AD值分别显示成波形。
程序运行效果说明:采集的四种AD值显示在上位机上,通过改变温度和光照强度可以看出波形的变化。
2 程序相关电路及工作原理说明2.1工作原理下位机工作原理:主函数中分时初始化四种AD,AD中断根据不同的标志位获取相应的AD值,我们用定时器T0计时,T0中断根据上位机要求的速率通过串口发送四个AD值。
串口通信采用协议来完成,发送过程包含:包头(A5),中间数据(P1.0AD值,P1.1AD值,温度AD值,光AD值,四种10位AD值中剩余两位的和),校验和(前面六个字节的和,进位丢弃),共七个字节,如:A5 01 02 71 03 60 7C ;接收过程包含:包头(5A),中间数据(上位机修改下位机传输速率),校验和(前面两个字节的和,进位丢弃),如:5A 04 5E 。
串口中断接收上位机发送过来的用于调节下位机发送速率的包,并用校验和检查收到的包是否正确,如果正确则在定时器T0中断中修改发送数据的频率,否则丢弃该包。
上位机工作原理:接收下位机发送的包,并通过校验和检查收到的包是否正确,如果正确则把收到的四个字节的AD 值分别显示成四种波形图,分别对应P1.0口电压值,P1.1口电压值,温度值,光照值。
上位机还可以调节下位机发送数据的频率,分别为低速,中速和高速,可以从波形图中很清楚的观察到速率的变化。
每一副波形图都有提取波形数据,保存波形图等功能。
2.2 程序总框图设计流程如下否是否初始化串口 串口中断,收到上位机发送的数据初始化定时器T0 T0中断,按照上位机的要求速率通过串口定时发送AD 数据包给上位机 上位机显示下位机发送四种AD 值的波形图 是否通过校验 丢弃该包 上位机发送要求的速率给下位机 是否通过校验 丢弃该包 主函数分时初始化AD AD 中断,获取四种AD 值2.3 上位机图形界面3 测试方法(1)将Hex文件下载到实验板;(2)打开“工程文件”文件夹,打开“上位机”文件夹,并启动程序Ware.exe;(3)采集波形软件自动连接实验板;(4)出现波形并正常显示即为成功。
硬件技术课程设计实验报告报告名称:数据采集显示系统设计二(查询法)学院专业:自动化学院自动化专业二○一二年六月二十六日一、实验目的1、利用PC机和实验装置设计并实现数据采集显示系统2、进一步掌握微机硬件和软件综合设计二、实验内容和要求通过ADC0809的通道0(IN0)采集电位器的值,并将其通过DAC0832输出,该输出直接连接到ADC0809的通道1(IN1),并将IN0和IN1采集到的模拟电压分别在LED和CRT上显示。
要求:1、设计简单操作页面,具有开始与结束运行控制的功能2、IN0采集的电压值在LED上以十进制显示,IN1采集的值在CRT上以十进制显示3、对IN0采集的通道进行如下处理:(1)如果IN0<2.5V,则送00H到DAC0832如果IN0>=2.5V,则送FFH到DAC0832(2)DAC0832的输出接ADC0809的IN1,同时接示波器(3) IN1采集的电压值以十进制在CRT 上显示 4、 ADC0809采用查询方式读取数据 5、 显示须有一定的延时 三、 硬件设计与接线图ADDA 转换模块:XD0—XD7+5V IOY1 500 10KXIOW 10K5VXD0-XD7CLK PA0 XIOWXD0 XD1IOY0 CS XD05V XIOR 8255检测模块XD0-XD7 D0-D7XIOW WRPA0XIOR RDPA4-PA7L3-L6XA2 A0XA3 A1/Y1 CSPB0-PB7A,B-G,Dp四、程序流程图和清单 主程序流程图:D0 Vref ILED7DAC0832 Xfer CS Rf WR1 Iout1 WR2 Iout2D0 IN0 IN1 ADC0809 D7 IN7CLOCK EOCALE ADD-A START ADD-B ADD-CREF+ ENABLE REF-A B8255数码管键盘单元初始化NONOYESNO YES YESNOYES十进制转换流程图:显示提示信息 读取输入 LED 显示输入是否为1是否为2 结束启动0809开始 转换IN0EOC=1? 读IN0采样值保存并计算后送0832启动0809IN1,将IN0数据转换成十进制保存EOC=1?读IN1采样值并保存,如果IN1值发生改变,将IN1转换为十进制后保存,在CRT 上显示3、程序清单:;回车换行宏定义CLRF MACROMOV DL,0DHMOV AH,02HINT 21HMOV DL,0AHINT 21HENDMIOY0 EQU 3000HIOY1 EQU 3040HIOY2 EQU 3080HADCS EQU IOY0DACS EQU IOY1PA55 EQU IOY2+00H*4PB55 EQU IOY2+01H*4PC55 EQU IOY2+02H*4 PCTL EQU IOY2+03H*4 STACK1 SEGMENT STACK DW 256(?)STACK1 ENDSDATA SEGMENTDCTBL DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDCTBL1 DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH LED DB 3 DUP(0)CRT DB 3 DUP(0)MES0 DB 'PRESS 1 TO START TO CONVEY!',0DH,0AHDB 'PRESS 2 TO QUIT!',0DH,0AH,'$'MES1 DB 'THE DATA IN1 COLLECT IS:',0DH,0AH,'$'BUF DB 2 DUP(0)DATA ENDSSTAC SEGMENT PARA STACKDB 256 DUP(?)STAC ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACSTART:MOV AX,DATAMOV DS,AXMOV DX,PCTL MOV AL,90HOUT DX,AL;显示提示信息LOP2: LEA DX,MES0 MOV AH,09HINT 21HLOP1:MOV DL,0FFHMOV AH,06HINT 21HJZ LOP1CMP AL,'1'JNZ LOP2LOP0: JMP ADDA LOP3: CALL DISPMOV DL,0FFHMOV AH,06HINT 21HCMP AL,'2'JZ EXITJMP LOP0 EXIT: MOV AH,4CH INT 21HADDA: MOV DX,ADCS ;采集通道0数据MOV AL,00HOUT DX,ALMOV DX,PA55L1: IN AL,DXAND AL,01HJZ L1MOV DX,ADCSIN AL,DXMOV BUF,ALCMP AL,7FHJAE L2MOV AL,00HJMP L3L2: MOV AL,0FFHL3: MOV DX,DACS ;转换后送入;DAC0832OUT DX,ALMOV AL,BUF ;数据转换XOR AH,AHMOV BL,33HDIV BLMOV LED,AL ;存入led显示整数;部分MOV DL,0AHMOV AL,AHXOR AH,AHMUL DLDIV BLMOV LED[1],AL ;存入led显示小;数部分MOV DL,0AHMOV AL,AHXOR AH,AHMUL DLDIV BLMOV LED[2],ALMOV DX,ADCS ;采集通道1的数;据MOV AL,01HOUT DX,ALMOV DX,PA55L4: IN AL,DXAND AL,01HJZ L4MOV DX,ADCSIN AL,DXCMP BUF[1],7FHJAE L5JMP L6L5: CMP AL,7FHJAE LOP3JMP L8L6: CMP AL,7FHJB L7JMP L8L7: JMP LOP3L8: MOV BUF[1],AL;通道1数据十进制转换MOV AL,BUF[1]XOR AH,AHDIV BLMOV CRT,AL ;存入CRT显示整;数部分 MOV DL,0AHMOV AL,AHXOR AH,AHMUL DLDIV BLMOV CRT[1],AL;存入CRT显示小;数部分MOV DL,0AHMOV AL,AHXOR AH,AHMUL DLDIV BLMOV CRT[2],ALLEA DX,MES1 ;CRT显示in1数据MOV AH,09HINT 21HMOV AH,02HMOV DL,CRTADD DL,30HINT 21HMOV DL,2EHINT 21HMOV DL,CRT[1]ADD DL,30HINT 21HMOV DL,CRT[2]ADD DL,30HINT 21HMOV DL,56HINT 21HCLRFJMP LOP3DISP PROC ;LED显示子程序MOV AL,LEDLEA BX,DCTBL1XLATMOV DX,PB55OUT DX,ALMOV DX,PC55 MOV AL,04HOUT DX,ALCALL DELAYMOV AL,LED[1]LEA BX,DCTBLXLATMOV DX,PB55OUT DX,ALMOV AL,02HMOV DX,PC55OUT DX,ALCALL DELAYMOV AL,LED[2]LEA BX,DCTBLXLATMOV DX,PB55OUT DX,ALMOV AL,01HMOV DX,PC55OUT DX,ALCALL DELAYRETDISP ENDPDELAY PROC ;延时子程序 PUSH CXMOV BX,60HDEL1:MOV CX,0FFFFHLOOP $DEC BXJNZ DEL1POP CXRETDELAY ENDPCODE ENDSEND START五、实验结果及分析实验结果:结果分析:本次实验的结果与理论值存在一定的误差。
1.设计目的本设计包括确定控制任务、系统总体设计、硬件系统设计、软件程序的设计等,使学生进一步学习理解计算机控制系统的构成原理、接口电路与应用程序,巩固与综合专业基础知识和相关专业课程知识,提高学生运用理论知识解决实际问题的实践技能。
2. 设计内容设计一由微机控制的A/D数据采集和控制系统,该卡具有对八个通道上0-5V的模拟电压进行采集的能力,且可以用键盘选择装换通道,选择ADC0809作为A/D转换芯片。
并在显示器上动态显示采集的数据。
3. 设计要求(1)根据题目要求的指标,通过查阅有关资料,确定系统设计方案,并设计其硬件电路图。
(2)画出电路原理图,分析主要模块的功能及他们之间的数据传输和控制关系。
(3)用protel软件绘制电路原理图。
(4)软件设计,给出流程图及源代码并加注释。
4. 系统总体设计步骤第一步:信号调理电路第二步:8路模拟信号的产生与A/D转换器被测电压要求为0~5V的直流电压,可通过电位器调节产生。
考虑本设计的实际需要,我选择八位逐次比较式A/D转换器(ADC0809)。
第三步:发送端的数据采集与传输控制器第四步:人机通道的借口电路第五步:数据传输借口电路用单片机作为控制系统的核心,处理来之ADC0809的数据。
经处理后通过串口传送,由于系统功能简单,键盘仅由两个开关和一个外部中断组成,完成采样通道的选择,单片机通过接口芯片与LED数码显示器相连,驱动显示器相应同采集到的数据。
串行通信有同步和异步两种工作方式,同步方式传送速度快,但硬件复杂;异步通信对硬件要求较低,实现起来比较简单灵活,适用于数据的随机发送和接受。
采用MAX485芯片的转换接口。
经过分析,本系统数据采集部分核心采用ADC0809,单片机系统采用8051构成的最小系统,用LED动态显示采集到的数据,数据传送则选用RS-485标准,实现单片机与PC机的通信。
数据采集与传输系统一般由信号调理电路,多路开关,采样保持电路,A/D,单片机,电平转换接口,接收端(单片机、PC或其它设备)组成。
南阳理工学院本科生毕业设计(论文)学院:电子与电气工程学院专业:电气工程及其自动化学生:赵晓婷指导教师:朱清慧完成日期2014年 5 月南阳理工学院本科生毕业设计(论文)单片机实时数据采集显示系统设计Design of Real Time Data Acquisition and DisplaySystemUsing MCU总计:29 页表格:2 个插图:18 幅南阳理工学院本科毕业设计(论文)单片机实时数据采集显示系统设计Design of Real Time Data Acquisition and DisplaySystemUsing MCU学院:电子与电气工程学院专业:电气工程及其自动化学生姓名:赵晓婷指导教师(职称):朱清慧(教授)评阅教师:完成日期:南阳理工学院Nanyang Institute of Technology单片机实时数据采集显示系统设计电气工程及其自动化专业赵晓婷[摘要]本文介绍了单片机控制的实时数据采集系统的硬件和软件设计与仿真过程。
硬件部分设计采用单片机AT89C51、字符液晶显示器(HD44780控制器)、图形液晶显示器(KS0108控制器)以及AD转换器AD1674等组成一个完整的单片机控制系统,并且使用8255A芯片对AT89C51的IO口进行了扩展。
系统程序采用模块化的编程思路,通过C 语言进行编程设计,主要程序为AD转换模块和液晶显示模块。
最后,在Proteus平台上进行了软件与硬件交互仿真,实现了系统各项性能指标要求。
[关键字]实时数据采集;AT89C51;液晶显示;C语言Design of Real Time Data Acquisition and DisplaySystemUsing MCUElectrical Engineering and Automation Specialty ZHAO Xiao-tingAbstract: This paper introduces the design and simulation of system controlled by single chip microcomputer.The uses a single chip AT89C51, character liquid crystal display (HD44780 controller), LCD display (KS0108 controller) and AD converter AD1674 to form a complete microcomputer control system, and using the 8255A chip concept, through the C programming language, the main program for the AD conversion module and liquid crystal display module. Finally, system conducts the software and on the Proteus platform,realizing the requirements of performance indicators about the system.Key words:Real time data acquisition;AT89C51;LCD;C language目录1引言..................................................................2 系统方案设计 ..........................................................2.1 系统设计框图.....................................................2.2 器件的选择.......................................................3 系统硬件组成及接口电路设计.............................................3.1 系统硬件组成.....................................................3.2 系统接口电路设计 (1)3.2.1 AD1674与AT89C51的接口电路 (1)3.2.2 8255A与AT89C51的接口电路 (1)3.2.3 KS0108与8255A的接口电路 (1)3.2.4 HD44780与8255A的接口电路 (1)4 系统软件设计 (2)4.1 系统主程序 (2)4.2 AD1674转换程序 (2)4.3 LCD12864显示程序 (2)4.3.1 温度曲线显示程序 (2)4.3.2 汉字显示程序 (2)4.4 LCD1602字符显示程序 (2)5系统仿真 (2)5.1 软件介绍 (2)5.2 Proteus仿真 (2)结束语 ................................................. 错误!未定义书签。
数据采集分析系统及数据采集电路摘要:数据采集分析系统是一种可以控制和监测信息的集成系统,它可以对物理和化学过程进行监测和控制,并将采集到的数据进行分析和处理。
为了实现数据采集和传输,数据采集电路是必不可少的。
数据采集电路可以将传感器、控制器等组件的电信号转换为数字信号,以便计算机等设备进行处理和分析。
本文将分别介绍数据采集分析系统和数据采集电路的基本原理,旨在提出可借鉴化建议。
关键词:数据采集分析;数据采集电路;概况随着信息化的快速发展,数据采集及其分析已成为现代社会中广泛使用的技术手段之一。
数据采集是指从实际生产、生活中采集、收集和处理各类信息的过程,可以从中获取有关目标物理参数的信息,并将其转化为数字信号。
数据采集分析系统,是以计算机技术为基础,通过对各种实时感应设备收集到的数据进行分析、处理、传输和储存,实现数据可视化展示,提供特定的分析报告及应用逻辑。
数据的采集分析在电子商务、物流、汽车等多个领域中有广泛应用,能够提高生产效率、节约资源成本、提升服务质量、降低人工成本。
一、数据采集分析概况数据采集电路是实现数据采集的基础,主要是通过模拟信号转换为数字信号的方式,将各种实际物理参数转化为数字信号,并通过芯片组合的方式,对数据进行采集、储存、传输和处理。
数据采集电路一般由传感器、信号调理电路、模数转换器、信号处理器和通讯接口等多个组成部分构成。
其中,传感器是数据采集电路的核心部件,主要用于将实际物理参数转化为电信号,在采集过程中发挥关键作用。
信号调理电路则用于对传感器输出的电信号进行放大、去噪和滤波等处理,以便提高信号质量。
模数转换器则是将模拟信号转换为数字信号,并通过信号处理器进行数字处理,得出输出结果。
通讯接口则用于数据的传输和与其他系统的连接。
数据采集分析系统及数据采集电路是实现物理参数采集和数据分析、处理、传输的关键技术,它们的应用不仅能提高生产效率和服务质量,而且能够节约资源成本、降低人工成本,对现代产业和社会的发展具有重要和积极的影响。
adc多按键电路的电路工作原理,阈值范围确定
ADC多按键电路是一种用于模拟信号(例如按键)转换为数
字信号(例如0或1)的电路。
它可以将多个按键的状态转化
为对应的数字值。
工作原理如下:
1. 按键单元:ADC多按键电路中有多个按键单元,每个按键
单元有两种状态,按下或未按下。
按下时,按键单元的输出为高电平(1),未按下时输出为低电平(0)。
2. 编码器:ADC多按键电路中有一个编码器,它的作用是将
各个按键单元的状态编码成对应的数字值。
编码器可以是优先级编码器、格雷码编码器等。
3. 数字输出:编码器的输出是一串数字信号,用于表示各个按键单元的状态。
这串数字信号可以连接到其他数字电路或者进一步处理。
阈值范围的确定可以根据具体的设计需求和元器件规格来确定。
首先要确定逻辑高电平和逻辑低电平的电压阈值范围,一般是根据逻辑电平的定义(例如TTL电平标准)来确定。
然后根
据电路中所使用的元器件的特性和工作电压,确定合适的输入阈值。
例如,如果使用CMOS逻辑门电路,一般会将高电平
阈值设置为输出电源电压的2/3,低电平阈值设置为输出电源
电压的1/3。
需要注意的是,按键的接口线路要经过滤波电路来减少抖动和
干扰。
此外,还要确保按键电路的耐电压、电流和抗干扰能力等特性满足设计要求。
数据采集与显示系统设计说明与要求一、本题目模拟一个数据采集和处理系统。
设原始信号为一个压力信号(压力范围为:0~100kg ),现在经过一定的模拟调理电路变为0~5V 电压信号(该信号采用实验箱上的电位器模拟产生)。
现需要编程完成以下功能:。
现需要编程完成以下功能:二、用实验箱上的分压电阻VR2或VR1,模拟测试信号。
信号电压的变化范围:0~5V 。
用手动调节分压值,来模拟信号的变化。
手动调节分压值,来模拟信号的变化。
三、设计流程:三、设计流程:数码管显示数码管显示(16(16进制数值进制数值) )电位器输出电位器输出 → ADC0809采集采集 → 数字量数字量((二进制二进制) ) →十进制→十进制 → 数码管显示考虑键盘编程的完整设计任务:a. 参考硬件:A\D 转换模块,键盘接口8279及数码管显示模块。
及数码管显示模块。
b. 设计要求:原始信号为一个压力信号(压力范围为:0~100kg ),经过信号调理电路后输出给定可调直流电压为0~5V ,经过A\D 转换后,通过键盘控制在实验板的数码管上显示该压力信号的大小(十进制)。
程序设计时,要加入数字滤波程序:即采集多个数据(可为18个,要求存放于外部的RAM 中,从4100H 开始存放),剔除最大值和最小值后剩下的数据求平均值。
假定:信号值在0~1V (0~20kg )时,对象处于过低的非正常工作状态。
信号值在1~4V (20~80kg )时,对象处于正常工作状态。
信号值在4~5V (80~100kg )时,对象处于过高的非正常工作状态。
(用实验箱左下脚发光二极管分别表示)。
c. 具体的要求如下:1. 程序全速运行后,数码管显示“P ”字样,表示程序准备就绪。
”字样,表示程序准备就绪。
2. 按下实验板上的“0”键,数码管实时显示采样的电压值大小(小数点后两位),采样的时间自定。
的时间自定。
例如:如果可调的压力信号是24.6kg ,在数码管上应该显示24 . 6G 。
数据采集系统设计姓名:学号:班级:实验时间:姓名:学号:班级:实验地点:一、实验目的1. 掌握单片机片内ADC及温度传感器的使用及应用程序设计二、实验内容应用单片机片内ADC实现数据的采集,使用片内温度传感器实现温度的测量。
要求:1. 应用C8051F020单片机片内温度传感器实现温度的测量,并用数码管显示实测温度值,显示精度为0.1o C。
2. 应用C8051F020单片机内ADC实现两路数据的采集,要求对外部输入0-2V的直流电压进行数据采集,测量精度为5mV,显示精度为0.001V。
3. 两种采集功能可以用按键进行切换,可以用按键控制数据采集的通路。
三、实验说明通过本实验,掌握单片机片内ADC使用方法,掌握基于单片机的数据采集系统的工作原理与设计方法。
必须用模块化方法进行C语言程序设计。
四、实验仪器和设备PC机、Keil uVision2软件,C8051F020单片机,EC3在线仿真器。
五、实验原理1:ADC0的使用方法(1):初始化:a:输入模式:单端or双端;b:选定模拟输入通道;c:确定PGA增益;d:确定ADC0转换时钟;e:选定基准电压VREF;f:选定启动转换的方式;定时器溢出方式:选择定时器(定时器初始化) g:确定查询方式还是中断方式中断方式:需进行中断初始化(2):开启ADC0:AD0EN=1 (3):启动ADC0: (4) 读取转换结果。
2:温度传感器的传输函数示于图 6.2。
当温度传感器被选中(用 AMX0SL 中的 AMX0AD3-0) 时,其输出电压(VTEMP )是 PGA 的输入;PGA 对该电压的放大倍数由用户编程的 PGA 设置 值决定。
而关于电压的公式为:4096ref a d V X X =ref V 为基准电压,经测量, 2.421V ref V =。
六、程序流程图开始关闭看门狗开启中断设置系统时钟选用外部时钟12M交叉开关初始化ADC 初始化外部中断7初始化ZLG 芯片初始化数码管显示初始化按键值?1选择通道AID0选择通道AID1选择温度传感器20启动AD 转化按键值?计算返回温度值1或2计算返回电压值显示七、实验结果与分析1、测温度:经过测量,温度显示为26.5℃2、测电压:表 1表 2结果分析:通过实验,利用单片机内置的温度传感器测出了单片机的温度,但是所测的温度是单片机芯片的温度,并非室温,由于工作状态的单片机会产热,所以此温度会比实际的室温高,通过查询资料得知大概高1.4℃。
二○一二~二○一三学年第一学期
信息科学与工程学院
自动化系
课程设计计划书
班级:自动化1006班
课程名称:微机原理及应用课程设计姓名:
指导教师:
二○一二年月十二日
一、设计题目
键控数据采集及数值显示电路设计
二、设计任务
按不同的数字键(0、1、2、3、4、5、6、7)采集0809相应数据通道的模拟量,并在LED数码管上显示值。
设定输入模拟量在0—5V范围内,显示值在0—255范围内。
三、设计要求
1.画出连接线路图或功能模块引脚连接图。
2.采用8088CPU作主控制器,0809作A/D转换器,采用直接地址译码方法,给各芯片分配地址,选取芯片中必须包含有8255。
3.采用3个共阴极型LED动态显示,只需显示0—255范围内的值。
四、设计思想及需要用的主要芯片
1、设计思想
首先通过编程对8255初始化,然后通过8255对ADC0809转换器初始化,通过0~7号按键(在这里0~7号按键用开关实现,有按键的过程中会有抖动,所以需要加入一个74LS244芯片,用于缓冲),经8088微处理器处理后选择ADC0809的模拟通道,将0~5V内的模拟量通过选择的模拟通道传递给模数转换器,通过转换器把模拟量转换为0~255之间的数字量,将数字量通过可编程并行接口8255(在这里端口A作为数据输入端,端口B作为数据输出端,端口C 作为控制端),送给LED数码管显示。
2.主要芯片及其功能
ADC0809是8位逐次逼近式A/D转换器。
片内有8路模拟开关及地址锁存与译码电路、8位A/D转换和三态输出锁存缓冲器。
其芯片引脚图如下
8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O 口。
具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。
74LS244是数据输入三态缓冲器。
外设输入的数据和状态信号,通过数据输入三态缓冲器井经过数据总线传递给微处理器。
8个数据输入端与外设相连,8个数据输出端与微型计算机的数据总线相连。
其引脚图如下
74LS273是数据输出寄存器。
8个输入端微型计算机的数据总线相连,8个数据输出端与外设相连,由时终端控制数据的写入。
其引脚图如下
六、流程图:
七、源程序代码
STACK SEGMENT
DW 32 DUP(0)
STACK ENDP
DA TA SEGMENG
BUF DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,18H ;0~9的字形码
IBUF DB 4,0,4 DUP(0) ;分配空间,为存储数据做准备DA TA ENDS
CODE SEGMENT
START PROC FAR
ASSUME CS:CODE,DS:DATA,SS:STACK
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DA TA
MOV DS,AX
MOV DX,383H ;8255控制字寄存器的端口地址
MOV AL,83H ;方式选择字
OUT DX,AL
LOP1: MOV AL,0
MOV DX,005H ;读74LS244芯片地址
IN AL,DX ;读74LS244端口地址
AND AL,OFFH
JZ LOP5
MOV BL,0
LOP2:CMP AL,01H ;将按键转化成相应的数字
JE LOP3
SHR AL,1
INC BL
JMP LOP2
LOP3:MOV AL,BL
OUT DX,AL ; 启动A/D转换并选择通道
MOV DX,382H ;PC端口地址
LOP4:IN AL,DX
TEST AL,01H ;为1表示转换结束,否则继续等待
JZ LOP4
MOV DX,383H ;控制字寄存器的端口地址
MOV AL,80H ;写OE让其有效
OUT DX,AL
MOV AL,1 ;PC端口选择位置位字
OUT DX,AL ;将ADC0809的EOC改为高电平有效
MOV AL,0BH;
OUT DX,AL ;使OE有效,允许输出
MOV DX,383H
MOV 90H ;将PA端口设置为输入
OUT DX,AL
MOV DX,380H ;写PA端口,将转化结果写入8255
IN AL,DX
MOV DX,383H ;设置控制字,将PB端口设置为输出
MOV AL,80H
OUT DX,AL
MOV DX,381H ;读PB端口
OUT DX,AL
LOP5:MOV CL,10
MOV AH,0
BEGIN:DIV CL
MOV BP,OFFSET IBUF ;依次将百位,十位,个位存入IBUF MOV [BP+4],AH
MOV AH,0
DIV CL
MOV [BP+3],AH
MOV AH,0
DIV CL
MOV [BP+2],AH
MOV [BP+5],0DH ;存入回车符
MOV AH,04H ;用于操作七段显示器的位码
SHOW:MOV BL,DS:[BP+2]
MOV BH,0
MOV AL,BUF[BX] ;取出BCD数七段显示码,用于显示
MOV DX,380H ;74LS273端口地址,输出端码
OUT DX,AL
MOV AL,AH
MOV DX,384H ;输出位码
OUT DX,AL
MOV CX,1000 ;延时
LOOP $
INC BP ;调整指向BCD码的指针,用于显示下一个数字SHR AH,1 ;调整位码指针,是的下一个七段显示器有效
AND AH,AH ;判断三位数字是否已经完全输出
JNZ SHOW ;没有输入完,则跳转至SHOW
MOV AH,11 ;检测有无输入
INT 21H
CMP AL,0
JNZ LOP1 ;若有按键,则返回继续选择通道继续执行
RET
START ENDP
CODE ENDS
END START
八、实验小结
此次试验对于我来说是一次历练,由于我们在做实验时做的题目相对于这一次的课程设计来说要简单,所以开始拿到题目是有一些茫然。
冷静下来后开始分析题目,首先得知道题目究竟要我们做什么,实现什么功能。
然后拿着我们的《微机原理、汇编与接口技术》课本,分析一个个学过的芯片,看它能够实现什么功能,分析芯片的引脚应该怎样连接。
除了已经要求必须要用到的主要芯片,还需要找出一些辅助芯片,看究竟用哪一个芯片,能够是连接的电路图能够更加的简介。
在画硬件电路图上我也遇到了问题,由于没有选修电子电路CAD那门课,我一开始对Protel软件完全不熟悉,所以开始完全不知道图怎么画,最后请教的同学,他们教我怎样选择芯片、怎样选择一些元器件、怎样连接试图看起来更加清晰。
在Protel 软件里面所有芯片内部的接Vcc的引脚和接地的引脚都没有显示,再此加以说明。
在实现功能的时候自己也遇到了一些麻烦,比如我们一般做试验的时候,实验室里面不需要我们对如何实现8086芯片的功能进行连线,只需把相应的数据总线等与其他的芯片连接起来即可,且许多芯片的内部已经接好,不需要我们另外连接。
在该课程设计中模拟量是0~5V,我在这里在ADC0809的ref(+)和ref(-)端分别接+5V和地,在在它们之间接一个滑动变阻器来实现。
实用标准文案
实用标准文案。