文档库 最新最全的文档下载
当前位置:文档库 › 8255控制字组暂存器位址

8255控制字组暂存器位址

8255控制字组暂存器位址
8255控制字组暂存器位址

三,程式:A10-2-3.ASM

CRTL XDATA 8300H ;8255控制字組暫存器位址

PA XDATA 8000H ;8255 PA埠位址

RESET BIT P2.2 ;8255 RESET接腳

FLAG BIT 20H.0 ;按鍵回應旗號

D_RAM DATA 30H ;顯示器位址30H~35H

dis_ptr DA TA 22H ;顯示器掃描指標

scan_val DATA 23H ;鍵盤列掃描值

key_ptr DATA 24H ;按鍵計數指標

temp DATA 25H ;按鍵暫存RAM,以判斷是否放開CSEG A T 00H

JMP START

CSEG A T 0BH

JMP T0_int

START:

MOV SP,#60H ;設堆疊區在60H

MOV dis_ptr,#00 ;七段顯示器掃描初值D1

MOV TMOD,#00000001B ;設TIMER0工作在MODE1

MOV TH0,#HIGH (65536-3000) ;計時中斷4000微秒=4毫秒

MOV TL0,#LOW (65536-3000)

MOV IE,#10000010B ;TIMER0中斷致能

SETB TR0 ;TIMER0啟動計時

SETB RESET ;8155重置

CALL D100US

CLR RESET

MOV DPTR,#CRTL ; 8255設定PB輸出、PC0~PC3輸出、PC4~P7輸入

MOV A,#88H

MOVX @DPTR,A

MOV R0,#D_RAM ;顯示器記憶體位址30H~35H,定址在30H

SS1: CLR FLAG ;清除按鍵旗號=0,有按則為1

CALL SCAN_4X3 ;掃描4×3鍵盤

JNB FLAG,SS1 ;是否有按鍵?FLAG=1表有按

CALL D20MS ;有按則機械反彈跳

SS2: MOV DPTR,#PA+200H ;按鈕是否放開?

MOVX A,@DPTR

XRL A,temp

JZ SS2

CALL D20MS

MOV A,key_ptr ;按鈕放開,則依按鍵指標讀取按鍵碼

MOV DPTR,#KEY_TAB

MOVC A,@A+DPTR

XCH A,D_RAM+5 ;目前按鍵碼存入35H,35H原來資料移入34H

XCH A,D_RAM+4 ;34H←35H

XCH A,D_RAM+3 ;33H←34H

XCH A,D_RAM+2 ;32H←33H

XCH A,D_RAM+1 ;31H←32H

XCH A,D_RAM ;30H←31H

JMP SS1

SCAN_4X3:

MOV scan_val,#0F7H ;列掃描初值

MOV key_ptr,#00H ;按鍵指標初值

SC1: MOV DPTR,#PA+200H

MOV A,scan_val ;輸出列掃描值

MOVX @DPTR,A

MOV DPTR,#PA+200H ; PC埠定址,讀取4×3按鍵, 目前按鍵值存入temp

MOVX A,@DPTR

MOV temp,A

SETB C

MOV 08H,#03H ;偵測3行(PC7~PC5)

SC2: RLC A

JNC KEYIN ;C=0表有按,有按則設FLAG=1

INC key_ptr ;沒有按則按鍵指標加1

DJNZ 08H,SC2 ;是否已偵測3行?

MOV A,scan_val ;是則掃描下一列

SETB C

RRC A

MOV scan_val,A

JC SC1 ;C=0表4列已掃描完畢

RET

KEYIN: SETB FLAG ;有按則設旗號為1

RET

T0_int: PUSH ACC

PUSH PSW

PUSH DPH

PUSH DPL

CLR RS0 ;暫存器庫2

SETB RS1

MOV TH0,#HIGH (65536-3000) ;重設計時中斷4000微秒=4毫秒

MOV TL0,#LOW (65536-3000)

MOV A,dis_ptr ;將顯示器掃描值移至高4位元

SW AP A

MOV B,A

MOV A,dis_ptr

ADD A,#30H ;顯示器記憶體定址30H+掃描值=目前顯示器位址

MOV R0,A

MOV A,@R0 ;間接定址,顯示器記憶體內容讀入A

ORL A,B ;掃描值+顯示值

MOV DPTR,#PA+100H ;PB埠定址

MOVX @DPTR,A ;輸出至PB埠

INC dis_ptr

MOV A,dis_ptr

CJNE A,#6,TI1 ;是否掃完6個顯示器?不是則跳至TI1

MOV dis_ptr,#0 ;重設顯示器掃描初值0

TI1: POP DPL

POP DPH

POP PSW

POP ACC

RETI

D100US: MOV R7,#50 ;100微秒

DJNZ R7,$

RET

D20MS: MOV R7,#40 ;20毫秒

D21: MOV R6,#248

DJNZ R6,$

DJNZ R7,D21

RET

KEY_TAB:

DB 01H,02H,03H ;按鍵碼

DB 04H,05H,06H

DB 07H,08H,09H

DB 0AH,00H,0BH

END

(整理)应用8255A实现交通灯控制设计

二○一一~二○一二学年第二学期信息科学与工程学院课程设计报告书 课程名称:微机原理课程设计 班级:电子信息工程2009级6 班学号:200904135150 姓名:张强 指导教师:徐守明 二○一二年二月二十日

前言 随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次交通灯系统控制的设计目的。交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。 十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。目前,有一种使用“模糊控制”技术控制交通灯的方法。能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。 本次的交通灯控制系统主要由8255A并行口、8253定时/计算器、8259单极中断控制器以及74LS139译码器实验等芯片组成。整个课程设计主要使用8255A的A口和B口模拟十字路口交通灯的闪烁情况。主要包括以下五个方面:1.课程设计题目名称;2.课程设计要求完成的任务;3.系统设计文档(包括了总体设计、详细设计以及程序设计等文档);4、课程设计总结;5.参考文献本次课程设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。通过本次的课程设计,更好的学习微机接口的应用技术,使我们将课堂所学到的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。 由于时间仓促和水平所限,本次课程设计难免有欠妥之处,请不吝批评指正。 摘要:本文介绍了以计算机为核心.利用可编程并行接口芯片8255A的软硬件功能,实现对交通灯控制 关键词:计算机可编程并行接日芯片交通灯 8255A

(完整版)8255练习题及答案

8255练习题及答案 一、填空题 1、8255A端口C按位置位复位控制字的_________位用来指定要置位或复位的端口C1的具体位置。 答案:D3、D2和D1 2、8255A端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。答案:D0 3、8255A端口A工作在方式2时,使用端口C的________作为与CPU和外部设备的联络信号。 答案:PC7~PC3 4、8255A的每个端口的数据寄存器的长度为____位。 答案:8 5、Intel 8255A是一个________________________接口芯片。 答案:可编程的通用并行输入输出 6、了般I/O接口的编址方式可分为________________两种方式。 答案:I/O接口单独编,与存储器统一编址 7、8255A的端口C按位置位复位控制字的_________位用来指定置位或复位的端口C的具体位置. 答案:D3,D2和D1 8、8255A的端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。答案:D0 9、8255A的端口A工作在方式2时,使用端口C的_________作为与CPU和外部设备的联络信号。 答案:PC7~PC3 10、8255A与CPU连接时,地址线一般与CPU的地址总线的_________连接。 答案:A0和Al 11、8255A控制字的最高位D7=_________时,表示该控制字为方式控制字。 答案:1 12、8255A的端口A的工作方式是由方式控制字的____位决定。 答案:D6和D5 13、8255A的端口B的工作方式由方式控制字的________位决定。 答案:D2 14、8255A的端口C的按位置位复位功能是由控制字中的D7=______来决定的。 答案:0 15、8255A内部具有_____个输入输出接口。 答案:3 16、8255A内部具有_______个输入输出端口。 答案:3 17、8255A的三个端口中只有端口____没有输入锁存功能。 答案:C 18、Intel8255A是一个_________________接口芯片。 答案:可编程的通用并行输入输出 19、8255A与CPU连接时,地址线一般与CPU的地址总线的__________连接。

实验 并行IO口8255扩展

实验三并行I/O口8255扩展 一、实验目的 1、了解8255A芯片的结构以及编程方法 2、掌握通过8255A并行口读取开关数据的方法 二、实验说明 本次实验用通过8255扩展接口,仅通过P0端口控制8只集成式7段数码管的显示控制。8255A的PA、PB 端口分别连接8位数码管的段码和位码,程序控制数码管滚动显示一串数字。 三、实验线路图 四、实验步骤 1、先建立文件夹“ex3”,然后建立“ex3”工程项目,最后建立源程序文件“ex3.c”,输入如下源程序;/******************************************* 实验3:用8255实现接口扩展 ******************************************/ #include #include #define uchar unsigned char

#define uint unsigned int //PA,PB,PC端口及命令端口地址定义 #define PA XBYTE[0x0000] //定义8255A地址 #define PB XBYTE[0x0001] //定义8255B地址 #define PC XBYTE[0x0002] //定义8255B地址 #define COM XBYTE[0x0003] //定义8255B控制寄存器地址 //待显示字符队列编码 uchar code DSY_CODE_Queue[ ]= {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xA4,0xC0,0xC0,0x80,0xC0,0x80,0xF9,0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; //共阳极的7段集成式数码管对应编码 // 0:0xc0 // 1:0xcf // 2:0xa4 // 3:0xb0 // 4:0x99 // 5:0x92 // 6:0x82 // 7:0xf8 // 8:0x80 // 9:0x90 // A:0x88 // B:0x83 // C:0xc6 // D:0xa1 // E:0x86 // F:0x8e // DOT:0x7f //数码管选通 uchar DSY_Index[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //延时 void DelayMS (uint ms) {uchar i; while(ms--) for (i=0;i<120;i++); } /********主程序********/ void main( ) { uchar i,j,k; //8255工作方式选择:PA,PB均输出,工作方式0 COM=0x80; while(1)

实验一 8255控制交通灯实验

D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC7 10 RD 5WR 36A09A18RESET 35CS 6 8255 U36 D0D1D2D3D4D5D6D7WR RD RST A0 A1 PC5PC6PC7 PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678 VCC DS42 A0A1 CS CS1(0F000H) 510 R111510 R112 510R113510R114510R115510R116510R117510R118

.MODEL TINY COM_ADD EQU 0F003H PA_ADD EQU 0F000H PB_ADD EQU 0F001H PC_ADD EQU 0F002H .STACK 100 .DATA LED_Data DB 01111101B ;东西绿灯,南北红灯DB 11111101B ;东西绿灯闪烁,南北红灯 DB 10111101B ;东西黄灯亮,南北红灯 DB 11010111B ;东西红灯,南北绿灯 DB 11011111B ;东西红灯,南北绿灯闪烁 DB 11011011B ;东西红灯,南北黄灯亮 .CODE START: MOV AX,@DATA MOV DS,AX NOP MOV DX,COM_ADD MOV AL,80H ;PA、PB、PC为基本输出模式 OUT DX,AL MOV DX,PA_ADD ;灯全熄灭 MOV AL,0FFH OUT DX,AL LEA BX,LED_Data

实验6.1_8255并行接口与交通灯控制

8255端口地址: 控制寄存器地址28BH A口的地址288H B口的地址289H C口的地址28AH 实验程序: DATA SEGMENT BUF1 EQU 00100100B ;南北绿灯亮东西红灯亮BUF2 EQU 01000100B ;南北黄灯亮东西红灯亮BUF3 EQU 00000100B ;南北灯灭东西红灯亮BUF4 EQU 10000001B ;南北红灯亮东西绿灯亮BUF5 EQU 10000010B ;南北红灯亮东西黄灯亮BUF6 EQU 10000000B ;南北红灯亮东西灯灭DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,80H MOV DX,28BH OUT AX,AL ALL: MOV AL,BUF1 MOV DX,28AH OUT DX,AL CALL DELAYL MOV CX,5 YEL1: MOV AL,BUF2 MOV DX,28AH OUT DX,AL CALL DELAYS MOV AL,BUF3 MOV DX,28AH OUT DX,AL CALL DELAYS LOOP YEL1 MOV AL,BUF4 MOV DX,28AH OUT DX,AL CALL DELAYL MOV CX,4 YEL21: MOV AL,BUF5 MOV DX,28AH

OUT DX,AL CALL DELAYS MOV AL,BUF6 MOV DX,28AH OUT DX,AL CALL DELAYS LOOP YEL2 JMP ALL MOV AH,4CH INT 21H DELAYL PROC NEAR ;长延时 PUSH CX PUSH DI Y1:MOV CX,2000H X1:MOV DI,2000H DEC DI JNE X1 LOOP Y1 POP DI POP CX RET DELAYL ENDP DELAYS PROC NEAR ;短延时 PUSH CX PUSH DI Y2:MOV CX,500H X2:MOV DI,1000H DEC DI JNE X2 LOOP Y2 POP DI POP CX RET DELAYS ENDP CODE ENDS END START 桂林电子科技大学信息与通信学院

可编程定时器计数器(8253) 实验报告

实验名称可编程定时器/计数器(8253)学生姓名 学生学号 专业班级 指导老师 2015-1-7

实验六可编程定时器/计数器(8253) 一、实验目的 掌握8253芯片和微机接口原理和方法,掌握8253定时器/计数器的工作方式和编程原理。 二、实验内容 1.设计8253定时器/技术器仿真电路图; 2.根据仿真电路图,编写代码,对8253定时器/计数器进行仿真。 三、实验要求 1.要求计数器2工作于模式1(暂稳态触发器),计数初值为1250; 2.计数器0工作于方式3(方波模式),输出一个1KHz的方波,8253的 输入时钟为1MHz,计数初始值格式为BCD。 3.8253与系统的连接如图1所示。 图1计数器8253与8086连接原理图

注:实验过程中,发现图1有误。应将8253定时器/计数器右边部分的电阻R2与按钮交换位置。 四、实验原理 8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。 8253的工作方式3被称作方波发生器。任一通道工作在方式3,只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。 进入工作方式3,OUTi输出低电平,装入计数值后,OUTi立即跳变为高电平。如果当GATE为高电平,则立即开始减“1”计数,OUTi保持为高电平,若n为偶数,则当计数值减到n/2时,OUTi跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUTi端输出的周期为n×CLKi周期,占空比为1:1的方波序列;若n为奇数,则OUTi端输出周期为n×CLKi周期,占空比为((n+1)/2)/((n-1)/2)的近似方波序列。 8253定时器/计数器控制字决定这定时器0,1,2的工作模式。一旦CPU对控制字进行写操作,且对相应的定时器有效,则相应定时器改变工作模式,可能准备接收计时初值。控制字的格式如图2所示。

8255交通灯控制系统(倒计时显示,紧急中断)

《单片机原理与应用》 课程设计报告 题目:简单交通灯控制系统 专业:计算机科学与技术 班级:09计算机1班 学号:09070009 姓名:陈民厅 天津理工大学中环信息学院 计算机工程系 2011年12月29 日

交通灯控制系统设计 摘要 设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。如遇到特殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后拨动另一个开关,系统返回继续运行。同时用LED用倒计时方式显示各路口亮灯时间。 关键词:单片机,交通灯,应急开关,LED

1绪论 1.1设计背景 红绿交通灯自动控制系统在城市十字(或丁字)路口有着广泛的应用。随着社会的进步,人们生活水平的提高,私家车数量会不断增加,对城市交通带来前所为有的压力。道路建设也将随之发展,错综复杂的道路将不段增多。为维持稳定的交通秩序,红绿灯自动控制系统将得到更为广泛的应用。现在实际应用的红绿灯系统中一般没有倒计时功能,使司机和行人不知道指示灯还有多久将会改变现有状态。本设计应用基本数字电路知识,采用LED灯作红、绿、黄三交通灯,用七段数码管作同步倒计时显示。实现两方向通行时间不相等的控制并配有倒计时。 1.2设计目的 熟悉单片机控制系统,并了解系统设计的一般规律。 掌握8255芯片的结构及编程方法。 熟悉模拟交通灯控制的实现方法。 1.3设计任务及要求 设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。如遇到特殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后拨动另一个开关,系统返回继续运行。同时用LED用倒计时方式显示各路口亮灯时间。 2 设计使用的仪器和设备 2.1 达爱思教仪 本实验采用达爱思教仪型号是Dais-PG206FD 2.2八段数码管 码管, 2.3 8255芯片 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(8255引脚如图1,8255编程模式如图2)。 的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接

微机原理实验四实验报告 8255控制交通灯实验

实验四 8255控制交通灯实验 一、实验目的与要求 1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。 2、熟悉8255内部结构和与8088的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。 3、认真预习本节实验内容,尝试自行编写程序,填写实验报告。 二、实验设备 STAR系列实验仪一套、PC机一台 三、实验内容 1、编写程序:使用8255的PA0.. 2、PA4..6控制LED指示灯,实现交通灯功能。 2、连接线路验证8255的功能,熟悉它的使用方法。 四、实验原理图 五、实验步骤 六、演示程序

.MODEL TINY COM_ADD EQU 0F003H PA_ADD EQU 0F000H PB_ADD EQU 0F001H PC_ADD EQU 0F002H .STACK 100 .DATA LED_Data DB 01111101B ;东西绿灯,南北红灯DB 11111101B ;东西绿灯闪烁,南北红灯 DB 10111101B ;东西黄灯亮,南北红灯 DB 11010111B ;东西红灯,南北绿灯 DB 11011111B ;东西红灯,南北绿灯闪烁 DB 11011011B ;东西红灯,南北黄灯亮 .CODE START: MOV AX,@DATA MOV DS,AX NOP MOV DX,COM_ADD MOV AL,80H ;PA、PB、PC为基本输出模式 OUT DX,AL MOV DX,PA_ADD ;灯全熄灭 MOV AL,0FFH OUT DX,AL LEA BX,LED_Data START1: MOV AL,0 XLAT OUT DX,AL ;东西绿灯,南北红灯 CALL DL5S MOV CX,6 START2: MOV AL,1 XLAT OUT DX,AL ;东西绿灯闪烁,南北红灯 CALL DL500ms MOV AL,0 XLAT OUT DX,AL CALL DL500ms LOOP START2 MOV AL,2 ;东西黄灯亮,南北红灯 XLAT OUT DX,AL CALL DL3S MOV AL,3 ;东西红灯,南北绿灯

8253定时计数器知识点总结

8253定时/计数器知识点总结 1、8253简介 8253是用来测量时间或者脉冲的个数,通过计量一个固定频率的脉冲个数,将时间信息转化为数字信息,供计算机系统使用。8253有着较好的通用性和灵活性,几乎可以在所有由微处理器组成的系统中使用。 2、性能描述 (1)每个8253芯片有3个独立的16位计数器通道; (2)每个计数器通道都可以按照二进制或二—十进制计数; (3)每个计数器的计数速率可以高达2MHz; (4)每个通道有6种工作方式,可以由程序设定和改变; (5)所有的输入、输出电平都与TTL兼容。 3、结构组成 结构框图如下 (1)数据总线缓冲器 8253内部实现与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8253的控制信息、数据信息以及CPU从8253读取的状态信息,包括某一时刻的实时计数值。(2)读写逻辑控制 控制8253的片选及对内部相关寄存器的读/写操作,它接收CPU发来的址地信号以实现片选、内部通道选择以及对读/写操作进行控制。 (3)控制寄存器 在8253的初始化编程时,由CPU写入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。 (4)计数通道0号、1号、2号 三个独立的、结构相同的计数器/定时器通道,每个通道包含一个16位计数寄存器存放计数初始值,一个16位的减法计数器,一个16位的锁存器。 锁存器在计数器工作的过程中,跟随计数值的变化。 接收到CPU的读计数值命令时,锁存计数值,供CPU读取。

读取完毕之后,输出锁存器又跟随减1计数器变化。 另外,计数器的值为0的状态,还反映在状态锁存器中,可供读取。 4、引脚说明 与CPU 的接口信号: (1)D0—D7:双向三态数据线,与CPU 相连用以传送数据、控制字以及状态信息。 (2)CS :片选输入信号,低电平有效。 (3)W R RD ,:读/写控制信号,低电平有效。 (4)10,A A :8253的内部计数器和一个控制寄存器的编码选择信号,其功能如下: 10,A A 与其他控制信号,如CS ,W R RD ,共同实现对8253的寻址,如下图: 8253寻址读写操作逻辑表

基于单片机8255交通灯

8255控制交通灯 一、实验目的 了解8255芯片的结构及编程方法,学习模拟交通灯控制的实现方法。 二、实验内容 用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。 三、实验说明 1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化情况和规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1东西绿灯通车,南北红灯。过一段时间转状态2,东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再转状态3,南北绿灯通车,东西红灯。过一段时间转状态 4,南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。最后循环至状态1。 四、实验程序框图 五、实验接线图

六、实验步骤 ①8255 PA0—PA7、PB0—PB3依次接发光二极管L1—L12。 ②以连续方式从0BB0H开始执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车。延时一段时间后东西路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,再切换到东西路口方向,之后重复以上过程。 一摘要: 本系统采用单片机、键盘、LED显示、交通灯演示系统组成。设计一个用于十字路口的车辆及行人的交通管理,系统包括左拐、右拐、及行基本的交通灯的功能,计时牌显示路口通行转换剩余时间,在出现紧急情况时可由交通手动实现全路口车辆禁行而行人通行状态。另外,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行的状态,15s后系统自动恢复正常管理。其他还有 84s与60s通行管理转换等功能。采用数码管与点阵LED相结合的显示方法,既要求倒计时数字输出,又要求有状态灯输出等。 关键字: 单片机系统(AT89C51)控制8255、交通规则、LED显示、动态扫描、按键输入、分时段调整 参考文献:《单片机课程设计指导》北京航天航空大学出版社《基于MCS-51系列的单片机原理的应用设计》国防工业出版社 《单片机实训教程》北京大学出版社 《单片机系统原理及应用》 《微机原理及应用》

微机原理考试题型

2012微机原理考试题型 一、选择题(20分,每小题1分) 二、判断题(15分,每小题1分) 三、填充(每小题1分,共10分) 四、名词解释(15分,每小题3分) 五、综合设计题(共40分) (1)软件编程题 (2)8086系统存储器设计题 (3)8253简单编程题 (4)8255综合编程题 微机原理复习要点(作业),不包含考试的全部要求,考试要求见考试大纲 1、计算机中数的表示:包括二、八、十、十六进制数及相互之间的转换;有符号数 的原码、反码、补码的表示以及表示范围(指定字长)。字符的ASCII码,要求熟知 字符0~9,A~Z,a~z的ASCII码值。 2、存储器的分段,存储器分段的目的,每段的大小小于等于64K;20位物理地址是 如何形成的;段地址、偏移地址、物理地址的概念及相互之间的关系。 3、寻址方式的概念,7种与数据相关的寻址方式,存储器寻址方式EA和PA的计算。 4、汇编指令的功能、执行过程及相关指令对CF、SF、OF、ZF标志位的影响。其中: NOT指令不影响标志位,INC,DEC不影响CF标志位;熟知有符号、无符号比较指令 的不同;哪些指令的执行对堆栈有影响(如:CALL、RET、IRET、INT等)。串传送、 串比较指令的执行过程以及前缀符的使用(REP,REPE、REPNE)。LOOP、LOOPZ、LOOPNZ 以及J指令实现跳转的判断条件。能判断指令格式的对错。 5、熟知数据定义、段定义、过程定义、明确段与段寄存器建立关系(ASSUME)、源 程序结束(END)等伪操作指令;熟知利用“$”自动计算数据个数的方法、AT和ORG 的作用,熟知字符显示、字符串显示、键盘输入等常用DOS功能调用(1、2、9号 功能)。 6、掌握用编写汇编语言编写源程序。 7、时钟周期、总线周期、指令周期的概念。总线周期的4个T状态以及Tw状态的 插入位置。 8、8086CPU有由哪大部分组成,什么是EU和BIU,EU中包含哪些寄存器,BIU 中包含哪些寄存器 9、深刻理解最大模式、最小模式的含义及扩展图。8086相关引脚功能及作用(ALE、 WR、RD、NMI、INTR、INTA、M/IO、MN/MX、READY)。 10、指令执行时,WR、RD、M/IO的电平情况 11、半导体存储器分类(RAM和ROM)以及它们的区别。 12、RAM(SRAM、DRAM必须定时刷新)及ROM(掩膜ROM、PROM、EPROM、 EEPROM)的分类 13、常用静态RAM、ROM芯片以及它们的容量,能根据芯片容量判断地址线、数 据线的根数。 14、存储器与系统的连接(包括地址线、数据线、控制线的连接,特别是片选信号 的产生(方法一:用三八译码器;方法二:用逻辑门);该类题包括两种,一是根据 要求画出系统连接图,二是根据联接图分析芯片的地址范围。(8086奇偶片的连接)。 15、I/O接口的功能,独立编址(PC机采用该法),统一编址;CPU与外设数据传

实验一 8255控制交通灯实验

实验一 8255控制交通灯实验 一、实验目的与要求 1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。 2、熟悉8255内部结构和与8088的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。 3、认真预习本节实验内容,尝试自行编写程序,填写实验报告。 二、实验设备 STAR 系列实验仪一套、PC 机一台 三、实验内容 1、编写程序:使用8255的PA0.. 2、PA4..6控制LED 指示灯,实现交通灯功能。 2、连接线路验证8255的功能,熟悉它的使用方法。 四、实验原理图 D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC7 10 RD 5WR 36A09A18RESET 35CS 6 8255 U36 D0D1D2D3D4D5D6D7WR RD RST A0 A1 PC5PC6PC7 PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678 VCC DS42 A0A1 CS CS1(0F000H) 510 R111510 R112 510R113510R114510R115510R116510R117510R118

.MODEL TINY COM_ADD EQU 0F003H PA_ADD EQU 0F000H PB_ADD EQU 0F001H PC_ADD EQU 0F002H .STACK 100 .DATA LED_Data DB 01111101B ;东西绿灯,南北红灯DB 11111101B ;东西绿灯闪烁,南北红灯 DB 10111101B ;东西黄灯亮,南北红灯 DB 11010111B ;东西红灯,南北绿灯 DB 11011111B ;东西红灯,南北绿灯闪烁 DB 11011011B ;东西红灯,南北黄灯亮 .CODE START: MOV AX,@DATA MOV DS,AX NOP MOV DX,COM_ADD MOV AL,80H ;PA、PB、PC为基本输出模式 OUT DX,AL MOV DX,PA_ADD ;灯全熄灭 MOV AL,0FFH OUT DX,AL LEA BX,LED_Data

单片机8255并行口扩展控制系统设计

单片机最小应用系统 设 计 报 告 指导老师: 学生: 学号: 机电工程学院 年月日

目录 一、设计题目 (3) 二、设计内容与要求 (3) 三、设计目的意义 (3) 四、系统硬件电路图 (3) 五、程序流程图与源程序 (4) 六、系统功能分析与说明 (6) 七、设计体会 (11) 八、参考文献 (12)

一、设计题目 8255并行口扩展控制系统设计。利用单片机AT89S51控制实现8255的PB口输出数据等于PA口输入数据。 二、设计内容与要求 (1)利用单片机AT89S51与8255A设计一个扩展控制系统设计。 (3)要求使用的元器件数目最少,电路尽可能简单。 (4)电源电压为+5V。 三、设计目的意义 1、通过8255并行口扩展控制,进一步熟悉和掌握单片机的结构及工作原理,加 深对单片机理论知识的理解; 2、掌握单片机内部功能模块的应用; 3、掌握单片机的接口及相关外围芯片的特性、使用与控制方法; 4、掌握单片机的编程方法,调试方法; 5、掌握单片机应用系统的构建和使用,为以后设计和实现单片机应用系统打下 良好的基础。 四、系统硬件电路图

(2) PCB图如下: 图2:PCB图 五、程序流程图与源程序 5.1 程序流程图

图3:程序流程图5.2 源程序 #include #define RD P0_3 #define WR P3_7 #define A0 P0_0 #define A1 P0_1 #define REST P3_6 #define CS P0_2 void main(void) { unsigned char get_data; CS=0; REST=1; REST=0; RD=1; P2=0x90; A0=1; A1=1; WR=0; WR=1; ///////////////////////////////////////// 以前是初始化 P2=0xff; A0=0; A1=0; WR=0; WR=1; P2 = 0xff; while(1) { A0=0; A1=0; RD=0;

8255,8253交通灯模拟实验报告

(-)课题简介 (2) (二)设计方案 (2) (三)具体设计 (4) 1.电路原理 (4) 2. ........................................................ 程序原理: 6 3.系统原理 (8) 1)....................................................................... 8259, 8255A, 8254 工作原理:8 4.关键技术分析 (13) 1)实时控制和管理设计 (13) 2)发光二极管闪烁程序 (14) 3)源程序 (15) (四)测试 (21) 1.在测试中遇到的问题记录 (21) 2.测试结果 (22) (五)....................... 总结22 (六)........................... 设计体会23 (七)........................... 参考文献24 (一)课题简介 十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国大多数城市正在采用“自动”红绿交通灯,它具有固左的“红灯一绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向务50秒:要么根拯交通规律,东四方向60秒,南北方向40秒,时间控制都是固泄的。交通灯的时间控制显示,以固定时间值预先"固化”在单片机中,每次只是以一泄周期交替变化。但是,实际上不同时

用8255扩展并行输入输出接口(流水灯程序)

用8255A扩展并行输入输出接口(流水灯程序)+作者:杜康 #include #include #include //头文件 #define PA8255 XBYTE[0x0000] /*定义8255A口地址*/ #define PB8255 XBYTE[0x2000] /*定义8255B口地址*/ #define COM8255 XBYTE[0x6000] /*定义8255控制口地址*/ void time(unsigned int ucMs);//延时单位:ms void main(void) { unsigned char led; P1=0xef; led=P1; COM8255=0x82;//初始化8255 time(50); //延时50ms while(1) { PA8255=led;

led=_crol_(led,1); time(500); //延时0.5s } } void delay_5us(void)//延时5us { _nop_(); _nop_(); } void delay_50us(void)//延时50us { unsigned char i; for(i=0;i<4;i++) { delay_5us(); } } void delay_100us(void)//延时100us { delay_50us(); delay_50us(); }

void time(unsigned int ucMs)//延时单位:ms { unsigned char j; while(ucMs>0) { for(j=0;j<10;j++) delay_100us(); ucMs--; } }

微机原理课程设计-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。修改jiaotong2.asm,实现交通灯原有功能。 (4)将jiaotong2.asm另存为jiaotong3.asm。修改jiaotong3.asm,实现交通灯各个灯亮和灭的时间是原有时间的3倍。 6、实验程序框图

8255控制字

9.3.4 控制字格式与初始化编程 图9.18 8255工作方式控制字格式 图9.19 8255 C口按位置位/复位控制字格式 表9.2 8255 C口按位置位/复位控制字

例9.2试确定图9.5所示频率计电路中8255的控制字,并完成8255的初始化编程和频率计工作编程。(设8255的四个端口地址分别为80H、81H、82H和83H)。 解:(1) 由图9.5(a)的硬件连接图可知,8255工作于方式0,A口输出,B口输入,C 口高4位中的PC7和低4位中的PC0都是输出,因此其工作方式控制字为10000010(即82H)。此外,为保证频率计的正常工作,还要用到几个C口按位置位、复位的控制字,即:PC0的置位控制字:0XXX0001 (即01H) PC0的复位控制字:0XXX0000 (即00H) PC7的置位控制字:0XXX1111 (即0FH) PC7的复位控制字:0XXX1110 (即0EH) (2) 根据图9.5(b)所示的流程图,可写出8255初始化和频率计工作的程序段如下: MOD EQU 82H;方式控制字 PORTA EQU 80H;A口地址 PORTB EQU 81H;B口地址 CNTRL EQU 83H;控制口地址 START:MOV AL,MODE OUT CNTRL,AL ;设置方式控制字 LOOP:MOV AL,01H OUT CNTRL,AL ;PC0置位,计数器复位 DEC AL OUT CNRL,AL ;PC0复位,为计数做准备 MOV AL,OFH OUT CNTRL,AL ;PC7置位,开始输入脉冲计数 CALL DELAY ;延时1秒 DEC AL OUT CNTRL,AL ;PC7复位,停止输入脉冲计数 IN AL,PORTB ;输入计数值 OUT PORTA,AL ;输出显示 JMP LOOP ;循环测量

控制字格式

附:各芯片控制字及操作字格式 1.8253模式设置控制字格式: 2.8259 ICW 及OCW 格式: (1)ICW 1——芯片控制初始化命令字: X X X 1 LTIM SNGL IC 4 D 0 D 7 A 0

(2)ICW 2——设置中断类型号初始化命令字: (3)ICW 3——标识主片/从片初始化命令字: 8259A 主片格式: 8259A (从片INT 接主片的IR i ) (4)ICW 4——方式控制初始化命令字: T 7 T 6 T 5 T 4 T 3 D 0 D 7 1 A 0 S 7 S 6 S 5 S 4 S 3 S 2 S 1 S 0 D 0 D 7 1 A 0 0 ID 2 ID 1 ID 0 D 0 D 7 1 A 0 1 A 0

(5)OCW 1——中断屏蔽操作命令字: (6)OCW 2——优先权循环方式和中断结束方式操作字: (7)OCW 3——特殊屏蔽方式和查询方式操作字: M 7 M 6 M 5 M 4 M 3 M 2 M 1 M 0 D 0 D 7 1 A 0 R SL EOI L 2 L 1 L 0 D 0 D 7 0 A 0 X ESMM SMM 1 P RR RIS D 0 D 7 0 A 0

(1)方式选择控制字格式: (2)端口C 置位/复位控制字: 1 D 6 D 5 D 4 D 3 D 2 D 1 D 0 D 0 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 D 0 D 7

(1)模式寄存器格式: (2)控制寄存器格式: (2)状态寄存器格式: DSR SYNDE T FE OE PE TxE RxRDY TxRDY

8255控制交通灯

专业:机电一体化班级:机电姓名:学号: 设计题目:8255控制交通灯 设计条件: 了解8255芯片的结构及编程方法,学习模拟交通灯控制的实现方法。用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。 功能说明:假设一个十字路口为东西南北走向。交通灯的变化情况和规律如下,初始状态0为东西红灯,南北红灯。然后转状态1东西绿灯通车,南北红灯。过一段时间转状态2,东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再转状态3,南北绿灯通车,东西红灯。过一段时间转状态4,南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。最后循环至状态1。 设计任务: 使用单片机作为控制器来模拟交通灯控制。具体采用8255芯片做为输出口,控制十二个发光二极管燃灭,模拟交通灯管理。要求掌握单片机的结构和功能,学会较简单单片机系统的硬件设计,并能通过汇编语言进行软件编程,完成要求的功能,同时熟练掌握8255A芯片的结构及使用。 设计报告内容包括:1)系统设计方案 2)硬件电路图及硬件电路功能说明 3)软件实现方法及程序流程图 4)源程序及调试结果

摘要 自从交通灯诞生以来,其内部的电路控制系统就不断地被改进,设计方法也多种多样,从而使交通灯显得更加智能化。由于单片机本身具有通讯联网功能,将同一条道路上的信号灯组成一局域网进行统一调度管理,可缩短车辆通行等候时间,实现科学化管理。论文提出了一种涉及单片机的无人智能交通灯管理系统的控制方案,鉴于时间及所学知识所限,文中仅对系统中的一个节点____一个十字路口交通灯的管理进行了具体实现。以8751芯片作为主控制器,可编程并行接口芯片8255作为扩展输出口,通过十二个发光二极管来模拟进行交通灯的燃灭管理,并详细阐述了其工作原理、基本功能框图、关键设计技术及软件工作流程,对选用芯片的特点进行了分析,并最后进行了软件实现,达到了系统要求的功能。

相关文档