数据采集系统微机原理课设

数据采集系统微机原理课设
数据采集系统微机原理课设

微型计算机原理及接口技

术课程设计

学院:

专业:

班级:

学号:

姓名:

指导教师:

第一部分

课程设计任务书

一、设计内容(论文阐述的问题)

设计一个数据采集系统

基本要求:要求具有8路模拟输入

输入信号为0——500mV

采用数码管8位,显示十进制结果

输入量与显示误差<1%

发挥部分:1、速度上实现高精度采集

2、提高系统精度

3、设计抗干扰性

二、设计完成后提交的文件和图表

1. 计算说明书部分:

数据采集是指将压力、流量、温度、位移等模拟量转换成数字量后,再由计算机进行存储、处理、显示、或打印的过程,相应的系统就称为数据采集系统。

数据采集的任务,就是采集传感器输出的模拟信号并转换成计算机能识别的数字信号,然后送入计算机进行相应的计算和处理,取得所需的数据。同时,将计算机得到的数据进行显示或打印,以便实现对某些物理量的监控。

数据采集性能的好坏,主要取决于他的精度和速度。在保证精度的条件下,应有尽可能高的采样速度。

数据采集系统应具有功能:

(1)数据采集

计算机按照选定的采样周期,对输入到系统的模拟信号进行采样,称为数据采集。(2)模拟信号处理

模拟信号是指随时间连续变化的信号,模拟信号处理是指模拟信号经过采样和A/D 转换输入计算机后,要进行数据的正确性判断、标度变换、线性化等处理。

(3)数字信号处理

数字信号处理是指数字信号输入计算机后,需要进行码制的转换处理,如BCD码转换成ASCII码,以便显示数字信号。

(4)屏幕显示

就是用各种显示装置如CRT、LED把各种数据以方便于操作者观察的方式显示出来。(5)数据存储

数据存储是就是将某些重要数据存储在外部存储器上。

在本次设计中,我们采用8259作为中断控制器,8255作为并行接口,ADC0809作为模数转换器。

2、图纸部分:

含有总体设计的功能框图、所用各种器件的引脚图、内部逻辑结构框图以及相应器件的真值表,还包括总设计的硬件连接图及软件设计流程图等。

第二部分

一、设计指标

设计一个数据采集系统

基本要求:微型计算机最小系统

具有8路模拟输入

输入信号为0——500mV

采用数码管8位,显示十进制结果

输入量与显示误差<1%

中断方式

二、设计方案论证

考虑本数据采集系统要求,该系统的功能框图如下:

图1 系统功能框图

(一)AD转换器的选择

根据AD转换器基本原理及特点,可以分为以下类型:积分型、逐次逼近型、并行比较型/串并行型、Σ-Δ调制型、电容阵列逐次比较型及压频变换型。

1)积分型(如TLC7135)

积分型AD工作原理是将输入电压转换成时间(脉冲宽度信号)或频率(脉冲频率),然后由定时器/计数器获得数字值。其优点是用简单电路就能获得高分辨率,但缺点是由于转换精度依赖于积分时间,因此转换速率极低。初期的单片AD转换器大多采用积分型,现在逐次比较型已逐步成为主流。

2)逐次比较型(如ADC0809)

逐次比较型AD由一个比较器和DA转换器通过逐次比较逻辑构成,从MSB开始,顺序地对每一位将输入电压与内置DA转换器输出进行比较,经n次比较而输出数字值。其电路规模属于中等。其优点是速度较高、功耗低,在低分辩率(<12位)时价格便宜,但高精度(>12位)时价格很高。

3)并行比较型/串并行比较型(如TLC5510)

并行比较型AD采用多个比较器,仅作一次比较而实行转换,又称FLash(快速)型。由于转换速率极高,n位的转换需要2n-1个比较器,因此电路规模也极大,价格也高,只适用于视频AD转换器等速度特别高的领域。

串行比较型AD结构上介于并行型和逐次比较型之间,最典型的是由2个n/2位的并行型AD转换器配合DA转换器组成,用两次比较实行转换,所以称为Half flash(半快速)型。还有分成三步或多步实现AD转换的叫做分级(Multistep/Subrangling)型AD,而从转换时序角度又可称为流水线(Pipelined)型AD,现代的分级型AD中还加入了对多次转换结果作数字运算而修正特性等功能。这类AD速度比逐次比较型高,电路规模比并行型小。

4)Σ-Δ(Sigma?/FONT>delta)调制型(如AD7705)

Σ-Δ型AD由积分器、比较器、1位DA转换器和数字滤波器等组成。原理上近似于积

分型,将输入电压转换成时间(脉冲宽度)信号,用数字滤波器处理后得到数字值。电路的数字部分基本上容易单片化,因此容易做到高分辨率。主要用于音频和测量。

5)电容阵列逐次比较型

电容阵列逐次比较型AD在内置DA转换器中采用电容矩阵方式,也可称为电荷再分配型。一般的电阻阵列DA转换器中多数电阻的值必须一致,在单芯片上生成高精度的电阻并不容易。如果用电容阵列取代电阻阵列,可以用低廉成本制成高精度单片AD转换器。最近的逐次比较型AD转换器大多为电容阵列式的。

6)压频变换型(如AD650)

压频变换型(Voltage-Frequency Converter)是通过间接转换方式实现模数转换的。其原理是首先将输入的模拟信号转换成频率,然后用计数器将频率转换成数字量。从理论上讲这种AD的分辨率几乎可以无限增加,只要采样的时间能够满足输出频率分辨率要求的累积脉冲个数的宽度。其优点是分辩率高、功耗低、价格低,但是需要外部计数电路共同完成AD转换。

考虑到设计指标要求8路模拟输入,可采用的A/D转换器有多种如:AD574、ADC0809、ADC0804等,但是ADC0809本身具有8路模拟输入端,不需要多路开关,考虑节省硬件开支故采用ADC0809作为模数转换器。

ADC0809的技术指标如下:

1.主要特性

1)8路8位A/D转换器,即分辨率8位。

2)具有转换起停控制端。

3)转换时间为100μs

4)单个+5V电源供电

5)模拟输入电压范围0~+5V,不需零点和满刻度校准。

6)工作温度范围为-40~+85摄氏度

7)低功耗,约15mW。

2.内部结构

ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图2所示,它由8路模拟开关、地址锁存与译码器、比较器、8路开关树型D/A转换、逐次逼近型寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,

且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL兼容。

图2 ADC0809内部结构框图

图3 ADC0809管脚图

3.外部引脚功能

ADC0809芯片有28条引脚,采用双列直插式封装,如图3所示。下面说明各引脚功能。

◆IN0~IN7:8路模拟量输入端。

◆2-1~2-8:8位数字量输出端。

◆ADDA、ADDB、ADDC:3位地址输入线用于选择8路模拟输入中的一路,如

表1

表1 ADDA、ADDB、ADDC真值表

◆ALE:地址锁存允许信号,输入,高电平有效。

◆START:A/D转换启动信号,输入,高电平有效。

◆EOC:A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平

(转换期间一直为低电平)。

◆OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一

个高电平,才能打开输出三态门,输出数字量。

◆CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。

◆REF(+)、REF(-):基准电压。

◆Vcc:电源,单一+5V。

◆GND:地。

ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A /D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。

(二)中断控制器的选择

1、中断系统功能与组成

1)中断系统应具有的功能

多中断源请求,软件可禁止与允许每个请求。

中断优先级判别功能,响应优先级别最高的请求。

微机原理课程设计报告

微型计算机技术课程设计 指导教师: 班级: 姓名: 学号: 班内序号: 课设日期: _________________________

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (3) 五、设计思路..................... 错误!未定义书签。 六、设计步骤(含流程图和代码) ..... 错误!未定义书签。 七、课程设计小结 (36)

一、课程设计题目:点阵显示系统电路及程序设计 利用《汇编语言与微型计算机技术》课程中所学的可编程接口芯片8253、8255A、8259设计一个基于微机控制的点阵显示系统。 二、设计目的 1.通过本设计,使学生综合运用《汇编语言与微型计算机技术》、《数字电子技术》等课程的内容,为今后从事计算机检测与控制工作奠定一定的基础。 2.掌握接口芯片8253、8255A、8259等可编程器件、译码器74LS138、8路同相三态双向总线收发器74LS245、点阵显示器件的使用。 3.学会用汇编语言编写一个较完整的实用程序。 4.掌握微型计算机技术应用开发的全过程,包括需求分析、原理图设计、元器件选用、布线、编程、调试、撰写报告等步骤。 三、设计内容 1.点阵显示系统启动后的初始状态 在计算机显示器上出现菜单: dot matrix display system 1.←left shift display 2.↑up shift display 3.s stop 4.Esc Exit 2.点阵显示系统运行状态 按计算机光标←键,点阵逐列向左移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标↑键,点阵逐行向上移动并显示:“微型计算机技术课程设计,点阵显示系统,计科11302班,陈嘉敏,彭晓”。 按计算机光标s键,点阵停止移动并显示当前字符。 3.结束程序运行状态 按计算机Esc键,结束点阵显示系统运行状态并显示“停”。 四.设计所需器材与工具 1.一块实验面包板(内含时钟信号1MHz或2MHz)。 2.可编程芯片8253、8255、74LS245、74LS138各一片,16×16点阵显示器件一片。

微机原理课程设计数字时钟程序

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 电子信息科学与工程 课程名称:微型计算机原理及应用 学年学期: 2 01 1 —2012 学年第1 学期 指导教师: 20 0 1 1年 1 2月 课程设计成绩评定表

目录 一、课设题目及目的………………………………….4 二、设计任务………………………………………….4 三、总框图及设计流程 (4) 四、?源程序清单 (6) 五、?调试结果及显示 (19) 六、?个人贡献………………………………………….19 七、课程设计总结及体会 (21) 一、课设题目及目的 实习题目:数字时钟程序 实习目的:通过实习,使我们进一步弄懂所学到的课本知识,巩固和深化对8086系统的指令系统、中断系统、键盘/显示系统、程序设计、应用开发等基本理论知识的理解,提高汇编语言应用于技术的实践操作技能,掌握汇编语言应用系统设计、研制的方法,培养利用科技革新、开发和创新的基本能力,为毕业后从事与其相关的工作打下一定的基础。

二、课设任务 本课题为利用汇编语言设置时钟程序,其显示效果为:截取系统时间,能以时、分、秒(其中时为24小时制)的形式显示,并且通过合理的操作能修改时和分的内容来修改时间。再有,可以给它设定一个ALARM时间,到这个时间它就能产生信号,起到定时作用,。除此之外还能显示日期,日期分为年、月、日,其显示方式为xxxx年xx 月xx日。 ' *

DB '***********PRESS ESCBUTTON TO EXIT**************',0AH,0DH,'$' TN DB'PLEASE INPUT THE NEW TIME(HH:MM:SS):',0DH,0AH,'$' TMDB'PLEASE INPUT THE ALARM TIME (HH:MM:SS):',0DH,0AH,'$' MUSICMESS DB'PLEASE CHOOSE THE TYPE OF MUSIC:1(FAST) 2(MIDDLE) 3(SLOW)',0DH,0AH,'$' MESS2DB'TIME IS:',0AH,0DH,'$' MESS3DB 'TODAY IS:',0AH,0DH,'$' DBUFFER1DB20DUP('') T_BUFFD B 40 ;在数据段开一段时间显示缓冲区 DB ? DB 40DUP(?) HOR DB? MIN DB? SEC DB? TEMPHOR DB ? TEMPMIN DB? TEMPSEC DB? MUSIC DW 800;存放音乐的频率数DATA ENDS STACK SEGMENT DB 100 DUP(?) STACK ENDS CODESEGMENT ASSUME CS:CODE,SS:STACK,DS:DATA START: CALL CLEAR ;调用清屏子程序 DISPLAY:;时间显示部分 MOV AX,DATA MOVDS,AX MOVBX,OFFSETT_BUFF;送T_BUFF的偏移地址到BX MOV AH,2CH;调用DOS时间调用功能,功能号:2CH,小时,分钟,秒数分别保存在CH,CL,DH中 INT 21H ;判断时间是否相等SUB DH,1;秒数+1修正 CALL CHECK ;.........................................................................

微机原理复习资料

2014年 合肥工业大学 过程装备与控制工程11级 微机原理期末复习资料 一、地址总线的问题 n 位地址总线可有 个地址(0∽ -1)。 16位地址总线 65536(64KB ) 20位地址总线 1MB 32位地址总线 4GB 二、错误、改正问题 1、如:MOV CX , DL(语法错误) 原因:错误原因:类型不一致。 2、若VAR1为字变量, VAR2和VAR3为字节变量,判断下列指令的书写格式是否正确,正确的说出SRC 和DST 的寻址方式,不正确说出错误原因 (1)MOV AX , VAR1 √ SRC 为直接寻址,DST 为寄存器寻址 MOV AX , VAR2 ╳ 类型不一致 MOV VAR2, VAR3 ╳ 两存储器单元之间不 能直接传送数据 MOV [0200H] ,12H ╳ 类型不明确 注意:AX 为16位寄存器,即是一个字 (2)将下列中语法不正确的语句改对。 MOV AX , VAR2 ╳ 类型不一致 改:MOV AL , VAR2 MOV VAR2, VAR3 ╳ 两存储器单元之间不 改:MOV AL ,VAR3 能直接传送数据 MOV VAR2 ,AL MOV [0200H] ,12H ╳ 类型不明确 改:MOV BYTE PTR [0200H] ,12H 或者:MOV WORD PTR [0200H] ,12H 四、数据寻址方式 例1:MOV AX , [BX] 其SRC 为寄存器间接寻址;DST 为寄存器寻址; 指令完成的功能为:AX (DS:(BX))若:DS=3000H , BX=1050H 。则:SRC 所在单元的物理地址为:PA=(DS) × 16+(BX) =30000H+1050H =31050H 例2:MOV ES:[SI] , AL 指令完成的功能为: (ES:(SI)) (AL) 若:ES=4000H , SI=1234H,(AL)=23H 则:DST 所在单元的物理地址为: PA=(ES)×16+(SI) =40000H+1234H

微机原理课程设计

、 微机原理课程设计 —数据采集系统(查询法) # (

一、课设目的 进一步掌握微机原理只是,了解危机在实时采集过程中的应用,学习、掌握编程和程序调试方法。 , 二、课设内容 用查询法,将ADC 0809通道0外接0~5V电压,转换成数字量后,在七段LED数码管上,以小数点后两位(几十毫伏)的精度,显示其模拟电压的十进值;0809~道0的数字量以线性控制方式送DAC0832输出,当通道O的电压为5V时,0832的OUT为0v,当通道O的电压为0时,0832的OUT为2.5V;此模拟电压再送到ADC0809通道1,转换后的数字量在CRT上以十六进制显示;通道0的数字量经74LS574输出到八位LED上,且以一定的要求,点亮LED指示灯。调整电位器,用示波器或三用表观察0832的变化,观察七段LED数码管数值的变化,观察LED灯的变化, ADC 0809的CLK脉冲,由定时器8254的OUT0提供;ADC 0809的EOC信号,用8255的PC0检测;74LS574外接的LED灯变化如下:若电压值小于0.5V,则最低位(DO)’LED灯亮,若电压值大于4.5V,则最高位LED灯亮,若电压值在0.5V~4.5V,则八位LED灯由低向高变化亮,且高位LED灯亮时低位灯全亮。 要有较好的人机对话界面;控制程序的运行。 三、硬件设计 1、电原理框图 见附件1 2、电原理框图工作过程的简要说明 【 (1)、ADC 0809的INO采集电位器0—5V电压,INl采集0832输出的模拟量。(2)、DAC 0832将ADC 0809的INO数字量后重新转换成模拟量输出。 (3)、8255用于检测ADC 0809转换是否,为七段LED数码管显示提供显示驱动信息。 (4)、七段LED数码管显示ADC 0809的INO的值。 (5)、74LS574驱动八位发光二极管,使它们按要求点亮:来指示当前采样值的范围。 (6)、8254提供ADC 0809的采样时钟脉冲。 (7)、74LSl38译码器为各芯片提供地址信息。 四、软件设计 【 首先进行程序初始化显示提示信息,判断是否有键按下,按下1则继续往下执行,按下2则退出。首先对8254进行初始化选择工作方式及赋初值,然后启动0809的IN0,接着初始化8255,并检测PA7的状态检测转换是否,否继续检测

微机接口电子表数字钟课程设计

微机原理与接口技术课程设计报告 设计名称:电子表设计 专业:计算机原理与接口技术 班级: xxxxxxx 姓名: XXX 学号: XXXXXXXXX 指导教师: XXXXXXXX 2014年 11 月 27 日

目录 摘要 (2) 一、设计目的及要求 (3) 1.1设计任务 (3) 1.2设计功能 (3) 1.3课程设计方式及基本要求 (3) 1.3.1 实验方式 (3) 1.3.2基本要求 (3) 1.4设计所用元件 (4) 二、设计题目及思想 (4) 2.1设计原理 (4) 2.2主要模块 (5) 2.3芯片初始化 (7) 2.4程序流程图 (9) 2.5硬件接线图 (11) 三、调试结果 (13) 四、课程设计总结 (16) 4.1遇到问题及解决方案 (16) 4.2 课程设计心得体会 (16) 参考文献 附录

摘要 汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间的要求很高的场合,汇编语言的应用是必不可少的。至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可了。随着科学技术迅速发展,理工科大学生不仅需要掌握计算机方面的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。 通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。鉴于汇编语言的广泛用途及其在当代计算机界的重要作用,本人利用学的知识,在同学门的帮助下,花费大量时间,完成了关于电子表的系统设计。这个系统是应用于电脑中的小应用程序,可是显示电脑中的时间。很多地方都会有个时钟显示,其中大多是应用了类似这样的方法。 关键词:汇编语言微机原理接口技术时钟显示

微机原理与接口技术_期末考试试题答案3

2014年 合肥工业大学 过程装备与控制工程11级 微机原理期末复习资料 厚德、笃学、崇实、尚新 合肥工业大学欢迎您

1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。2.什么是微机的总线,分为哪三组? 答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线。 3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什么? 答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU与存储器或IO设备之间的数据传送。执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接口部件进行算术运算。 4.8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。 5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对20位地址的寻址?完成 逻辑地址到物理地址转换的部件是什么? 答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU 寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?指向 这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。 7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址为多少? 答:偏移地址为54100H。(物理地址=段地址*16+偏移地址) 8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意义各是什么? 答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。其意思是用来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的指令来设置的,以控制指令的操作方式。 9.8086CPU的AD0~AD15是什么引脚? 答:数据与地址引脚 10.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么? 答:INTR是可屏蔽请求信号,INTA中断响应信号,NMI是不可屏蔽中断请求信号,ALE 是地址锁存允许信号,HOLD总线请求信号,HLDA总线请求响应信号。 11.虚拟存储器有哪两部分组成? 答:有主存储器和辅助存储器。 12.在80x86中,什么是逻辑地址、线性地址、物理地址? 答:线性地址是连续的不分段的地址;逻辑地址是由程序提供的地址;物理地址是内存单元的实际地址。 13.段描述符分为哪几种? 答:分为三大类,程序段描述符,系统段描述符,门描述符。 14.RAM有几种,各有什么特点?ROM有几种,各有什么特点? 答:RAM有两种,SRAM(静态RAM),它采用触发器电路构成一个二进制位信息的存储单元,这种触发器一般由6个晶体管组成,它读出采用单边读出的原理,写入采用双边写入原

微机原理课设_加法练习程序

课程设计 课程设计名称:微机应用系统课程设计 专业班级:计科1204班 学生姓名:张婷婷 学号: 201216010433 指导教师:王锋 课程设计时间: 2014.12.22-2015.1.3

计算机科学与技术专业课程设计任务书

一.课程设计实验的目的 课程设计的目的在于更好的锻炼我们的实践能力和考验平时学习的成果。我们是计算机专业,离不开编写代码。平时上课所学的知识来自于课本,上机实验相对比较少,所能锻炼的操作能力机会不多。而课程设计是让我们综合平时课本和实验的知识及经验,自己设计和构造,编写一个相对完整的程序。这不仅仅是对以前知识的巩固,更是锻炼我们的思维,我们的设计与编写程序的能力。对于我们以后将会从事的计算机类工作,这能很好的为我们打下坚实的基础,所谓积少成多,每学期都做课程设计,到毕业时我们对于编写一个应用软件或许就能较容易驾驭了。 本次微机应用系统课程设计我的题目是加法练习程序设计,虽然只要求加法运算,但我在该程序里添加了减法运算,使得程序相对不会太单调。虽然给的编程题目可能会与别人一样,但每个人的想法不一样,在设计时添加自己的想法或许就能使程序更加完善了,这也是课程设计对我们的一种锻炼。 二.实验设计的任务与要求 加法练习设计程序的内容是:随机给出百位数以内的加法算式,并提示输入答案,若正确给出正确提示,若错误给出错误提示,并提示输入答案;按 R 键继续下一题,按 Q 键返回 DOS。按照内容要求,在所学知识内容的基础上设计程序,具体的内容设计要求任务如下: 1.设计一个菜单,选项为加法和减法的练习。

2.以获取系统中的秒和百分秒作为两个随机数进行加减运算。 3.将输入的答案和运行结果比较,若相等给出正确提示,若错误给出错误提示,并继续输入答案直到正确为止。 4.提示是否继续下一题,按R键继续下一题,按Q键返回 DOS。 这次课程设计是在完成设计要求的基础上,添加了减法练习运算,以仔细、认真、规范的态度完成自己课程设计。 三.实验设计的思想 加法练习程序设计,主要工作是产生两个两位数的随机数进行加运算,而怎么产生随机数是该程序的难点。在搜集了一些资料后发现很多程序用的随机数是伪随机,是一个比较复杂算法,而不使用算法获得随机数的方法就是获取系统的时间。在翻阅课本后得知mov ah,2ch int 21h语句可以得到系统时间,在考虑后认为秒和百分秒比较适合,因为在短时间内这两个时间变化的多一些,比较适合用于随机数。Dh所存的数对应的是秒,Dl所存的数对应的是百分秒。加法直接将两个随机数相加即可,但减法就相对麻烦些,因为会出现第一个随机数比第二个随机数小得到结果为负数。为了解决这一问题,在数据段定义了两个变量,用来存放减数和被减数。在获取随机数时先不显示运算式,先将随机数的值给变量num1和变量mum2,如果相减结果小于0则转回去继续取随机数,直到取得随机数相减记过大于0,则显示运算式继续后面的程序运行。 相对较难的部分解决后则是将整个程序流程串起来,先是显示选择加或减运算,产生的随机数并显示相应的运算式;再是输入结果,对结果进行判断给出对或错的提示,错误时提示继续输入结果,对则继续下一步;最后选择是否继续下一题,R返回最初加减运算选择,Q则退出。

微机原理课程设计报告-数字时钟的实现(附代码)

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术x班学号: 姓名:

一、设计题目及要求: 【课题6】数字时钟 1.通过8253 定时器作产生秒脉冲定时中断。在中断服务程序中实现秒、分、小时的进位(24小时制)。 2.在七段数码管上显示当前的时分秒(例如,12 点10 分40 秒显示为121040)。 3.按“C”可设置时钟的时间当前值(对准时间)。 二、设计思想: 总体思想: 1、功能概述: 实验箱连线: 本实验建立在Dais实验箱基础上完成的基本连线及程序如下: 138译码器: A,B,C,D,分别连接A2,A3,A4,GS; y0连接8253的CS片选信号; y1连接8259的CS片选信号; 8253连线: 分频信号T2接8253的CLK0; 8253的OUT0接8259的IR7; 8253的gate信号接+5V; 8259连线: 8259的数据线接入数据总线;

本程序包括显示模块,键盘扫描模块,时间计数模块,设置模块等几个模块, (1)程序运行后,LED显示000000初始值,并且开始计数 (2)按C键进行设置初始时间,考虑到第一个数只能是0,1,2,当第一个数显示2时第二个数只能显示0~4,同理下面各位应满足时钟数值的合理的取值; (3)在手动输入初始值时,按D键进行回退1位修改已设置值,连续按D键可以全部进行删除修改。 2、主程序设计 主程序中完成通过调用子程序完成对8253及8259的初始化,对8259进行中断设置。主要在显示子程序和键盘子处理程序之间不断循环,8253每一秒给8259一个刺激,当8259接受到刺激后会给CPU一个中断请求,CPU会转去执行中断子程序,而中断子程序设置成时间计数加,即完成电子表的整体设计。详细流程图见图三-1。 3、LED显示子程序设计 本程序显示部分用了6个共阳极LED作为显示管,显示程序要做到每送一次段码就送一次位码,每送一次位码后,将位码中的0右移1位作为下次的位码,从而可以实现从左到右使6个LED依次显示出相应的数字。虽然CPU每隔一定时间便执行显示程序,但只要这个时间段不太长,由于人眼的视觉作用,就可以在6个LED上同时见到数字显示。 4、键盘扫描子程序设计 本程序需要用键盘对时间的初始值进行设置,因此对键盘扫描的子程序需要满足的功能如下: 判断是否是C键,若不是就返回至主程序,若是C键就开始对时间初始值进行设置,同时因注意到第一个值不可以超过2,第一个数是2时第二数不能超过4,余下的同理要满足时间数值的取值范围呢,若不是合法输入不予反应继续等待输入。当遇到输入数值错误时可以按下D键进行删除一位重新设置;当6位初始值全部设置成功后,电子表将自动开始走表。 5、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

合肥工业大学微机原理试卷2015-1-13-A(答案)

答案与评分标准 一、(每空1分,共12分) 1.(1100 0111),(1011 1000),(-71) 2.(1,0,1,0,0),(0,1,0,1,0) 3.(2) 4.(8),(3) 5.(3),(2MHz),(11999/2EDFH),(二进制方式)。 二、(每题1分,共8分) 1.√2.?3.?4.?5.?6.√7.?8.√ 三、(本题共20分) 1.寄存器间接寻址;1 ;6100H:4843H ;65843H ;02H 2.直接寻址;1 ;6F00H:6F54H ;75F54H ;0EH 3.相对基址变址寻址;1 ;AE00H:0052H ;AE052H ;1B1AH 4.寄存器相对寻址;2 ;8A00H:3643H ;8D643H ;1716H 四、(本题共10分) 1.(6分) 流程图(4分): 功能(2分):将AL内容按要求转换为ASCII吗,并存于RESULT单元。若AL内容在00H~0F H之间,将AL内容转换为一位ASCII码;若AL内容大于0FH,则AL置为20H;转换结果存于RESULT单元。 2.(4分) (2分)该子程序中入口参数采用寄存器传递参数,出口参数采用存储器传递参数。 (2分)入口参数为寄存器AL中存放的待转换数据,出口参数为RESULT单元中存放的转换结果。 五、(本题共20分)1.(6分) (2分)最多可接22个中断源。 (4分)主IR0、从2 IR0~从2 IR7、主IR2、主IR3、主IR4、从1 IR0~从1 IR7、主IR6、主IR7。 2.(6分)(每个中断2分) 主片IR6:6EH;6200H:AB08H 从片1的IR2: 7AH;A000H:17B0H 从片2的IR5:75H;3600H:45A0H 3.已知各中断服务程序中均执行STI指令,且均在RETI指令前执行普通EOI结束指令。(1)(3分) (1分)CPU优先响应从片1的IR2的中断请求。 (2分)主片的ISR、IRR:0010 0000、0100 0000。从片1的ISR、IRR:0000 0100、0000 0000。 (2)(5分) 主片IR6和从片1的IR2同时产生中断请求时,CPU优先响应从片1的IR2的中断请求,转移至A000H:17B0H处执行从片1的IR2的中断服务程序;从片2的IR5又有中断请求产生时,打断从片1的IR2的中断服务程序的执行,转移至3600H:45A0H处执行从片2的IR5的中断服务程序;在从片2的IR5的中断服务程序执行结束后,中断返回被打断的从片1的IR2的中断服务程序的断点处继续执行从片1的IR2的中断服务程序,在从片1的IR2的中断服务程序执行结束后,中断返回主程序并响应主片IR6的中断请求,转移至6200H:AB08H 处执行主片IR6的中断服务程序,主片IR6的中断服务程序执行结束后,中断返回主程序继续执行主程序。 六、(本题共20分) 1.(4分)(2分)ROM:4KB,(2分)RAM:8KB。 2.(12分)(略) 3.(4分)(略) 七、(本题共10分) 1.(4分) (2分)主程序:程序段二 (2分)中断服务程序:程序段一 2.(4分) (2分)运行程序,若开关K断开(输入为1),LED0~LED7显示状态:2s循环移位亮一位。(2分)运行程序,若开关K闭合(输入为0),LED0~LED7显示状态:全灭。 3.(2分) (1分)开关K断开:LED0~LED7显示状态有变化,1s循环移位亮一位。 (1分)开关K闭合:LED0~LED7显示状态没有变化。

微机原理课设(电子时钟)

学院:计算机科学技术 专业:计算机科学与技术(工)班级:计08-1班 姓名:秦振兴 学号:27 指导教师:孙海 2011年7月1日

微机原理与汇编语言课程设计任务书 一、题目:电子表 二、设计的目的 1. 掌握利用PC机的的中断及中断服务程序的编写方法; 2. 掌握定时器/计数器8253的工作原理及编程方法。 三、设计要求 编写程序,利用主机内的8253-2的计数器0产生10m的方波输出,此输出送至IRQ0使8259A每10ms产生1次中断,100次后秒加1,然后调整时、分、秒并在屏幕上显示。程序从按下任意键开始显示数据区存放的时间值,运行中按下空格键即停止运行,并返回DOS。要求每人独立完成课程设计。 四、设计内容 采用PC系列微机现有的硬件和软件资源编写汇编语言程序,在显示器上显示XX(时):XX(分):XX(秒),每秒钟更新1次。 五、课程设计工作量 一般每人的程序量应在100行有效程序行以上。不得抄袭,否则给不及格成绩。 六、课程设计工作计划 2011年6月27日1-2节指导教师讲课,学生准备文献资料; 2011年6月28日~2011年7月01日每人完成自己程序并能独立演示; 2011年7月01日下午验收,学生撰写课程设计报告。

指导教师签字: 专业主任签章: 微机原理与汇编语言课程设计指导教师评语与成绩

目录

第1章概述 ..................................................................................................... 错误!未定义书签。 选题来源 .............................................................................................. 错误!未定义书签。 选题目的 .............................................................................................. 错误!未定义书签。 选题意义 .............................................................................................. 错误!未定义书签。 解决问题 .............................................................................................. 错误!未定义书签。 技术要求 .............................................................................................. 错误!未定义书签。第2章总体方案设计 ..................................................................................... 错误!未定义书签。 硬件总体设计 ...................................................................................... 错误!未定义书签。 软件总体设计 ...................................................................................... 错误!未定义书签。第3章详细设计 ............................................................................................. 错误!未定义书签。 硬件设计 .............................................................................................. 错误!未定义书签。 显示模块........................................................................................... 错误!未定义书签。 时钟运算模块................................................................................... 错误!未定义书签。 对时模块........................................................................................... 错误!未定义书签。 设计电路图....................................................................................... 错误!未定义书签。 软件设计 .............................................................................................. 错误!未定义书签。 程序流程图....................................................................................... 错误!未定义书签。第4章调试与运行结果说明 ......................................................................... 错误!未定义书签。 试验结果 .............................................................................................. 错误!未定义书签。 分析 ...................................................................................................... 错误!未定义书签。课程设计总结 ................................................................................................... 错误!未定义书签。谢启 ................................................................................................................... 错误!未定义书签。参考文献 ........................................................................................................... 错误!未定义书签。附录 ................................................................................................................... 错误!未定义书签。

微机原理实习报告---电子时钟(用汇编语言实现)

河南农业大学 课程设计报告 题目:电子时钟显示设计 课程:微型计算机原理 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 完成日期: 机电工程学院

目录 前言 (1) 第一章绪论 (2) 一、实习目的 (2) 二、实习要求 (2) 三、设计所需设备 (2) 第二章软件系统介绍 (3) 一、中断技术(或其它相关技术) (3) (一)介绍中断的概念中断技术 (3) (二)DOS及BIOS中断 (3) 二、汇编语言及汇编工具简介 (3) 三、软件介绍 (3) 第三章设计分析 (4) 一、软件设计思路 (4) 二、软件各模块内容 (4) (一)光标定位子程序原理 (4) (二)清屏原理 (4) (三)字符及字符串显示原理 (4) (四)压缩BCD转为ASCII码原理 (5) (五)动态扫描键盘原理 (5) 三、程序流程图设计 (5) 第四章系统实现 (7) 一、程序原代码清单及详细注释 (7) 二、实验结果 (15) 总结 (16) 一、软件的选取 (16) 二、图案的设计 (16) 三、程序调试 (16) 参考文献 (16)

前言 软件设计题目 电子时钟。(在计算机屏幕上显示当前系统的时间,日期,或时间和日期,3人一组)设计目的: 1.了解定时/计数器和中断(DOS/BIOS)的使用; 2.掌握定时/计数器和中断的工作原理和编程方法。 编程要求: 1.调用系统时间,在屏幕上显示出来; 2.获取键盘的按键值,判断键值并退出系统。 程序设计参考步骤: 第一部分:定义显示界面。 第二部分:调用系统时间(日期),并将调用的用二进制表示的时间数转换成ASCII码, 并将时间数(日期数)存入内存区。 第三部分:将存在系统内存区的时间数(日期数)用显示字符串的形式显示出来。 第四部分:获取键盘的按键值,判断键值并退出系统。

合肥工业大学微机原理试卷2015-1-13-A

2014~2015学年第 一 学期 课程代码 0410022B 课程名称 微机原理及应用 学分 3.5 课程性质:必修 限修考试形式:开卷专业班级(教学班) 自动化专业、生医专业2012级 考试日期 2015.1.13 命题教师 集体 系(所或教研室)主任审批签名 一、(每空1分,共12分)填空题。 1.若[X]补为1011 1001B ,则其原码为( ),反码为( ),真值为( )。 2.8086 CPU 与存储器或I/O 进行数据交换时,若CPU 正在对存储器进行16位写操作周期时,M/IO 、WR 、RD 、A0和BHE 引脚的状态为( , , , , )(对应位置填写1或0,全对才得分),若CPU 正在通过D15~D8总线对I/O 设备进行8位输入操作时,M/IO 、WR 、 RD 、A0和BHE 引脚的状态为( , , , , )(对应位置填写1或0,全对才得分)。 3.8259A 在中断响应周期中接收到CPU 发送的第( )个中断应答信号INT A 后,送出中断类型号。 4.8255A 内部包含3个( )位的输入输出端口,其中端口A 可工作于( )种工作方式中的任一种。 5.8253内部具有( )个独立的16位计数器通道,最高计数频率为( ),已知某计数器通道工作于方式0,预实现计数12000的功能,则该计数器通道的计数初值应设置为( ),其计数方式应设置为( )(填写BCD 方式或二进制方式)。 二、(每题1分,共8分)判断下列说法是否正确,正确画√,错误画 。 1.十进制数125.125对应的16进制数是7D.2H 。 2.对一个用补码表示的符号数求补,结果是这个数相反数的补码。 3.8255A 的D 7~D0引脚只能连接到8086 CPU 的低8位数据总线D 7~D0。 4.已知X 和Y ,8086 CPU 在执行X+Y 运算后,若ZF=1,则OF 一定为0。 5.8086 CPU 复位后从存储器0FFFFH 处开始执行程序。 6.8086 CPU 允许中断嵌套,且8259A 的8个中断源全部开放,若ISR 中任何时刻最多只有 一个‘1’,则该8259A 设置为自动EOI 结束方式。 7.8253在写入控制字后,OUT 端输出高电平。 8.8086 CPU 的堆栈操作指令均是对堆栈进行16位字操作的指令。 三、(本题共20分)已知CS =6100H ,DS =6F00H ,SS =AE00H ,ES =8A00H ,BX =4843H ,BP =0CA00H ,SI =2D04H ,DI =3650H ,AX=0A008H ,变量BUF 的偏移地址为6F4EH ,存储器部分单元的内容如表所示。针对以下每条指令分别说明存储器操作数的寻址方式、执行 过程中总线操作的次数、逻辑地址和物理地址,并给出该存储器操作数的值。 1.MUL BYTE PTR CS :[BX] 2.MOV AL ,BUF+6 3.AND SI ,[BP +DI+2] 4.ADD BX ,ES :[DI-13] 四、(本题共10分)阅读下面子程序段,RESULT 为字节变量。 DEAL : CMP AL ,10H DEAL1: ADD AL ,30H JNC DEAL2 JMP DEAL3 CMP AL ,10 DEAL2: MOV AL ,20H JC DEAL1 DEAL3: MOV RESULT ,AL ADD AL ,7 RET 1.请画出该子程序的流程图,并说明该子程序的功能。(6分) 2.该子程序采用什么方法传递参数?传递了哪些参数?(4分) 五、(本题共20分)一个由3片8259A 所组成的级联中断系统,从片1的中断请求INT 连接到主片的IR5引脚,从片2的中断请求INT 连接到主片IR1引脚;主片设置为特殊全嵌套工作方式,从片设置为完全嵌套工作方式;主片的ICW2设置为69H ,从片1的ICW2设置为78H ,从片2的ICW2设置为72H ;主片、从片1和从片2的OCW1均设置为00H 。 1.该级联中断系统最多可接多少个外部中断源?请按由高到低列出中断优先级顺序。(6分) 2.写出主片IR6引脚、从片1的IR2引脚和从片2的 IR5引脚所引入中断源的中断类型号?并参照下表,写出每个中断源的中断服务程序的入口地址?(6分)

微机原理+课程设计+数字钟

目录 一、设计要求 (1) 二、设计所用芯片。。。。。。。。。。。。。。。。。。。 2 三、设计思想。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 四、设计所用芯片结构 (3) 1、8259A芯片的内部结构及引脚 (3) 2、8279芯片的内部结构及引脚 (4) 3、8253芯片的内部结构及引脚 (5) 五、系统各个模块设计 (6) 1、系统总体设计 (6) 2、主控模块 (7) 3、CPU模块 (7) 4、定时模块 . . . . . . . . . . . . . . . . . . . . . . . . 9 5、中断处理模块。。。。。。。。。。。。。。。。。。9 6、显示模块和小键盘模块 (10) 六、程序流程图 (12) 1、主程序流程图 (12) 2、定时中断服务程序流程图 (14) 七、设计总结 (15) 附录一:参考书目 (15) 附录二:总体图 . . . . . . . . . . . . . . . . . . . . . . . .15 附录三:源代码............17

一、设计要求 利用试验平台提供的硬件资源设计一个电子表。该电子表以时、分、秒的形式实时显示当前时间,且具有校表功能,利用小键盘与标准时间校准。 掌握8255、8259、8253芯片使用方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、使用方法等,学会相关芯片实际应用及编程,系统中采用8088微处理器完成了电子钟的小系统的独立设计。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。 二、设计所用芯片 8253定时器:用于产生秒脉冲,其输出信号可作为中断请示信号送IRQ2。 8279接口芯片:实现键盘输入和显示输出。 8259中断控制器:用于产生中断。 LED:六个LED用于显示时:分:秒值。 小键盘:用于控制设置。 三、设计思想 1、设计思想 本系统设计的电子时钟以8088微处理器作为CPU,用8253做定时计数器产生时钟频率,8279做可编程并行接口显示时钟和键盘电路,8259做中断控制器产生中断。在此系统中,8253的功能是定时,接入8253的CLK信号为周期性时钟信号。8253采用计数器0,工作于方式2,使8253的OUT0端输出周期性的负脉冲信号。即每隔20ms,8253的OUT0端就会输出一个负脉冲的信号,此信号接8259的IR2,当中断到50次数后,CPU即处理,使液晶显示器上的时间发生变化。 其中8259只需初始化ICW1,其功能是向8259表明IRx输入是电平触发方式还是上升沿触发方式,是单片8259还是多片8259。8259接收到信号后,产生中断信号送CPU处理。 2、设计原理 利用定时器8253和8259以及键盘和数码显示电路,设计一个电子时钟,由8253中断定时,小键盘控制电子时钟的启停及初始值的预置。 电子时钟的显示格式HH:MM:SS由左到右分别为时、分、秒,最大记时59:59:59超过这个时间时分秒位都清零从00:00:00重新开始。 设计一个定时显示装置,用六个数码管显示时间,用小键盘控制计时,设置和显示时间。系统一运行就从00点00分00秒开始计时,并在数码管上显示时、分、秒当前值,而且,可以用键盘设置当前时间。 基本工作原理:每百分之一秒对百分之一秒寄存器的内容加一,并依次对秒、分、小时寄存器的内容加一;六个数码管动态显示时、分、秒的当前值。 C键:置初值,显示00:00:00 G键:显示动态变化(启动表); D键:显示静态不变(表停止); E键:终止程序,返回DOS; P键:设置时:分:秒的值

相关文档
最新文档