微机原理课程设计__王理想

微机原理课程设计__王理想
微机原理课程设计__王理想

武汉纺织大学

课程设计任务书

课题名称:基于8086/8088的交通信号灯设计

完成期限:2011年12月12日至 2011年12月22日

院系名称外经贸学院指导教师周国鹏专业班级机设0824指导教师职称

学生姓名王理想

院系课程设计(论文)工作领导小组组长签字

电子课程设计是电子技术学习中重要的一课,它将理论知识和实践能力相结合,真正锻炼了学生的实际动手能力和综合理解能力,为以后的学习和生活打下了良好的基础。交通灯保证了保证了正常的交通秩序,让车辆有序行驶,同时也保证了行人过马路时的安全,受到人们的普遍欢迎,在很多场合得到了广泛的应用。

交通灯是利用计算机通过编写汇编语言程序控制的,实现“红灯停,绿灯行”的交通规则。虽然汇编语言较为古老,但它是计算机中很多芯片必须具备的程序,同时也使得很多特殊外设得以正常运行。随着计算机技术的成熟与广泛应用,交通灯的功能也随之多样化。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示等。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间,或者给红绿色盲者以声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。总之,交通灯的数字化给人们生产生活带来了极大的方便。

要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯的原理及扩大其应用,有着非常深远而现实的意义。

二、设计内容及要求

设计一个基于8086/8088微型计算机的一个交通信号灯控制系统,要求能完成基本的交通灯控制,如红、绿、黄三种灯的定时交替点亮与熄灭;能提供行人通过时的临时信号修改;能提供当时当地的温度、湿度信息;提供基本的键盘输入。

1. 设计一个基于8086/8088微型计算机的一个交通信号灯控制系,要求使用如下器件:

8086、8259、8253、8255、ADC0809、

温度传感器(可自选)和湿度传感器(可自选),其计数时间均为6s、健盘;

2. 交通灯的亮、灭情况如下:

东、西两个相对路口红灯亮12s,南、北两个路口绿灯亮6s,后转为黄灯亮6s;

南、北两个相对路口红灯亮12s,东、西两个路口绿灯亮6s,后转为黄灯亮6s;

3. 每个路口设一个紧急按键,可以中断当前的交通灯状态,使当前路口为绿灯,经12s后

恢复原来的工作状态;

4. 使用8253提供时间定时;

3.1 交通灯控制系统的组成

交通灯控制系统的原理框图如图1所示。它主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。秒脉冲发生器是该 系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。

3.2 设计内容分析

通过分析设计要求得出灯亮的规律如下: 1.东西南北两个方向起始状态全为红,延续3秒。 2.东西方向红灯亮,南北方向绿灯亮;延续6秒。 3.东西方向红灯亮,南北方向转为黄灯亮;延续3秒。

4.东西方向红灯亮,延续3秒;南北方向黄灯亮,以频率1HZ 闪烁3秒。

5.东西方向绿灯亮,南北方向红灯亮,延续6秒。

6.东西方向黄灯亮,南北方向红灯亮;延续3秒。

7.东西方向黄灯亮,以频率1HZ 闪烁3秒;南北方向红灯亮,延续3秒。 8.东西方向红灯亮,南北方向绿灯亮,重复以上步骤 。

9.每一个路口有一个紧急按键,可以中断当前的交通状态,使当前的路口为绿灯,经过12秒后恢复。

秒脉冲 发生器

控制器 译码器

东西向信号灯

南北向信号灯

定时器

TL TY ST

图1 交通灯控制系统的原理框图

通行分析灯的亮灭情况,总结出下表(1标示灯亮,0标示灯灭):

状态 时间

东西

红灯

东西

黄灯 东西

绿灯 南北

红灯 南北

黄灯 南北

绿灯 无效 1 无效

2 a 0-6 1 0 0 0 0 1 0 0 b 6-12 1 0 0 0 1 0 0 0 c 12-18 0 0 1 1 0 0 0 0 d

21-24

1

1

转换成控制码:

状态 时间段 十六进制 二进制 状态a 0-6 84H 10000100B 状态b 6-12 88H 10001000B 状态c 12-18 30H 00110000B 状态d

18-24

50H

01010000B

东西、南北分别在0-6,、6-12 、12-18 、18-24时间段的亮灯情况比较:

西 东

状态d

西 东 北

状态c

西 东

状态b

西 东 北

状态a

四、电路设计思路

通过并行接口芯片8255A和8086芯片的硬件连接,以及通过8253定时的方法,来实现十字路口交通灯的模拟控制。

4.1 延时功能实现逻辑:

8253芯片中数据总线缓冲存储器是由8为双向三态缓冲存储器构成,是CPU与8253之间交换信息的通道。读写/控制电路可以接收CPU送入的读/写控制信号,若计数器0设为1s定时中断,周期为0-24秒,可通过编程控制各个路灯的状态的转换,以及使得黄灯按时闪烁。8053内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD)计数,因此8253既是一个定时器也是一个计数器。

读/写控制器接受CPU送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能,因此,它实际上是8253芯片内部的控制器。可接受的控制信号:

(1)A1A0—端口选择信号,由CPU输入。8253内部有3个独立的通道,和一个控制字寄存器,它们构成8253芯片的4个端口,CPU可对3个通道进行读/写操作,对控制字寄存器进行写操作。

(2)CS—片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。

(3)RD、WR—读/写控制命令,由CPU输入,低电平有效。RD有效时,CPU读取由A1A0所选定的通道内计数的内容。WR有效时,CPU将计数值写入各个通道的计数器中,或者是将方式控制字写入控制字寄存器中。

当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中,被计数的事件以脉冲方式从CLK i端输入,每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”,OUT i端将有输出,表示计数次数到。

当某通道用作定时器时,由CLK i端输入一定频率的时钟脉冲。根据要求定时的时间长短确定所需的计数值,并预置到计数器中,每输入一个时钟脉冲,计数器内容减“1”,待计数值计到“0”,OUT i端将有输出,表示定时时间到。

控制字寄存器用来存放由CPU写入8253的方式选择控制字,由它来定义8253中各通道的工作方式。

SC1、SC0位用来选择通道,RL1、RL0位用来定义对所选通道中的计数器的操作,BCD位用来定义是采用二进制计数还是十进制计数,M2M1M0位用来定义所选通道的6种工作方式。

D15~D8 RD

WR

A1 A2 A0 A3

A15 M/IO

INTR

D7~D0 CLK2

RD GA TE2

WR OUT2

A0 CLK3 A1 GA TE3 OUT3

CS CLK1

GA TE1 OUT1

8086 CPU 8253

74HC138

译码器

RESET READY

CLK

PLCK

2.5MHZ

1KHZ

IR0 IR2

IR7

8259 外部事件源

8253延时及38译码电路接线图

接收器

4.2 译码电路设计:

74HC138是用CMOS门电路组成的3线-8线译码器,它有3个附加的控制端S1、S2’和S3’,这三个控制端也成为“片选”输入端,利用片选的作用可以将多片连接起来以扩展译码器的功能。只有当S1=1、S2’+S3’=0时译码器处于工作状态。

8259的地址为20H、21H,8253的地址为40H、41H、42H、43H,8255的端口地址为0F0H、0F1H、0F2H、0F3H。故芯片的地址只与8086的地址的低8位有联系,不妨设高十二为全为1将它们相与后作为38译码器的始能信号E3。再分析发现8259、8253、8255各端口地址的低八位其中D2、D3均为0,将8086的地址总线的D2、D3作为38译码器的始能信号E1、E2。将8086的地址总线的D0、D1分别与8253和8255的A0、A1连接,利用D4、D5、D6、D7

构成译码电路。将8086的地址总线的D0与8259的A0连接,利用D2、D4、D5、D6、D7通过38译码器构成译码电路。

4.3 控制电路设计:

由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的A1、A0线分别与8086CPU的A2、A1相连,而将8086的A0线作为选通信号。如果是按8255A内部地址来看,则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),命令控制口地址为(CS+003H),其中,CS为8255片选信号CS的首地址;若是按8086CPU地址来看,则8255A的地址是PA口地址即(CS+000H),PB口地址为(CS+002H),PC口地址为(CS+004H),命令控制口地址为(CS+006H)。当CS=0288H,则PA口地址为0288H,PB口地址为028AH,PC口地址为028CH,命令控制口地址为028EH。

1)对8255A芯片的说明:

8255A是一种可编程的芯片,内部有3个8位的I/0端口:A口、B口和C口。这三个端口也可以分为各有12位的两组:A组和B组。A组包含A口8位和C口的高四位,B组包含B口8位和C口的低四位;A组控制和B组控制用于实现方式选择操作;读写控制逻辑用于控制芯片内部寄存器的数据和控制字经数据总线缓冲器送入各组接口寄存器中。由于8255A数据总线缓冲器是双向三态8位驱动器,因此可以直接和8086系统数据总线相连。8255A可为可为86系统微处理机提供3个独立的并行输入/输出端口。利用输出端口与数模转换器相连,可控制输出模拟量的大小,比如电压的高低、电流的大小、书读的快慢、温度的升降等,利用模数转换器又可将他们转换为数字量,通过并行输入端口送回微机系统中。本例检测空气温度和湿度,并及时给予反馈显示,就要运用此芯片的该模拟量转换功能。

8255A 与8086接线原理图如下:

2)对8259A 芯片的说明:

8259A 为可编程中断控制器,它有8大部分组成。其中数据总线缓冲器是一个双向8位3态缓冲器,由它构成8259A 与CPU 之间的数据总线接口。读写控制用来接收来自CPU 的读/写控制命令和片选控制信息。由于一片8259A 只占两个I/O 端口地址,可用末位地址码A0来选端口,端口其他的高位地址作为片选信号CS 输入。一片8259A 只能接收八级中断从IR7-IR0输入,当引入的中断超过8级时,可用多片8259A 级联使用。 3)对温度传感器介绍:

湿度传感器是把相对湿度的变化转换成电信号的器件。

感湿特点:在基片涂覆材料形成感湿膜。空气中的水蒸气吸附于感湿材料后,原件的阻抗、介电常数发生很大的变化,从而制成湿敏原件。

工作原理:水分子具有很强的电子亲和力,易于在多孔性半导体陶瓷表面附着,并俘获电子,在半导体陶瓷表面形成空穴积累,导致半导体陶瓷的电阻率降低。晶胞间界水分子的电离。芯片内部结构如下:

D7~D0 RD WR

A1 A2 A0 A3 . .

A15 M/IO INTR

CPU 8086 D7~D0

RD WR

A0 A1

PB7~PB0

CS

PC7

PC0 PC2

D7~D0 IN7

START IN4 ALE .

EOC IN0

8259A ADC0809

38译码器

8255A

五、电路原理图

初始化8255,8253

红灯全亮

绿灯黄灯全灭

东西红灯亮

南北绿灯亮

等待8253延时6s时间

是否到?

Y

N

南北绿灯灭

东西红灯不变

南北黄灯闪烁

等待黄灯闪烁3次?

Y

N

南北红灯亮

东西绿灯亮

8253延时6s

东西绿灯灭

黄灯闪烁3次

紧急按钮

中断当前交通状态,是当前路口为路灯,延时12秒

十字路口交通控制器

DATA SEGMENT

SETTIME DB 3 ;用户设置的通行时间

NOWTIME DB 3 ;当前计时时间

TIME1 EQU 10

TIMEOT1 DB TIME1 ;0.5秒定时单元

TIME2 EQU 2

TIMEOT2 DB TIME2 ;1秒定时单元

FLAG DB 1 ;闪烁标志

ONOFF DB 1 ;亮灭标志

LEFT DB 1 ;南北向和东西向标志

TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;0~9的显示码DATA ENDS

STACK SEGMENT STACK

DW 64 DUP(6) ;定义堆栈段

STACK ENDS

CODE SEGMENT ;代码段定义

ASSUME CS:CODE,DS:DATA ;段指定

START: MOV AX, DATA

MOV DS, AX

PUSH DS ;当前用户DS段入栈保存

MOV AX, 0000H

MOV DS,AX ;修改DS=0000H,指向中断矢量表所在段

MOV AX,OFFSET IRQ0 ;取出中断处理子程序的入口偏移地址(以0为基准)

ADD AX,2000H ;修正,实际地址=装入地址的偏移量+相对于0起始偏移量

MOV SI,0020H ;IR0中断矢量号为08H,处于矢量表的20H~23H

MOV [SI],AX ;将偏移地址装入矢量表

MOV AX,0000H

MOV SI,0022H

MOV [SI],AX ;将段地址(0000H)装入矢量表

POP DS ;恢复用户数据段DS

MOV AL,0FCH ;D1,D0位复位为0

OUT 21H,AL ;写入OCW1(IMR);开放8259A的IR1和IR0中断

MOV AL,34H ;设定8253通道0的工作方式,00110100B

OUT 43H,AL ;CH0采用先写低8位,后写高8位,方式2,二进制计数

MOV AX,59500 ;计数初值为59500,输出20HZ信号,定时0.05秒

OUT 40H,AL ;写入CH0

MOV AL,AH

OUT 40H,AL

STI ;开中断

MOV AL,88H ;写入8255A的方式控制字,设定工作方式为10001000B OUT 63H,AL ;即A口方式0输出,C口高4位输入,B口方式0输出,C 口低4位输出

IN AL,62H ;循环读出C口的四个开关状态(PC4~PC7)

AND AL,0F0H ;高四位为00~90秒

MOV SETTIME,AL ;读取用户设定的通行时间

MOV NOWTIME,AL

A1: MOV AL,FLAG

TEST AL,01H

JZ A2 ;不闪烁,则转显示

MOV AL,ONOFF ;闪烁标志为1,闪烁,则测试是亮,还是灭

TEST AL, 01H

JNZ A2 ;为1,说明亮,则转A2

MOV AL, 0FH

OUT 62H, AL

MOV AL, 00H

OUT 61H,AL ;灭,则关闭显示

JMP A3

A2: MOV AL,NOWTIME ;取出当前剩余时间的低位

AND AL, 0FH

MOV BX, OFFSET TAB

XLAT ;查表转换为显示码

OUT 61H, AL

MOV AL,05H ;PC0~PC3为0101B,允许X2、X4数码管选通

OUT 62H, AL

CALL DALEY

MOV AL, NOWTIME

MOV CL, 4

ROR AL, CL

AND AL,0FH ;取出当前剩余时间的高位

MOV BX, OFFSET TAB

XLAT

OUT 61H, AL

MOV AL, 0AH

OUT 62H,AL ;PC0~PC3为1010B,允许X1、X3数码管选通

CALL DALEY

A3: MOV AL, LEFT

TEST AL, 01H

JZ A5 ;测试是南北向通行,还是东西向通行

MOV AL,FLAG ;东西向通行

TEST AL,01H ;测试是否应让黄灯亮

JZ A4 ;不是东西向的黄灯亮,则转东西向绿灯亮(南北向红灯亮)MOV AL,ONOFF ;东西向黄灯亮(南北向红灯亮)

TEST AL, 01H

JNZ A4 ;测试亮灭

MOV AL,0FFH ;关指示灯

OUT 60H, AL

JMP EXIT

A4: MOV AL,77H ;东西向绿灯亮(南北向红灯亮)

OUT 60H, AL

JMP EXIT

A5: MOV AL,FLAG ;南北向通行

TEST AL,01H ;测试是否应让黄灯亮

JZ A6 ;不是南北向的黄灯亮,则转南北向绿灯亮(东西向红灯亮)MOV AL,ONOFF ;南北向黄灯亮(东西向红灯亮)

TEST AL, 01H

JNZ A6 ;测试亮灭

MOV AL,0FFH ;关指示灯

OUT 60H, AL

JMP EXIT

A6: MOV AL,0EEH ;南北向绿灯亮(东西向红灯亮)

OUT 60H, AL

EXIT: JMP A1

;8259A的IR0中断处理子程序(8253的CH0每来59500个脉冲后(定时0.05秒),则执行下面的中断处理程序一次)

IRQ0: PUSH AX

MOV AL, TIMEOT1

DEC AL

JZ IRTIME1

MOV TIMEOT1, AL

JMP IREXIT ;不到0.5秒,则退出IRTIME1:MOV TIMEOT1,TIME1 ;0.5秒定时时间到,重装初值MOV AL, ONOFF

XOR AL, 01H

MOV ONOFF,AL ;取反亮灭标志

MOV AL, TIMEOT2

DEC AL ;1秒定时单元减1

JZ IRTIME2

MOV TIMEOT2,AL ;1秒不到,保存,退出

JMP IREXIT

IRTIME2: MOV TIMEOT2, TIME2

MOV AL, NOWTIME

SUB AL,1

DAS

CMP AL,0

JNZ IRTIME3

MOV AL, SETTIME

MOV NOWTIME,AL ;重装通行时间

MOV AL, LEFT

XOR AL, 01H

MOV LEFT,AL ;南北向与东西向通行转换

MOV FLAG,00H ;闪烁标志复位(不闪)

JMP IREXIT

IRTIME3: MOV NOWTIME, AL

CMP AL,04H ;剩余时间小于4秒,则闪烁

JAE IRTIME4

MOV FLAG, 01H

JMP IREXIT

IRTIME4:MOV FLAG,00H ;>3秒,则不闪烁

IREXIT: MOV AL,20H ;常规EOI中断结束指令OUT 20H,AL ;写入8259A的OCW2

POP AX

IRET ;中断返回

;延时子程序

DALEY: PUSH CX

MOV CX,0010H ;置内循环次数

DALEY1:LOOP DALEY1 ;共循环0010H次,以完成延时POP CX

RET

CODE ENDS

END START

八、程序及硬件系统调试情况

程序运行结果:

1.东西路右拐和南北路左拐绿灯点亮12秒,直通到均为红灯2.12秒后,黄灯亮6秒钟,。此时南北方向仍维持红灯点亮。

3.东西方向直通,为绿灯,南北方向红灯

4.黄灯再亮6秒之后,东西路左拐和南北路右拐绿灯点亮

5.南北方向的黄灯亮6秒钟后,南北方向直通,延时6秒

6.闭合A口开关,四个路口全红灯,表明紧急状态。

九、设计总结与体会

通过本次的交通灯系统的设计,我再次拿起了《微型计算机原理及应用》,仔细复习以前学过的知识。由于本课程有些难学,所以当初学习的不太好,有很多知识都是一知半解。为了能够及时出色的完成本次设计任务,我就早早的开始复习,虽然在此过程中遇到了很多难题,但是通过同学们的帮助和查找资料,我对各个芯片的功能、编程及应用也有了更深层次的理解,对微机原理有了更进一步的认识。在理论学习的基础上,我又仔细思考本次设计内容及要求,结合各个芯片的功能,终于明白了设计一个系统的过程;也让我体会到要想成功地完成某个设计,除了学好专业知识外,还要灵活系统的运用知识,要有严谨的求知态度和严密的思考方法,只有这样才能使设计过程有序而正确的进行。除此之外,编程语言一直是我头疼的事,此次在芯片初始化程序方面是我遇到的最大的困难,我只能借助参考资料,查每一条指令的作用与功能,最后终于攻克了这个难题。

通过本次设计,激发了同学们学习的积极性,再次把学过的计算机编程原理的知识强化了,而且把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。很感谢学校领导及周老师给我们提供的这次锻炼的机会,让我们在加深汇编语言的同时,也增强了综合理解及运用知识的能力,动手能力也得到了相应的提高,这对我们的学习和生活都有很大帮助。

十、参考文献

[1] 郑学坚、周斌等编著.《计算机原理及应用》(第三版)北京:清华大学出版社 2007

[2] 彭虎、周佩玲、傅忠谦.《微机原理里与接口技术》(第2版) [M] 北京:电子工业出版社 2008,149-187

[3] 刘乐善. 微型计算机接口技术及应用[M] . 武汉: 华中科技大学出版, 2000.

[4] 谭云福 IBM PC 8086/8088宏汇编语言程序设计及实验,北京:机械工业出版社,1993

[5] 杨润生王敬觉.微型计算机及其应用(基础篇及应用篇).北京:机械工业出版社,1983

[6] 载梅萼.微型计算机技术及应用.北京:清华大学出版社,1991

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

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),

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

南通大学电子信息学院 微机原理课程设计 报告书 课题名: 班级: 姓名: 学号: 指导老师: 日期: 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,并报警。电压值可在七段数码管显示,点阵广告屏显示或液晶屏显示。报警形式自行设计,

微机原理课程设计报告

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

微机原理课程设计报告

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

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

2016年微机原理课程设计指导书

微机原理课程设计 指 导 书 计算机科学与技术学院计算机系统教研室 二零一六年五月

目录 1 课程设计的目的和任务 (1) 2 课程设计指导及要求 (1) 3 课程设计的主要步骤 (1) 3.1 总体设计 (2) 3.2 硬件设计 (2) 3.3 软件设计 (2) 3.4 软、硬件联调 (2) 4 课程设计报告内容及格式要求 (2) 5 进度安排 (3) 6 课程设计的考核方法及成绩评定 (3) 7 课程设计题目 (3) 8 主要参考资料 (5)

1 课程设计的目的和任务 课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。 通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。 通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。 2 课程设计指导及要求 在课程设计时,1人1题,同批次同学中选择同一题的人数不超过3人。在教师指导下,可以相互讨论,但设计报告由学生独立完成,不得互相抄袭。教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师。同学应积极主动的提出问题、解决问题、讨论问题,互相帮助和启发。 学生在设计中可以引用所需的参考资料,避免重复工作,加快设计进程,但必须和题目的要求相符合,保证设计的正确。指导教师要引导学生学会掌握和使用各种已有的技术资料,不能盲目地、机械地抄袭资料,必须具体分析,使设计质量和设计能力都获得提高。学生要在老师的指导下制定好自己各环节的详细设计进程计划,按给定的时间计划保质保量的完成个阶段的设计任务。设计中可边设计,边修改,软件设计与硬件设计可交替进行,问题答疑与调试和方案修改相结合,提高设计的效率,保证按时完成设计工作并交出合格的设计报告。 3 课程设计的主要步骤 课程设计分为硬件设计和软件设计两个部分,其设计过程可以归纳为以下所述的四个步骤:

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

微机接口课程设计报告 (题目:模拟自动门) 指导老师郭兰英 班级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、当“门”完全打开后一段时间后,传感器范围内检测不到物体时,立即“关闭门”, 用一系列的硬件动作模拟自动门关闭的动作和状态。

微机原理课程设计说明书

微机原理课程设计说明书 题目 数据段里有一个N个字的数组A,利用冒泡排序法最数组进行从小到大的排序,并输出结果。 要求:读出数据段中存放的数组A;换行显示换行后的数组A 题目分析 数据段为N个字,从而了解到该数据类型为双字节,且数据段中数据个数未知。要求对该数组进行从小到大的排序,且要求用冒泡法进行。数据段中的数组A已经给定,无需输入,但是要求将排序前后数组A显示出来,且要求换行显示。 软件流程图

流程图

设计思路说明 首先通过调用自定义子程序printf将数组A中的数据显示出来,然后在运用冒泡法对数组中的数据进行排序,冒泡法排序的总思路是,首先从数组A中的第一个元素开始,一次对相邻的的两个元素进行比较,调整。使前一个元素不大于后一个元素,将素有元素比较完之后,最大的元素排到了最后;然后,除掉最后一个元素之外的元素依上方法再次进行比较,得到次大的元素排在后面;如此重复,直至完成就实现了元素的从小到大的排序。同时在每一轮的依次比较时,我还设置了一个检测标识,如果哪一轮比较时没有进行依次调整,前面的元素都不大于后面的元素。直接结束排序。最后再次调用自定义子程序printf将排序后的数组A显示出来。 程序清单 主程序开始部分 DATAS SEGMENT arrary dw 3,2,-1,5,7,4,6,100,895;预定义需排序数组 len dw ($-arrary)/2 flag db ?;交换标志,为1表示发生交换 c10 dw 10 ;此处输入数据段代码 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX call print;调用子程序打印数组 冒泡法排序程序 l_out:lea bx,arrary;外层循环,flag==1时进入

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

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

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

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

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

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

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

微机原理课程设计心得体会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为主线,系统介绍微型计算机的基本知识,基本组成,体系结构和工作模式,从而使学生能较清楚地了解微机的结构与工作流程,建立起系统的概念。 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必

学微机原理课程设计心得体会范文

学微机原理课程设计心得体会范文 "微机原理与系统设计"作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点。接下来就跟着小编的脚步一起去看一下关于吧。 篇1 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。 其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。 通过这次课程设计使我懂得了理论与实际相结合是很

重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在赵老师的辛勤指导下,终于游逆而解。同时,在赵老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢! 篇2 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。 我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就

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分。

微机原理课程设计

微机原理与接口技术课程设计报告 设计课题:电动机速度控制器 专业班级:测控技术与仪器 学生姓名:jcl 学生学号:2008 指导教师:ddd 成绩: 二○一一年一月十一日

电动机速度控制器 一、设计目的 1.微机原理与接口技术是一门实践性很强的课程。课程设计教学环节十分重要。通过课程设计,使用微处理器芯片及其它典型的接口芯片,设计微处理器应用的典型接口电路,加深对微处理器、典型接口芯片特性的理解,掌握微处理器接口电路设计的初步方法,并进行一定的编程训练,加强微机应用的工程实践能力; 2.掌握接口芯片8255A和DAC0832的工作原理,熟悉8255A可编程并行口的使用方法,会写8255A 的控制字以及掌握三种工作方式的特点并会使用;会根据DAC0832的输入输出器和DAC寄存器的不同控制方法,选择不同的工作方式:单缓冲方式、双缓冲方式、直通方式。 3.学会自己独立设计电路,熟悉设计的过程,学会利用各种资源。 二、设计要求 利用开关量来实现对输出电压的定量控制,从而控制电动机的转速。 1、通过8255A工作在方式0的基本输入输出功能,输入一个八位的二进制数,同时在利用DAC0832的模数转换功能将其转换成电压信号,从而对输出的电压大小实现量控。 2、用八个开关的输入作为八位二进制数输入,CPU从8255A中读取放在AL中;然后将AL中的数据送入DAC0832中转换成模拟量,从而完成对电压的量控输出,即控制电动机的转速。 3、对于两个接口芯片的操作是用CPU的地址总线通过译码器选中其中一个,从而对其进行读写;DAC0832的工作方式是单缓冲方式。 4、8255A方式选择控制字如下图所示:

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

河北科技大学 课程设计报告学生姓名:学号: 专业班级: 课程名称: 学年学期: 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)时间设置 … ①输入初始时间 先调用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

微机原理课程设计--汽车倒车测距仪

微机原理与接口技术课程设计 ——汽车倒车测距仪 题目:汽车倒车测距仪 指导老师: 日期:2013年1月13日

目录 一、设计目的 (4) 二、设计内容 (4) 三、设计任务 (4) 四、问题分析及方案选择 (5) 1.总体思路 (5) 2.超声的波发射 (5) 3.测距原理 (5) 4.显示原理 (6) 5.报警原理 (6) 五、所需元件 (6) 1.8086介绍 (6) 2.8259A介绍 (7) 3.8255介绍 (8) 4.8253介绍 (8) 5.地址锁存器74LS138介绍 (9) 六、硬件接线图 (11) 1.总电路图 (11) 2.超声波发射电路: (11) 3.超声波接收电路 (12) 4.数码管显示电路 (14) 5.蜂鸣报警电路 (14) 七、主程序流程图 (15) 1.中断子程序 (17) 2. 延时子程序 (17) 3. 距离计算子程序 (18) 4. 十六进制转10进制数子程序 (18) 5. LED显示子程序 (19) 八、程序代码 (19) 九、设计难点 (25) 十、心得体会 (25)

十一、参考文献 (27) 汽车倒车测距仪设计

一设计目的 1、运用微机原理及接口技术理论课中学习的8086、8255等芯片,以及数码管等元件进行课程设计,做到学以致用。 2、通过课程设计提高自己的动手能力,分析问题的能力、解决问题的能力。 3、提高自己运用汇编语言的能力,使自己的思维更加发散,提高创新能力。 4、通过整个课程设计,提高综合运用能力,及提高对硬件的认识和布线能力。 二、设计内容 1、设计一个微机控制的汽车倒车测距仪,能测量并显示车辆后部障碍物离车辆的距离,同时用间歇的“嘟嘟”声发出警报,“嘟嘟”声间隙随障碍物距离缩短而缩短,驾驶员不但可以直接观察到检测的距离,还可以凭听觉判断车后障碍物离车辆距离的远近; ①开机后先显示“———”,并有开机指示灯。 ② CPU发射超声波1ms,然后显示60ms;即1ms+60ms为一个工作周期, 等待回波,在次周期内完成一次探测。 ③根据距离远近发出报警声并显示距离。障碍物距离小于1m,距离值 变化5cm更换显示,否则不更换;距离在1m以上,新值与原显示值 之差大于10cm更换,否则不更换。 ④用三LED位数码管显示障碍物距离 2、硬件电路原理图和软件框图; 3 编写控制程序,写出设计任务书(总结报告)。 三、设计任务 1、选用8088和适当的存储器及接口芯片完成相应的功能。 2、用LED显示器显示电子锁的当前状态。 3、画出详细的硬件连接图。 4、给出程序设计思路、画出软件流程图。 5、给出地址分配表。

微机原理课程设计报告

微机原理课程设计报告 一、设计目的 培养和锻炼在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力。通过课程设计,要求熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,得到微机开发应用方面的初步训练。 掌握8255、8259、8253等芯片使用方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、使用方法等,学会相关芯片实际应用及编程,系统中采用8086微处理器完成了电子秒表系统的独立设计。同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。 二、设计内容 设计一个可任意启动/停止的电子秒表,要求用6位LED数码显示,计时单位为1/100秒。利用功能键进行启/停控制。其功能为:上电后计时器清0,当第一次(或奇数次)按下启/停键时开始计数。第2次(或偶数次)按下该键时停止计时,再一次按启/停键时清零后重新开始计时。可用开关控制,也可用按键控制 三、设计要求 1、基本要求: 1)设计可以显示1~60秒的无存储功能的秒表,最小单位为毫秒。 2)通过键盘按键控制秒表清零、暂停、继续,退出等。其中数字0控制清零,数字1控制继续和退出。 2、提高要求: 1)秒表可以分组存储、批量显示、倒计时等。 2)采用图像显示,界面精美,设置报警声等 四、设计原理与硬件电路 1、整体设计思想 使用8253工作在方式0计数,对1/100S计数,并讲计数值写入bl中并与100比较若不相等,则

将计数值装换为10进制后送8255控制端显示,如相等则1S计数程序加1之后并与59比较若不相等则将计数值装换为10进制后送8255控制端显示,如相等则1min计数程序加1之后并与59比较若不相等则将计数值装换为10进制后送8255控制端显示,如相等则计数程序加1之后产生溢出,跳转清零程序将计数清零,同时数码管清零。 2、使用各芯片的作用及工作原理 1)定时器/计数器8253 用系统8253定时器提供的55ms定时单位,设计秒表定时程序。 有关系统定时方法:PC机系统中的8253定时器0工作于方式3,外部提供一个时钟作为CLK 信号, 频率:f=1.1931816MHz。 定时器0输出方波的频率:fout=1.1931816/65536=18.2Hz。 输出方波的周期Tout=1/18.2=54.945ms。8253A每隔55ms引起一次中断,作为定时信号。可用55945ms作基本计时单位。 用BIOS调用INT 1AH可以取得该定时单位。例:1秒=18.2 (计时单位) 8253的引脚图及硬件连接图如下图示: 《8253引脚图》硬件连接图 当A1A0分别为00 01 10 11时分别选中三个通道和控制字寄存器在8088系统中,8088的A1A0分别与8 253的A1A0相连在8086系统中,通常将8253的8位数据线与8086的低8位相连,即使用偶地址,所

微机原理课程设计指导书

《微机原理与接口技术》 课程设计指导 合肥工业大学计算机与信息学院

《微机原理与接口技术》课程设计指导 《微机原理与接口技术》是一门实践性和应用性很强的课程。学生在修完本课程知识及学会本课程有关实验技能的基础上,通过课程设计完成一个微型计算机应用系统的综合设计,从而培养学生独立的微机应用系统的总体分析和设计能力。 为使学生完成好课程设计的各项工作,特作如下说明和要求: 1.系统分析和系统设计 学生在拿到课程设计题目后首先要弄清题意和要求,然后进行系统分析和系统设计:明确所分析的系统做什么,要完成那些功能;查阅文献资料、学习相关知识、掌握关键技术;进行系统结构和硬件电路设计、功能算法设计、绘制出流程图。 2.编写汇编语言应用程序 分别对系统中的各个功能模块进行编码、完成静态调试。 3.上机调试与测试 首先进行系统物理上的连接,在DEBUG环境对系统进行模块、逐层和整体的联机动态调试,直到运行正常、结果正确。然后才通不同的数据、不同的操作对系统进行多次重复测试,观察运行结果是否正常。 4.课程设计报告 学生在完成课程设计后,应写出书面报告以对本次课程设计进行全面总结。报告内容主要包括:课程设计名称、课题的内容和要求、系统设计思想、方法及相关技术、系统功能结构图、硬件线路图、程序流程图和程序清单。

课程设计课题表 【课题1】通过小键盘的输入来控制输出的演示 (一)设计要求 1.按下‘R’键时,在七段数码管上循环显示‘8’。 2.按下‘P’键时,在发光二极管上依次循环定时点亮(用软件延迟)。3.按下‘G’键时,退出返回DOS。 4.按下‘E’键时,从各功能返回等待命令。 (二)提示 1.小键盘的输入,可参考实验22 8255A并行口的实验(一),以及教材第8章有关章节。 2.七段数码管显示可参考实验31 LED显示实验,以及教材第8章有关章节。 (三)要完成工作 1.设计出完整的汇编语言程序。 2.上机调试,在实验系统中通过验收。 3.写出课程设计报告,内容包括:设计思想、功能流程图、结果讨论和完整的源程序。 【课题2】十字路口交通灯管制 (一)设计要求 设置十字路口南北、东西向的四组红、黄、绿灯,红、绿、黄灯亮灯的规律符合实际的十字路口交通灯亮灭的规律。但在红灯转换为绿灯时,其中一路(南北向)可由计数另一路口(东西向)等待的车辆数,计满规定量转换;另一路(东西向)仍由定时控制,时间到转换。 (二)提示 1.通过8255A端口B的PB4-PB7,端口C的PC0-PC7来分别控制黄、红、绿灯的亮灭,可参考实验23 8255A并行口实验(二)。 2.某一路的车辆计数可通过8253计数器对单脉冲计数来达到,当计满一个定量(如8辆),OUT端的电平变化产生中断请求,由IRQ5引入,中断控制可参考实验26 8259A实验。计数器可参考实验21

相关文档
最新文档