单片机8255扩展交通灯设计

合集下载

实验九 可编程接口芯片8255应用(交通灯控制)

实验九 可编程接口芯片8255应用(交通灯控制)

实验九可编程接口芯片8255应用(交通灯控制)双击自动滚屏发布者:admin 发布时间:2005-9-8 阅读:2151次一、实验目的1、学习扩展简单I/O接口的方法以及双色灯的使用。

2、进一步学习微处理器的编程技术。

二、实验要求编写程序,以8255作为输出口,控制4个双色LED灯(可发红、绿、黄光)红绿交替闪亮。

三、实验说明1、双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。

当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。

2、本实验要求8255工作于方式0,四个双色灯红绿交替闪亮。

四、实验电路及连线将DG1~DG4,DR1~DR4用导线连至8255的PC0~PC7,8255的CS片选接至138译码处的200H~207插孔。

芯片在实验机的位置五、实验参考程序D1 EQU 10HD2 EQU 200HDA TA SEGMENTPB DB ?DA TA ENDSSTACK SEGMENT STACKSTA DW 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: PUSH CSPOP DSMOV DX,203H ;设置为全输出MOV AL,80HOUT DX,ALMOV DX,202HOUT DX,AL ;清LEDMOV DX,202H ;全红MOV AL,0F0HOUT DX,ALMOV BX,7fHCALL DL YBG: MOV AL,01101001B ;南北绿,东西红OUT DX,ALMOV BX,D2CALL DL YMOV CX,03HXH1: AND AL,0F6H ;绿灭OUT DX,ALMOV BX,D1CALL DL YOR AL,09H ;绿亮OUT DX,ALMOV BX,D1CALL DL YLOOP XH1OR AL,90H ;南北黄OUT DX,ALMOV BX,D1CALL DL YMOV BX,D1CALL DL YMOV AL,10010110B ;南北红,东西绿OUT DX,ALMOV BX,D2CALL DL YMOV CX,03XH2: AND AL,0F9HOUT DX,ALMOV BX,D1CALL DL YOR AL,06HOUT DX,ALMOV BX,D1CALL DL YLOOP XH2OR AL,60HOUT DX,ALMOV BX,D1MOV BX,D1CALL DL YJMP BGDL Y PROC NEARPUSH CXDDD: MOV CX,0FFFHCCC: LOOP CCCDEC BXCMP BX,0JNE DDDPOP CXRETDL Y ENDPCODE ENDSEND START六、思考题有紧急车辆或紧急情况出现,如何处理?程序如何设计?七、实验报告要求1、实验内容为必做内容,其中,思考题须自行设计电路、连线及编写程序。

基于8255A的应用—交通灯的设计

基于8255A的应用—交通灯的设计

《微型计算机技术》课程设计报告题目:基于8255A的应用—交通灯的设计专业名称:通信工程班级:学号:姓名:2013年 1月基于8255A的应用—交通灯的设计胡晋电子信息工程学系摘要:随着微型计算机技术的飞速发展。

为此,基于8255芯片原理来实现交通灯的的控制是这次设计基础。

因为交通灯的控制可以分东西方向和南北方向两种,每种可用红、绿、黄三个灯进行交通管理,所以用8255芯片的PB口对六个交通灯进行控制。

通过8255芯片的PA口来控制交通灯状态的切换。

关键词:交通灯;8255芯片;控制;开关1 设计要求、目的和内容1.1设计要求基于微型计算机技术,利用8255芯片的原理实现交通的的控制,即8255芯片的应用—交通灯的的设计。

1.2 设计目的掌握8255芯片方式0的编程方法,PC机及配套的接口电路实验装置的连接于调试,IC芯片:8255A芯片的原理应用1.3 设计内容采用8255芯片设计交通灯控制的接口方案,硬件电路的设计和连接,程序的编写和调试。

2 设计原理2.1 8255内部框图介绍图1 8255A的内部结构图数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。

输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。

三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。

B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。

C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。

A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C 口按位复位字命令。

方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。

[2]对C口按位复位命令字可对C口的每一位实现置位或复位。

8255控制交通灯实验原理

8255控制交通灯实验原理

8255控制交通灯实验原理我们需要了解交通灯的工作原理。

一般来说,交通灯是通过控制红、黄、绿三个灯的亮灭来指示交通的状态。

红灯表示停车,黄灯表示准备行车,绿灯表示可以行车。

交通灯的亮灭是通过控制电流的开关来实现的。

在实验中,我们将使用8255芯片的三个I/O端口来控制交通灯的红、黄、绿三个灯。

具体来说,我们将把红灯连接到8255芯片的一个I/O端口,黄灯连接到另一个I/O端口,绿灯连接到第三个I/O端口。

通过编程控制这三个I/O端口的输出电平,我们就可以控制交通灯的亮灭。

在编程方面,我们需要使用汇编语言来编写控制程序。

首先,我们需要初始化8255芯片的工作模式。

通过将控制字写入控制寄存器,我们可以将8255芯片设置为输出模式,同时设置输出的电平。

然后,我们需要编写一个循环程序,不断改变输出的电平,从而实现交通灯灯光的变换。

具体来说,我们可以通过改变红、黄、绿三个灯的输出电平的组合来控制交通灯的亮灭。

在实验中,我们可以通过按下开关来触发交通灯的变换。

当按下开关时,控制程序将会执行一次循环,改变交通灯的亮灭状态。

这样,我们就可以通过按下开关来模拟交通灯的工作过程。

通过这个实验,我们可以更好地理解8255芯片的工作原理,并且掌握使用8255芯片来控制外部设备的方法。

在实际应用中,我们可以利用8255芯片来控制各种外部设备,如LED灯、电机等。

这样,我们可以通过编程来实现对外部设备的控制,从而实现各种功能。

使用8255芯片来控制交通灯是一种简单而有效的方法。

通过编程控制8255芯片的输出电平,我们可以实现交通灯的亮灭变换。

这个实验不仅可以帮助我们更好地理解8255芯片的工作原理,还可以培养我们的编程能力。

希望通过这个实验,我们可以更好地掌握8255芯片的使用,为以后的学习和工作打下良好的基础。

单片机8255控制交通灯实验

单片机8255控制交通灯实验

集美大学计算机工程学院实验报告课程名称单片机原理、接口及应用实验名称8255控制交通灯实验实验类型设计型姓名学号日期地点成绩教师评语:第1页共5页1.实验目的与要求1)了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。

学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。

2)熟悉8255内部结构与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。

3)认真预习本实验内容,尝试自行编写程序,填写实验报告。

2.实验设备STAR 系列实验仪一套,PC 机一台3.实验环境星研集成环境4.实验内容1.编写程序:使用8255的PA0..2、PA5..7控制LED 指示灯,实现交通灯功能。

2.连接线路验证8255的功能,熟悉它的使用方法。

1)实验原理图D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710RD 5WR 36A09A18RESET 35CS68255U36D0D1D2D3D4D5D6D7WR RD RSTA0A1PC5PC6PC7PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678VCCDS42A0A1CSCS1(0F000H)510R111510R112510R113510R114510R115510R116510R117510R1182)实验装置的连线说明B4区:CS 、A0、A1——A3区:CS1、A0、A1 B4区:JP56(PA 口)——G6区:JP655.实验扩展及思考1.如何对8255的PC口进行位操作?答:8255的控制字中,D7位为1时表示方式选择,D7位为0时,表示对C口进行置为/复位。

8255交通灯模拟实验

8255交通灯模拟实验

实验一(2) 8255交通灯模拟实验1、实验要求: 编写程序,以8255的PA 口作为输出口,控制4个双色LED 灯(可发红、绿、黄光),模拟十字路口交通灯管理。

2、实验目的:(1)学习I /0口扩展方法;掌握8255的工作原理以及编程方法,了解软件与硬件的调试技术。

(2)学习模拟交通灯控制方法;(3)学习双色LED 灯的使用;3.8255的工作原理:8255有三个8位的并行口,端口既可以编程为普通I/O 口,也可以编程为选通I/O 口和双向传输口。

8255为总线兼容型,可以与CPU 的总线直接接口。

其中,口地址取决于片选CS 和A1、A0。

选择如下:8255方式字选择:工作方式字特征位本实验中8255编程为PB口、PC口、PA口均输出,根据8255状态控制字选择方法。

8255控制字应为80H。

4.实验器材:(1)G2010+实验平台 1台(2)G6W仿真器1台(3)连线若干根(4)8255芯片1片(5)G2002—8086板 l块5.接线方案:6、实验说明:(1) 把G2002—8086板上的8255的片选CS5孔连“译码器”的YC2(0A000H)孔。

因8255片选信号为0A000H,所以,A口为0A000H、口为0A001H、C口为0A002H、命令口为0A003H。

(2) 因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。

假设一个十字路口为东西南北走向。

初始状态0为东西红灯,南北红灯。

然后转状态1南北绿灯通车,东西红灯。

过一段时间转状态2,南北绿灯闪几次转亮黄灯,东西仍然红灯,延时儿秒。

再转状态3,东西绿灯通车,南北红灯。

过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。

最后循环至状态1。

(3)双色LED是由一个红灯LED管芯和一个绿色LED管芯封装在一起,公用负端。

当红色端加高电平,绿色正端加低电平,红灯亮;当红色端加低电平,绿色正端加高电干,绿灯亮;两端都加高电平时,黄灯亮。

单片机实验8255控制交通灯

单片机实验8255控制交通灯
pb8255=0x0c;
delay(20);
pa8255=0xf7;
pb8255=0x0d;
delay(20);
}
pa8255=0xae;
pb8255=0x0b;
delay(400);
while(d2--)
{
pa8255=0x9e;
pb8255=0x07;
delay(20);
pa8255=0xbe;
题目:实验四8255控制交通灯
硬件实验
实验类别:【设计】
班级:
学号:
姓名:
1、实验内容或题目
题目:8255控制交通灯
实验内容:用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
2、实验目的与要求
实验目的:
(1)掌握8051系统中,扩展8255做输出口的方法;
(2)了解芯片8255编程方法。
void delay(unsigned int i)
{
unsigned int j,k;
for(k=0;k<i;k++)
for(j=0;j<1000;j++);
}
void main(void)
{ com8255=0x88;
pa8255=0xb6;
pb8255=0x0d;
delay(400); //all red lamp light
pb8255=0x0f;
delay(20);
}
}
}
while(1)
{ uchar d1=5,d2=5;
pa8255=0x75; //west and east green lamp light
pb8255=0x0d; //south and north red lamp light

8255交通灯课程设计

8255交通灯课程设计

8255交通灯课程设计一、课程目标知识目标:1. 让学生掌握8255并行接口芯片的基本工作原理和功能特点。

2. 使学生了解交通灯控制系统的工作原理,并能运用8255芯片设计简单的交通灯控制电路。

3. 帮助学生理解并行接口在微机系统中的应用,培养他们对接口技术的兴趣。

技能目标:1. 培养学生运用8255芯片进行交通灯控制电路设计、编程和调试的能力。

2. 培养学生通过查阅资料、合作讨论等途径,解决实际问题的能力。

情感态度价值观目标:1. 培养学生热爱科学,严谨求实的科学态度。

2. 培养学生的团队协作精神,增强他们在实际项目中沟通、协调的能力。

3. 提高学生面对复杂问题的自信心,培养他们勇于克服困难的意志品质。

课程性质分析:本课程为电子信息类专业的实践课程,旨在通过8255交通灯控制系统的设计,帮助学生将理论知识与实际应用相结合,提高他们的动手能力和创新能力。

学生特点分析:本课程面向高年级学生,他们已经具备了一定的电子技术和编程基础,具有较强的学习能力和独立思考能力。

教学要求:1. 确保学生掌握8255芯片的基本知识和交通灯控制原理。

2. 注重培养学生的实际操作能力,鼓励他们自主学习和创新。

3. 结合实际项目,提高学生的团队协作能力和沟通能力。

二、教学内容1. 8255并行接口芯片的基本原理和功能特点:包括8255芯片的内部结构、工作模式、控制字等。

相关教材章节:第五章第二节“并行接口与8255芯片”2. 交通灯控制系统的设计与实现:介绍交通灯控制系统的工作原理,以及如何利用8255芯片设计交通灯控制电路。

相关教材章节:第五章第三节“8255芯片的应用实例”3. 编程与调试:指导学生使用汇编语言或C语言编写交通灯控制程序,并进行调试。

相关教材章节:第五章第四节“8255芯片的编程与应用”4. 实践操作:组织学生进行交通灯控制电路的搭建、编程和调试,培养他们的动手能力。

相关教材章节:第五章实验“8255交通灯控制系统设计与实现”5. 项目总结与评价:对学生的设计作品进行展示、讨论和评价,总结项目过程中的经验教训。

单片机8255交通灯程序

单片机8255交通灯程序

交通灯程序/*********************************************************** 十字路口交通灯控制 C 程序***********************************************************/#include <reg51.h>#define uchar unsigned char#define uint unsigned int/*****定义控制位*******************************************/sbit Time_Show_LED2=P2^5; //Time_Show_LED2(直行时间显示)控制位sbit Time_Show_LED1=P2^4; //Time_Show_LED1(直行时间显示)控制位sbit EW_LED2=P2^3; //EW_LED2控制位sbit EW_LED1=P2^2; //EW_LED1控制位sbit SN_LED2=P2^1; //SN_LED2控制位sbit SN_LED1=P2^0; //SN_LED1控制位sbit SN_Yellow=P1^6; //SN黄灯sbit EW_Yellow=P1^2; //EW黄灯sbit EW_ManGreen=P3^0; //EW人行道绿灯sbit SN_ManGreen=P3^1; //SN人行道绿灯sbit Special_LED=P2^6; //交通特殊指示灯sbit Busy_LED=P2^7; //交通繁忙指示灯sbit Nomor_Button=P3^5; //交通正常按键sbit Busy_Btton=P3^6; //交通繁忙按键sbit Special_Btton=P3^7; //交通特殊按键sbit EW_ManRed=P3^3; //EW人行道红灯sbit SN_ManRed=P3^4; //SN人行道红灯bit Flag_SN_Yellow; //SN黄灯标志位bit Flag_EW_Yellow; //EW黄灯标志位char Time_EW; //东西方向倒计时单元char Time_SN; //南北方向倒计时单元uchar EW=60,SN=40,EWL=19,SNL=19; //程序初始化赋值,正常模式uchar EW1=60,SN1=40,EWL1=19,SNL1=19; //用于存放修改值的变量uchar codetable[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //0-9段选码uchar code S[8]={0x28,0x48,0x18,0x48,0x82,0x84,0x81,0x84};//交通信号灯控制代码/**********************延时子程序**************************/void Delay(uchar a){uchar i;i=a;while(i--){;}}/*****************显示子函数******************************/ void Display(void){uchar h,l;h=Time_EW/10;l=Time_EW%10;P0=table[l];EW_LED2=1; //点亮EW_LED2Delay(2);EW_LED2=0; //熄灭EW_LED2P0=table[h];EW_LED1=1; //点亮EW_LED1Delay(2);EW_LED1=0;h=Time_SN/10;l=Time_SN%10;P0=table[l];SN_LED2=1; //点亮SN_LED2Delay(2);SN_LED2=0;P0=table[h];SN_LED1=1; //点亮SN_LED1Delay(2);SN_LED1=0;h= EW1/10;l= EW1%10;P0=table[l];Time_Show_LED1=1; //点亮Time_Show_LED1Delay(2);Time_Show_LED1=0;P0=table[h];Time_Show_LED2=1; //点亮Time_Show_LED2Delay(2);Time_Show_LED2=0;}/**********************外部0中断服务程序******************/void INT0_srv(void)interrupt 0 using 1{EX0=0; //关中断if(Nomor_Button==0) //测试按键是否按下,按下为正常状态 {EW1=60;SN1=40;EWL1=19;SNL1=19;Busy_LED=0; //关繁忙信号灯Special_LED =0; //关特殊信号灯}if(Busy_Btton==0) //测试按键是否按下,按下为繁忙状态 {EW1=45;SN1=30;EWL1=14;SNL1=14;Special_LED=0; //关特殊信号灯Busy_LED=1; //开繁忙信号灯}if(Special_Btton==0)//测试按键是否按下,按下为特殊状态 {EW1=75;SN1=55;EWL1=19;SNL1=19;Busy_LED=0; //关繁忙信号灯Special_LED =1;//开特殊信号灯}EX0=1; //开中断}/**********************T0中断服务程序*******************/ void timer0(void)interrupt 1 using 1{static uchar count;TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count==10){if(Flag_SN_Yellow==1) //测试南北黄灯标志位{SN_Yellow=~SN_Yellow;}if(Flag_EW_Yellow==1) //测试东西黄灯标志位{EW_Yellow=~EW_Yellow;}}if(count==20){Time_EW--;Time_SN--;if(Flag_SN_Yellow==1) //测试南北黄灯标志位{SN_Yellow=~SN_Yellow;}if(Flag_EW_Yellow==1) //测试东西黄灯标志位{EW_Yellow=~EW_Yellow;}count=0;}}/*********************主程序开始***********************/ void main(void){Busy_LED=0;Special_LED=0;IT0=1; //INT0负跳变触发TMOD=0x01; //定时器工作于方式1TH0=(65536-50000)/256; //定时器赋初值TL0=(65536-50000)%256;EA=1; //CPU开中断总允许ET0=1; //开定时中断EX0=1; //开外部INTO中断TR0=1; //启动定时while(1){/*******S0状态**********/SN_ManRed=0;SN_ManGreen=1; //SN人行道通行EW_ManRed=1; //EW人行道禁止EW_ManGreen=0;Flag_EW_Yellow=0; //EW关黄灯显示信号Time_EW=EW;Time_SN=SN;while(Time_SN>=5){P1=S[0]; //SN绿灯,EW红灯Display();}/*******S1状态**********/P1=0x00;while(Time_SN>=0){Flag_SN_Yellow=1; //SN开黄灯信号位P1=P1|0x08; //保持EW红灯Display();}/*******S2状态**********/SN_ManRed=1; //SN人行道禁止SN_ManGreen=0;EW_ManRed=1; //EW人行道禁止EW_ManGreen=0;Flag_SN_Yellow=0; //SN关黄灯显示信号Time_SN=SNL;while(Time_SN>=5){P1=S[2]; //SN左拐绿灯亮,EW红灯Display();}/*******S3状态**********/P1=0x00;while(Time_SN>=0){Flag_SN_Yellow=1; //SN开黄灯信号位P1=P1|0x08; //保持EW红灯Display();}/***********赋值*********/EW=EW1;SN=SN1;EWL=EWL1;SNL=SNL1;/*******S4状态**********/SN_ManRed=1; //SN人行道禁止SN_ManGreen=0;EW_ManRed=0;EW_ManGreen=1; //EW人行道通行Flag_SN_Yellow=0; //SN关黄灯显示信号Time_EW=SN;Time_SN=EW;while(Time_EW>=5){P1=S[4]; //EW通行,SN红灯Display();}/*******S5状态**********/P1=0X00;while(Time_EW>=0){Flag_EW_Yellow=1;//EW开黄灯信号位P1=P1|0x80; //保持SN红灯Display();}/*******S6状态**********/SN_ManRed=1; //SN人行道禁止SN_ManGreen=0;EW_ManRed=1; //EW人行道禁止EW_ManGreen=0;Flag_EW_Yellow=0;//EW关黄灯显示信号Time_EW=EWL;while(Time_EW>=5){P1=S[6]; //EW左拐绿灯亮,SN红灯Display();}/*******S7状态**********/P1=0X00;while(Time_EW>=0){Flag_EW_Yellow=1; //EN开黄灯信号位P1=P1|0x80; //保持SN红灯Display();}/***********赋值********/EW=EW1;SN=SN1;EWL=EWL1;SNL=SNL1;}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Guangdong Institute of EducationBTEC CenterProgram: Electrical/Electronic Engineering (Electronic) Unit Title: Microprocessor SystemsUnit No: 10 Assignment Title: Design of traffic lights on public roads Assignment No.: 1002Issue Date: 10.19Submission Deadline: 12.13Assessor/Tutor: Sunny YaoInternal Verifier: Ricky ZhangStudent: Hong GuoStudent’s Reg. No: A233172NOTES TO STUDENTS●Check carefully the submission date and the instructions given with theassignment. Late assignments will not be accepted.●Ensure that you give yourself enough time to complete the assignment by the duedate.●Do not leave things such as printing to the last minute – excuses of this naturewill not be accepted for failure to hand-in the work on time.●You must take responsibility for managing your own time effectively.●If you are unable to hand in your assignment on time and have valid reasons suchas illness, you may apply (in writing) for an extension.●When you refer to the work of other authors in your assignment, you mustpractice citation by following Harvard System for Referencing.●If you are caught plagiarizing, you could have your grade reduced to zero, orat worst, you could be excluded from the course.STUDENT’S DECLARATION:I confirm that this is all my own work.Student’s Signature: Hong GuoAssignment DescriptionScenarioOn the bustling road of heavy traffic and endless stream of people,Safety guidelines for public roads are very important to ensure people against traffic injury. The traditional way is to equip traffic police or coordination and management personnel for the public roads. But this method is not only a waste of human and financial resources. Besides while the traffic police or the coordination and management personnel are working they usually have to withstand sunning, winding or raining. In addition, they must still face to security threats bringing from traffic accidents in every minute.Nowadays science and technology are in rapid development, this traditional practice can completely be replaced by advanced electronic products. The public road safety indicator lights which are design based on microprocessors are rightly such products. Not only these products can be designed flexibly and adjusted easily but also they are cost-effective in using and maintenance. In addition, they are really a beautiful landscape in city life.Now suppose you are an Electrical Engineer. You are assigned to design a type of traffic lights on public roads for Municipal Authority. The specific requirements are as follows:1.The product can absolutely guarantee the safe of traffic.2.Product should have no less than two guidelines so as to fit for different roadconditions.3.Please set aside a certain number of ports so that they can be upgraded insome day.As an electronics design engineer, you must complete the task as following: Task:1. (Pass Criterion 1.1) Compare types of microprocessor device families. Please compare no less then three types of microprocessor device families in parameters(word length, speed, memory space, timer/counters, i/o facilities, interrupt)in table and then select one type to do your design.2. (Pass Criterion3.1) Evaluate and choose programmable interface devices for a particular situation. Generally speaking, programmable interface device is a type of multi-purpose LSI chip. For example, 8279 is a common programmable interface device which can conveniently accomplish a design including microprocessor-based systems, keyboard and monitors. For another example, 8255 and 8155 are also programmable interface devices which are generally used for expanding ports of microprocessor-based systems. Please evaluate and choose appropriate programmable interface devices to accomplish your design.3. (Pass Criterion 3.2) Design, build program and test an interface for an external device to a microprocessor-based system. Design a schematic circuit, built an algorithm block flow diagram, write a program and test an interface for an external device to a microprocessor-based system. Please pay attention to their consistency and provide detail design steps. In addition, a detailed state description of the implementation phenomenon of your program should be given in text and g raphics or tables.Solution:1. According to the subject, I conpared the following table of the three different types2.Inside 8255, it is 3 parallel data input / output ports, two ways of working control circuit, a read / write control logic circuit and an 8-bit bus buffer. There are two work control circuit: one is group A control circuit, and another is group B control circuit. This two groups control circuit have a Control Command Register to accept the control word from CPU so that they can decide the working way of two ports. And they can also according to the control word requirements to clear exit "0" or by location "1" of the C bitwise.Group A control circuit is used to control upper part of A bitwise and C bitwise(PC7-PC4). Group B control circuit is used to control bottom half of B bitwise and C bitwise(PC3-PC0).Bus Data Buffer is a 3-state bi-directional 8-bit buffer, as a interface between 8255 and system bus, to transferring data, command, control, command, and external state information.Read / write control logic circuit accept the control signal RD,WR,RESEET, address signal AIA0 and so on. Then they according to the requirements of control signal to read out the port data and send that to CPU, or read the data from CPU in port.3. According to the title, I select 8051 and 8255 to design my traffic lights. First I will draw the statechart under reality.Second : The circuit connection diagram I designed:Third: According to the circuit diagram and the status flow, I give the Binary outputORG 00HPORTA EQU 7CFFHPORTB EQU 7DFFHPORTC EQU 7EFFHCADDR EQU 7FFFHLVB: MOV DPTR,#7FFFHMOV A,#80HMOVX @DPTR,AMOV DPTR,#7DFFHMOV A,#42HMOVX @DPTR,AMOV DPTR,#7EFFHMOV A,#49HMOVX @DPTR,AMOV R4,#12LCALL DELAYDebug results:The program of the second state: LVB1:MOV DPTR,#7DFFHMOV A,#08HMOVX @DPTR,AMOV DPTR,#7EFFHMOV A,#61HMOVX @DPTR,AMOV R4,#12LCALL DELAYMOV R7,#6Debug results:So the whole program is:ORG 00HPORTA EQU 7CFFHPORTB EQU 7DFFH PORTC EQU 7EFFH CADDR EQU 7FFFH LVB: MOV DPTR,#7FFFHMOV A,#80HMOVX @DPTR,AMOV DPTR,#7DFFHMOV A,#42HMOVX @DPTR,AMOV DPTR,#7EFFHMOV A,#49HMOVX @DPTR,AMOV R4,#12LCALL DELAY LVB1:MOV DPTR,#7DFFH MOV A,#08HMOVX @DPTR,AMOV DPTR,#7EFFHMOV A,#61HMOVX @DPTR,AMOV R4,#12LCALL DELAYMOV R7,#6LVB2:MOV DPTR,#7DFFH MOV A,#04HMOVX @DPTR,AMOV DPTR,#7EFFHMOV A,#51HMOVX @DPTR,AMOV R4,#3LCALL DELAYMOV DPTR,#7DFFHMOV A,#00HMOVX @DPTR,AMOV DPTR,#7EFFHMOV A,#41HMOVX @DPTR,AMOV R4,#3LCALL DELAYDJNZ R7,LVB2LVB3:MOV DPTR,#7DFFHMOV A,#03HMOVX @DPTR,AMOV DPTR,#7EFFHMOV A,#0CHMOVX @DPTR,AMOV R4,#12LCALL DELAYMOV R7,#6LVB4:MOV DPTR,#7DFFH MOV A,#02HMOVX @DPTR,AMOV DPTR,#7EFFHMOV A,#8AHMOVX @DPTR,AMOV R4,#3LCALL DELAYMOV DPTR,#7DFFHMOV A,#02HMOVX @DPTR,AMOV DPTR,#7EFFHMOV A,#08HMOVX @DPTR,AMOV R4,#3LCALL DELAYDJNZ R7,LVB4LJMP LVB1 DELAY: MOV R3,#0D2:MOV R2,#0D1:DJNZ R2,D1DJNZ R3,D2DJNZ R4,DELAYRETENDReference:Journal articles:Internet resource:。

相关文档
最新文档