8255控制交通灯

合集下载

8255控制交通灯实验总结

8255控制交通灯实验总结

8255控制交通灯实验总结
8255控制
交通灯实验总结
一、实验目的
1. 掌握8255控制器的控制原理和编程过程;
2. 学习8255控制器的编程、基本操作;
3. 通过实验指导的方式,掌握控制交通灯的基本原理;
4. 通过编程,实现交通灯控制系统的实现。

二、实验过程
1. 首先要对8255的编程进行编程,这就需要根据8255的控制字节和模式的要求进行操作;
2. 然后用它来控制交通灯,这需要根据交通灯的运行原理和总线接线的方式来编程控制它;
3. 然后对所做程序进行测试,以验证其控制的可靠性。

三、实验结果
通过本次实验,我们学会了怎样编程控制8255,并且学会了8255控制交通灯的方式,本次实验编程操作也顺利完成,经测试验证,程序实现的正确,交通灯可以根据8255控制运行。

四、总结
本次实验主要是让我们学习掌握8255模块的操作,实现8255控制交通灯的运行,实验结果证明,程序实现正确,交通灯可以根据8255控制运行。

今后,如果能继续拓展,可以把8255用来控制更复
杂的系统,这将有助于我们深入了解和掌握8255控制器的操作技术。

实验二8255A并行口实验(二)——交通灯实验

实验二8255A并行口实验(二)——交通灯实验

实验二 8255A并行口实验(二)——交通灯实验一、实验目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。

二、实验内容1.硬件原理图如图3.22.硬件线路连接(1)8255A片选信号8255CS插孔和译码输出插孔0F0-0FF相连。

(2)8255AC口的PC0-PC7依次和L1-L8相连,B口的PB4-PB7依次和L9-L12相连。

(3)将8255A芯片旁边短路J5连VCC端。

3.编程提示1)通过8255A控制发光二极管PB4-PB7对应黄灯,PC0-PC3对应绿灯,PC4-PC7对应红灯,以模拟交通路灯的管理。

2)要完成本实验,必须先了解交通路灯的亮灭规律,设有一个十字路口1、3为南北方向,2、4为东西方向,初始状态为四个路口的红灯全亮。

之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。

延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后,重复上述过程。

3)程序中设定好8255A的工作模式,及三个端口均工作在方式0,并处于输出状态。

4)各发光二极管共阳极。

使其点亮应使8255A相应端口的位清0。

三、实验步骤1.按图3.2连好实验线路2.运行实验程序(l)DVCC8086-B配置:在DVCC8086-B系统显示命令提示符“-”时,按GO键,显示500 00输入F000:B400按EXEC健在DVCC8086-B且示8255---2,同时L1-L2发光二极管模拟交通灯显示。

(2)OVCC8086-E配置:正确输入实验程序。

运行实验程序G=1000↓观察L1-L12发光二极管模拟交通灯显示情况。

8255交通灯控制实验

8255交通灯控制实验

交通灯控制实验计算机实验班1001 赵训201026811130交通灯控制实验:设计一个十字路口的交通灯控制,设初始状态是4个路口红灯全亮,然后,南北方向绿灯亮,延时30秒,南北方向灯灭,黄灯闪3次后,红灯亮,东西方绿灯亮,延时30秒,东西方黄灯闪3次后红灯亮。

重复上述过程。

要求:作出实验流程图。

硬件连接图。

写出汇编语言程序。

1、实验目的:分析实际的十字路口交通灯的亮灭过程,用实验箱上的8255实现交通灯的控制(红,黄,绿三色灯)。

2、实验设备及材料:微机原理和接口技术实验室的实验箱和电脑设备等。

3、理论依据:此设计是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。

8255A是可编程的通用并行输入/输出接口芯片,因通用性强,使用灵活,可直接与CPU总线相连,应用非常广泛。

8255A芯片内部有3个8为的输入/输出端口,即A口,B口和C口。

从内部控制的角度来讲,可分为两组:A组合B组。

A 组控制模块管理A口和C口德高四位(PC7~PC4),B组控制模块管理B口和C口的低四位(PC3~PC0)。

如硬件连接图所示(在后),红灯(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和CLOCK2,OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30s定时到。

OUT2产生1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。

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芯片的使用,为以后的学习和工作打下良好的基础。

8255A控制交通灯完整实验

8255A控制交通灯完整实验

8255A控制交通灯完整实验二○一一~二○一二学年第二学期信息科学与工程学院课程设计报告书课程名称:微机原理课程设计班级:电子信息工程2009级 6 班学号:200904135150姓名:张强指导教师:徐守明二○一二年二月二十日8255A控制交通灯实验一、实验流程图如下:1、主程序流程图2、中断服务程序(以外部中断0为例)1、2、的设计延时程序,需要知道时钟周期,状态周期,机器周期的概念以及循环程序设计的基本思路。

3、8255A编程,实验中应该先写控制字后写方式字。

这里需要指出的是,硬件连线时一定要严格按照8255A的控制字连线,也就是地址分配问题。

AT89S52的P2口在实验中做地址线,充当地址高8位,P0口既做地址线也做数据线,做地址线时充当地址低8位。

4、8255A选择A口时,不能直接把A0,A1接地,而应该用地址赋值语句给A0,A1赋值,使其同时为低电平,选中A口。

四、实验程序如下:;*********8255PA口的次低三位是南北路口。

次高三位是东西路口*********ORG 0000HLJMP STARTORG 0003H ;外部中断0的中断程序入口地址LJMP KEY1 ;转外部中断0中断服务程序ORG 0013H ;外部中断1的中断程序入口地址LJMP KEY2 ;转外部中断1中断服务程序START:SETB IT0 ;INTO为边沿触发SETB IT1SETB EX0 ;启动T0SETB EX1SETB EA ;开总中断MOV DPTR,#03FFHMOV A,#80HMOVX @DPTR,AS1: MOV A,#10111101BM OV DPTR,#00FFHM OVX @DPTR,A ;第一种状态:东西红灯亮,南北绿灯亮C ALL DELAY5S ;5秒延时西红灯亮,南北黄灯亮M OV DPTR,#00FFHM OVX @DPTR,AC ALL DELAY1S ; 0.2秒延时M OV A,#10111111B ;东西红灯亮,南北黄灯灭,黄灯第一次闪烁M OV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SMOV A,#10111011B ;第二种状态:东西红灯亮,南北黄灯亮M OV DPTR,#00FFHM OVX @DPTR,AC ALL DELAY1SM OV A,#10111111B ;东西红灯亮,南北黄灯灭,黄灯第二次闪烁M OV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1S红灯亮,南北黄灯亮M OV DPTR,#00FFHM OVX @DPTR,AC ALL DELAY1SM OV A,#10111111B ;东西红灯亮,南北黄灯灭,黄灯第次闪烁M OV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SS3: MOV A,#11100111B ;第三种状态:东西绿灯亮,南北红灯亮MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY5SS4: MOV A,#11010111B ;第四种状态:东西黄灯亮,南北红灯亮MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SMOV A,#11110111B ;东西黄灯灭,南北红灯亮,第一次闪烁MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SMOV A,#11010111B ;第四种状态:东西黄灯亮,南北红灯亮MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SMOV A,#11110111B ;东西黄灯灭,南北红灯亮,第二次闪烁MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SMOV A,#11010111B ;第四种状态:东西黄灯亮,南北红灯亮MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SMOV A,#11110111B ;东西黄灯灭,南北红灯亮,第三次闪烁MOV DPTR,#00FFHMOVX @DPTR,ACALL DELAY1SAJMP S1 ;跳转到状态S1状态,循环DELAY5S: ;延时5秒MOV R7,#100L0: MOV R6,#100L1: MOV R5,#248L2: DJNZ R5,L2DJNZ R6,L1D JNZ R7,L0RETDELAY1S: ;延时0.5秒MOV R4,#200L3: MOV R3,#248L4: DJNZ R3,L4D JNZ R4,L3R ET;*****************紧急处理1:东西红灯亮,南北绿灯亮***************************** KEY1:PUSH PSWMOV A,#10111101B ;紧急处理1:东西红灯亮,南北绿灯亮MOV DPTR,#00FFHMOVX @DPTR,AMOV R7,#100 ;延时5S LCALL L0;POP PSW ;注意这里不能把POP弹出堆栈段,弹出就不对RETI ;返回中断位置执行下一条指令;*****************紧急处理2:东西红灯亮,南北绿灯亮**************************** KEY2:PUSH PSWMOV A,#11100111B ;紧急处理2:东西红灯亮,南北绿灯亮MOV DPTR,#00FFHMOVX @DPTR,AMOV R7,#100 ;延时5SLCALL L0;POP PSWRETI ;返回中断位置执行下一条指令END。

微机原理课程设计-8255控制交通灯[精选合集]

微机原理课程设计-8255控制交通灯[精选合集]

微机原理课程设计-8255控制交通灯[精选合集]第一篇:微机原理课程设计-8255控制交通灯微机原理课程设计:8255模拟交通灯1、目的:学习8255使用方法,学习模拟交通灯控制的方法,学习双色灯的使用。

2、要求:控制4个双色LED灯(可发红,绿,黄光),模拟十字路口交通灯管理。

3、电路及连线PC0-PC3连DG1-DG4,PC4-PC7连DR1-DR4。

8255片选CS8255连138译码处210H。

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

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

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

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

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

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

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

最后循环至状态1。

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

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

(3)74LS240为8输入输出的反向驱动器。

5、完成的任务(1)利用计算机和微机原理试验箱,将实验6的程序Tlamp_88.asm在试验箱运行和调试。

全速运行,观察整体效果。

单步运行,观察程序每条语句额执行效果,理解语句含义。

(2)修改实验连线为,PC7-PC4连DG1-DG4,PC3-PC0连DR1-DR4。

8255片选CS8255连138译码处210H孔。

将Tlamp_88.asm另存为jiaotong.asm。

修改jiaotong.asm,实现交通灯原有功能。

(3)修改实验连线为,PB7-PB4连DG1-DG4,PB3-PB0连DR1-DR4。

8255片选CS8255连138译码处210H孔。

将jiaotong.asm另存为jiaotong2.asm。

单片机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;}}。

8255控制交通灯

8255控制交通灯

专业:机电一体化班级:机电姓名:学号:设计题目:8255控制交通灯设计条件:了解8255芯片的结构及编程方法,学习模拟交通灯控制的实现方法。

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

功能说明:假设一个十字路口为东西南北走向。

交通灯的变化情况和规律如下,初始状态0为东西红灯,南北红灯。

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

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

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

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

最后循环至状态1。

设计任务:使用单片机作为控制器来模拟交通灯控制。

具体采用8255芯片做为输出口,控制十二个发光二极管燃灭,模拟交通灯管理。

要求掌握单片机的结构和功能,学会较简单单片机系统的硬件设计,并能通过汇编语言进行软件编程,完成要求的功能,同时熟练掌握8255A芯片的结构及使用。

设计报告内容包括:1)系统设计方案2)硬件电路图及硬件电路功能说明3)软件实现方法及程序流程图4)源程序及调试结果摘要自从交通灯诞生以来,其内部的电路控制系统就不断地被改进,设计方法也多种多样,从而使交通灯显得更加智能化。

由于单片机本身具有通讯联网功能,将同一条道路上的信号灯组成一局域网进行统一调度管理,可缩短车辆通行等候时间,实现科学化管理。

论文提出了一种涉及单片机的无人智能交通灯管理系统的控制方案,鉴于时间及所学知识所限,文中仅对系统中的一个节点____一个十字路口交通灯的管理进行了具体实现。

以8751芯片作为主控制器,可编程并行接口芯片8255作为扩展输出口,通过十二个发光二极管来模拟进行交通灯的燃灭管理,并详细阐述了其工作原理、基本功能框图、关键设计技术及软件工作流程,对选用芯片的特点进行了分析,并最后进行了软件实现,达到了系统要求的功能。

目录第一章绪论 (1)1.1 单片机在电子产品中的应用 (1)1.2 课题背景及设计思想 (2)第二章系统控制要求 (4)第三章交通灯总体设计方案 (5)3.1 总体设计思路 (5)3.2 设计框图 (5)第四章硬件设计 (7)4.1 主控芯片8751 (7)4.2 扩展并行I/O口8255 (10)4.3 数据缓冲器器芯片74LS244 (12)4.4 时钟振荡电路 (12)第五章软件设计 (14)5.1 交通信号灯控制流程图 (14)5.2 控制程序 (15)第六章结论 (18)参考文献 (19)致谢 (20)附:硬件电路图 (21)第一章绪论1.1 单片机在电子产品中的应用单片机又称微控制器MCU(MicroController Unit),由于用它可以很容易地将计算机嵌入到各种仪器和现场控制设备中,因此单片机也叫嵌入式微控制器(Embedded MCU)。

8255控制交通灯实验

8255控制交通灯实验

井合肥禽院HEFEI UNIVERSITY计算机科学与技术系实验报告专业名称计算机科学与技术 _____________课程名称微型计算机原理及接口技术项目名称8255控制交通灯实验 ___________班级________________学号____________姓名_____________________同组人员__无 __________________________ 实验日期2016.12.21、实验目的与要求:(简述本次实验要求达到的目的,涉及到的相关知识点,实验的具体要求。

)1、了解8255 芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。

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

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

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

二、实验内容(根据本次实验项目的具体任务和要求,完成相关内容,可包括:实验目的、算法原理、实验仪器、设备选型及连线图、算法描述或流程图、源代码、实验运行步骤、关键技术分析、测试数据与实验结果、其他)实验内容:1、编写程序,使用的8255的PA0..2 , PA4..6控制LED旨示灯,实现交通灯功能。

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

实验原理:8255A是可编程的通用并行输入/输出接口芯片,因通用性强,使用灵活,可直接与CPU 总线相连,应用非常广泛。

8255A芯片内部有3个8为的输入/输出端口,即A 口,B 口和C 口。

从内部控制的角度来讲,可分为两组:A 组合B 组。

A组控制模块管理A 口和C 口的高四位(PC7~PC), B组控制模块管理B 口和C 口的低四位(PC3~PC)红灯(RLED,黄灯(YLEDD和绿灯(GLED分别接在8255的A,B,C 口的低四位端口,PAQ PA1, PA2 PA3分别接1, 2, 3, 4 (南东北西)路口的红灯,B,C 口类推。

微机课程设计_应用8255A实现交通灯控制

微机课程设计_应用8255A实现交通灯控制

随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。

同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。

交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。

十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。

十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。

当前,国大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。

它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。

交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。

但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。

采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。

它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。

目前,有一种使用“模糊控制”技术控制交通灯的方法。

能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。

但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。

本次的交通灯控制系统主要由8255A并行口、8253定时/计算器、8259单极中断控制器以及74LS139译码器实验等芯片组成。

整个课程设计主要使用8255A的A口和B口模拟十字路口交通灯的闪烁情况。

主要包括以下五个方面:1.课程设计题目名称;2.课程设计要求完成的任务;3.系统设计文档(包括了总体设计、详细设计以及程序设计等文档);4、课程设计总结;5.参考文献本次课程设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。

交通灯控制程序8255

交通灯控制程序8255

DATA SEGMENTLL DB 0F3H, 0EBH, 0FBH, 0EBH, 0FBH, 0EBH, 0FBHDB 0DEH, 0DDH, 0DFH, 0DDH, 0DFH, 0DDH, 0DFH ;交通灯的变化状态DB 0FFHDATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE , DS:DATASTART: MOV AX , DATAMOV DS , AXMOV DX ,8003 HMOV AL , 90HOUT DX , AL ;8255初始化,A为输入,B为输出。

MOV DX , 8001HRE_GO: MOV BX , 0GO: MOV AL , LL[BX] ;以BX作为指针,在状态表中查找状态输出 CMP AL , 0FFH ;与结束标志作比较JZ RE_GOOUT DX , AL ;输出初始工作状态——大红小绿MOV DX , 8000H ;IN AL , DX ;检测小道信号,即8255PA0口AND AL , 01HJZ GO ;小道无信号,返回GO,继续检测 MOV CX , 300 ;让大道维持3秒左右BACK: CALL DELAYDEC CXJNZ BACKMOV DX , 8001HMOV CL , 5 ;大道黄灯闪烁2次,CL为循环次数BACK2: INC BXMOV AL , LL[BX]OUT DX , ALMOV CH , 100 ;保持黄灯持续亮DEC CHJNZ BBDEC CLJNZ BACK2MOV CX , 1000 ;加入10秒左右的延迟BACK3: CALL DELAYMOV DX , 8000HIN AL , DXAND AL , 00000010B ;检测大道信号,即8255PA1口JNZ NEXTDEC CXJNZ BACK3NEXT: MOV CL , 5 ;大道到来3辆车,进入黄灯闪灭状态 MOV DX , 8001HBACK4: INC BXMOV AL , LL[BX]OUT DX , ALMOV CH , 255 ;转换状态,变为大绿小红CC: CALL DELAYDEC CHJNZ CCDEC CLJNZ BACK4JMP RE_GO ;重新GO,完成交通灯的循环MAIN ENDPDELAY PROCMOV SI , 2000HDE1: MOV DI , 9000HDE0: DEC DIJNZ DE0DEC SIJNZ DE1 ;通过双次循环完成延迟MOV AH , 06HMOV DL , 0FFHINT 21H ;调用系统功能,键盘输入给ALPOP DXJZ CON ;判断有无键盘输入,无则返回主程序 MOV DX , 8001HMOV AL , 0FFHOUT DX , AL ;若因意外退出,将全部路口置为红灯EXIT: MOV AH , 4CHINT 21H ;返回DOSCON: RETDELAY ENDPCODE ENDSEND START。

微机原理课程设计——8255_8253交通灯模拟实验

微机原理课程设计——8255_8253交通灯模拟实验

微机原理课程设计一.设计任务及要求:交通信号灯的控制:1.通过8255A并口来控制LED发光二极管的亮灭。

2.A口控制红灯,B口控制黄灯,C口控制绿灯。

3.输出为0则亮,输出为1则灭。

4.用8253定时来控制变换时间。

要求:设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。

之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。

延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。

闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。

延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。

闪烁5次后,再切换到1、3路口方向。

之后,重复上述过程。

二.方案比较及评估论证:分析题意,红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1控制。

30秒延时及闪烁由8253控制,由闪烁的实现方法可分为两种方案:方案一:设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=1 s,因此通道0的计数初值为10000=2710H。

由此方波分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H既30s,计数口,8255将A口数据输入到8086,8086检测到则输出一个高电平到8255的PA7到高电平既完成30s定时。

交通灯控制实验(8255)

交通灯控制实验(8255)
微机接口实验
实验二
交通灯控制实验(8255) 交通灯控制实验(8255)
一、实验目的
掌握8255方式0的工作原理及使用方法。 掌握8255方式0的工作原理及使用方法。 8255方式
二、实验内容
微机接口实验
实验二
交通灯控制实验(8255) 交通灯控制实验(8255)
一、实验目的 掌握8255方式0的工作原理及使用方法。 掌握8255方式0的工作原理及使用方法。 8255方式 二、实验内容 通过并行接口8255 通过并行接口8255实现十字路口交通 8255实现十字路口交通 灯的模拟控制。如图,L7、L6、L5作为南 灯的模拟控制。如图,L7、L6、L5作为南 北路口的交通灯与PC7 PC6、PC5相连 PC7、 相连, 北路口的交通灯与PC7、PC6、PC5相连, L2、L1、L0作为东西路口的交通灯与 作为东西路口的交通灯与PC2 L2、L1、L0作为东西路口的交通灯与PC2 PC1、PC0相连 相连。 、PC1、PC0相连。编程使六个灯按交通灯 变化规律燃灭。 变化规律燃灭。
交通灯控制
二、实验内容
通过并行接口8255 通过并行接口8255实现十字路口交通 8255实现十字路口交通 灯的模拟控制。 L7、L6、L5作为 灯的模拟控制。如下图,L7、L6、L5作为 南北路口的交通灯与PC7 PC6、PC5相连 PC7、 南北路口的交通灯与PC7、PC6、PC5相连 L2、L1、L0作为东西路口的交通灯与 ,L2、L1、L0作为东西路口的交通灯与 PC2、PC1、PC0相连 相连。 PC2、PC1、PC0相连。编程使六个灯按交 通灯变化规律燃灭。 通灯变化规律燃灭。
交通灯控制
三、实验电路
8255 地址: 地址:
控制寄存器: 控制寄存器: C口地址: 口地址: 28BH 28BH 288H 288H

8255控制交通灯

8255控制交通灯

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

二、实验内容
用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。

三、实验步骤
①8255 PB3~PB0、PA7~PA0依次接发光二极管L1~L12。

②运行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车。

延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁。

闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁。

闪烁若干次后,再切换到东西路口方向,之后重复以上过程。

四、实验流程图。

proteus21 8255控制交通灯

proteus21 8255控制交通灯

程序编写及讲解(程序较长,对 照课本讲解)
8255的主要特性
8255是通用的8位并行输入/输出接口芯片,使 用灵活,功能强大,具有如下特点: (1) 8255具有3个8位的数据口(A口、B口和C 口),其中C口还可当作两个4位口来使用。 三个数据口均可用来输入或输出。 (2) 8255具有3种工作方式:方式0、方式1和 方式2。可适应CPU与外设间的多种数据传 输方式,如无条件传送方式、查询传送方 式、中断方式等。 (3) 8255的C口还具有按位控制字的作用是使C口的某一引脚输出特 定的电平状态(高电平或低电平),控制字的格式如下图所 示。
说明:(1)仅C口可按位置位/复位,且只对C口的输 出状态进行控制(对输入无作用)。 (2)一次只能设置C口1位的状态。 (3)这个控制字应写入控制口,而不是C口。
8255控制交通灯
8255控制交通灯
任务单
原理图绘制
程序编写及讲解
总结
任务单
任务 描述
通过本任务的学习,学会使用单片机控制8255 制作交通灯
AT89C51单片机通过P1口与8255数据总线相连接,所有数据通过P1口发 送给8255,通过编程控制、、、A0、A1从而可使82255的A口、B口、C 口工作在不同方式下。=0选中8255芯片,=0向8255写命令或数据, A1A0=11时选择控制口,此时单片机P1口向数据总线发送控制命令,设 置8255的工作方式,使B口工作在输出模式下,A1A0=01时选中B口, 单片机发出的数据传送到B口,通过B口控制对应的LED分时点亮熄灭, 模拟交通灯。
任务 要求
实现 方法
利用Proteus仿真运行,使用单片机控制8255制 作交通灯,并验证其使用方法
8255控制交通灯

8255控制交通灯的设计与实现

8255控制交通灯的设计与实现

INT0: MOV MOV SETB
LOOP: JBC SJMP
LOOP1: RET
TH1,#0BH TL1,#0DCH TR1 TF1,LOOP1 LOOP
8255控制交通灯的设计与实现
——2200050231 廉海涛
课题要求:
用8255做输出口,控制十二个发光二 极管亮灭,模拟交通灯管理。十字路口东 西南北走向。初始状态0为东西红灯,南 北红灯。状态1(10s),东西绿灯通车, 南北红灯;状态2(3s),东西绿灯灭, 黄灯闪几次,南北红灯;状态3(10s), 东西红灯,南北绿灯通车;状态4(3s), 东西红灯,南北绿灯灭,黄灯闪几次。依 次循环
ZT4: MOV MOV MOVX MOV MOV
AGAIN: MOV MOVX LCALL MOV MOVX LCALL DJNZ LJMP
DPTR,#0FF7DH A,#0A0H @DPTR,A DPTR,#0FF7EH R2,#30H A,#03H @DPTR,A INT0 A,#00H @DPTR,A INT0 R2,AGAIN ZT1
软件设计:
▪ 1/4秒钟的设定
延时方法可以有两种一种是利用MCS-51内部定时器才 产生溢出中断来确定1/4秒的时间,另一种是采用软延时 的方法。 假设cpu晶振周期为12MHZ。 1.查询中断: 1/4s=250ms=250 000us=4×62 500个机器周期。 62 500=F424H=1111 0100 0010 0100B 对(1111 0100 0010 0100B)求补
MOVX LCALL MOV MOVX LCALL DJNZ ZT3: MOV MOV MOV MOV MOV MOV MOV DELAY: LCALL
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

专业:机电一体化班级:机电姓名:学号:设计题目:8255控制交通灯设计条件:了解8255芯片的结构及编程方法,学习模拟交通灯控制的实现方法。

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

功能说明:假设一个十字路口为东西南北走向。

交通灯的变化情况和规律如下,初始状态0为东西红灯,南北红灯。

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

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

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

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

最后循环至状态1。

设计任务:使用单片机作为控制器来模拟交通灯控制。

具体采用8255芯片做为输出口,控制十二个发光二极管燃灭,模拟交通灯管理。

要求掌握单片机的结构和功能,学会较简单单片机系统的硬件设计,并能通过汇编语言进行软件编程,完成要求的功能,同时熟练掌握8255A芯片的结构及使用。

设计报告内容包括:1)系统设计方案2)硬件电路图及硬件电路功能说明3)软件实现方法及程序流程图4)源程序及调试结果摘要自从交通灯诞生以来,其内部的电路控制系统就不断地被改进,设计方法也多种多样,从而使交通灯显得更加智能化。

由于单片机本身具有通讯联网功能,将同一条道路上的信号灯组成一局域网进行统一调度管理,可缩短车辆通行等候时间,实现科学化管理。

论文提出了一种涉及单片机的无人智能交通灯管理系统的控制方案,鉴于时间及所学知识所限,文中仅对系统中的一个节点____一个十字路口交通灯的管理进行了具体实现。

以8751芯片作为主控制器,可编程并行接口芯片8255作为扩展输出口,通过十二个发光二极管来模拟进行交通灯的燃灭管理,并详细阐述了其工作原理、基本功能框图、关键设计技术及软件工作流程,对选用芯片的特点进行了分析,并最后进行了软件实现,达到了系统要求的功能。

目录第一章绪论 (1)1.1 单片机在电子产品中的应用 (1)1.2 课题背景及设计思想 (2)第二章系统控制要求 (4)第三章交通灯总体设计方案 (5)3.1 总体设计思路 (5)3.2 设计框图 (5)第四章硬件设计 (7)4.1 主控芯片8751 (7)4.2 扩展并行I/O口8255 (10)4.3 数据缓冲器器芯片74LS244 (12)4.4 时钟振荡电路 (12)第五章软件设计 (14)5.1 交通信号灯控制流程图 (14)5.2 控制程序 (15)第六章结论 (18)参考文献 (19)致谢 (20)附:硬件电路图 (21)第一章绪论1.1 单片机在电子产品中的应用单片机又称微控制器MCU(MicroController Unit),由于用它可以很容易地将计算机嵌入到各种仪器和现场控制设备中,因此单片机也叫嵌入式微控制器(Embedded MCU)。

到目前为止,中国的单片机应用和嵌入式系统开发走过了二十余年的历程,随着嵌入式系统逐渐深入社会生活各个方面,单片机也有了从传统的8位处理器平台向32位高级RISC处理器平台转变的趋势,但8位机依然难以被取代。

国民经济建设、军事及家用电器等各个领域,尤其是手机、汽车自动导航设备、PDA、智能玩具、智能家电、医疗设备等行业都是国内目前急需单片机人才的行业。

21世纪人类以迈入“知识经济”时代,科学技术正发生着深刻的改变。

“以信息带动工业化”是我国近年来乃至更长时间第二产业发展的主题,也是我国科学技术发展的必经之路。

单片机自70年代问世以来作为微型计算机的一个很重要的分支,由于其具有集成度高、处理功能强、系统结构简单、价格低廉等特点,因此在工业控制、家用电器、通信设备、信息处理、等各种测控领域的应用都得了令人瞩目的成果。

单片机具有极其高的性能价格比受到人们的重视和关注。

它采用模拟/数字电路实现电控,大部分功能单元都可通过对单片机相关硬件功能的扩展及专用程序的开发来实现系统的要求。

这也代表着许多电路设计问题将转化为程序设计问题。

本文介绍以51系列单片机为核心的交通信号灯控制,详细阐述了其工作原理、基本功能框图、关键设计技术及软件工作流程。

1.2 课题背景及设计思想随着社会的发展,城市规模的不断扩大,城市交通成为制约城市发展的一大因素。

人口和汽车日益增长,市区交通也日益拥挤,人们的安全问题当然也日益重要。

因此,红绿交通信号灯成为交管部门管理交通的重要工具之一。

有了交通灯,人们的安全出行也有了很大的保障。

自从交通灯诞生以来,其内部的电路控制系统就不断的被改进,设计方法也开始多种多样,从而使交通灯显得更加智能化。

尤其是近几年来,随着电子与计算机技术的飞速发展,电子电路分析和设计方法有了很大的改进,电子设计自动化也已经成为现代电子系统中不可或缺的工具和手段,这些都为交通灯控制系统的设计提供了一定的技术基础。

由于单片机本身具有通讯联网功能,将同一条道路上的信号灯组成一个局域网进行统一调度管理,可缩短车辆通行的等候时上图由七部分组成:传感器、下位机、主控机、键盘、显示器、打印机以及声光报警。

在十字路口安装监测传感器可以连接摄象机将路口违章及故障现象传送给下位机(8751),再通过通讯电缆将信息传给主控机(PC),工作人员可以通过声光报警及显示器监控十字路口的实际交通流量情况。

同时通过键盘和打印机来进行人机交互工作。

鉴于时间及所学知识所限,文中仅以一个网络节点来研究其对交通灯进行控制的原理以及实现过程,下文以一个下位机(8751)对十字路口交通灯的管理作为研究对象来进行讨论。

第二章系统控制要求设计的交通信号灯自动控制系统主要完成十字路口东、西、南、北四个方向红、黄、绿灯的时间控制,控制图如下所示:绿色20秒,闪烁5秒,黄色5秒红色30秒东西方向东西方向红色30秒绿色20秒,闪烁5秒,黄色5秒南北方向南北方向北西东南控制方案为一个东西南北走向的十字路,初始状态0为四个路口红灯亮.然后转状态1东西绿通车,南北红灯。

经过一段延时转状态2东西绿灯灭,黄灯闪烁几次,南北仍然红灯。

再延时转状态3南北绿灯通车,东西红灯.过一段延时转状态4南北绿灯灭, 黄灯闪烁几次,东西仍然红灯,最后循环至状态1。

第三章交通灯总体设计方案3.1 设计思路单片机要进行工作,必须构成单片机系统。

单片机系统实质上就是一个微计算机系统,它主要由硬件和软件两大部分组成,硬件为构成计算机系统的所有电子、机械和磁性的部件或设备,软件则是各种程序及数据的总称。

总体设计方案分为硬件设计与软件设计两大部分,是以51系列单片机8751为主控芯片来进行控制和数据的处理与传输,同时配以相应硬件电路来控制十二个发光二极管,来实现交通灯的燃灭管理。

交通灯软件部分主要为整个流程的控制程序,运用单片机汇编语言编写,程序存储在8751芯片的内部ROM中。

3.2 设计框图总体设计框图由五部分组成,即主控制器8751、扩展并行口8255、地址缓冲器74LS244、LED显示及振荡电路。

框图如下:主控芯片8751外接振荡电路,构成单片机最小系统。

由于系统需要进行节点间通讯及对传感器等器件的管理,因此为了不浪费系统原有的口线,这里在主控芯片8751的基础上扩展了一个并行I/O接口8255。

考虑到在实际应用中当电流过小时将无法驱动显示,所以接74LS244进行驱动缓冲,显示器主要通过缓冲器建立人机通道,根据人们的要求来实现对交通灯的控制。

第四章硬件设计4.1 主控芯片8751Intel公司于1980年推出8位的高性能8051单片机,在工业控制领域引起不小的轰动,并迅速确立了其不可动摇的地位。

目前8051系列单片机各生产厂商的主流产品有几十个系列,几百个品种。

尽管其各具特色,名称各异,但作为集CPU、RAM、ROM(或EPROM)、I/O 接口、定时器/计数器、中断系统为一体的单片机,其原理大同小异。

8751 芯片作为Intel公司生产的MCS-51子系列中的一个主要类型,片内驻留有4KB的ROM,外部可用16位地扩展到最大64KB的ROM 空间。

8751数据存储器地址空间分为内部和外部两个独立部分。

片内有256字节的数据存储器地址空间,低128字节地址空间为内部ROM区,作为处理问题的数据缓冲器,高128字节地址空间为特殊功能寄存器区,外部数据存储地址为64KB。

内部RAM及特殊寄存器各存储单元之间的数据传送用“MOV”指令,访问外部RAM或扩展I/O 口用“MOVX”指令。

芯片引脚分布功能如下:VCC8751共有4个I/O端口,为P0、P1、P2、P3 。

(P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7)4个I/O口都为双向且带有锁存器。

每个口有8位,共计32条I/O线。

各端口的功能如下:1. P0 有三个功能:1)外部扩充存储器时,当作数据总线(D0~D7)。

2)外部扩充存储器时,当作地址总线(A0~A7)。

3)不扩充时,可作一般I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。

2. P1 只做I/O口使用,其内部有上拉电阻。

3. P2 有两个功能:1)扩充外部存储器时,当作地址总线(A8~A15)使用。

2)做一般I/O使用,其内部有上拉电阻。

4. P3 有两个功能。

除了作为I/O使用外(内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。

1)P3.0/RXD串行输入口。

2)P3.1/TXD串行输出口。

3)P3.2/INTO外部中断。

4)P3.3/INT1外部中断。

5)P3.4/T0(TIMER0)的外部输入脚。

6)P3.5/T1(TIMER1)的外部输入脚。

7)P3.6/WR外部数据存储器的写入控制信号。

8)P3.7/RD外部数据存储器的读取控制信号。

5. VDD:电源+5V。

VSS:GND接地。

6.RESET 此脚为高电平时(约2个机器周期),可将CPU复位。

7. ALE/PROG (ADDRESS LATCH ENABLE)地址锁存使能信号端,有三种功能:1)8751外接RAM/ROM:ALE接地址锁存器8282(8212)的STB 脚,74373的EN脚,当CPU对外部存储器进行存取时,用以锁住地址的低位地址。

2)8751未外接RAM/ROM:在系统中未使用外部存储器时,ALE 脚也会有1/6石英晶体的振荡频率,可作为外部时钟。

3)在烧写EPROM:ALE作为烧写时钟的输入端。

8. PSEN(PROGRAM STORE ENABLE):程序储存使能端。

9. EA/VPP 1) 接高电平时:CPU 读取内部程序存储器(ROM ),如8051/8052。

扩充外部ROM :存储器超过0FFFH (8051)、1FFFH (8052)时,自动读取外部RON 。

2)接低电平时:CPU 读取外部程序存储器(ROM )。

相关文档
最新文档