微机原理论文

2024-05-22

微机原理论文(共6篇)

篇1:微机原理论文

微机原理课程设计程序

CODE

SEGMENT

ASSUME

CS:CODE;初始化8255A,A口工作方式0,输出 START: MOV

DX,63H

MOV

AL,08BH

MOV

BL,OAH

OUT

DX,AL DY:

MOV

CX,30C4H;置定时外循环初始值 MM:

MOV

BH,0AH;置定时内循环初始值

DEC

LP:

MOV

IN

DEC

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

JMP

LP1:

MOV

MOV

JMP

LP2:

MOV

MOV

JMP

LP3:

MOV

MOV

CX DX,62H AL,DX;读取C口值 BH BH,00H MM CX,0000H XD;转向剩余时间显示程序 AL,00H;判断是否有键按下 LP AL,01H;判断是否是1号键按下 LP1 AL,02H;判断是否是2号键按下 LP2 AL,04H;判断是否是3号键按下 LP3 AL,08H;判断是否是4号键按下 LP4 AL,10H;判断是否是5号键按下 LP5 AL,20H;判断是否是6号键按下 LP6 AL,40H;判断是否是7号键按下 LP7 AL,80H;判断是否是8号键按下 LP8 LP AL,86H AH,01H EN

;显示1号抢答成功者并锋鸣

AL,0CBH AL,02H EN

;显示2号抢答成功者并锋鸣

AL,0CFH AH,0CFH

JMP

EN

;显示3号抢答成功者并锋鸣 LP4:

MOV

AL,0E6H

MOV

AH,08H

JMP

EN

;显示4号抢答成功者并锋鸣 LP5:

MOV

AL,0EDH

MOV

AH,10H

JMP

EN

;显示5号抢答成功者并锋鸣 LP6:

MOV

AL,0FDH

MOV

AH,20H

JMP

LP7:

MOV

MOV

JMP

LP8:

MOV

MOV

JMP

EN:

MOV

OUT

MOV

MOV

OUT

JMP

XD:

DEC

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

CMP

JZ

XD9:

MOV EN

;显示6号抢答成功者并锋鸣 AL,87H AH,40H EN

;显示7号抢答成功者并锋鸣 AL,0FFH AH,80H EN

;显示8号抢答成功者并锋鸣 DX,60H DX,AL DX,61H AL,AH DX,AL MD BL

;判断剩余时间并转向显示程序 BL,09H XD9 BL,08H XD8 BL,07H XD7 BL,06H XD6 BL,05H XD5 BL,04H XD4 BL,03H XD3 BL,02H XD2 BL,01H XD1 BL,00H XD0 AL,6FH;显示剩余9秒

JMP

EN1 XD8:

MOV

AL,7FH;显示剩余8秒

JMP

EN1 XD7:

MOV

AL,07FH;显示剩余7秒

JMP

EN1 XD6:

MOV

AL,7DH;显示剩余6秒

JMP

EN1 XD5:

MOV

AL,6DH;显示剩余5秒

JMP

EN1 XD4:

MOV

JMP

XD3:

MOV

JMP

XD2:

MOV

JMP

XD1:

MOV

JMP

XD0:

MOV

JMP

EN1:

MOV

OUT

CMP

JZ

JMP

MD:

MOV

IN

CMP

JZ

JMP

MOV

INT

CODE

ENDS

END

AL,66H;显示剩余4秒

EN1 AL,4FH;显示剩余3秒

EN1 AL,4BH;显示剩余2秒

EN1 AL,06H;显示剩余1秒

EN1 AL,3FH;显示剩余0秒,结束。

EN1 DX,60H DX,AL AL,3FH MD DY DX,61H;一定时间后,若再有输入,则转向某剩余时间AL,DX AL,00H MD DY AH,4CH 21H START

篇2:微机原理论文

间 学 院 专业班级 姓 名 学 号 合 作 者

指导教师

成 绩

2013 年 11 月

摘要

本文针对可燃气体检测模块MQ—K1,综合运用《微机原理》所学知识,选择合适的芯片,如微处理器8086、存储器、可编程并行接口芯片8255、A/D转换芯片ADC0809,LED显示芯片8279以及其它辅助芯片等,设计合理的硬件系统,实现可燃气体浓度的测量与检测结果的显示,设定阈值,超过阈值后报警,并对设计出的硬件系统运用汇编语言完成全部软件系统设计及调试。

关键词:可燃气体传感器、LED数码管显示、LCD液晶模块、语音报警

Abstract In this paper, combustible gas detection module MQ-K1, integrated use of “Computer Architecture” the knowledge, choosing the right chip, such as the 8086 microprocessor, memory, programmable parallel interface chip 8255, A / D conversion chip ADC0809, LED display chip 8279 as well as other auxiliary chips, designed hardware system, combustible gas concentration measurement and test results show that the set threshold, exceeds the threshold alarms, and design the hardware system using assembly language software system design and complete all debugging.Keywords: combustible gas sensor, LED digital display, LCD liquid crystal module, voice alarm

目录

摘要.........................................................................................................................................................1 Abstract............................................................................................................................................................1 1实验目的......................................................................................................................................................3 2实验内容......................................................................................................................................................3 3实验设备......................................................................................................................................................3 4实验原理......................................................................................................................................................3

4.1系统概述...........................................................................................................................................3 4.2硬件介绍...........................................................................................................................................4 4.3可燃气体传感器.............................................................................................................................6 4.4 LCD显示....................................................................................................错误!未定义书签。4.5语音录放模块.................................................................................................................................9 5设计思路....................................................................................................................................................10 5.1数码管显示....................................................................................................................................10 5.2 LCD显示.......................................................................................................................................10 5.3语音报警.........................................................................................................................................10 6实验测试步骤............................................................................................................................................11 7程序流程....................................................................................................................................................12 8实验程序....................................................................................................................................................15 8.1数码管显示....................................................................................................................................15 8.2 LCD显示..................................................................................................1错误!未定义书签。8.3数码管,LCD显示,语音报警最终程序.................................................................................19 9实验现象及说明........................................................................................................................................26 10实验结论..................................................................................................................................................28 11承担的主要任务......................................................................................................................................28 12结论及设计心得与体会.........................................................................................................................28

1、实验目的

掌握可燃气体传感器的工作原理和测量电路。通过采集气体的浓度,经过模拟量转换为数字量,即A/D转换,AD0809采样输出电压值并在数码管上显示,并改进程序,使在液晶屏上显示可燃气体传感器检测结果转换的电压值,并设定阈值,超过阈值后报警。对所设计的硬件系统运用汇编语言完成全部软件系统设计及调试。

2、实验内容

用打火机靠近可燃气体传感器并喷射少量气体,AD0809采样输出电压值并显示。并改进程序,使在液晶屏上显示可燃气体传感器检测结果转换的电压值。设定阈值,超过阈值后报警。对所设计的硬件系统运用汇编语言完成全部软件系统设计及调试。

3、实验设备

3.1 EL-MUT-III实验箱 3.2 8086CPU板

3.3 霍尔、气体传感器模块 3.4 交叉串口线 3.5 E-LAB-AUDIO-ISD1700

4、实验原理

4.1系统概述

1、微处理器:8086

2、时钟频率:6MHz

3、存储器

6264 系统RAM,地址范围 0~3FFFH,奇地址有效 6264 系统RAM,地址范围0~3FFFH,偶地址有效 27C64 系统ROM,地址范围 FFFFF~FC000H,奇地址有效 27C256 系统ROM,地址范围 FFFFF~FC000H,偶地址有效

4、系统资源分配

本系统采用可编程逻辑器件(CPLD)EPM7128 做地址的编译码工作,可通过芯片的JTAG 接口与PC机相连,对芯片进行编程。此单元也分两部分:一部分为系统CPLD,完成系统器件,如监控程序存储器、用户程序存储器、数据存储 器、系统显示控制器、系统串行通讯控制器等的地址译码功能,同时也由部分地址单元经译码后输出(插孔CS0—CS5)给用户使用,其地址固定,用户不可改变。另一部分为用户CPLD,它完全对用户开放,用户可在一定的地址范围内,进行编译码,输出为插孔LCS0—LCS7,注意,用户的地址不能与系统相冲突,否则将导致错误。1)地址分配

CS0 片选信号,地址04A0~04AF 偶地址有效 CS1 片选信号,地址04B0~04BF 偶地址有效 CS2 片选信号,地址04C0~04CF 偶地址有效 CS3 片选信号,地址04D0~04DF 偶地址有效 CS4 片选信号,地址04E0~04EF 偶地址有效 CS5 片选信号,地址04F0~04FF 偶地址有效 CS6 片选信号,地址0000~01FF 偶地址有效 CS7 片选信号,地址0200~03FF 偶地址有效 8250 片选地址:0480~048F,偶地址有效 8279 片选地址:0490~049F,偶地址有效 2)硬件实验说明

所有实验程序的起始地址为01100H,CS=0100H,IP=0100H,代码段、数据段、堆栈段在同一个64K的地址空间中。4.2硬件介绍

4.2.1整机介绍

EL-MUT-III 型微机教学实验系统由电源、系统板、CPU 板、可扩展的实验模板、微机串口通讯线、JTAG通讯线及通用连接线组成。

图1 系统板结构 4.2.3硬件资源

1.可编程并口接口芯片8255 一片。

2.串行接口两个:8250 芯片一个,系统与主机通讯用,用户不可用。单片机的串行口,可供用户使用。

3.键盘、LED 显示芯片8279 一片,其地址已被系统固定为CFE8H、CFE9H。硬件系统要求编码扫描显示。

4.六位LED 数码管显示。

5.ADC0809 A/D 转换芯片一片,其地址、通道1—8 输入对用户开放。6.DAC0832 D/A 转换芯片一片,其地址对用户开放,模拟输出可调 7.8 位简单输入接口74LS244 一个,8 位简单输出接口74LS273 一个,其地址对用户开放。

8.配有8 个逻辑电平开关,8 个发光二极管显示电路。9.配有一个可手动产生正、负脉冲的单脉冲发生器

10.配有一个可自动产生正、负脉冲的脉冲发生器,按基频6.0MHz 进行1 分频(CLK0)、二分频(CLK1)、四分频(CLK2)、八分频(CLK3)、十六分频(CLK4)输出方波。

11.配有一路0—5V 连续可调模拟量输出(AN0)。

12.配有可编程定时器8253 一个,其地址、三个定时器的门控输入、控制输出均对用户开放。

13.配有可编程中断控制器8259 一个,其中断IRQ 输入、控制输出均对用户开放。

14.2组总线扩展接口,最多可扩展2 块应用实验板。

15.配有两块可编程器件EPM7064,一块被系统占用。另一块供用户实验用。两块器件皆可通过JTAG接口在线编程。使用十分方便。

16.灵活的电源接口:配有PC 机电源插座,可与PC 电源直接接驳。另还配有外接开关电源,提供所需的+5V,±12V,其输入为220V 的交流电。4.3可燃气体传感器

MQ—K1可燃气体传感器主要用于检测空气中CO、CH4、H2等可燃气体的浓度,其原理为传感器的内部阻抗随可燃气体的浓度而变化。MQ—K1的测量范围为100—10000PPM(PPM为体积比例,表示百万分之一),工作环境的温度:-10℃~45℃,湿度≤95%。其引脚及电学参数如下: 可燃气体传感器的工作原理见模块说明,其测量电路如下图所示:

图2 可燃气体传感器测量电路 脚、5脚用于加热,1、3脚和4、6脚接测量电路,RL为负载电阻。

表1-可燃气体传感器标准工作条件

传感器在1000ppm的CH4中的阻抗用R0表示,在各种环境中的动态阻抗用Rs表示。在洁净的空气中Rs/ R0=5,在其它环境中如下表所示:

表2-在各种环境中的阻抗用R0与动态阻抗Rs 的关系

可燃气体传感器电路如下所示:

图3 可燃气体传感器电路

R2(SEN.)用于改变负载电阻的大小,R6(ZERO)用于零位调节,R12(ALARM)用于设置报警电压,VOUT为模拟输出,DOUT为数字输出。

使用前,应先对MQ—K1通电预热3—5分钟,以使输出稳定。在洁净的空气中,通过采样VOUT电压,求出R0;在有可燃气体的环境中,通过采样VOUT电压,求出Rs;用Rs/R0的比值确定空气中可燃气体的浓度。4.4 LCD显示

点阵式LCD显示电路是在系统板上外挂电正式液晶显示模块,模块的数据线、状态、控制线都通过插孔引出。可直接与系统相连。4.4.1 OCMJ2×8液晶模块介绍及使用说明

OCMJ中文模块系列液晶显示器内含 GB 2312 16*16点阵国标一级简体汉字和 ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或 ASCII 码即可实现文本显示。也可用作一般的点阵图形显示器之用。提供位点阵和字节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位

进行图形显示。完全兼容一般的点阵模块。OCMJ中文模块系列液晶显示器可以实现汉字、ASCII 码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。本系列模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令。OCMJ 中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。规划整齐的10个用户接口命令代码,非常容易记忆。标准用户硬件接口采用REQ/BUSY 握手协议,简单可靠。4.4.2硬件接口 接口协议为请求/应答(REQ/BUSY)握手方式。应答BUSY 高电平(BUSY =1)表示 OCMJ 忙于内部处理,不能接收用户命令;BUSY 低电平(BUSY =0)表示 OCMJ 空闲,等待接收用户命令。发送命令到 OCMJ 可在BUSY =0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ 信号(REQ =1)通知OCMJ请求处理当前数据线上的命令或数据。OCMJ模块在收到外部的REQ高电平信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成,用户可以撤消数据线上的信号并可作模块显示以外的其它工作,也可不断地查询应答线BUSY是否为低(BUSY =0?),如果BUSY =0,表明模块对用户的写操作已经执行完毕。可以再送下一个数据。如向模块发出一个完整的显示汉字的命令,包括坐标及汉字代码在内共需5个字节,模块在接收到最后一个字节后才开始执行整个命令的内部操作,因此,最后一个字节的应答BUSY 高电平(BUSY =1)持续时间较长,具体的时序图和时间参数说明查阅相关手册。

4.2.3用户命令

用户通过用户命令调用OCMJ系列液晶显示器的各种功能。命令分为操作码及操作数两部分,操作数为十六进制。共分为3类10条,分别是:

一)、字符显示命令:

1、显示国标汉字;

2、显示8X8 ASCII字符;

3、显示8X16ASCII字符;

二)、图形显示命令:

4、显示位点阵;

5、显示字节点阵;

三)、屏幕控制命令:

6、清屏;

7、上移;

8、下移;

9、左移;

10、右移;(1)显示国标汉字

命令格式: F0 XX YY QQ WW。该命令为5字节命令(最大执行时间为1.2毫秒,Ts2=1.2mS),其中 XX为以汉字为单位的屏幕行坐标值,取值范围00到07、02到09、00到09。YY为以汉字为单位的屏幕列坐标值,取值范围00到01、00到03、00到04。QQ WW为坐标位置上要显示的GB 2312 汉字区位码。

(2)显示8X8 ASCII字符

命令格式:F1 XX YY AS。该命令为4字节命令(最大执行时间为0.8毫秒,Ts2=0.8mS),其中 XX为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13。YY为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F。AS坐标位置上要显示的ASCII 字符码。(3)显示8X16 ASCII字符

命令格式:F9 XX YY AS。该命令为4字节命令(最大执行时间为1.0毫秒,Ts2=1.0mS),其中 XX为以ASCII码为单位的屏幕行坐标值,取值范围00到0F、04到13、00到13。YY为以ASCII码为单位的屏幕列坐标值,取值范围00到1F、00到3F、00到4F。AS坐标位置上要显示的ASCII 字符码。

(4)清屏

命令格式:F4。该命令为单字节命令(最大执行时间为11毫秒,Ts2=11mS),其功能为将屏幕清空。4.5语音录放模块

语音录放模块由单片语音录放芯片ISD2560 及其外围电路组成。4.5.1 SD2560 芯片介绍

ISD2560 是美国ISD 公司推出的ISD2500 系列语音芯片的一种。ISD2500 系列芯片按录放时间60 秒、75 秒、90 秒和120 秒分成ISD2560、2575、2590 和25120 四个品种。ISD2560 芯片具有抗断电、音质好,使用方便等优点,它使用单一的+5V 供电,录音部分有自动增益控制电路,录音的采样频率可达8KHz。ISD2560 片内有容量为480K 字节的E2PROM,所以录放时间长,可重复录制100000 次且可保持100 年不变。此外ISD2560 芯片支持分段录音和分段播放,有10 个地址输入端,寻址能力可达1024 位,最多能分600 段。芯片设有OVF(溢出)端,便于多个器件级联。4.5.2 模块电路原理图

本电路中ISD2560采用按钮控制操作方式,A9、A8、A6接VCC,A1—A5、A7均接GND,A0由CA0插孔引出,用于控制是否进入检索模式。ISD2560的音频输出端SP+、SP-经过音频功放LM386驱动喇叭。电位器R8(对应于模块上VOLUME电位器)用于调节喇叭的增益。4.5.3 模块的基本测试方法

1、模块上P/-R、PD、CA0插孔分别接至实验箱的K1、K2、K3,EOM接实验箱指示灯L1,CE接单脉冲P-。

2、将K1、K3拨至低电平,K2先高后低。按一下单脉冲P-,L1应熄灭。此时对这麦克风说一段话,然后再按P-,此时L1应被点亮,录音完成。

3、将K1 拨至高电平,K3 拨至低电平,K2 先高后低。按一下单脉冲P-,L1 应熄灭,此时可以听到刚才录的语音片断。播放完成后,L1 应被点亮。

图4 语音模块电路

5、设计思路

5.1数码管显示

通过可燃气体传感器,在有可燃气体的环境中,通过采样VOUT电压,将测试结果通过AD0809采样输出电压,A D转换,并通过8279显示电路使数码管显示相应的转换结果。5.2 LCD显示

通过可燃气体传感器,在有可燃气体的环境中,通过采样VOUT电压,将测试结果通过AD0809采样输出电压,A D转换,并通过LCD液晶屏显示相应的转换结果。5.3 语音报警

通过调节相应的滑阻设置阈值,当电路正常运行时,在可燃气体模块电路的Dout输出端就会有相应的开关量的输出。语音模块提前录好音,当可燃气体浓度超过阈值时,利用Dout输出量控制语音模块输出,即可实现语音报警。

6、实验测试步骤

6.1 数码管显示

1、实验连线:VOUT接A/D模块的ADIN0,CS0809选择CS3。

2、调节ZERO电位器,将VZERO调为0。将SEN.电位器调到最小,即VOUT输出最小。调节ALARM电位器,将VALARM调到2V。

3、运行实验程序,用打火机靠近可燃气体传感器并喷射少量气体,观察数码管显示的变化。6.2 LCD显示 1、8255 的PA0~PA7接A/D PORT单元的DB0~DB7;2、8255 的PC7接A/D PORT单元的BUSY;3、8255 的PC0接A/D PORT单元的REQ;4、8255CS接CS0;

5、运行实验程序,观察液晶的显示状态。6.3 语音报警

1、实验箱上CS244 接到片选CS2。

2、实验箱上CS273 接到片选CS1。

3、实验箱上244 的输入IN0—IN1 接到实验箱上拨码开关的输出k7 和k8。

4、实验箱上273 的输出O0—O1 到ISD1700 语音模块上的REC 和PLAY。

7、程序流程

7.1数码管显示

7.2 LCD显示

图5 数码管显示程序流程图

图6 LCD液晶屏显示程序流程图

7.3最终程序流程图

开始LCD初始化BUSY为0?Y数据输出“检测结果”REQ置位NNBUSY为1?YREQ复位N数据读完?Y开始AD转换延时读入转换数据读入开关量开关量取反输出至语音模块所读数据低八位赋给BX将BX中数据取高四位数码管显示将BX中数据取高四位LCD显示将BX中数据取低四位数码管显示将BX中数据取低四位LCD显示延时

8、实验程序 8.1数码管显示

CON8279 EQU

0492H

;赋值伪指令给8279控制口地址赋予一个名字

DAT8279 EQU

0490H

;赋值伪指令给8279数据口地址赋予一个名字 CS0809 EQU

04D0H ;赋值伪指令给AD0809通道0控制口地址赋予一个名字

ASSUME CS:CODE

;将CS设置为存放CODE的段地址 CODE SEGMENT

PUBLIC

;PUBLIC,组合类型,逻辑段有相同的段名,集中为一个逻辑段装入内存

ORG

100H

;利用ORG伪指令使程序的起始地址为01100H,CS=0100H,IP=0100H

START: JMP

START1

;JMP无条件转移指令 START1: MOV DX,CS0809

;将CS0809放入DX寄存器中

MOV AX,34H

;任意给一个控制字,启动AD转换

OUT

DX,AX

;AD0809开始转换

WAIT:

MOV CX,0010H

;延时,等待AD转换结束 WAIT1: NOP

NOP

LOOP WAIT1

;CX不为0时转移

MOV

DX,CS0809

IN

AX,DX

;读入AD转换结果到CS0809

AND

AX,0FFH

;保留AX寄存器数据的低八位,高八位清零

MOV

BX,AX

;将AX寄存器数据传送到BX寄存器

NOP

;空操作

DISP:

MOV

DI,OFFSET SEGCOD;取SEGCOD的偏移地址放入变址寄存器DI

MOV

AX,08H

;8279控制字,左端入口,16个字符显示

MOV

DX,CON8279

OUT

DX, AX

;输出8279控制字到CON8279

MOV

AX, 90H ;8279控制字,写显示RAM 0000B内容,地址自加1

MOV

DX, CON8279

OUT

DX, AX

;输出8279控制字到CON8279

MOV

PUSH

AND

MOV

SHR

ADD 据相加

MOV AL寄存器

MOV

OUT

NOP

NOP

MOV 器DI

POP

AND

ADD 数据相加

MOV 到AL寄存器

MOV

OUT DX, DAT8279 ;将DAT8279放入DX BX

;将BX寄存器的数据压入堆栈,保护现场 BX,0F0H

;取BX寄存器数据的高四位

CL,4

;CL寄存器存放移位次数 BX,CL

;逻辑右移4位

DI,BX

;将DI中SEGCOD的偏移地址值与BX中数 AL,CS:[DI]

;将段地址为CS,偏移地址为DI的数据送到 AH,0

;AX寄存器的高八位置零

DX,AX

;将AX寄存器的数据输出到DAT8279端口

DI,OFFSET SEGCOD;取SEGCOD的偏移地址放入变址寄存

BX

;出栈,恢复现场

BX,0FH

;取BX寄存器数据的低4位

DI,BX

;将DI中SEGCOD的偏移地址值与BX中

AL,CS:[DI]

;将段地址为CS,偏移地址为DI的数据送

AH,0

;将AH寄存器置零

DX,AX

;将AX寄存器的数据输出到DAT8279端口

DELAY: MOV

CX, 2A00H

;延时

DELAY1: NOP

NOP

LOOP

DELAY1

;循环2A00H次

JMP

START1

;返回重新采集和转换数据并显示

SEGCOD DB

3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

;空指令

;七段共阴数码管显示编码,分别对应着0123456789ABCDEF CODE ENDS

;代码段结束 END

START

;源程序结束

8.2 LCD显示

;=;液晶显示

;CS0接CS8255,DB0-DB7接PA0-PA7,BUSY接PC7,REQ接PC0

;CS0片选信号,地址04A0-04AF,偶地址有效

ASSUME

CS:CODE

;将CS设置为存放CODE的段地址 CODE SEGMENT

PUBLIC

;PUBLIC,组合类型,逻辑段有相同的段名,集中成为一个逻辑段装入内存

ORG

100H

;ORG设置指令存储起始地址;= START: MOV DX, 04A6H

;将控制端口地址放入DX

MOV AX, 88H

;88H为工作方式选择控制字,A口方式0输出,PC7~PC4输入,B口方式0输出,PC3~PC0输出

OUT

DX, AX

MOV AX, 70H

OUT

DX, AX

;向控制端口发送工作方式选择控制字

;70H为C口按位置位/复位控制字,PC0复位 ;向控制端口发送C口按位置位/复位控制字

MOV AL, 0F4H

;LCD显示清屏

CALL COMD

;过程调用指令,调用过程COMD CALL DELAY

;过程调用指令,调用过程DELAY START1: MOV SI,OFFSET[TABLE] ;将TABLE的偏移地址送到SI寄存器

MOV CX, 4

;循环次数设定

WR1:

MOV DX, 04A4H

;WR1检查BUSY信号是否为零,将C数据端口地址放入DX

IN

AX, DX

;读入数据

AND

AX, 80H

;保留PC7的输出数据,即busy

JNZ

WR1

;ZF零标志位,ZF非零转移到WR1

MOV

AL, [SI]

;将地址在SI寄存器的数据送到AL

CALL

COMD

;调用过程COMD

INC

SI

;将TABLE的偏移地址缓冲区指针加1

LOOP

WR1

;CX寄存器的内容不为零,则循环WR1

CALL

DELAY

;调用过程DELAY OK:

JMP

START1

;无条件转移到START1;= DELAY: MOV

CX,1000H

;将1000H送入CX寄存器 DLYB: LOOP

DLYB

RET

;过程返回指令,回到原来调用过程的地方;= COMD: MOV

DX, 04A0H

;将A数据端口地址放入DX

OUT

DX, AL

;将相应数据输出

;将控制端口地址放入DX

MOV

DX, 04A6H

MOV

AX, 71H

;71H为C口按位置位/复位控制字,PC0置位

OUT

DX, AX

MON:

MOV

DX, 04A4H

;MON检查BUSY信号是否为零,将C数据端口地址放入DX

IN

AX, DX

;读入数据

;向控制端口发送C口按位置位/复位控制字

AND

AX, 80H

;保留PC7的输出数据,即busy

JZ

MON

;ZF零标志位,ZF非零转移到MON

MOV

DX, 04A6H

;将控制端口地址放入DX

MOV

AX, 70H

;70H为C口按位置位/复位控制字,PC0复位

OUT

DX ,AX

;向控制端口发送C口按位置位/复位控制字

RET

;过程返回指令,回到原来调用过程的地方;= TABLE: DB

0F9H,00D,00D,31H

;在此处输入要显示汉字的命令代码 CODE ENDS

;代码段结束 END

START

8.3 数码管,LCD显示,语音报警最终程序

CON8279 EQU

0492H

;赋值伪指令给8279控制口地址赋予一个名字 DAT8279 EQU

0490H

;赋值伪指令给8279数据口地址赋予一个名字 CS0809

EQU

04D0H

;赋值伪指令给AD0809通道0控制口地址赋予一个名字

ASSUME

CS:CODE

;将CS设置为存放CODE的段地址

CODE SEGMENT PUBLIC ;PUBLIC,组合类型,逻辑段有相同的段名,集中为一个逻辑段装入内存

ORG

100H ;利用ORG伪指令使程序的起始地址为01100H,CS=0100H,IP=0100H START: MOV DX, 04A6H

;将控制端口地址放入DX

MOV AX, 88H

;88H为工作方式选择控制字,A口方式0输

;源程序结束

出,PC7~PC4输入,B口方式0输出,PC3~PC0输出

OUT

DX, AX

;向控制端口发送工作方式选择控制字

MOV AX, 70H

;70H为C口按位置位/复位控制字,PC0复位

OUT

DX, AX

;向控制端口发送C口按位置位/复位控制字 MOV AL, 0F4H

;LCD显示清屏

CALL COMD

;过程调用指令,调用过程COMD

CALL DELAY

;过程调用指令,调用过程DELAY

MOV

CX, 25

;循环次数设定

MOV

SI,OFFSET JCJG ;将JCJG的偏移地址送到SI寄存器

JCJG1: MOV

DX, 04A4H

;JCJG1检查BUSY信号是否为零,将C数据端口地址放入DX IN

AX, DX

;读入数据

AND

AX, 80H

;保留PC7的输出数据,即busy信号

JNZ

JCJG1

MOV

AL, [SI]

CALL

COMD

INC

SI

LOOP

JCJG1

CALL

DELAY

JMP

START1

START1: MOV

DX, CS0809 MOV

AX, 34H

OUT

DX, AX

WAIT:

MOV

CX, 0010H

WAIT1: NOP

NOP

LOOP

WAIT1

MOV

DX, CS0809

IN

AX, DX

AND

AX, 0FFH

MOV

BX, AX

NOP

;ZF零标志位,ZF非零转移到JCJG1

;将地址在SI寄存器的数据送到AL ;调用过程COMD

;将JCJG的偏移地址缓冲区指针加1

;CX寄存器的内容不为零,则循环JCJG1 ;调用过程DELAY

;无条件转移到START1

;将CS0809放入DX寄存器中

;任意给一个控制字

;AD0809开始转换

;延时,等待AD转换结束

;CX不为0时转移

;读入AD转换结果到CS0809

保留AX寄存器数据的低八位,高八位清零

;将AX寄存器数据传送到BX寄存器

;空操作

; yy:

MOV

DX,04C0H

;74LS244地址

IN

AL,DX

;读输入开关量

NOT

AL

;将AL内容取反

MOV

DX,04B0H

;74LS273地址

OUT

DX,AL

;输出值语音模块

DISP:

MOV

DI, OFFSET SEGCOD;取SEGCOD的偏移地址放入变址寄存器DI

MOV

MOV

OUT

MOV

地址自加1

MOV

OUT

MOV

PUSH 场

AND

MOV

SHR

ADD

中数据相加

MOV

据送到AL寄存器

AX, 08H

;8279控制字,左端入口,16个字符显示 DX, CON8279

DX, AX

; 输出8279控制字到CON8279 AX, 90H

;8279控制字,写显示RAM 0000B内容,DX, CON8279

DX, AX

;输出8279控制字到CON8279 DX, DAT8279 ;将DAT8279放入DX BX

;将BX寄存器的数据压入堆栈,保护现 BX,0F0H

;取BX寄存器数据的高四位 CL,4

;CL寄存器存放移位次数

BX,CL

;逻辑右移4位

DI,BX

;将DI中SEGCOD的偏移地址值与BXAL,CS:[DI]

;将段地址为CS,偏移地址为DI的数

MOV

AH,0

;AX寄存器的高八位置零

OUT

DX,AX

;将AX寄存器的数据输出到DAT8279端口

NOP

NOP WR1:

MOV

DX, 04A4H

;WR1检查BUSY信号是否为零,将C数据端口地址放入DX

IN

AX, DX

;读入数据

AND

AX, 80H

;保留PC7的输出数据,即busy

JNZ

WR1

;ZF零标志位,ZF非零转移到WR1 MOV

AL, 0F9H

;显示8X16ASCII字符命令

CALL

COMD

;调用过程COMD

;输入列信息

MOV

AL, 0AH

CALL

COMD

;调用过程COMD

MOV

AL, 00H

;输入行信息

MOV

SI,OFFSET SEGCOD2 ;取SEGCOD2的偏移地址放

CALL

COMD

;调用过程COMD 入变址寄存器SI

ADD

SI, BX

;将SI中SEGCOD2的偏移地址值与BX中数据相加

MOV

AL, [SI]

;将地址在SI寄存器的数据送到AL

CALL

COMD

;调用过程COMD

MOV

DX, DAT8279 ;将DAT8279放入DX寄存器中

MOV

DI,OFFSET SEGCOD;取SEGCOD的偏移地址放入变址寄存器DI

POP

BX

;出栈,恢复现场

AND

BX,0FH

;取BX寄存器数据的低4位

ADD

DI,BX

;将DI中SEGCOD的偏移地址值与BX中数据相加

MOV

AL,CS:[DI]

;将段地址为CS,偏移地址为DI的数据送到AL寄存器

MOV

AH,0

;将AH寄存器置零

OUT

DX,AX

;将AX寄存器的数据输出到DAT8279端口

WR2:

MOV

DX, 04A4H

;WR2检查BUSY信号是否为零,将C数据端口地址放入DX

IN

AX, DX

;读入数据

AND

AX, 80H

;保留PC7的输出数据,即busy

JNZ

WR2

;ZF零标志位,ZF非零转移到WR2

MOV

AL, 0F9H ;显示8X16ASCII字符命令

CALL

COMD

;调用过程COMD

MOV

AL, 0BH

;输入列信息

CALL

COMD

;调用过程COMD

MOV

AL, 00H

;输入行信息

CALL

COMD

;调用过程COMD

MOV

SI,OFFSET SEGCOD2;将SEGCOD2的偏移地址送到SI寄存器

ADD

SI, BX

;将SI中SEGCOD的偏移地址值与BX中数据相加

CALL

COMD

;调用过程COMD CALL

DELAY

;调用过程DELAY

DELAY0:

MOV

CX, 2A00H

;延时 DELAY1:

NOP;空指令

NOP

LOOP

DELAY1

;循环2A00H次

OK:

JMP

START1

;返回重新采集和转换数据并显示;= DELAY:

MOV

CX,1000H

;将1000H送入CX寄存器 DLYB:

LOOP

DLYB

RET

;过程返回指令,回到原来调用过程的地方

;= COMD:

MOV

DX, 04A0H ;将A数据端口地址放入DX

OUT

DX, AL

;将相应数据输出

MOV

AL, [SI]

;将偏移地址为SI的数据送到AL寄存

MOV

DX, 04A6H

;将控制端口地址放入DX

MOV

AX, 71H

;71H为C口按位置位/复位控制字,PC0置位

OUT

DX, AX 制字

;向控制端口发送C口按位置位/复位控

MON:

MOV

DX, 04A4H

;MON检查BUSY信号是否为零,将C数据端口地址放入DX

IN

AX, DX

;读入数据

AND

AX, 80H

;保留PC7的输出数据,即busy

JZ

MON

;ZF零标志位,ZF非零转移到MON

MOV

DX, 04A6H

;将控制端口地址放入DX

MOV

AX, 70H

;70H为C口按位置位/复位控制字,PC0复 位

OUT

DX ,AX

;向控制端口发送C口按位置位/复位控制字

RET

;过程返回指令,回到原来调用过程的地方

;= SEGCOD

DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ;七段共阴数码管显示编码,分别对应着0123456789ABCDEF

SEGCOD2 DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H ;0123456789ABCDEF的ASCII码 JCJG

DB 0F0H,00D,00D,28D,76D,0F0H,01H,00H,18D,66D,0F0H,02H,00H,29D,65D,0F0H,03H,00H,25D,91D,0F9H,08H,00H,3AH;显示“检测结果:”

CODE ENDS

;代码段结束 END

START

;源程序结束

9实验现象及说明 9.1 运行数码管显示程序

实验现象:

将打火机靠近气体传感器,数码管会显示相应AD转换结果

当气体浓度超过阈值时,LED灯会亮。

9.2 运行LCD显示程序 实验现象:

将打火机靠近气体传感器,液晶屏会显示相应AD转换结果

9.3 运行数码管,LCD显示,语音报警程序

实验现象:

将打火机靠近气体传感器,数码管,LCD会显示相应AD转换结果,当气体浓度超过阈值时,LED灯会亮,语音报警模块会报警。10实验结论

在完成对已有程序的解读,通过可燃气体传感器检测气体浓度,并在数码管上显示气体浓度转换为的电压值后,我们改进了程序,使其在LCD液晶屏上显示气体浓度转换为的电压值,最后进一步改进,使气体浓度转换为的电压值可以同时在数码管和LCD液晶屏上显示,最后我们加入了语音报警模块,当检测值超过阈值后,会有相应的报警。

11承担的主要任务

在气体传感器模块微机原理课程设计中,我主要进行小组内成员的分工,课程设计进度的调整。以及对气体检测模块相关程序的解读,对已有程序的修改和程序的调试。

12结论及设计心得与体会

通过对气体传感器模块的相应功能的实现,我更深入的了解了微机原理课程的相关知识。通过亲身实践,对汇编语言有了更深入的理解。巩固了上学期学习的微机原理基本知识,当然还认识到自己还有很多不足,比如对汇编语言的理解还比较浅显,有些细节还没有引起自己足够的重视等。我还认识到在进行设计实验时,程序的流程图是十分重要的,在对整个程序的理解方面起着十分关键的作用。在分析程序时,先按照功能将程序分为几个部分,再对每个部分分别在细节上分析是十分有效的方法。

篇3:微机原理课程改革初探

根据笔者近几年从事微机原理课程的亲身教学体验,从以下几个方面阐述:课程内容、课时安排、实验教学等方面的现状及改革措施。

1 微机原理课程教学现状

微机原理课程在高校已经开设了长达一二十年,开设课程的名称不尽相同,有“微机原理”、“微机原理与接口技术”、“微机原理与汇编语言”等多种,但是教学内容大体一致,基本都是以80X86CPU和其组成的PC机为重点,课程结构主要分为两大部分,原理部分包括:微型计算机基础知识、80X86CPU系统结构及其指令系统、汇编语言程序设计、存储器原理与接口、I/O接口技术、中断与中断管理、总线技术等知识;接口部分包括:8259A、8253、8255A、8251A等可编程接口芯片和A/D转换器。课程主要分理论教学和实验教学两部分,课堂上理论教学主要都是以老师讲解为中心,由于课程的第一部分介绍的是原理篇,所以理论抽象的概念性的东西较多,每章有大量的名词和术语,而且前面各章的内容涵盖的知识点多而杂,课程各部分前后内容都有交叉,学生不易学,兴趣不高。初学《微机原理》时,很多同学可能都没有什么头绪,面对众多的术语、概念及原理性的问题感觉枯燥乏味,学生学习的积极性比较松怠,课堂气氛比较沉闷,而且以往课时数较少,教材内容根本讲不完,更何况给学生做练习和补充实例都很困难。接口部分主要接受接口芯片的工作方式和编程应用,编程一般采用的都是汇编语言,该语言为硬件语言,指令多而难记忆,以往课程学习中,学生对此语言掌握情况不佳,动手编程能力较弱,这使得在微机原理课程的指令系统篇和接口篇出现了学习难点。在实验教学过程中,实验内容有些为验证性实验,学生自主创新较少。通常都是老师把程序编写好,学生对照老师的电路图连接线路,然后学生调试运行并观察结果,最后写出实验报告,整个过程不是自主学习和思考,很多学生对实验原理并不理解,也不能够独立编写程序,这样就不具备微机硬件和软件的基本开发能力,实验课程的目的就没有达到。

2 课程改革

2.1 教学内容改革

教师和学生普遍都认为微机原理课程的内容多而复杂,如果在有限的学时内把原理、汇编、接口三部分知识讲授完是非常困难的,基本不可能完成,所以我们就需要对教学内容进行精选,把一些重点和难点内容放在课堂上精讲,而一些相对来说较容易的内容或者是与其它先驱课程的重叠内容只做简单介绍或复习性回顾,让学生课后去自学,比如在前面的学期中已经开设了汇编语言课程,所以在指令系统和汇编语言程序设计这两部分讲解时,可以把寻址方式和指令系统的内容合并讲授,而且学生不需要记住全部的指令,掌握一些常用的频繁指令即可,再通过对程序的分析和大量编程来提高编程技巧和动手能力,这样处理的效果比较好,而且节约了教学时间。而对原来其它课程中虽然已经提及,但是没有过多分析的问题可以增加讲授。如机器码的介绍,特别是补码的运算及其在微型机中的应用,可以多补充一些知识。总线时序部分在实际应用中用途较小,教学时可以只进行一般性介绍。课程中的中断原理和可编程定时器/计数器8253都是讲解的难点,在讲解这两部分内容时,可以先举实例让学生理解中断概念,对定时器与计数器的概念可以以日常生活中常见的小家电的定时系统举例,这样写生就会有一个比较清晰的认识和理解,然后再慢慢逐渐深入讲解,印象要比纯原理或工作方式介绍更深刻一些,不至于学生学起来感到头疼。此外,在传统的理论内容的教学上,还可以介绍最新的微机及接口的最新知识,所以教材选择时,要近两年出版的内容比较合适,让学生及时掌握最新的知识和技术。

2.2 提高学生的学习兴趣

兴趣是关键因素,没有了兴趣学习就变得枯燥而乏味,所以必须要提高学生对课程的学习兴趣。培养学习兴趣可以从两方面着手 :首先,教学形式上可以进一步改善和提高。由于课程内容含有很多抽象和图示的部分,如果在课件中做成静态文字或图片,学生看着比较疲劳,也不能形象传达教学内容,我们就可以把此本分内容做成动画效果,比如文字部分色彩可以丰富艳丽一些,刺激学生的眼球;类似CPU的结构原理、寻址方式、总线时序、中断管理等图示部分,学生都认为比较难理解,这些内容在课件中就可以使用Flash或Authorware软件做成动画效果一步一步演示,学生即看的清晰明了,而且也吸引他们的注意力,使记忆更深刻,激发学生学习的兴趣。我校为丰富和提高课堂教学质量,专门开展了多媒体教学及多媒体课件的评比活动,激发教师改善教学形式,提高授课质量。其次,理论联系实际开拓视野。教学过程中可以多引入日常生活中常见的微机应用,然后再介绍工业中的一些实例,调动课堂气氛、是枯燥的理论教学变得更生动。如果有条件,也可以安排学生去现场实地参观相关设备或控制应用等。

2.3 合理选择教学方法

为达较好的教学效果,我们对教学方法进行了改革,采用实例驱动法。一些较抽象、枯燥、难理解但又重要的内容,尽可能与现实生活中较贴近的例子联系起来,引入实例驱动教学和启发式教学,通过比喻或形象的说法讲授,慢慢过渡到理论,有利于学生思维的延续性,让学生理解、记忆更加深刻,激发的他们的学习兴趣,从而增强教学效果。以前课堂都是以教师讲授为中心,满堂课老师是主角,学生参与的不多,这种模式已经淘汰,现在由教师提出问题,要求学生寻求解决方法,逐渐引出课堂内容,教师做出正向讲解,再由学生反过来提问,然后给大家一定时间分组讨论,最后教师总结。经过以上改革以后课堂气氛比以往活跃很多,效果良好。

2.4 增强实践操作

很多教师都认为微机原理课程的教学内容枯燥抽象,课时数量偏少,教学难度较大,存在心有余而力不足的感觉。另外,本门课程要求学生对汇编语言有一定的基础,大多数学生汇编语言基础都不太牢固,而且在实验过程中,有一些偷懒的学生不愿意亲自动手编写程序,只是简单地连接导线并调用系统自带的程序完成实验,从而导致学生动手能力差,达不到实验目的。

但是本课程的实验环节是课程教学的重要方面,为了解决上面提到的问题,我们任课教师参与实验课程的编排、参与实验课程的讨论、指导,这样既促进了实验环节,又进一步提高了课堂教学的效果,具体的方法如下:

1) 预习实验内容。课前预习对在有限的课堂上完成要求的实验内容是非常重要的,因此每次实验结束前就提前布置下一次实验内容。要求学生根据实验教学目的和要求,结合课堂教授的理论知识,做好实验的准备工作,做到实验目的明确、实验原理明晰,实验内容理解,培养学生自学和动脑思考的好习惯。

2) 根据所学内容,要求学生每人设计一个简单的小实验,可以在图书馆或上网查找资料。结合教材内容设计,然后带到实验室,通过试验箱或集成开发环境测试完成,写出报告及心得。

3) 实验课转换角色。根据课前老师布置的实验任务,学生课下通过查找资料或讨论交流完成实验内容的准备。上实验课时,由学生在讲台上根据自己的预习给全班学生进行实验介绍、实验分析以及实验讲解,然后组织学生进行实验,教师在实验结束前,预留十五至二十分钟的时间,对本次试验讲评总结,提出要点和注意事项,其余时间全部有学生独立完成,提升学生综合解决问题的能力。

微机是我们要掌握的第二语言,微机原理课程更是高校开设的一门重要的专业必修课,是学习微型计算机的工作原理,建立起计算机的总体概念,培养学生具有微机硬件系统分析、接口设计、编程及开发与应用能力的核心课程,教师应根据多年教学经验及所掌握的新知识不断完善和改革微机教学。该文就教学和实验的几个主要方面进行了探讨,希望通过对课程的教学改革与实践,使得微机原理课程由原来的枯燥抽象的课堂气氛,变成生动多样的模式,使学生更易接受和理解,从而激发学生学习的积极性,提高自主创新的开发能力。

摘要:“微机原理与接口技术”课程是高校的一门重要的专业核心课程,根据课程的自身特点,分析了目前课程的教学现状和实验现状,针对教学过程中出现的一些问题和不足,提出课程的改革,主要从教学内容、教学方法、实践操作等方面进行阐述,进一步提高课程的教学质量。

篇4:《微机原理》教学改革探索

[关键词] 应用型本科;电子信息工程;微机原理

中国分类号:H191

电子信息工程专业是直接服务于我国通信、电子行业的重要工科专业。随着通信业和电子工业的不断发展,其中以计算机为核心的通信技术得到迅猛的发展。可以说只有充分掌握计算机技术的电子信息工程专业学生,才能够适应时代发展的要求。

对于电子信息工程专业的学生而言,在大学四年中所学的知识是很有限的。为了让学生在有限的时间内掌握更多的专业技术,那么人才的培养方案应着重培养学生的动手能力和创新能力,以符合应用技术型人才的培养要求。

《微机原理》对电子信息工程专业的学生在理解和掌握计算机本质和工作原理上有着不可替代的作用。并且对学生后续学习的单片机、DSP等课程起到十分重要的作用。因此,为了满足电子信息工程专业人才培养的实际需求,要有针对性地强化《微机原理》课程中的学习内容。本文将从以下几方面进行探讨。

一、 应用型本科的教学目标

按照《中华人民中和国高等教育法》本科学业教学的规定:学生能系统地掌握本学科专业所必须的基础理论知识,具有从事本专业实际工作和研究工作的初步能力[1]。但是应用型本科教育还要求所培养的学生符合高级工程的要求。因此所培养的毕业生必须具有较强的工程实践能力。要在人才培养过程中,注重培养学生的动手能力并在实践教学过程中逐步培养学生的创新能力。

二、 更新教学内容

传统的《微机原理》教学内容要求学生重点掌握汇编指令,以及培养学生汇编语言的编程能力。但是8086系统早已淘汰不用,且汇编语言通用性不强,不同的系统汇编语言的结构不同。那么针对培养应用型本科人才的教学目的,在《微机原理》的教学当中应该是重点讲解微型计算机的基本结构、工作原理以及外部接口的使用[2]。计算机的二进制运算是本门课程的基础内容,是每个学生都要掌握的知识。当学生有了二进制运算的基础之后再适当地讲解CPU的内部结构,目前微型计算机的CPU都是采用了哈佛结构,而电子信息工程专业学生后期学习的DSP系统也是采用哈佛结构,因此这部分的内容也需要详细地讲解。考虑到电子信息工程专业的学生要具有电路设计的能力,特别是要掌握接口芯片的使用。那么在讲解《微机原理》这一门课的时,要结合数字电路的知识,重点介绍微型计算机的接口芯片使用。例如:AD0809、8255、8253等这些常用的接口芯片,在电路设计上应用很广泛。而且这一部分的内容是本门课程需要重点学习的内容。另外,寻址方式和存儲器也是《微机原理》的一个重要内容,这些知识为后续学习的单片机技术提供重要的理论基础,在学习这部分内容时要从原理上掌握。

在计算机专业和控制类专业中,汇编语言这一部分的内容是《微机原理》学习的重点。但是考虑到电子信息工程专业的实际需要,这一部分的内容应当弱化处理。因为汇编语言作为一门低级的计算机语言,如果只通过课堂的讲解学生是很难接受的,只有通过大量的操作实验学生才能更好地理解。而且汇编语言通用性不强,学生在学了80x86系统的汇编语言之后,即使继续从事本专业的研究工作也很少使用,因为不同的处理器芯片汇编语言的结构不同。在后期所学习的单片机、DSP系统等课程,普遍采用C语言编程。基于C语言的软件开发平台已经非常成熟,而且C语言的通用性强。因此在教学过程中,应少而精地讲解汇编语言,同时要补充C语言的内容。

三、更新实验教学

《微机原理》是一门具有很强的应用性的课程,很多内容都可以通过实验来加以验证和实现,也就是说,实验在这一门课程的教学中发挥着重要的作用。如果学生每次实验都能够独立正确地完成,那么将起到巩固理论课堂中所学到知识的作用。既然教学内容上发生了改变,那么《微机原理》的实验内容、实验教学方法、实验考核方式等也需要进行改革。

首先,在传统的《微机原理》教学中,汇编语言实验占据了大部分的课时,但是实际收效的效果并不理想。因此,在《微机原理》实验中,汇编语言部分要压缩课时量,让学生掌握汇编语言的编写和调试程序即可[3]。中断和接口技术对于电子信息工程专业的学生而言,在今后的学习中会直接使用,是在实验教学过程中应该加强学习的内容。芯片应用也是在实验教学过程中应该增加课时量的内容,可以培训学生对芯片使用,以增强学生设计电路板的能力。而且芯片的使用和电路的设计一直以来都是电子信息专业的学生应该要具备有的能力。并且在芯片应用实验中可以让学生学习怎么根据引脚定义进行电子线路的连接、怎样根据控制字的格式定义给芯片进行初始化等。在实验过程中不能仅仅局限于课本的几款典型的可编程芯片,应该要包含有AD、DA等芯片的使用,这也是电子信息工程专业的学生必须掌握的知识。

其次,教师应该在实验课前培养学生有预习的习惯与课后鼓励学生学会思考总结实验过程,使学生能够在实验过程中巩固在理论课中所学到的知识[4]。待学生对实验课程的内容和基本实验步骤都熟练后,可以安排一些创新实验,在教师的指导下独立完成实验,并对实验数据进行整理、分析和讨论,最终写出实验报告或研究论文。

最后,根据学生实验的综合能力进行评定。最终的成绩评定,应当采取实验成绩与现场实验考试成绩相结合的方式进行测评[5]。在实验过程中还应当开设与课程相关的课程设计。在规定的时间教师验收学生的课程设计作品并要求学生答辩,学生成绩采用答辩和检查学生完成课题情况评定。

四、更新教学方法

在传统的《微机原理》教学中,注重培养的是学生的理论知识,而往往忽略了学生的实践能力。那么在《微机原理》这门课中应当积极探索工程实践能力,注重培养学生的实践能力[6]。但是传统的教学方法中更多的是学习理论知识,往往忽略了学生工程实践能力的培养,因此很难符合应用型本科的人才培养要求。那么新的教学方法应当是学习在理论知识的基础上,引导学生参加社会实践。随着新的教学方法提出,那么考核手段也应该伴随着提出,考核方式再也不能以期末考试的形式考核学生的成绩。学生的期末总评成绩应当包括考试的成绩加上平时成绩,平时成绩所占的分量应该与考试成绩占同等比重。更新的教学方法主要体现在以下几个方面。

在《微机原理》教学中,在课堂上能学到的都是理论知识。为了提高学生的动手能力和实践能力,教师应该除了课堂教学生理论知识,更应该指导学生设计与课程相关的作品。其中所设计的作品算入期末总评的一部分。

指导学生多阅读相关的课外书籍和文献资料。《微机原理》是一门理论知识多、技术性强、实验技能要求高的专业课,如果只靠在课堂上所学得的知识是很难达到这一门课的要求,学生应当多阅读查找相关的数据和文献资料[7]。那么在教学中,教师应当根据课程内容设立问题,课后再让学生查找资料并根据问题的内容撰写报告。所撰写的报告要明确写出问题的解决方法,而且所提出的方法必须要有依据,标出方法的出处。最终学生所选的报告也应当算入期末总评的一部分。

五、结束语

本文在教学内容上提出了减少汇编语言的内容并增加接口芯片芯片应用这一部分内容以满足电子信息工程专业的要求,在教学方法上提出工程训练式教学培养学生的实践能力。经过教学实践证明新的教学内容、实验方法以及教学方法的不断应用,使学生具有更强的实践能力和学习能力。

[参考文献]

[1]许青林,解争龙,田俊华.《微机原理》课程教学改革探索[J].教育与职业学报,2007(9):118-119.

[2]李宝华.基于研究性学习的高校教学改革[D].河南师范大学,2012.

[3]金红.提高微机原理实验教学效果的方法探讨[J].科技信息,2011(3):143-148.

[4]潘丽峰.微机原理教学与学生创新能力的培养[D].湖南师范大学,2008.

[5]顾滨.微机原理课程教学改革方案[J].江苏广播电视大学学报,2000(12):61-62.

[6]杨成.信息技术促进高校教学改革与创新的实践研究[J].教学研究,2007(12):73-75.

篇5:微机原理课程设计

一、设计内容

设计一个投票统计器,完成投票、计票统计和票数显示等功能。

二、设计原理及方案

在8086最小工作模式下,连接一块8255A芯片。在 8255A的C端口连接8个开关,开关按下表示支持,灯亮,开关不按便是反对,灯不亮,从8255A的C端口输入投票结果,经8086运算统计出结果;在 8255A的A端口连接一块7段LED数码管,将输出结果通过数码管显示出来。电路图:

接口技术课程设计

程序代码: A_PROT B_PROT C_PROT CT_PROT DATA DATA CODE

MOV DX,C_PROT IN AL,DX EQU EQU EQU EQU 200H 202H 204H 206H

;可通过计算获得,连接的是IO1 SEGMENT ENDS SEGMENT MOV AX,DATA MOV DX,AX MOV AL,10001001B MOV DX,CT_PROT OUT DX,AL

;控制字写入

;A端口输出,C端口输入 TAB1 DB 7FH,07H,7DH,6DH,66H,4FH,5BH,06H,3FH ASSUME CS:CODE,DS:DATA

START: MOV DX,C_PROT MOV AL,0 OUT DX,AL

;C端口清零

AGAIN: TJ: XOR AH,AH

MOV CX,8 LOOP1: SAL AL,1

ADC AH,0

LOOP LOOP1

MOV AL,AH

PUSH BX

LEA BX,TAB1

XLAT

MOV DX,A_PROT

OUT DX,AL

PUSH CX

MOV CX,2801 WAIT1: LOOP WAIT1

POP CX

JMP AGAIN

MOV AH,4CH INT 21H CODE ENDS END START

接口技术课程设计

;统计1个数

;进位加CF,以统计出C端口中1的个数

;延时10ms

接口技术课程设计

三、运行结果

程序结果图:

接口技术课程设计

四、设计总结与体会

为期一周的微机原理课程实践终于结束了,回过头来,感慨万千。过了一个多月,书本上的好些知识已然忘却,刚开始拿到课题时,看到一大堆传说中的神器,霎时凌乱了,选来选去,从仅剩的课题中挑了“投票统计器”,上网搜索了一下,大体上把设计的方向搞清了,接下来,便是开始设计了。

画模拟图对于我们来说,还是比较困难的,特别是8086那一块儿,大家参考网上的资料,反复讨论,着实花了不少时间。接下来的画图连线就比较简单了,为了节省时间,在做模拟图的同时,其他两个人便开始编写程序了。将设计流程图简略写下来,对照流程图,分块儿编写程序,显得很有条理,简单轻松些。

就这样,三次课之后,设计的图和程序都好了,只剩下调试程序,查看模拟结果了。这是检错和纠错的过程,轻松但也不轻松,因为那么多东西,如果看不仔细了,你就找不到错误,也就没法儿解决问题了,费事费力还一无所获,这是最伤脑筋的事情。还好,运气不错,只是程序出现了小小的问题,改好之后,得到了很满意的结果。

最后的验收,是对书本与实践知识的融汇总结,本以为毫无问题的我们,没想到被程序中的一个问题给秒杀了,大家四处找资料,和别的组的同学讨论,反复演算了半天,终于会了。当然,就算是会了,我们也只是懂得了微机原理中的一点皮毛而已,学的扎实很重要,因为这样才能把理论知识运用到实践中去,不断地提高自己。

五、参考文献 1.周明德.微型计算机系统原理及应用.北京:清华大学出版社

篇6:微机原理实验总结

不知不觉,微机原理与接口技术实验课程已经结束了。回想起来受益匪浅,主要是加深了对计算机的一些硬件情况和运行原理的理解和汇编语言的编写汇编语言,对于学习机电工程的自动控制和计算机都是很重要的,因为它是和机器语言最接近的了,如果用它来编程序的话,会比用其它高级语言要快得多。本学期我们在老师的带领下,进行了微机原理实验六到十这五组实验。它们分别是: 实验六

8255 PA口控制PB口

实验目的掌握单片机系统中扩展外围芯片的方法,了解 8255 芯片的结构及编程方法。实验内容

用 8255 PA 口作开关量输入口,PB 口作输出口。

实验步骤

1、用8 芯线将8 255 PA口接至开关Kl~K8,PB口接至发光二极管L1~L8;

2、运行程序 HW06.ASM,拨动开关K1~K8,观察L1~L8发光二极管是否对应点亮。

实验七

8255控制交通灯

实验目的进一步了解8 255 芯片的结构及编程方法,学习模拟交通控制的实现方法。

实验内容

用8255 做输出口,控制六个发光二极管燃灭,模拟交通灯管理。

实验步骤

1、用双头线将 8 255 PA0~PA2 口接至发光二极管L3~L1,PA3~PA5口接至发光二极管L7~L5;

2、执行 程序HW07.ASM,初始态为四个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。实验八

简单I /O口扩展

实验目的学习单片机系统中扩展简单I/O 口的方法; 学习数据输入输出程序的编制方法。实验内容

利用74LS244 作为输入口,读取开关状态,并将此状态,通过74LS273再驱动发光二极管显示出来。

五、实验步骤

1、用8 芯线将Y0~Y7接至开关K1~K8,Q0~Q7 接至发光二极管L1~L8,用双头线将 CS1 接至8 000 孔,CS2 接至9 000 孔,用8 芯线将J X0 接至JX7(D0~D7数据线);

2、执行程序 HW08.ASM,按动开关K1~K8,观察发光二极管L1~L8是否对应点亮。

实验九

A/D 0809转换实验

实验目的)掌握A/D 转换与单片机接口的方法;)了解A/D 芯片0809转换性能及编程方法;)通过实验了解单片机如何进行数据采集。实验内容

利用实验系统上的 0809 做A /D 转换器,实验系统上的电位器提输入,编制程序,将模拟量转换成数字,通过数码管显示出来。实验步骤

1、用双头线将可调电压区的VOUT接至ADC0809 模数转换区的IN0,可调电压区的VIN 接至电源+5V,ADC0809 模数转换区的CS4 接至系统接口区的8000H 端口,ADC0809模数转换区的WR接至系统接口区的/IOWR端口,ADC0809 模数转换去的 RD 接至系统接口区的/IORD,ADC0809 模数转换区的ADDA、ADDB、ADDC接至G ND,CLK接至单脉冲与时钟区的500K,用8 芯线将数据总线JX0 接至A DC0809模数转换区的JX6;

2、运行程序 HW09.ASM,数码管上显示0809.XX,后二位显示当前采集的电压转换的数字量,调节可调电压,该二位将随着电压变化而相应变化,变化范围为00至FF。

实验十

D/A 0832转换实验

实验目的(1)了解D/A 转换与单片机的接口方法;

(2)了解D/A 转换芯片 0832 的性能及编程方法;

(3)了解单片机系统中扩展D/A 转换芯片的基本方法。

实验步骤

1、用双头线将DAC0832 数模转换区的CS5 端口接至系统接口区的8000H端口,WR端口接至系统接口区的/IOWR端口,AOUT输出接电压表或小直流电机DJ,用8 芯线将DAC0832 数模转换区的JX2 接至数据总线JX0

2、运行程序HW10.ASM,数码管上显示不断加大或减小的数字量,数字变化范围 00 到FF,用万 用表测试 D/A 输出孔 AOUT 应能测出不断加大或减小的电压值,电压变化范围 0V 到5V。

这次实验课程加深了我们对汇编语言指令的熟悉和理解。不仅巩固了书本所学的知识,还具有一定的灵活性,发挥了操作,加深了我们对硬件的熟悉,锻炼了动手能力,发挥创造才能。

通过这次课程使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

这门课程可以阐明微处理器,汇编语言程序设计,计算机结构和操作系统等基本概念。详尽地论述了有关微处理器及其指令系统的概念和程序设计方法,介绍构成微型计算机的存储器,接口部件,总线等各项技术。.微机的最基础语言--汇编语言是一个最基础最古老的计算机语言,依赖于计算机的低级程序设计语言。汇编语言是我们理解整个计算机系统的最佳起点和最有效途径。汇编是对寄存的地址,以及数据单元进行最直接的修改,而在某些时候,这种方法的确是最有效,也是最可靠的.然而有优点,自然也就有缺点,最重要的一点就是汇编语言很繁琐,对某个数据进行修改时,本来很简单一个操作会用很多条繁琐的语句来解决,而这些语句本身在执行和操作的过程中,占用大量的时间和成本。并有大量的程序和硬件设计类题目,使我们能够深入了解计算机的原理、结构和特点,以及如何运用这些知识来设计一个实用的微型计算机系统。具体来说,就是掌握Intel8086/8088微型计算机系统地组成原理,熟练运用8086宏汇编语言进行程序设计,熟悉各种I/O接口芯片的配套使用技术,并通过一定的课程实验与实践,进一步提高系统设计的能力,使学生能够完成实用的微型计算机系统的软硬件设计。

学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配上相应的应用程序,完成各种实际应用项目。

这次实验并不是很难,主要的困难来自对程序的理解。我们最后对实验的原理有了清晰的认识。让我们知道了实验台上各个模块的用法;而且它还让我们对自己动手写程序来控制实验台的运作有了一定的基础。虽然实验台只是一个小型的模拟平台,但是通过对它的学习和操作,我们对有关接口的知识将会有一个更广泛的认识,而且它对我们以后的学习也会有帮助的。

实验中个人的力量是不及群体的力量的,我们分工合作,做事的效率高了很多。虽然有时候会为了一些细节争论不休,但最后得出的总是最好的结论。而且实验也教会我们在团队中要善于与人相处,与人共事,不要一个人解决所有问题。总之,这次课程设计对于我们有很大的帮助,通过课程设计,我更加深入地理解了,微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力 对课程设计的建议

本次课程设计的几个实验相对都比较简单,而且经过老师的讲解以及实验书上的指导,几乎把我们要用到的程序和实验台电路的接线方法都告诉我们了,所以做起来很容易。

上一篇:地理老师学年教学计划下一篇:小猪飞上天活动反思