微机原理-交通灯

微机原理-交通灯
微机原理-交通灯

欢迎下载我曾做过的微机原理与汇编语言课程设计:交通灯。

程序在MASM,唐都TDN86/88实验系统上运行通过。

指导老师对你这次编程的构想,这想法看问题出发点在哪问的很少,但是细节会问很多。当时,他有问我:

你每次运行程序时都敲入G=0000:2000这是什么意思。

程序中有“MOV[SI],AX”语句,你知道它干什么的(中断矢量初始化),那它现在内容是什么(看着程序,我也说了),那它为什么里面放的就是这个值,而不是其他值?(我不会了,只说是规定。心里很生气,不问思想,问什么呢!)

后面还有更气人的,你们这系统不符合实际,你一开始在几点启动的它,你怎么就知道过多长时间就进入夜间(0点以后)的?夏天白天长,冬天白天短,我家还睡觉可晚了。。。。。(我当时都疯了,实在没话说。。。。。。不过也确实没考虑时间校准的问题,只觉得是个模拟,不用太当真,不过老师说的蛮对的。)

这只是给大家个思路,以时间作为出发点,去完成交通灯的工作时序图。这份实验报告是不完整的,其中我们小组的流程图没画,同时程序没有语法错误,但是运行起来一个是灯显示不对,一个是绿灯倒记时只有一组(正常是两组)。硬件连线图也没有。

希望大家多去动手实践,永远都别想着不劳而获。要是按我这次的思路来,希望可以把时间开始,校准考虑进去。这次试验我原想着用两8253级连隔1S引起一中断,结果一看实验箱只一个8253,才选用了软件编程加硬件结合起来,得到一固定时间的方法。

万事开头难,这个实验前两天都不知怎么办。

祝大家学习好,身体棒!

末了,有什么问题,可以给我在下这个资源的评论区或我的CSDN个人主页上留言

中北大学

电子与计算机科学技术学院

汇编语言课程设计

题目:交通灯控制系统

班级:04090402

指导教师:

完成日期:2007年7月13日

学号姓名负责模块成绩组长04090402xx8255A

04090402xx绿灯倒计时

04090402xx8259中断

04090402xx夜间控制

04090402xx8253

1需求分析

在当今社会里,交通越来越发达,车辆也越来越来多,由此也带来了大量交通问题。

在本次课程设计中,我们针对现实生活中常看到的红绿灯,运用汇编语言及接口技术来模拟十字路口的交通灯,对交通灯进行控制,并实现一定的功能。

我们通过一些接口芯片:定时/计数器8253,并行接口8255A,中断控制器8259A 和8086计算机的硬件连接,通过8253定时及编延时子程序的方法(设备条件有限,不能依靠纯硬件实现)、利用8259的中断功能及8255A并口输出数据功能做了一实时操作系统,来模拟对十字路口交通灯的控制。具体如下:

(1)用8253计时器来完成时间的设定;

(3)用8259中断控制器来进行紧急情况处理,如警车执行任务等情况;

(4)通过8255A并口来控制LED发光二极管的亮灭,输出为0则亮,输出为1则灭;

(5)用8255来输出绿灯的倒计时间。

2设计方案及分工

在这个方案里,我们将此设计分为5个模块,即:实现电路设计、连接电路以及各模块间整合的模块、实现交通灯循环的模块、对中断进行处理的模块、实现绿灯倒计时的显示模块、实现夜间控制模块。

具体分工如下:

xx:实现8253、电路设计、连接电路以及各模块间整合的模块

xx:实现夜间控制模块

xx:实现交通灯循环的模块

xx:对中断进行处理的模块

xx:实现绿灯倒计时的显示模块

我们想通过这次设计,具体实现以下功能:

以8086CPU为核心设计一个交通灯控制系统,通过8255并口来控制LED发光二级管的亮灭,输出0为亮,输出一为灭;用8253来实现一个定时器(隔一定时间发生一边沿跳变,引发8259中断);用8259来实现对中断的处理;

设有一个十字路口,东西方向与南北方向各有一个红绿灯,初始状态为东西路口的红灯

亮南北路口的绿灯,南北方向的路口通车,并显示南北路口绿灯的倒计时间。延迟一定时间

之后,南北路口与东西路口都为黄灯亮,延迟一定的时间后,南北方向的红灯亮,东西路口

的绿灯两,东西方向的路口通车,并显示东西路口的绿灯倒计时间。延迟一定时间后直接跳

变为东西方向的红灯亮,南北路口的绿灯亮。如上所述循环一定次数后假设进入晚上,屏幕

上显示Good Night!此时这两个路口的黄灯开始闪烁,数码管清零并且闪烁。延迟一定时间

后假设进入早晨并在屏幕上显示Good Night!并实现交通灯的循环。如果遇到紧急情况,采

取紧急中断并且两个方向路口的红灯全亮确保紧急情况得到妥善处理,并且不管。在紧急情

况中断处理模块里通过拨动按钮KK2来触发中断,使各个路口的灯全显示红灯,并在屏幕

上输出Waring!中断完成后跳回原来的状态,继续运行。

3各个模块的实现

3.1交通灯循环模块(XX)

3.1.1设计思想

十字路口分为南北方向和东西方向,各个方向有红黄绿三灯,其循环过程如下:

1:东西方向路口的红灯亮,南北路口的绿灯亮;

2:东西路口与南北路口都为黄灯亮;

3:东西方向路口的绿灯亮,南北方向路口的红灯亮;

4:不经过黄灯亮,直接跳变为状态1;

5:按如上过程循环;

3.1.2流程图

图3-18255并口输出流程图

3.1.3具体实现

用8255控制交通灯的循环,具体状态如下(0:灯亮1:灯灭)

表1交通灯循环状态表

状态D7(东西红)D6(东西黄)D5(东西绿)D4(南北红)D3(南北黄)D2(南北绿)D1D0 101111011 210110111 311001111 401111011

8255初始化:A口输出B口输出C口输出工作在方式0

8255控制字为:10000000,即80H

3.2实现绿灯倒计时模块(XX)

3.2.1设计思想

十字路口在东西方向和南北方向各有一个绿灯倒计时显示,建一个Table存放字模。当东西路口为绿灯时在第一个数码显示管上显示剩余时间。首先让BX指向Table的首址,将计数器中当前DL中的值赋给AL,通过相应的加减然后在Table中找出相应的字模通过8255赋给数码显示管,本次课程设计用的是静态显示,当DL中的是发生变化时数码管上显示的数字也随着变化,以次来实现在数码管上显示绿灯的倒计时间。当南北路口为绿灯时,过程与上面的描述类似。

3.3实现夜间控制模块(XX)

3.3.1设计思想

由于十字路口的交通灯是按一定的方式和固定时间进行循环的,并且每循环一次所需时间为一秒,所以,根据C=T/L(C为白天交通灯循环的次数,T为白天(6:00——24:00)的总时间长度,L为交通灯循环一次的时间长度)可计算出白天交通灯循环的次数,由白天交通灯循环的次数便可判断出是否让系统进入夜间控制,因此设计一个记录白天交通灯当前循环次数的变量加以记录,并将此变量与预设白天循环次数进行比较即可。当系统判断出应进入夜间控制后,将四个方向的四部交通灯全部变为黄灯闪烁,并让四部计时器(LED)于黄灯交替闪烁。黄灯闪烁的次数根据C’=T’/L’(C’为夜间交通灯黄灯闪烁的次数,T’为夜间(24:00——6:00)的总时间长度,L’为交通灯黄灯和计时器(LED)闪烁一次的时间长度)计算得出,并将此值作黄灯闪烁的设定值,当黄灯闪烁次数与设定值相等时,系统便转换为白天控制模式。

3.4中断处理模块(XX)

3.4.1设计思想

定时器8253连接着IRQ0,每当定时一定时间就可以触发IRQ0中断程序,也是主程序;

同时IRQ7连接着一边沿触发,来处理应对紧急情况。

3.5实现计数器模块(XX)

3.5.1设计思想

由8253作为一定时器,每隔一定时间引发一次IRQ0中断,中断服务程序中有一变量记录着时间值,从30H开始,依次累加,直到3AH,该值再变为30H。依据这个值,系统在每个值下会有着对应的状态。如此往复,来实现对交通灯的模拟。

在这个值基础上,另有一变量,它在时间值走完一个时序循环,它自加一,当达到一定数值,就会进入夜间模式。当该模式完成时,该变量清零,再次进入正常工作模式。

3.5.2流程图

图3-2主程序流程图

图3-3IRQ0中断服务程序流程图

4源代码

DATA SEGMENT

WE DW?

YK DB?

ZLC DB?

B2DB?

TIME DW?

STRING1DB0AH,0DH,'Good Night!',00H

STRING2DB0DH,'Good Morning!',0AH,00H

STRING3DB0DH,'WARNING!',0DH,00H

TABLE DB66H,4FH,5BH,06H

DATA ENDS

STACK SEGMENT STACK

DW64DUP(?)

STACK ENDS

CODE SEGMENT;定义代码段ASSUME CS:CODE,DS:DATA

START:

MOV AX,DA TA

MOV DS,AX

PUSH DS;DS:00压栈

MOV AX,0000H

MOV DS,AX;置数据段

MOV AX,OFFSET IRQ0

ADD AX,2000H

MOV SI,0020H

MOV[SI],AX

MOV AX,0000H

MOV SI,0022H

MOV[SI],AX

MOV AX,OFFSET IRQ7

ADD AX,2000H

MOV SI,003CH

MOV[SI],AX

MOV AX,0000H

MOV SI,003EH

MOV[SI],AX

POP DS

MOV AL,80H;8255

MOV DX,63H

OUT DX,AL

MOV AL,0FCH;8259

OUT21H,AL

MOV AL,15H;8253

OUT43H,AL

MOV AL,0FFH

OUT40H,AL

MOV DL,30H

MOV ZLC,30H

A1:STI

JMP A1

IRQ0:

CALL WP

MOV AH,01H

MOV AL,DL

CMP AL,3AH

JNZ A2

INC ZLC

CMP ZLC,32H;与换行数比较

JNZ N1

CALL ZPP;调用子程序

N1:MOV AL,0DH;换行

INT10H

MOV AL,30H

A2:INT10H

INC AX

MOV YK,AL;YK=AL

CMP DL,3AH;DL与3A比较

JNZ W1;<>跳向W1

MOV DL,30H;相等则令DL=30H

W1:MOV AH,DL

CALL WJJ;从B口输出

MOV AL,YK

MOV DL,AL

MOV AX,0120H

INT10H

MOV TIME,0099H;变量TIME赋值,延时子程序起作用

CALL DALLY

MOV AL,20H

OUT20H,AL

IRET

IRQ7:mov time,0660h

MOV AL,01110111B

OUT61H,AL

MOV AH,06H

MOV BX,OFFSET STRING3

INT10H

call DALLY

mov al,20h

out20h,al

mov time,0020h

IRET

WJJ:

CMP AH,34H

JL HONG

CMP AH,35H

MOV AL,1111B

OUT60H,AL

JL HUANG

CMP AH,35H

JG LV

HONG:

MOV AL,7DH

MOV DX,61H

OUT DX,AL

MOV BX,OFFSET TABLE

MOV B2,0111B

CALL CHENXI

JMP XX

HUANG:

MOV AL,0BBH

MOV DX,61H

OUT DX,AL

JMP XX

LV:

MOV AL,0D7H

MOV DX,61H

OUT DX,AL

MOV BX,OFFSET TABLE

MOV B2,1110B

CALL CHENXI

ADD AH,06H

RET

ZPP:

PUSH DX

PUSH AX

MOV AL,1111B

OUT60H,AL

MOV AH,06H;显示晚上提示信息

MOV BX,OFFSET STRING1;取STRING1的地址

INT10H;显示

MOV CX,08H

MOV TIME,0060H;变量TIME赋值,延时子程序起作用ZP:

CALL WP

MOV AL,0BBH

MOV DX,61H

OUT DX,AL

CALL DALLY

MOV AL,0FFH

MOV DX,61H

OUT DX,AL

CALL DALLY

LOOP ZP

MOV AH,06H;显示早上提示信息

MOV BX,OFFSET STRING2

INT10H;显示

POP AX

POP DX

MOV ZLC,30H

RET

PUSH AX

PUSH BX

CLI;屏蔽IRQ0

MOV AL,01H

OUT21H,AL

MOV AL,68H

OUT20H,AL

STI

MOV AL,48H

OUT20H,AL

MOV AL,00H

OUT21H,AL

POP BX

POP AX

RET

CHENXI:

PUSH AX

PUSH BX

MOV AL,B2

OUT60H,AL

SUB AH,30H

MOV AL,AH

XLAT

OUT62H,AL

POP BX

POP AX

RET

DALLY:PUSH AX

MOV AX,TIME

MOV WE,AX

A3:MOV AX,0560H

A4:DEC AX

JNZ A4

DEC WE

JNZ A3

POP AX

RET

CODE ENDS

END START

5设计心得

通过本次课程设计,我们熟悉了芯片8253、8259、8255的功能和应用。学会了用汇编语言设计一个程序的方法。虽然程序中有一部分是现成的,但我们还是通过查书或问老师的方式读懂了它的思路。在实现数码管显示数字的过程中,我们学会了先画流程图再编写程序的良好习惯,它有利我们理清思路,更快更简洁地编写出程序。在用到8259、8255芯片时,通过编程进一步掌握了它们的功能。本次课程设计提高我们的自学能力和合作精神。

在实现计数功能部分,可以用硬件也可以用软件实现,我们选择了硬件即通过8253来实现。在成功调试并运行后,我们不忘去尝试能否用软件实现。在编程的过程中遇到了许多细节方面的问题,我们通过讨论一起解决了一些问题。

西电微机原理大作业

科目:微机原理与系统设计授课老师:李明、何学辉 学院:电子工程学院 专业:电子信息工程 学生姓名: 学号:

微机原理硬件设计综合作业 基于8086最小方式系统总线完成电路设计及编程: 1、扩展16K字节的ROM存储器,起始地址为:0x10000; Intel 2764的存储容量为8KB,因此用两片Intel 2764构成连续的RAM存储区域的总容量为2 8KB=16KB=04000H,鉴于起始地址为10000H,故最高地址为 10000H+04000H-1=13FFFH 电路如图

2、扩展16K 字节的RAM 存储器,起始地址为:0xF0000; Intel 6264的存储容量为8KB ,因此用两片Intel 6264构成连续的RAM 存储区域的总容量为2 8KB=16KB=04000H ,鉴于起始地址为F0000H ,故最高地址为 F0000H+04000H-1=F3FFFH 片内地址总线有13根,接地址总线的131~A A ,0A 和BHE 用于区分奇偶片,用74LS155作译码电路,如图所示 3、设计一片8259中断控制器,端口地址分别为:0x300,0x302; 鉴于端口地址分别是300H 和302H ,可将82590A 接到80861A ,其他作译码。电路如图:

4、设计一片8253定时控制器,端口地址分别为:0x320,0x322,x324,0x326; 根据端口地址可知,825301,A A 应该分别接到8086的12,A A ,其余参与译码。电路如图:

5、设计一片8255并行接口,端口地址分别为:0x221,0x223,x225,0x227; 由于端口地址为奇地址,8086数据总线应该接158~D D ,且BHE 参与译码。根据端口地址可得825501,A A 应该分别接到8086的12,A A ,其余参与译码。电路如图:

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

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.学习并掌握IDE86集成开发环境的使用,包括编辑、编译、链接、 调试与运行等步骤。 2.参考书例4-8,P165 (第3版161页)以单步形式观察程序的 执行过程。 3.修改该程序,求出10个数中的最大值和最小值。以单步形式观 察,如何求出最大值、最小值。 4.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态。 二、实验目的 1.学习并掌握IDE86集成开发环境的使用 2.熟悉汇编语言的基本算法,并实际操作 3.学会利用IDE86进行debug的步骤 三、实验方法 1.求出10个数中的最大值和最小值 (1)设计思路:利用冒泡法,先对数据段的10个数字的前2个比 较,把二者中大的交换放后面。在对第二个和第三个数比较,把 二者中较大的交换放后面,依此类推直到第十个数字。这样第十 位数就是10个数里面最大的。然后选出剩下9个数字里面最大 的,还是从头开始这么做,直到第九个数字。以此类推直到第一 个数字。

(2)流程图 2.求1到100 的累加和,并用十进制形式将结果显示在屏幕上。 要求实现数据显示,并返回DOS状态

(1)设计思路:结果存放在sum里面,加数是i(初始为1),进行 100次循环,sum=sum+I,每次循环对i加1. (2)流程图: 四、 1.求出10个数中的最大值和最小值

DSEG SEGMENT NUM DB -1,-4,0,1,-2,5,-6,10,4,0 ;待比较数字 DSEG ENDS CODE SEGMENT ASSUME DS:DSEG,CS:CODE START:MOV AX,DSEG MOV DS,AX LEA SI,NUM MOV DX,SI MOV CL,9 ;大循环计数寄存器初始化 NEXT1:MOV BL,CL ;大循环开始,小循环计数器初始化MOV SI,DX NEXT2:MOV AL,[SI+1] CMP [SI],AL ;比较 JGGONE ;如果后面大于前面跳到小循环末尾CHANGE:MOV AH,[SI] ;交换 MOV [SI+1],AH MOV [SI],AL JMP GONE GONE:add SI,1 DEC BL JNZ NEXT2

西电微机原理2010试题

西安电子科技大学微机原理试题 姓名学号总分 一.填空题(每空1分,共30分) 1)15的8位二进制补码为,-15的8位二进制补码为。 2)某8位二进制补码为80H,其十进制表示为。 3)字符B的ASCII码为,字符0的ASCII码为。 4)8086CPU总线按功能可分为数据总线,总线和总线。 5)8086CPU数据总线包含条数据线,最多可寻址的存储器容量为。 6)CPU内部用于计算的部分为,用于保存下一条要执行的指令地址的 为。 A) 程序状态字B) 程序计数器C) ALU D) 工作寄存器 7)经常用作循环次数的寄存器是,用于I/O端口寻址的寄存器是。 A) AX B) BX C) CX D) DX 8)指令MOV CX, 1000的结果是CH= 。 9)将0D787H和4321H相加后,标志位CF= ,SF= ,ZF= , OF= ,AF= ,PF= 。 10)寄存器SI中能够表示的最大有符号数为,最小有符号数为。 11)设(DS)=4000H,(BX)=0100H,(DI)=0002H,(4002)=0A0AH,(40100)=1234H,(40102) =5678H,求以下指令分别执行后AX寄存器的值。 MOV AX , [2] (AX)= 。 MOV AX , [BX] (AX)= 。 MOV AX , [BX][DI] (AX)= 。 MOV AX , 1[BX] (AX)= 。 12)用一条指令将AX寄存器低四位清零,其余位不变:。 13)用一条指令将AX寄存器高四位取反,其余位不变:。 14)用一条指令将AX高8位与低8位交换:。 15)用一条指令将AL中的大写字母变成相应的小写:。 二.判断题(每题1分,共10分) 以下语句是语法正确的打√,语法错误打×,其中TABLE和TAB为两个字节类型的变量。 1)MOV DS , 1000H 2)MOV DS , TABLE 3)MOV [1200H] , [1300H] 4)ADD AX , BX , CX 5)XCHG AL , CL 6)CALL AL 7)MUL AX , BX 8)JU L1 9)SHR CL , CL

微机原理课程设计——交通灯控制系统

南通大学电子信息学院 微机原理课程设计 报告书 课题名交通灯控制系统 班级 _______ 学号 __________ 姓名 ____ 指导教师 ______ 日期 _________

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

1 设计目的 电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。 交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。 要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。 2 设计内容 交通灯控制系统 利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。要求能实现自动控制和手动应急控制。 3 设计要求 在Proteus环境下,结合课程设计题目,设计硬件原理图,搭建硬件电路 软件设计

微机原理实验报告

西安交通大学实验报告 课程_微机与接口技术第页共页 系别__生物医学工程_________实验日期:年月日 专业班级_____组别_____交报告日期:年月日 姓名__ 学号__报告退发 ( 订正、重做 ) 同组人_教师审批签字 实验一汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果: 如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子

程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H = xxxxxxxxH 四、实验代码及结果 1.1、实验代码: DATA SEGMENT SZ DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H;存进数组 SHOW DB 'THE MAX IS: ','$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;把数据的基地址赋给DS MOV DS,AX MOV DX,OFFSET SHOW ;调用DOS显示字符串 MOV AH,09H INT 21H MOV SI ,OFFSET SZ ;数组的偏移地址赋给SI MOV CX,10 ;存进数组的长度给CX MOV DH,80H ;将数组的第一个数写进DH NEXT: MOV BL,[SI] ;将数组的第一个数写进BL CMP DH,BL ;比较DH和BL中数的到校 JAE NEXT1 ;如果DH中的数大于BL中,将跳转到NEXT1 MOV DH,BL ;如果DH中的数小于BL中,将BL中的数赋给DH NEXT1: INC SI ;偏移地址加1 LOOP NEXT;循环,CX自减一直到0,DH中存数组的最大值 ;接下来的程序是将将最大值DH在屏幕上显示输出 MOV BX,02H NEXT2: MOV CL,4 ROL DH,CL ;将DH循环右移四位

西电微机原理上机作业第三

微机上机作业三 容: 编写如下程序,并在机器上调试成功。程序采用菜单式选择,可以接收用户从键盘输入的五个命令(1-5),各命令功能分别为: (1)按下“1”键,完成字符串小写字母变成大写字母。 (2)按下“2”键,完成找最大值(二选一)。 (3)按下“3”键,完成排序(二选一)。 (4)按下“4”键,显示时间。 (5)按下“5”键,结束程序运行,返回系统提示符。 汇编程序: STACK SEGMENT STACK DB 256 DUP(?) TOP LABEL WORD STACK ENDS DATA SEGMENT TABLE DW G1, G2, G3, G4, G5 STRING0 DB' Form the school ID is 02111460 Li Cheng',0DH,0AH,'$' STRING1 DB '1. Change small letters into capital letters of string;', 0DH, 0AH, '$' STRING2 DB '2. Find the maximum of string;', 0DH, 0AH, '$' STRING3 DB '3. Sort for datas;', 0DH, 0AH, '$' STRING4 DB '4. Show Time;', 0DH, 0AH, '$' STRING5 DB '5. Exit.', 0DH, 0AH, '$' STRINGN DB 'Input the number you select (1-5) : $' IN_STR DB 'Input the string (including letters & numbers, less than 60 letters) :', 0DH, 0AH, '$' PRESTR DB 'Original string : $' NEWSTR DB 'New string : $' OUT_STR DB 'The string is $' MAXCHR DB 'The maximum is $' IN_NUM DB 'Input the numbers (0 - 255, no more than 20 numbers) : ', 0DH, 0AH, '$' OUT_NUM DB 'Sorted numbers : ', 0DH, 0AH, '$' IN_TIM DB 'Correct the time (HH:MM:SS) : $' HINTSTR DB 'Press ESC, go back to the menu; or press any key to play again!$' KEYBUF DB 61 DB ? DB 61 DUP (?) NUMBUF DB ? DB 20 DUP (?) DATA ENDS

微机原理十字路口红绿灯闪烁实验

实验三十字路口红绿灯闪烁实验 一、实验目的 通过对红绿黄灯的控制,熟练掌握8255A接口芯片的编程方法 二、实验内容 对8255A接口芯片进行编程,使红黄绿发光二级管按照十字路口交通灯的形式点亮或者熄灭。 三、线路连接 发光二级管共8个,其中两组红黄绿灯用六个,L2、L3、L4为一组,L5、L6、L7、为一组;试验台连接如图所示。高电平时,灯点亮。 四、编程提示 1、红、黄、绿灯变化规律 设有一个十字路口,两组灯分别代表东西和南北两个方向,其红黄绿灯变化规律为: (1)两个路口红灯全亮 (2)南北路口绿灯亮,东西路口红灯亮 (3)南北路口绿灯灭,东西路口红灯亮 (4)两个路口黄灯闪烁 (5)两个路口红灯全亮 (6)东西路口绿灯亮,南北路口红灯亮 (7)东西路口绿灯灭,南北路口红灯亮

(8)两个路口黄灯闪烁 (9)转向(2)循环执行 2. 设置8255A 方式控制字 设置8255A 的端口C 工作在方式0,为输出。D0、D1控制绿灯,D2、D3控制黄灯,D4、D5控制红灯。需要点亮哪一位指示灯时,8255A 相应端口对应为就输出“1”。 五、流程图 Y N 两个路口红灯亮 延时 南北路口绿灯亮,东西路口红灯亮 有键按下? 延时 南北路口绿灯灭 两个路口黄灯闪烁 两个路口红灯亮 延时 显示提示信息 东西路口绿灯灭 读端口C 数据并保存 两个路口红灯亮 延时 设控制字为80H(端口C 均为输出) 东西路口绿灯亮,南北路口红灯亮 延时 两个路口黄闪烁 设控制字为81H(端口C 低四位为输入) 读/写 结束 开始

六、实验程序 DATA SEGMENT IOPORT EQU 0D880H-280H IO8255C EQU IOPORT+282H IO8255T EQU IOPORT+283H PB DB ? MESS DB 'ENTER ANY KEY CAN EXIT TO DOS!',0DH,0AH,'$' DATA ENDS STACK SEGMENT STACK STA DW 50 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AH,09H MOV DX,OFFSET MESS INT 21H MOV DX,IO8255T MOV AL,81H OUT DX,AL MOV DX,IO8255C IN AL,DX MOV PB,AL MOV DX,IO8255T MOV AL,80H OUT DX,AL MOV DX,IO8255C MOV AL,PB OR AL,0CH OUT DX,AL MOV AL,30H OUT DX,AL CALL DELAY10 LLL: MOV DX,IO8255C MOV AL,12H OUT DX,AL CALL DELAY10 CALL DELAY10 CALL DELAY10 CALL DELAY10

西电微机原理实验报告

微机系统实验报告 班级:031214 学号:03121370 姓名:孔玲玲 地点:E-II-312 时间:第二批

实验一汇编语言编程实验 一、实验目的 (1)掌握汇编语言的编程方法 (2)掌握DOS功能调用的使用方法 (3)掌握汇编语言程序的调试运行过程 二、实验设备 PC机一台。 三、实验内容 (1)将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能 调用完成必要提示信息的显示。 (2) 在屏幕上显示自己的学号姓名信息。 (3)循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到 输入“Q”或“q”时结束。 (4)自主设计输入显示信息,完成编程与调试,演示实验结果。 考核方式:完成实验内容(1)(2)(3)通过, 完成实验内容(4)优秀。 实验中使用的DOS功能调用:INT 21H 表3-1-1 显示实验中可使用DOS功能调用 AH 值功能调用参数结果 1 键盘输入并回显AL=输出字符 2 显示单个字符(带Ctrl+Break检查) DL=输出字符光标在字符后面 6 显示单个字符(无Ctrl+Break检查) DL=输出字符光标在字符后面 8 从键盘上读一个字符AL=字符的ASCII码 9 显示字符串DS:DX=串地址,‘$’为结束字符光标跟在串后面 4CH 返回DOS系统AL=返回码

四、实验步骤 (1)运行QTHPCI软件,根据实验内容编写程序,参考程序流程如图3-1-1所示。 (2)使用“项目”菜单中的“编译”或“编译连接”命令对实验程序进行编译、连接。 (3)“调试”菜单中的“进行调试”命令进入Debug调试,观察调试过程中数据传输指令执行后各寄存器及数据区的内容。按F9连续运行。 (4)更改数据区的数据,考察程序的正确性。 五、实验程序 DATA SEGMENT BUFFER DB '03121370konglingling:',0AH,0DH,'$' BUFFER2 DB 'aAbBcC','$' BUFFER3 DB 0AH,0DH,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START: MOV AX,DA TA MOV DS,AX mov ah,09h mov DX,OFFSET BUFFER int 21h

微机原理交通灯控制实验及其详细

交通灯信号控制实验 一、实验目的 1、掌握并行接口8253的基本原理 2、掌握8253的编程方法 二、实验内容 如图,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通变化规律亮灭。 三、编程提示 1、8255控制寄存器地址:28BH—0C40BH A口地址:288H—04C408H C口地址:28AH—04C40AH 2、十字路口交通灯的变化规律要求 (1)南北路口的绿灯、东西路口的红灯同时亮三秒; (2)南北路口的黄灯闪烁三次,同时东西路口的红灯继续亮; (3)南北路口的红灯、东西路口的绿灯同时亮三秒; (4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁三次; (5)转(1)重复。 3、程序设计流程 开始 设置8255C口输出 南北路口的绿灯、东西路口的红灯亮 长延时 南北路口的黄灯闪烁,东西路口红灯亮 南北路口的红灯、东西路口的绿灯亮

四、程序设计及实验调试 程序设计的思想及注意事项: 1.首先是在选择程序时是选用软件延时还是硬件延时。我采用的是C口方式0输入,所以选用了软件延时。 2.在选择循环的时间上,老师上课时说过,长延时可以采用双层嵌套,外层嵌套为0FFFFH,内层嵌套为4000H,我在编程时外层送进了0,相当于初值为65536,内层送进了4000H。为了达到闪烁和延时的区别,我在编闪烁的程序时,给外层嵌套送入初值3000H,内层0100H(这是我通过实验的结果)。人眼感觉闪烁的效果只是短延时的结果。 实验程序: CODE SEGMENT ASSUME CS:CODE START: MOV DX,0C40BH MOV AL,10010000B ;C口方式0输入 OUT DX,AL

西电微机原理上机

4.37 (上机题)编写程序实现,将缓冲区BUFFER中的100个字按递增排序,并按下列格式顺 序显示: 数据1 <原序号> 数据2 <原序号> …… 算法流程图: 调试问题、心得体会: 通过这道题,熟悉了流程图画法,掌握了产生随机数,“冒泡法”排序,子函数编写调用等的基本过程,尤其对于中断调用,并利用ASCII码回显和对课本字节型数据“冒泡法”排序改进为字形排序的过程,是我受益匪浅。并且亲身实践了源程序的汇编、调试也连接。 问题:将字节型冒泡法直接应用于该题,导致出错,该题存储的是字型数据!

原因在于只是排列的AL中的数值,并不是产生的随机数! 同时对于字型与字节型在运算类指令中的应用还是有误,以及其他的一些小错误,应加以改善! 运行结果: 程序代码: STACK SEGMENT STACK 'STACK' DW 100H DUP(?) TOP LABEL WORD STACK ENDS DATA SEGMENT BUFFER LABEL WORD

X=17 REPT 100 X=(X+80)mod 43 DW X ENDM BUF DW 100 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX LEA SP,TOP MOV CX,100 LEA SI,BUFFER LEA DI,BUF L1: MOV AX,[SI] INC SI INC SI MOV [DI],AX INC DI INC DI LOOP L1 MOV CX,100 DEC CX LEA SI,BUFFER PUSH CX ADD CX,CX ADD SI,CX POP CX L2: PUSH CX PUSH SI L3: MOV AX,[SI] CMP AX,[SI-2] JAE NOXCHG XCHG AX,[SI-2] MOV [SI],AX NOXCHG:

微机原理实验报告西安交通大学

西安交通大学 电子信息与工程学院自动化科学与技术系微机原理与接口技术实验报告 实验名称:微机原理与接口技术 实验者姓名: XX 实验者学号:21105040XX 所在班级:自动化1X 报告完成日期:2014年1月12日

实验一 数据传送、算术运算、循环程序结构 1、实验目的 a)熟悉8086汇编语言源程序的框架结构,并掌握汇编语言程序的编写、汇 编、连接、执行的过程,并利用Turbo Debugger调试汇编程序。 b)熟悉8086指令系统的数据传送指令,掌握寻址方式。 c)熟悉8086指令系统的算术运算指令。掌握循环结构汇编语言程序的编制。 2、实验内容 教材P121,第14、15题。教材P195,第6题。教材P196,第12题。 3、具体实验 第一题(P121,第14题) 设有两个8个字节长的BCD码数据BCD1及BCD2。BCD1数以1000H为首地址在内存中顺序存放;BCD2数以2000H为首地址在内存中顺序存放。要求相加后结果顺序存放在以2000H为首地址 的内存区中(设结果BCD数仍 不超过8个字节长)。 a) 实验原理 考虑两个8个字节长的 BCD码相加,首先根据地址要 求将数据放在对应的地址单 元中,然后做加法,BCD码相 加要用到调整指令,结果才 为正确的BCD数 b) 程序框图

c) 程序源代码 DATAS SEGMENT ORG1000H BCD1 DB 01H,02H,03H,04H,05H,06H,07H,88H;起始地址为1000H ORG2000H BCD2 DB 11H,12H,13H,14H,15H,16H,17H,18H;起始地址为2000H DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX MOV BX,0 MOV CX,8 ;设置循环次数8次 CLC ;清进位CF标志 AGAIN:MOV AL,[BX+1000H] ADC [BX+2000H],AL;结果放在2000H开始的单元内 DAA INC BX LOOP AGAIN;没完成则转AGAIN循环 MOV AH,4CH INT 21H CODES ENDS END START 运行: BCD1 DB 11H,12H,13H,14H,15H,16H,17H,18H BCD2 DB 21H,22H,23H,24H,25H,26H,27H,28H 结果如下:DS:2000H为首地址的连续八个字节单元中

微机原理综合实验-交通灯

华北科技学院计算机系综合性实验 实验报告 课程名称微机原理与接口技术 实验学期2011至2012学年第二学期学生所在系部电子信息工程学院 年级09级专业班级自动化B091班学生姓名戴子昱学号15 任课教师王德志 实验成绩 计算机系制

实验报告须知 1、学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。 2、学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、 内容、结果及分析等。 3、教师应该填写的内容包括:实验成绩、教师评价等。 4、教师根据本课程的《综合性实验指导单》中实验内容的要求,评定学生的综合 性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。 5、未尽事宜,请参考该课程的实验大纲和教学大纲。

《微机原理与接口技术》课程综合性实验报告 开课实验室:接口实验室2012年06月12日 实验题目 交通信号灯的控制 一、实验目的 (1)通过8255并行接口来控制LED发光二极管的亮灭,并精确延时。 (2)实现黄灯闪烁。 (3)通过8255并口控制,人工进行交通灯的转换。 二、设备与环境 PC机(windows XP) 实验箱(TPC-386EM) 8255A、8253 三、实验内容 1需要完成的基本控制要求概览: (1)南北路口的绿灯、东西路口的红灯同时亮5秒。 (2)南北路口的黄灯闪烁若干次,维持3秒,同时东西路口的红灯。 (3)南北路口的红灯、东西路口的绿灯同时亮5秒。 (4)南北路口的红灯、同时东西路口的黄灯亮烁若干次,维持3秒。 (5)转(1)重复。 (6)紧急情况可以手动控制红绿灯的变换。一个开关控制南北绿,东西红,另一个按钮南北红,东西绿。 (7)黄灯闪烁时扬声器发声,提醒。 2交通红绿的设计基本端口规划 8255A口作为灯控制输出,PA0-PA5分别对应东西红黄绿,南北红黄绿,P6与P7口不用;8253B口作为输入,PB0-PB3分别对应启动,停止,东西方向交通管制,南北方向交通管制(高电平有效)。 8253C口最低位作为输入,接入8253通道1的产生的。1s方波上下降沿来定时;8253通道0输入时钟为1Mhz,通道0用来分频,通道1用来产生1s方波,通道2不用。接线图1所示

西电机电院微机原理上机答案

汇编语言上机题 姓名:学号:成绩: 实验一、上机过程及DEBUG应用 编写程序,建立数据段DATA,将你的姓名(汉语拼音)及学号存入DATA数据段的BUFFER1区域,然后利用程序将BUFFER1区域中的字符串(姓名及学号)依次传送到从BUFFER2开始的内存区域中去。 上机过程与要求 1.建立原程序: 源程序文件名为,源程序清单如下: data segment buffer1 db 'hepan04105038' buffer2 db 13 dup() data ends code segment ASSUME CS:CODE,DS:DATA START: mov ax,data mov ds,ax mov es,ax lea si,buffer1 lea di,buffer2 mov cx,0d cld rep movsb mov ah,4ch int 21h code ends end start 2.汇编后生成的obj文件名为buffer .OBJ 3.连接后生成的目标文件名为buffer .EXE 4.DEBUG调试:在DEBUG下,利用U、D、G、R等命令对EXE文件进行调试后,相关信息如下: (1)表1-1 反汇编清单中所反映的相关信息 *注:最后一条指令是对应于代码段中最后一条指令 (2)在未执行程序之前,用D命令显示内存区域BUFFER1及BUFFER2中的内容, 其相关信息如表1-2所示。 表1-2 未执行程序之前的数据区内容

(3)执行程序以后用D命令显示内存区域的相关信息,如表1-3。 表1-3 执行程序之后的数据区内容 (4)用R命令检查寄存器的内容如表1-4所示。 回答问题 a)宏汇编命令MASM的作用是什么 答:产生OBJ文件。 b)连接命令LINK的作用是什么连接后生成什么文件 答:产生EXE文件,生成EXE文件。 c)DEBUG下U命令的作用是什么 答:反汇编被调试命令。 d)DEBUG下D命令的作用是什么 答:显示内存单元的内容。 e) 在DEBUG下如何执行.EXE文件,写出执行命令的常用格式。 答:DEBUG 。 实验二、寻址方式练习 掌握8086/8088的寻址方式是学习汇编语言的基础,因此,我们以数据传送指令为例编写了下面的程序,通过该程序对主要的几种寻址方式进行练习。 DATA1 SEGMENT M1 DB 0A0H,0A1H,0A2H,0A3H,0A4H,0A5H M2 DB 0A6H,0A7H,0A8H,0A9H,0AAH,0ABH,0ACH,0ADH,0AEH,0AFH DATA1 ENDS DATA2 SEGMENT N1 DB 0B0H,0B1H,0B2H,0B3H, 0B4H,0B5H N2 DB 0B6H,0B7H, 0B8H,0B9H,0BAH,0BBH, 0BCH,0BDH,0BEH,0BFH DATA2 ENDS STACK SEGMENT PARA STACK ‘STACK’ DB 0C0H,0C1H,0C2H,0C3H, 0C4H,0C5H DB 0C6H,0C7H, 0C8H,0C9H,0CAH,0CBH, 0CCH,0CDH,0CEH,0CFH

微机原理实验报告

微 机 原 理 实 验 报 告 班级: 指导老师:学号: 姓名:

实验一两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图 图3-1

四、参考程序清单 DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H;被加数 DATA1END EQU $-1 DATA2 DB 34H,35H,30H,38H,32H;加数 DATA2END EQU $-1 SUM DB 5 DUP(?) DATA ENDS STACK SEGMENT STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX

MOV SI,OFFSET DATA1END MOV DI,OFFSET DATA2END CALL ADDA MOV AX,4C00H INT 21H ADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05H AD1: SUB BYTE PTR [SI],30H SUB BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05H CLC AD2: MOV AL,[SI] MOV BL,[DI] ADC AL,BL

微机原理大作业

洛阳理工学院 微 机 原 理 与 接 口 技 术 《微机原理与接口技术》作为我们机械工程专业的必修的考察课程。本课程主要讲了计算机接口相关的基本原理、微处理器系统和微型计算机系统的总线、计算机接口技术的介绍以及计算机接口技术在工程

实际当中的应用等课程内容的介绍,概括了微机原理与计算机接口技术,微型计算机系统是以微型计算机为核心。 课程主要内容 第一章:主要了叙述微型计算机的发展构成和数的表示方法 (1)超、大、中、小型计算机阶段(1946年-1980年) 采用计算机来代替人的脑力劳动,提高了工作效率,能够解决较复杂的数学计算和数据处理 (2)微型计算机阶段(1981年-1990年) 微型计算机大量普及,几乎应用于所有领域,对世界科技和经济的发展起到了重要的推动作用。 (3)计算机网络阶段(1991年至今)。 计算机的数值表示方法:二进制,八进制,十进制,十六进制。要会各个进制之间的数制转换。计算机网络为人类实现资源共享提供了有力的帮助,从而促进了信息化社会的到来,实现了遍及全球的信息资源共享。 微机系统的基本组成 1.微型计算机系统由硬件和软件两个部分组成。

2.系统总线可分为3类:数据总线DB(Data Bus),地址总线AB(Address Bus),控制总线CB(Control Bus)。 3.微机的工作过程就是程序的执行过程,即不断地从存储器中取出指令,然后执行指令的过程。 第二章8086/8088微处理器 1.8086微处理器结构: CPU内部结构:总线接口部件BIU,执行部件EU; CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存器; CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制信号引脚。 2、8086/8088 CPU芯片的引脚及其功能 8086/8088 CPU具有40条引脚,双列直插式封装,采用分时复用地址数据总线,从而使8086/8088 CPU用40条引脚实现20位地址、16位数据、控制信号及状态信号的传输。 3.8086微机系统存储器组织:存储器组成和分段。8086微机系统的I/O结构 4.8086最小/最大模式系统配置:8086/8088 CPU芯片可以在两种模式下工作,即最大模式和最小模式。 最大模式:指系统中通常含有两个或多个微处理器(即多微处理器系

微机原理 交通灯

宿迁学院 《微机原理与接口技术》课程设计 题目:交通灯系统设计 学院(系):三系 年级专业: 学号: 学生姓名: 指导教师:张兵

一、设计条件: 1.运用所学的微机原理和接口技术知识; 2.微机原理和接口技术实验室的实验箱设备。 二、设计思路: 该课程设计采用8255A和8253进行控制,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。具体要求如下: 1.东西方向车辆放行15秒钟。即东西方向绿灯和南北方向的红灯同时 点亮15秒; 2.15秒后,东西方向的黄灯闪烁3秒钟,以警示车辆将切换红绿灯。 此时南北方向仍维持红灯点亮。 3.东西方向的黄闪烁3秒钟后,转为南北方向放行15秒钟。即东西方 向的红灯和南北方向的绿灯同时点亮15秒钟; 4.南北方向放行15秒钟后,转为南北方向的黄灯闪烁3秒钟,以警示 将切换红绿灯。此时东西方向仍维持红灯点亮。 5.南北方向的黄灯闪烁3秒钟后转为东西方向放行15秒。如此循环重 复。 6.严格按照课程设计说明书要求撰写课程设计说明书。 三、时间安排: 指导教师签名:年月日

目录 摘要........................................ 错误!未定义书签。 第一部分概论............................... 错误!未定义书签。1.1课题:交通灯设计........................ 错误!未定义书签。1.2课题介绍................................ 错误!未定义书签。1.3实验目的................................ 错误!未定义书签。1.4实验内容................................ 错误!未定义书签。1.5交通信号灯实时控制和管理的总体设计.. (2) 第二部分硬件设计........................... 错误!未定义书签。2.1硬件原理及线路示意图.................... 错误!未定义书签。2.2硬件连接图:............................ 错误!未定义书签。 第三部分软件设计........................... 错误!未定义书签。3.1流程如下................................ 错误!未定义书签。3.2实验环境及条件.......................... 错误!未定义书签。3.3程序清单. (6) 3.4 分工详情 (7) 第四部分调试记录及结果分析 (7) 4.1调试记录 (7) 4.2结果分析 (8) 第五部分芯片资料 (8) 5.1 8255的内部结构 (8) 5.1.1 口电路 (9) 5.1.2总线接口电路 (9) 5.2 8255A的工作方式 (10) 5.2.1方式0 基本输入/输出方式 (10) 5.2.2 方式1 选通输入/输出方式.......... 错误!未定义书签。 5.2.3 方式2 双向数据传送方式........... 错误!未定义书签。5.3 8253定时计数器......................... 错误!未定义书签。 5.3.1控制字寄存器...................... 错误!未定义书签。 5.3.2 8253有6种工作方式,由方式控制字确定错误!未定义书签。第六部分总结 (13) 第七部分参考资料 (13)

相关文档
最新文档