微机课程设计之数据采集系统

微机课程设计之数据采集系统
微机课程设计之数据采集系统

微机原理及接口技术课程设计书

学院:信息与通信工程学院

专业:测控技术与仪器

班级:xxx

学号:xxx

姓名:xxx

指导教师:xxx

目录

1、摘要 ........... 错误!未定义书签。

2、总体方案设计 (2)

2.1设计目的 (2)

2.2设计任务与要求 (2)

2.3设计方案..... 错误!未定义书签。

3、硬件原理图设计设计 (3)

3.1总设计图说明 (3)

3.2各子硬件图说明 (4)

3.2.1原理图所用芯片介绍 (4)

3.2.2各子硬件电路说明 (9)

4、程序设计 (13)

4.1程序流程图 (14)

4.2程序设计说明 (14)

5、课程设计收获与心得体会错误!未定义书签。

6、参考文献 (18)

7、附录 (19)

一、摘要

本次课程设计,主要是了解可编程外围芯片8255的工作原理,以及学会对ADC0809和8255芯片的应用和设计技术。对微型计算机基本的系统结构、对微型计算机硬软件的工作原理有个整体的认识。

学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。

二、总体设计方案

2.1设计目的

1)进一步建立微机系统的概念,加深对系统的理解和认识,培养学生应用微型计算机解决实际问题的能力;

2)进一步学习和掌握汇编语言程序的编写和应用的方法,通过较大规模程序的编写,提高编写汇编语言程序的水平和学习程序调试方法。

3)进一步熟悉微机最小系统的构成及常用接口芯片的使用,提高系统设计的能力。

2.2设计任务和要求

设计内容:以8088cpu为核心设计一个采集系统,系统可以实现一路模拟电压信号进行采集,已知该电压信号的电压范围是0~255mv,选用adc0809作为AD转换器,系统中有三位LED显示器显示所采集到电压的毫伏数。

设计要求:1)画出电路原理图,说明工作原理

2)编写一个实现对输入模拟电压进行转换并在LED显示器显示当前采集数据的数字量程序

2.3设计方案

数据采集系统的设计,要求使用微型计算机的最小系统,且具有1路的输入,输入信号在0—255mV,而且采用数码管显示输入(显示10进制的结果)。

因此我们采用以下的设计方案:ADC0809是将各种被测的量转换成为模拟量(电压)作为输入,经过一级放大器的放大,将电压放大至AD转换模块,可以识别的范围,在将AD转换的输出,用数码管显示出来(显示的结果为10进制数),且将AD转换的输出接入到并行接口8255,再将并口的输出接入的系统的总线,也就是对并口8255的相应的输入进行存储。当完成存储之后将会CPU将存储的数据再通过8255显示在数码管上,这个流程一直循环。

三、硬件原理图设计设计

3.1总硬件设计图说明

本设计以8088为核心,以存储器、总线、接口电路、外设为要素构成了一个最小系统。其中存储器用到了2764和6264芯片,2764是EPRAM,用来存储数据。6264是ROM芯片,用来存储程序。接口电路采用8255芯片,这时一个可编程并行接口,采集电压信号采用了ADC0809,这是一个逐位逼近型8位单片A/D转换芯片,8088的三大总线利用8282锁存器锁存信号,外设是三个数码管电路,显示电压信号,另外8088与0809的时钟信号由8282来提供。总硬件设计图见附录。

3.2各子硬件图说明

①首先介绍原理图所用到的芯片:

(1)、8088

8088是一个Intel以8086为基础的微处理器,拥有16位元暂存器和8位元外部资料总线。引脚功能略

(2)、8255

8255是一个可编程并行接口芯片,管脚如图

1、8255 的主要引脚功能

CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.

RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU

从8255读取信息或数据。

WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。

A0,A1:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.

(3)、ADC0809

ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。

1、主要引脚功能:

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

START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。EOC:A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

2、ADC0809的工作过程

首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE 输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。

(4)、8282

图3_4是地址锁存器8282芯片的管脚功能和真值表。8282有8位信号输入管脚DI7~DI0和8位三态信号输出管脚DO7~DO0; OE#为输出允许信号,低电平有效;STB是锁存信号。下降沿有效。

(5)、8284

时钟发生器8284是为8086/8088设计的时钟发生器/驱动器。在8284中,除具有时钟信号产生电路外,还有RESET复位信号和READY 准备就绪信号同步控制电路。这些电路分别向8086/8088系统提供时钟信号CLK,以及被CLK同步的复位信号RESET和准备就绪信号

READY。如图-3所示

(6)、6264

Intel 6264的容量为8KB,是28引脚双列直插式芯片,采用CMOS工艺制造

1、主要引脚功能:

OE(output enable):读出允许信号,输入,低电平有效。

WE(write enable):写允许信号,输入,低电平有效。

CS(chip enable):片选信号1,输入,在读/写方式时为低电平。CS2(chip enable):片选信号2,输入,在读/写方式时为高电平。

2、6264的工作过程

Intel 6264的操作方式由, CE1 , CE2的共同作用决定

①写入:当和为低电平,且和CE2为高电平时,数据输入缓冲器打开,数据由数据线D7~D0写入被选中的存储单元。

②读出:当和为低电平,且和CE2为高电平时,数据输出缓冲器选通,被选中单元的数据送到数据线D7~D0上。

③保持:当为高电平,CE2为任意时,芯片未被选中,处于保持状态,数据线呈现高阻状态。

(7)、2764

2764是8K*8字节的紫外线镲除、电可编程只读存储器。

1、2764主要引脚的含义:

①OE:输出允许信号。低电平有效。当该信号为0时,芯片中的数据可由D0~D7端输出。

②CE:选片信号。低电平有效。当该信号为0时表示选中此芯片。

③PGM:编程脉冲输入端。对EPROM编程时,在该端加上编程脉冲。读操作时该信号为1。

(8)、8286(引脚图如下)

8286具有两组对称的数据引线A7~A0和B7~B0,为双向的输入/输出线,三态。OE#是输出允许信号,输入,低电平有效。当OE#为高电平时,A7~A0和B7~B0输出高阻。T端则控制数据传送方向,T=1,表示数据从A流向B,T=0,表示数据从B流向A。因此,只需将8086的数据线连接8286的A组端口, 8086的数据使能连接8286的OE#,8086的数据发送/接收控制DT/R#连接8286的数据传送方向控制端T,便实现了8086和数据驱动器的连接。

、各子硬件电路说明:

首先给各个芯片分配的地址

RAM2764 70000H~71FFFH

ROM6264 3E000H~3FFFFH

8255A A口00378H

1.B口00379H

2.C口0037AH

3.控制字0037BH

一、存储器

这是存储器电路,其中6264存储程序,2764存储数据,这在程序里定义,它们的地址分别为3E000H~3FFFFH,70000H~71FFFH。当程序

从cpu里写入6264时,/WR变为低电平,使6264的/WE有效,允许写入数据。当cpu执行程序时从6264中读出数据,将使/RD有效,即/OE有效,这样CPU才能读出数据。2764与此类似。

二、接口电路与外设

接口电路采用8255,adc0809从外面读取电压值,处理完后从D0~D7送出数据,0809采用脉冲启动的方式,将START和EOC取反连接在一起,当转换结束后下一轮转换马上开始,这样就实现了一直采集数据的功能。我们只读一路端口的值,所以将ADD、ADDB、ADDC都置为0,这样从IN0读取数据。为了不影响信号的输入,将其他输入口接

地。根据0809的指标,可知道其量化间隔为

delta=Vmax/(2n-1)=2.5V/(256-1)=1mv,Vmax是参考最大电压,我们设为2.5V,这样就有当输入255mv时,输出就为11111111,将这值从8255的PA口输入,整个0809的工作过程就是这样。

下面说明8255的工作过程:我们设置8255的PA口为输入,PB口为输出,PC口为输入。D0~D7接CPU的数据总线,PB口接数码管的段选,PC口的PC5~PC7接数码管的位选。8255不断读入数据,将数据从D0~D7输出,将其存储在存储器中,并通过CPU进行数据处理,同时将处理完的数据通过PB口送给数码管,同时PC5~PC7送位选信号,动态扫描,利用数码管的字形编码,将值显示出来。这是一个不断刷新的电路,只要0809有读取新数据,那么数码管就能立刻变化,显示新的数据。

三、CPU模块

我们通过8282锁存器将8088的地址信息锁存,利用8286将8088的数据信息锁存。其工作过程如下:系统需要独立的地址总线,并在整个总线周期维持地址有效。需外加地址锁存器来存储地址, 20位地

址要三片锁存器。锁存器由ALE信号来控制,即ALE作为锁存器的输入控制信号,控制地址的写入。除地址外,BHE#信号也要存入外接的地址锁存器。

注意ALE是高电平有效,必须和锁存器的控制信号的电平相一致(1)、地址总线形成。将8086的20位地址和BHE#信号分为3组,和3片8282的DI7~DI0连接,CPU的地址锁存使能ALE与8282的STB 端相连。在ALE的下降沿时,对地址信号进行锁存。

地址锁存器8282相当于8个D触发器。从真值表可以看出,当OE#为高,DO7~DO0为高阻状态。当OE#为低STB为高时,8282的输出等于输入, 8282的输出信号DO7~DO0与输入信号DI7~DI0相等。当STB由高变低,信号被锁存。OE#为高电平时,8282的输出为高阻态,OE#为低,DO7~DO0有效。

以其中的第一个8282为例,不难看出,只要将8282的DI7~DI0与8086CPU的AD7~AD0相连,锁存号STB与CPU的ALE端相连。就可实现地址锁存的功能。而输出允许信号OE#为什么直接接地?因为OE#直接接地表示输出允许地址信号一直有效(无高阻态),在不带DMA的单处理器系统中,完全可以这样处理。与此类似,第二、第三个锁存器的连接基本相同。

地址A与数据D的复用(片)总线信号作为锁存器的输入,由ALE控制输入,输出为直通方式,锁存器输出为地址信号。

ALE信号仅在新地址输出期间有效,使新地址输入锁存器,从而从复用总线上分离出地址信号;由于锁存器输出为直通方式,使地

址信号期延长到整个总线周期。

(2)、数据总线的形成。OE#是输出允许信号,或称三态控制信号,低电平有效。A到B表示数据从CPU传送到系统其他设备,是数据写的数据流向,B到A是数据从系统的其他设备传送到CPU,是数据读的数据流向。而CPU的数据发送/接收控制DT/R#=1时,正好是数据发送(写)状态,DT/R#=0时,是数据接收(读)状态,所以可以将DT/R#直接和8286的T相连。 8286的输出使能OE#端则必须由CPU 的DEN#控制。在前面我们已经提到了,在CPU的存储器访问周期、I/O访问周期以及中断响应周期DEN#输出低电平,即输出有效信号。使能8286允许数据通过,完成数据的传输。8286不能象8282那样,将OE#直接接地。当G=0时,由DIR决定数据驱动的方向;当G=1时总线高阻。由DEN信号打开收发器,由DT/R#信号选择收发器的驱动方向

(3)、系统控制信号的形成。注意在最小方式下,由M/IO#、RD#、WR#的组合来决定进行什么操作;系统的其它信号直接来自CPU:

M/IO#RD#WR#操作

1 0 1 读存储器

1 1 0 写存储器

0 0 1 读外设

0 1 0 写外设

四、程序设计

1、程序流程图

开始

初始化8255

ADC0809转换完一次

8255不断从PA口读入转换完的数据

将数据存储,然后处理

处理完后将数据送到PB口,同时PC口高四位送出控制位选信号

马上读取新一组数据

数码管显示

程序设计如下:

DATA SEGMENT

ORG 70000H ;数据段在70000H中,数据存储在以此开始的单元中DATA1 DB 64DUP(?)

LED DB 0xc0,0xf9,0xa4,0xb0,0x99,

0x92,0x82,0xf8,0x80,0x90 ;定义一个共阳极数码管编码0~9

ENDS DATA

CODE SEGMENT

ORG 3E000H ;定义代码段在3E000H开始的单元

ASSUME CS:CODE,DA:DATA

INTI_8255: PROC NEAR ;8255初始化子程序

MOV DX,37BH ;将8255的控制字地址送到DX中

MOV AL,91H ;根据实际要求,控制字为10010001B,并送给AL OUT DX,AL ;将此控制字信息输出8255的控制寄存器中

INTI_8255 EDNP ;8255初始化子程序结束

START: ;主程序开始

MOV AX,DATA

MOV DS,AX

MOV AX,SEG DATA1 ;将变量DATA1的首地址存入AX中

MOV DS,AX

MOV SI,OFFSET DATA1;将变量DATA1的偏移地址送到SI中CALL INTI_8255 ;调用8255初始化程序

MOV CX,0

AGAIN:

MOV DX,37AH

OUT DX,CX

MOV AX,00000110B

OUT DX,AX ;给ALE送一个上升沿

NOP ;等待

MOV AX,0

OUT DX,AX ;给START送一个下降沿,让转换开始,以后转换开

始信号就靠EOC MOV DX,37AH ;将PC口得地址送到DX

MOV AX,00000100B

OUT DX,AX ;将PC2=1送到OE口

MOV DX,378H

IN AL,DX ;读入转换结束

MOV [SI],AL ;将转换的结果存入DATA1单元中

MOV AX,DATA1

XIANSHI: ;显示部分

MOV BX,OFFSET LED ;将LED的偏移地址送到BX

MOV DX,379H ;将数据从存储器内读回,送到PB口

DIV 100 ;处理数据,将数值除完后取百位存入AL中

XLAT LED ;将值换成数码管的字符码

OUT DX,AL

MOV DX,37AH

OUT DX,10H ;位选,显示百位

LOP:LOOP LOP ;等待

MOV DX,379H ;以下类似

DIV 100

MOV AX,AH ;将值除以100后取余数再除以10取其值

DIV 10

XLAT LED

OUT DX,AL ;显示十位

MOV DX,37AH

OUT DX,20H

LOP1:LOOP LOP

MOV DX,379H ;以下显示个位

DIV 100

MOV AX,AH

DIV 10

MOV AX,AH

XLAT LED

OUT DX,AH

MOV DX,37AH

OUT DX,40H

LOP2:LOOP LOP

JMP AGAIN ;下一轮数据转换采集不断循环直至复位或断电 ENDS CODE

END START

HLT ;程序结束

五、课程设计体会总结

本次课程设计我觉得相当的有挑战。让我自己觉得有很多的东

西学的很不够,不明白不了解的地方很多。

在课程设计的过程,了解到了很多的东西,认识了很多的器件,如8284、ADC0809等等一些在课堂上没有了解的很有用的器件。课程设计的最大作用是将自己学到的东西拿来使用。知道了,学了的器件使用起来也并不是那么简单的东西。要对器件分配相应的地址,做初始化的工作,写各种各样的之程序,去支持器件的工作。在将器件连接起来,一起使用,他们的搭配使用中管脚的连接,也是很重要的。最好是能够了解器件的内部结构,如果实在不行,那就必须搞清楚器件的管脚定义,以及使用的方法,以及初始化等等的注意事项。还有很重要的东西系统的误差,误差是影响系统的很重要的一件事情。只有明白误差的产生,才能更好的去消除误差和减小误差。才能做到更好的优化系统。

本次课程设计让我学到了很多的东西,更重要的是让自己知道学的东西还有很多,还要继续的努力,才能很好的掌握所学到的东西。

六、主要参考资料

1)《微型计算机原理与接口技术》冯博琴主编清华大学出版

2)《例说51单片机》张义和等主编邮电出版社

3)《8286+8288芯片介绍》百度文库

4)《微型计算机原理及接口技术课程设计》百度文库

七、附录:总原理图

微机原理课程设计电压报警器实验报告

南通大学电子信息学院 微机原理课程设计 报告书 课题名: 班级: 姓名: 学号: 指导老师: 日期: xxx

目录 1.设计目的 (2) 2.设计内容 (2) 3.设计要求 (2) 4.设计原理 (3) 5.硬件电路图 (3) 6.程序代码 (5) 7.程序及硬件系统调试情况 (19) 8.设计总结与体会 (19)

一、设计目的 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 二、设计内容 设计一个电压报警器,要求采集实验箱提供的0~5V的电压,当输入电压在3V以内,显示电压值,如2.42。当输入电压超过3V,显示ERR,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,

微机原理课程设计报告交通灯

WORD格式微机原理课程设计 设计题目交通灯的设计 实验课程名称微机原理 姓名王培培 学号080309069 专业09自动化班级2 指导教师张朝龙 开课学期2011至2012学年上学期

一、实验设计方案 实验名称:交通灯的设计实验时间:2011/12/23 小组合作:是□否?小组成员:无 1、实验目的: 分析实际的十字路口交通灯的亮灭过程,用实验箱上的8255实现交通灯的控制。(红,黄,绿三色灯) 2、实验设备及材料: 微机原理和接口技术实验室的实验箱和电脑设备等。 3、理论依据: 此设计是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。 如硬件连接图所示(在后),红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255 的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4(南东北西)路口的红灯,B,C口类推。8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。8253的 三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK,2 OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30s定时到。OUT2产生 1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本 输入输出方式,红绿灯的转换由软件编程实现。

4、实验方法步骤及注意事项: ○1设计思路 红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1 控制。 设8253各口地址分别为:设8253基地址即通道0地址为04A0H,通道1为04A2H,通道2 为04A4H,命令控制口为04A6H。 黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波,8255控制或门打开的时 间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。 由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方 式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方 式,理论设计输出周期为0.01s的方波。1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1s,因此 通道0的计数初值为10000=2710H。由此方波分别作为clock1和clock2的输入时钟脉冲,所以 通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H 既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测 到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086 共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态 反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态 变化,计9次状态变化可完成5次闪烁。 三个通道的门控信号都未用,均接+5V即可。 ○ 2硬件原理及电路图 由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的A1、A 0 线分别与 8086CPU的A2、A线相连,而将8086的 1 A 0 线作为选通信号。如果是按8255A内部地址来看, 则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),

微机原理课程设计报告

微机原理课程设计报告 课程设计是每一个大学生在大学生涯中都不可或缺的, 它使我们在实践中了巩固了所学的知识、在实践中锻炼自己的动手能力,本文就来分享一篇微机原理课程设计报告,希望对大家能有所帮助! 微机原理课程设计报告(一)以前从没有学过关于 汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。 我们在这个过程中有很多自己的感受,我想很多同学都 会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就感。 我想微机原理课程设计和其他课程设计有共同的地方, 那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。 微机原理与接口技术是一门很有趣的课程,任何一个计 算机系统都是一个复杂的整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。 学习该门课程知识时,其思维方法也和其它课程不同,

最新微机原理课程设计任务书模板

微机原理课程设计任 务书模板

南京工程学院 课程设计任务书 课程名称微机原理及应用院(系、部、中心 专业电气工程及其自动化 班级 起止日期 指导教师

[1] 李继灿.新编16/32微型计算机原理及应用[M].北京:清华大学出版社,2004 [2] 李干林. 微机原理实验指导书 [M] .南京工程学院,2010. [3]郑学坚,周斌. 微型计算机原理及应用[M] . 北京:清华大学出版社,2001. [4]朱定华等. 微型计算机原理及应用[M]. 北京:电子工业出版社,2005. 5.课程设计进度安排 起止日期工作内容 2010年9月6日9月7~5月9日 9月10日复习微机原理知识,根据任务书构思设计方案 完成8255、8253实验,并构思课设的硬件接线。进行课设内容的汇编程序设计及内容调试。 进行课设内容考核。 6.成绩考核办法 (1)工作表现:独立工作能力及设计过程的表现。占总成绩的30%。 (2)设计成果:设计说明书、程序、的质量。占总成绩的40%。 (3)考核测评:课程设计结束前,指导教师应采用考试对所指导的学生进行测 评。测评成绩占总成绩的30%。 教研室审查意见: 教研室主任签字: 年月日

七.参考文献 [1] 李继灿.新编16/32微型计算机原理及应用[M].北京:清华大学出版社,2004 [2] 李干林. 微机原理实验指导书 [M] .南京工程学院,2010. [3]郑学坚,周斌. 微型计算机原理及应用[M] . 北京:清华大学出版社,2001. [4]朱定华等. 微型计算机原理及应用[M]. 北京:电子工业出版社,2005.

微机课设实验报告

微机课程设计 数字温度计实验报告

一、题目: 上位机:完成界面设计与通讯程序 1、能够显示两个温度值,温度精度0.5度,当超出报警温度阈值时,温度 值后又提示字幕。 2、能够设定报警温度阈值 3、每隔一秒将温度值保存至文件存档。当超出报警温度阈值时,温度值后 面有提示。 4、可以对串口进行设置。 下位机:完成电路设计与控制程序 1、用两个DS18B20测温。 2、通过串口与上位机通信,并传输温度值,接受阈值设置。 3、当超出报警温度阈值时,有相应指示灯提示。 4、将当前温度显示LCD1602液晶屏上,当超出报警温度阈值时,温度值后 有提示。 二、原理 DS18B20是DALLS公司推出的“1—wire”接口的数字温度传感器,可以直接将温度转换为9~12串行信号供单片机处理。由于这种传感器只有一个IO口,是单总线串行接口,单片机可以利用串行通信将数据读出并按照LCD 的协议显示在1602液晶屏上。同时,通过PC机与单片机之间的串行通信,可以用PC机控制温度的警戒值以及记录不同时间测量的温度。 三、原理图 图3.1 LCD、18B20以及串口与单片机最小系统连接图

图3.2电源模块 四、流程图 1、上位机流程图 图4.1.1发送数据流程图图4.1.2 接受数据流程图

2、下位机流程图 图4.2.2读出温度子程序流程图 图4.2.1总流程图 图4.2.4计算温度子程序流程图

图4.2.3 温度转换流程图 图4.2.6温度值显示在LCD1602上 图4.2.5 显示数据刷新子程序 五、源程序 1、上位机程序:见附录1; 2、下位机程序:见附录2; 3、实验结果显示(上位机):见附录3。

微机原理课程设计报告

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

目录 一、课程设计题目................. 错误!未定义书签。 二、设计目的..................... 错误!未定义书签。 三、设计内容..................... 错误!未定义书签。 四、设计所需器材与工具 (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点阵显示器件一片。

汇编与微机原理课程设计报告

微机接口课程设计报告 (题目:模拟自动门) 指导老师郭兰英 班级2015240204

目录 一概述 (1) 1.1 课程设计名称 (1) 1.2 课程设计要求 (1) 1.3 课程设计目的 (1) 二设计思想 (1) 三实施方案 (2) 3.1 获得传感器和“门”的状态 (2) 3.2 驱动步进电机和点阵模块 (2) 3.3 实现硬件延时 (3) 四硬件原理 (3) 4.1 中断控制器8259 (4) 4.2并行接口8255 (4) 4.3 定时/计数器8254 (5) 4.4 点阵LED显示屏 (5) 4.5 步进电机 (6) 4.6 红外距离传感器 (7) 五软件流程 (8) 六程序运行结果及分析 (11) 6.1 开门状态 (11) 6.2 关门状态 (12) 6.3 关门操作进行时中断到开门操作 (14)

6.4特殊状态 (15) 七个人感想 (16) 八附录 (18)

一、概述 1.1课程设计名称 模拟自动门 1.2课程设计要求 1)用汇编语言编程完成硬件接口功能设计。 2)硬件电路基于80x86微机接口。 3)程序功能包含:步进电机转动、点阵显示开关门、传感器检测是否有人、8254延时。 4)传感器检测有人时开门,门全开后延时几秒关门,若关门时检测到有人,立刻开门。 1.3课程设计目的 通过本课程设计,让学生对微机系统有一个较面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。要求同学分组完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,编写设计程序及程序流程图。 二、设计思想 本程序主要功能是模拟商场等公共场所的自动门,实现有物体靠近并被传感器检测到时发生一系列变化的效果,模拟实现开门关门的功能。 为了尽量模拟真实场景下的自动门状态变化,本程序主要可以实现以下功能: 1、当传感器可检测范围内检测到物体,并且“门”为“关”的状态,立即“打开门”,即用一系列的硬件动作模拟自动门打开的动作和状态。 2、当“门”完全打开后一段时间后,传感器范围内检测不到物体时,立即“关闭门”, 用一系列的硬件动作模拟自动门关闭的动作和状态。

微机原理课程设计题目

计算机科学与技术04级 微机原理课程设计 一、课程设计的目的 课程设计是实验的提高和综合。通常,学习知识是由浅入深、由此及彼,一点点的学习和积累的,而应用知识则是综合运用所积累的知识来分析和解决实际问题、从知识的系统性来检验对各层次知识的掌握程度。 ?课程设计的目的是让学生把理论学习和实验教学阶段所掌握的知识通过一个设计实例,经历一次理论和实践结合、软件和硬件结合的综合训练,也是一次工程实践能力的检验。这次课程设计大家应当把它作为毕业设计的预演。 ?锻炼通过各种媒体和途径主动获取知识的能力。 二、课程设计的要求 ?课程设计要求独立完成、严禁抄袭; ?较大的题目可以多人合作完成,但每个人都应有自己所承担的任务,并在自己的报告中客观如实地反映; ?课程设计既是综合能力的锻炼,也是协作精神和科学诚信品质的锻炼。如果做相同的题目,要保证各自的独立性,实现方法的多样性。 ?微机原理是一门硬件技术为主、软硬件结合的课程,因此要求,所有的选题都要描述清楚硬件设计的原理和软件设计的逻辑思路。设计尽量在实验箱上完成。 ?在功能设计上尽量完善、贴近实用、有人机交互(人机交互可实用实验箱上的键盘重新定义) ?登录本系的网页,查阅毕业设计的相关文件和设计规范,学习设计报告撰写的各个环节,并在课程设计中认真实践。 ?要珍惜这次课程设计,这是一次总结复习、知识拓展、能力锻炼的大好机会。 ?课题完成后要有一分规范的设计报告。 三、课程设计的时间安排 课程设计的时间为2个完整的教学周。每天的上午一班,下午二班实验室开放,为大家提供调试、辅导的时间。 四、课程设计报告要求 ?为锻炼学生的论文写作能力,为今后的毕业设计(毕业论文)做准备,对设计报告的完成尝试做较高的要求。

微机控制技术实验报告

《微机控制技术》课程设计报告 课题:最少拍控制算法研究专业班级:自动化1401 姓名: 学号: 指导老师:朱琳琳 2017年5月21日

目录 1. 实验目的 (3) 2. 控制任务及要求 (3) 3. 控制算法理论分析 (3) 4. 硬件设计 (5) 5. 软件设计 (5) 无纹波 (5) 有纹波 (7) 6. 结果分析 (9) 7. 课程设计体会 (10)

1.实验目的 本次课程设计的目的是让同学们掌握微型计算机控制系统设计的一般步骤,掌握系统总体控制方案的设计方法、控制算法的设计、硬件设计的方法。学习并熟悉最少拍控制器的设计和算法;研究最少拍控制系统输出采样点间纹波的形成;熟悉最少拍无纹波控制系统控制器的设计和实现方法。复习单片机及其他控制器在实际生活中的应用,进一步加深对专业知识的认识和理解,使自己的设计水平、对所学知识的应用能力以及分析问题解决问题的能力得到全面提高。 2.控制任务及要求 1.设计并实现具有一个积分环节的二阶系统的最少拍有纹波控制和无纹波控制。 对象特性G (s )= 采用零阶保持器H 0(s ),采样周期T =,试设计单位阶跃,单位速度输入时的有限拍调节器。 2.用Protel 、Altium Designer 等软件绘制原理图。 3.分别编写有纹波控制的算法程序和无纹波控制的算法程序。 4.绘制最少拍有纹波、无纹波控制时系统输出响应曲线,并分析。 3.控制算法理论分析 在离散控制系统中,通常把一个采样周期称作一拍。最少拍系统,也称为最小调整时间系统或最快响应系统。它是指系统对应于典型的输入具有最快的响应速度,被控量能经过最少采样周期达到设定值,且稳态误差为定值。显然,这样对系统的闭环脉冲传递函数)(z φ提出了较为苛刻的要求,即其极点应位于Z 平面的坐标原点处。 1最少拍控制算法 计算机控制系统的方框图为: 图7-1 最少拍计算机控制原理方框图 根据上述方框图可知,有限拍系统的闭环脉冲传递函数为: ) ()(1)()()()()(z HG z D z HG z D z R z C z +==φ (1) )(1)()(11)()()(1z z HG z D z R z E z e φφ-=+== (2) 由(1) 、(2)解得:

微机原理课程设计实验报告DOC

河北科技大学 课程设计报告 学生姓名:学号: 专业班级: 课程名称: 学年学期: 指导教师: 年月

课程设计成绩评定表 学生姓名学号成绩 专业班级起止时间2011.12.24—2012.11.28 设计题目字符串动画显示 指 导 教 师 评 语 指导教师: 年月日

目录 一、课程设计的目的 (1) 二、设计题目 (1) 三、设计内容要求 (2) 四、设计成员及分工 (2) 五、课程设计的主要步骤 (2) 六、课程设计原理及方案 (3) 七、实现方法 (3) 八、实施结果 (8) 九、总结 (8) 十、体会感受 (8)

一、课程设计的目的 课程设计是以自己动手动脑,亲手设计与调试的。它将基本技能训练、基本工艺知识和创新启蒙有机结合,培养我们的实践和创新能力。课程设计的意义,不仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力。作为信息时代的大学生,基本的动手能力是一切工作和创造的基础和必要条件。 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识解决实际工程设计和应用问题的能力的重要教学环节,它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。 《微机原理及应用》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性的设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的课程设计,使学生学会系统地综合运用所学的理论知识,提高学生在微机应用方面的开发与设计本领,系统的掌握微机硬软件设计方法。 通过课程设计实践,不仅要培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书等表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。 通过设计过程,要求学生熟悉和掌握微机系统的软件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的系统方案论证设计、编程、软件调试、查阅资料、编写说明书等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练的熟练掌握微机系统的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的软件调试方法和步骤,熟悉微机系统的软件开发工具的使用方法。 二、设计题目

微机原理课程设计

微机原理课程设计

《微机原理与接口技术》课程设计 院系: 班级: 姓名: 指导教师: 日期:

一设计任务: 编写一汇编语言程序,要求从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数和十进制数。(课例027、017、024) 二设计方案 将接收到的数转成16进制数,将这个数保存在一个通用寄存器中(如AX),然后对AX循环做16次SHL,由carry标志寄存器的状态来判断显示0/1。十六位二进制数保存在BX中,对BX中的二进制数循环左移,每次移一位,然后把BL中的二进制数送给AL,再对AL 的前7位进行屏蔽,只留一位原本是最高位的那位二进制数,它要么为1,要么为0。然而把AL中的这位二进制数转换为十进制数,并且输出,由于AL高7位都为0,所以转换位十进制后,然后要么为1,要么为0,并且与那位二进制数相对应。这样循环做16次,就把整个BX中的二进制数都显示出来。 软件VisulASMSetup汇编程序的上机过程是: 1)打开软件建立新文件并把程序粘贴在文件上点击汇编源程序2)下一步然后再点链接目标码 3)然后点调试程序 4)最后点运行程序

三流程图 N N 开始 初始化循环计数值 BX 循环逻辑左移一个数位 输入一个四位的 十六进制数 >9吗? 转换为十进制 显示二进制数 循环计数器 =0? 结束

1.程序运行结果截图

附录 STACK SEGMENT PARA STACK 'STACK' DW200DUP(0);初始化堆栈大小为 STACK ENDS DATE SEGMENT TRANB DB0DH,0AH,'The transformed binary is:',0DH,0AH,'$' TRAND DB0DH,0AH,'The transformed demical is:',0DH,0AH,'$' RESULT DB5DUP(?),'$' DATE ENDS CODE SEGMENT

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

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术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、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

微机系统课程设计实验报告---交通信号灯自动控制模拟指示系统[13页].docx

微机系统课程设计实验报告

课题:交通信号灯自动控制模拟指示系统 一、课程设计目的 1.掌握CPU与各芯片管脚连接方法,提高借口扩展硬件电路 的连接能力。 2.加深对定时器、计数器和并行借口芯片的工作方式和编程 方法的理解。 3.掌握交通信号灯自动控制系统的设计思路和实现方法。 二、课程设计内容 设计并实现十字路口通信号自动控制模拟指示系统。设该路口由A、B两条通行相交而成,四个路口各设一组红、黄、绿三色信号灯,用两位数码管作倒计时显示。 三、应用系统设计方案 交通信号灯的亮灭时间及数码管显示时间可以通过8253来控制,8253的时钟源采用时钟信号发生器与分频电路提供,通过计算获得计数初值为1000。按照需要设定工作在方式3. 交通信号灯及数码管可以采用系统提供的相应模块,控制可以通过8255可编程并行借口,PA口控制红黄绿交通灯的亮灭,PB口和PC口控制时间显示数码管的段和位。PC0作为OUT1的输入。

四、系统测试结果 1.基本功能实现 (1)以秒为计时单位,两位数码管以十进制递减计数显示通行剩余时间,在递减计数为零瞬间转换。即南 北的绿灯、东西的红灯同时亮30秒,同时南北路口 数码管递减显示绿灯剩余时间;为0时,南北的黄 灯闪烁5秒钟,同时东西的红灯继续亮;南北的红 灯、东西的绿灯同时亮30秒,同时东西路口数码管 递减显示绿灯剩余时间;为0时,南北红灯继续亮, 同时东西的黄灯闪烁5秒;若不结束,则开始循环。 (2)通过键盘可以对红、黄、绿三色信号灯所亮时间再0~99内任意设定。 (3)十字路口的通行气势状态可自行设定,系统启动后自动运行,按“Q”退出。 2、发挥部分实现 (1)增加人工干预模式,在特殊情况下可通过人工干预,手动控制A、B交通灯的切换时间,并可以随时切 换为自动运行模式。 (2)增加夜间控制功能,交通灯在进入夜间模式后,A、B干道上红、绿灯均不亮,黄灯信号灯闪烁。 (3)增加红灯倒计时显示。

8086.8088微机原理课程设计

8086/8088微机原理课程设计 1、课程设计说明 “微机原理与接口技术课程设计”主要是测试学生的8086/8088系统输入输出技术应用能力、数字电路应用能力和程序设计能力。 设计题目中综合了《数字逻辑》、《微机原理与接口技术》和《程序设计基础》等课程中的相关知识点。特别是电气工程系各专业学习了《模拟电子》、《传感器技术》、《单片机技术》等课程,给题目的扩展和实际应用提供了基础。本课程的课程设计实际上是一个综合性应用的设计和制作。 这里只给出了部分课程设计的题目,主要和接口电路有关,每个题目的实现方式和扩展空间都很大,指导教师可根据学生的具体情况决定设计题目的内容和设计量。纯汇编语言软件的设计未在这里列出。 欢迎学生自拟题目,经指导教师审核其难易程度和确定所用器材,优先选用。 2、课程设计计分办法 课程设计的计分由课设题目(60)、课设报告(20)、考勤(20)三部分组成。 一、题目的选择 设计题目分为星级制(★),根据选择题目的难易程度确定成绩,以百分制计算,按比例计入总成绩。要根据个人情况合理选择题目,不可多组选择同一题目。 1、无星为最简题目,做完多个题目仅记分为及格(69分及以下)。 2、1星(★)为简单题目,做完1个题目记分为良(70~89分)。 3、2星(★★)为较难题目,做完1个题目记分优(90~100分)。 4、星级题目多做可提高分值。 5、课设一般为分组实施,主要设计者记原星级分值,辅助者减1星。 6.、未完成设计者视设计程度减星计分。 7、无星题目可单人完成,但不选题目者记0分。 二、报告要求 课设报告应按规定格式书写,并按时上交。报告原则上要求手工书写,如要打印必须是独立版本,遇雷同课设报告均不计入总成绩。 三、考勤 考勤。点名一次未到扣5分,5次以上记0分。

微机原理步进电机控制课程设计报告

河北科技大学 课程设计报告学生姓名:学号: 专业班级: 课程名称: 学年学期: 2 0 —2 0 学年第学期指导教师: 2 0 年月 课程设计成绩评定表

目录 一、设计题目………………………………………………………………. 二、设计目的………………………………………………………………. 三、设计原理及方案………………………………………………………. 四、实现方法………………………………………………………………. 五、实施结果………………………………………………………………. 六、改进意见及建议……………………………………………………….

七、设计体会………………………………………………………………. 、 一、设计题目 编程实现步进电机的控制 二、设计目的 1.了解步进电机控制的基本原理 2.掌握控制步进电机转动的编程方法 3.了解8086控制外部设备的常用电路 4.掌握8255的使用方法 三、设计原理及方案 设计原理 步进电机驱动原理是通过对每相线圈中的电流的顺序切换(实验中的步进电机有四相线圈,每次有二相线圈有电流,有电流的相顺序变化),来使电机作步进式旋转。 驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。 利用 8255对四相步进电机进行控制。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A…),双(双相绕组通电)四拍(AB-BC-CD-DA-AB…),八拍(A-AB-B-BC-C-CD-D-DA-A…)等。 通过编程对8255的输出进行控制,使输出按照相序表给驱动电路供电,则步进电机的输入也和相序表一致,这样步进电机就可以正向转动或反向转动。 硬件连接图 四.实现方法 .步进电机控制程序流图

微机原理课程设计

微机原理与应用课程设计

目录 一、设计任务 1、计时秒表,具有分、秒和百分之一秒的计时功能。 2、可以在屏幕中央显示计时结果,屏幕显示彩色图案和文字。 3、秒表具有键控启/停功能,而且可以随时通过键盘复位,清零。 二、设计原理 1、HALT(启动子程序) 2、DIS(宏定义——苹果显示程序) 3、DISS(宏定义——字符串的输出) 4、CLOUR(字体颜色设置程序) 5、IOSET(设置光标位置子程序) 6、GO(初始化显示子程序) 7、TIME(延时子程序) 8、TRAN(压缩BCD码转ASCII码程序) 9、复位、停止等功能的实现 三、流程图 a)主程序流程图 b)压缩BCD转ASCII码子程序流程图 c)延时子程序流程图 四、程序段 五、程序调试 六、程序运行结果 七、心得体会

八、参考文献 一、设计任务: 1.计时秒表,具有分、秒和百分之一秒的计时功能,并可以在屏幕中央显示计时结果。 2.屏幕显示彩色图案和文字。 3.秒表具有键控启/停功能,而且可以随时通过键盘复位,清零。 二、设计原理: 本程序的主要设计原理是用主程序完成百分之一秒与秒之间的转换,显示计时结果,实现暂停,暂停再启动,复位,复位再启动的功能,并通过调用一些附加程序,缩减主程序的长度,提高运行效率和精度,现将用到的所有附加程序的原理及其在运行过程中所起到的作用汇总如下: 1.DIS(宏定义——苹果显示程序) 通过宏调用,实现苹果图案的显示。在宏定义里,设置一个形参变量,作为移动光标的位置,在下面调用宏中,给予变量X不同的实参,输出苹果图案。 2.DISS(宏定义——字符串的输出) 原理同上。 3.CLOUR(字体颜色设置程序) 通过字体颜色设置程序,实现屏显字体颜色的改变。当改变BX值时,字体颜色会改变。 4.HALT(启动子程序) 通过启动子程序,实现计时的开始,当从键盘输入一个字符时,判断是否等于S,如果不等,则在循环执行启动子程序中动态等待,直到输入的字符为S 时,计时开始。 5.IOSET(设置光标位置子程序) 通过设置光标子程序,来设置显示的区域。一般整个屏幕可显示25行,80列,屏幕左上角字符位置为0行0列,右下脚字符为24行79列,对应十六进制为:左上脚为(0,0),右下脚为(18,4F)。入口信息为:(AH)=2 要设置光标;(BH)=0 页号;(DH,DL)=00要置光标于0行0列。DX赋值为0D27H,光标置位于屏幕中央。 6.GO(初始化显示子程序) 通过将在数据段定义的BUFFER数组的首址赋给BX,将待显示初值字符串00:00存入数组中的相应位置,当每次复位以后,重新调用该子程序,将程序的执行结果修正为00:00,并显示于屏幕上,从而实现了程序的初值设定和复位功能。 7.TIME(延时子程序) 计算机每执行一条指令,虽然很快,但是需要一些时间,因此在本程序中可以通过延时程序,让计算机去执行一些无关的程序,来达到时钟秒与百分之一秒转换时的时间延迟。每条指令执行时间的长短,是以计算机的时钟周期为基本单位的,因此不同的计算机可以通过修改延时程序数值来使其达到准确计时。 8.TRAN(压缩BCD码转ASCII码程序)

微机原理课程设计报告

— 微机原理 课程设计报告 ——电子表程序设计 ^ 。

(一)设计任务: 用汇编语言设计一电子表程序,要求: ! (1)实现秒、分、时的计时,并显示于屏幕中央 (2)能够校时 (3)能够半点、整点报时 (二)设计原理 该程序主要由三部分构成:时间设置、延时程序和时钟显示。 (1)时间设置 … ①输入初始时间 先调用DOS操作系统模块2,在显示屏上显示‘:’,再调用DOS操作系统模块10,提示输入初始时间。由键盘输入的时间以字符串形式存放在已定义的存储器缓冲区内,继而调用TRAN1转换子程序和MUL10乘10子程序,将存放在存储器缓冲区内的ASCII字符转换为压缩BCD码,并将时、分、秒的值放置在寄存器CH、DH、DL中。 ②暂停计时 按Pause Break键即可暂停计时,再按下任意键恢复计时 ③重新输入时间 在程序运行时,可按下Esc键重新输入初始时间,此时程序检测到Esc(ASCII码为1BH)被按下,返回①步提示重新输入时间。 以上两步可实现校时的功能。

④半点、整点报时 《 程序运行时,分钟值每次改变都需要与30、60比较,若相等,则调用DOS操作系统模块7使计算机响铃并在时间后显示‘ ------’。同时若分、秒值为60则需进位,时为24时进位,保证时钟程序的正确性。 (2)延时程序 计算机在执行指令时,各种操作都按指令执行,但在像程序控制器那样由计算机发出指令控制外部设备是,由于外部设备所具有的机械惯性或其他原因,需要在计算机发出指令后有规律地延迟或等待一段时间。这类延时,可以用硬件延时来完成,单用软件来实现也是一种方便和常用的方法。 计算机执行每一条指令,虽然很快,但还是需要一段时间的。因此从理论上讲,可在程序中加一些与程序无关的指令去完成,要计算指令执行的时间,又不能过多的为了延时而增加编制程序的工作量。因此,编制延时程序,应尽量采用较少的指令,节约存储器,并且不能对主程序造成影响。 每条指令执行时间的长短,是以计算机的时钟周期为基本单位的。当CPU采用的时钟频率一定时,时钟周期也为定值。因此可根据时钟周期的多少来计算执行指令所需的时间。完成本设计任务使用的计算机采用Intel Pentium 4处理器,主频为,时钟周期约为。 通过时间约1s的长延时累加,并以时、分、秒的形式显示出来,就可以编写出一个时钟程序。 (3)时钟显示 … ①设置光标位置子程序IOSET

程序设计课程设计实验报告

《程序设计》课程设计姓名: 学号: 班级:软件工程14班 指导教师: 成绩:

1.消除类游戏 【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n,m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m 个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 测试数据二 输出说明: 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 【功能实现】 #include #include<> usingnamespacestd;

{ intm,n,i,j; inttemp; cin>>n>>m; temp=m; m=n; n=temp; int*map=newint[m*n]; int*mark=newint[m*n]; int*tmap=map; int*tmark=mark; intdif=0; ount=0; } p rintf("请输入要输入数的个数\n"); s canf("%d",&n);/*输入要输入数的个数*/ f or(i=0;idata1[j+1].number)

微机原理课程设计心得体会3篇

微机原理课程设计心得体会3篇课程设计是对课程的各个方面做出规划和安排,是连接课程基本理念和课程实践活动的桥梁。下面是为大家带来的微机原理课程设计心得体会,希望可以帮助大家。 微机原理课程设计心得体会范文1: 计算机网络的设计是一个要求动手能力很强的一门实践课程,在课程设计期间我努力将自己以前所学的理论知识向实践方面转化,尽量做到理论与实践相结合,在课程设计期间能够遵守纪律规章,不迟到、早退,认真完成老师布置的任务,同时也发现了自己的许多不足之处。 在课程设计过程中,我一共完成了11个实验,分别是1.制作直通电缆和交叉UTP、2.交换机Console口和Telnet配置、3.交换机端口和常规配置、4.虚拟局域网VLAN配置、5.路由器Console口Telnet 配置方法和接口配置、6.路由器静态路由配置、7单臂路由配置、8.动态路由协议配置、9.PPP协议配置、10路由器访问控制表(ACL)、11.网络地址转换(NAT)。 在制作直通电缆和交换UTP的实验中,我起初不能完全按照要求来剪切电缆,导致连接不通,后来在同学的帮助下,终于将实验完成。 在做到单臂路由配置和动态路由协议配置的实验,由于自身的基础知识掌握不牢,忘掉了一些理论知识,在重新翻阅课本和老师的指导之下,也成功的完成了试验。

从抽象的理论回到了丰富的实践创造,细致的了解了计算机网络连接的的全过程,认真学习了各种配置方法,并掌握了利用虚拟环境配置的方法,我利用此次难得的机会,努力完成实验,严格要求自己,认真学习计算机网络的基础理论,学习网络电缆的制作等知识,利用空余时间认真学习一些课本内容以外的相关知识,掌握了一些基本的实践技能。 课程设计是培养我们综合运用所学知识,发现、提出、分析、解决问题的一个过程,是对我们所学知识及综合能力的一次考察。随着科学技术日新月异的不断发展,计算机网络也在不断的变化发展当中,这就要求我们用相应的知识来武装自己,夯实基础,为将来走向工作岗位,贡献社会做好充分的准备。 微机原理课程设计心得体会范文2: "微机原理与系统设计" 作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点,围绕微型计算机原理和应用主题,以Intelx86CPU为主线,系统介绍微型计算机的基本知识,基本组成,体系结构和工作模式,从而使学生能较清楚地了解微机的结构与工作流程,建立起系统的概念。 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必

相关文档
最新文档