用8255做流水灯(汇编)
利用8255A实现LED的流水点亮实验

outdx,al
;-
movdx,211h
moval,00000000b
outdx,al
movdx,210h
moval,40h
outdx,al
movdx,211h
moval,00000010b
outdx,al
;A
movdx,211h
moval,00000000b
outdx,al
moval,7fh
outdx,al
movdx,211h
moval,00100000b
outdx,al
;2
movdx,211h
moval,00000000b
outdx,al
movdx,210h
moval,5bh
outdx,al
movdx,211h
moval,00010000b
outdx,al
;5
movdx,211h
movdx,210h
moval,77h
outdx,al
movdx,211h
moval,00000001b
outdx,al
loop lp ;转至lp
jmplop ;跳至lop
hlt ;使处理器处于暂时停机状态.
codeends
end start
在数码管上显示“8255-A”。
三、实验分析
实验要求利用8255芯片8个开关来控制8个LED灯的开关。我们在课堂上学过8255有ABC三个口,可以输入和输入。因此首先可以想到的就是,把PA口A0-A7接8个波动开关K1-K7,并将A口调整为读入。同时将A口读入的信号用B口输出,这样就可以通过拨动开关来控制LED灯的明灭。为了让灯亮的时间足够人眼分辨出来,需要在程序里加入延时语句,其中加零语句就可以实现延时。
通过51单片机控制24个发光二极管形成流水灯效果的亮灭状态

成绩实验名称:单片机系统简单扩展实验
一、实验目的
1、了解单片机系统的扩展方法
2、熟悉8255A在单片机系统扩中的使用方法。
3、熟悉仿真软件Proteus以及编程软件Keil的使用。
二、实验仪器
三、实验内容
四、实验原理
实验报告
五、实验步骤
步骤:
1、根据给定的实验要求,分析实验的目的以及实验要求。
2、通过计算机仿真软件Proteus,根据实验目的设计电路,并且绘制电路原理图。
3、根据自己设计的电路,编写控制程序。
4、调试所编写的控制程序,直至程序没有语法及语意错误,可以通过编译。
5、将所编写的无错误的程序下载至仿真软件,并进行调试,根据仿真结果修改程序。
6、重复上一步骤,知道仿真效果达到实验要求,即可完成。
六、实验程序
#include <reg51.h>
#include<absacc.h>。
流水灯

南京京信息工程大学滨江学院微机技术综合实验设计报告设计课题:基于8086的8255流水灯实验专业班级:10自动化(1)班学生姓名: 朱鹏周茂飞屠元杰朱达成祝春斌学生学号:20102336055 2010233605220102336032 20102336053 20102336056 指导教师:孙宁成绩:二○一二年十二月二十日基于8086的8255流水灯设计20102336055 朱鹏 20102336052 周茂飞 20102336032 屠元杰20102336053 朱达成 20102336056 祝春斌一设计目的掌握8255的工作方式及应用编程。
掌握8255的典型应用接法。
掌握一定的汇编语言知识,培养自己的动手操作能力。
二设计要求编写程序,使用8255的输出端口,实现流水灯的显示效果。
三设计思路总体方案设计分析在本实验中要求我们用8255的输出端口,接24个发光二极管,从而实现24位流水灯的显示效果,故基本的接线可以如下面图5所示。
基本流水灯显示电路在实验中我们可以用AX进行需要赋值的数据的存储,在本次实验中我们用AL对A口进行赋值,通过延时一段时间再对AL输出,实现了流水灯的效果。
四电路及连线设计1. 8255基本功能Intel 8255是一种功能完善的通用性并行接口•具有3组24条独立的输入输出引脚每条引脚可编程控制•具有简单输入/输出、可选单向输入/输出和双向输入输出3种方式•可与实现与CPU之间的直接连接、查询、中断和DMA 4中传输方式2. 8255A 内部结构图1 8255A的内部结构三个数据端口:A口、B口、C口每个端口都是8位的,可以选择为输入/输出口A口:8位输出锁存/缓冲、输入锁存/缓冲B口:8位输出锁存/缓冲、输入锁存/缓冲C口:8位输出锁存/缓冲、输入缓冲可分为两个4位端口分别使用A组、B组控制电路A组:控制A口和C口上半部分(PC4~PC7)B组:控制B口和C口下半部分(PC0~PC3)数据总线缓冲器读/写控制逻辑3.8255A的引脚图28255A的引脚外设连接的引脚PA0~PA7:A口数据线PB0~PB7:B口数据线PC0~PC7:C口数据线,也可作为和外设的联络线和CPU连接的引脚D7~D0 、A0、A1 、RESET 、、、RESET:输入、高电平有效。
8255流水灯课程设计

8255流水灯课程设计一、教学目标本课程旨在让学生了解和掌握8255芯片的基本原理和应用,通过设计一个流水灯电路,使学生能够将理论知识应用于实际操作,提高学生的动手能力和创新能力。
具体的教学目标如下:1.知识目标:使学生了解8255芯片的内部结构、工作原理和引脚功能;掌握编程语言的基本语法和编程技巧。
2.技能目标:培养学生使用编程软件进行程序设计的能力;训练学生进行电子电路搭建和调试的能力。
3.情感态度价值观目标:培养学生对电子科技的兴趣和热情,增强学生解决实际问题的信心和勇气。
二、教学内容本课程的教学内容主要包括以下几个部分:1.8255芯片的基本原理和引脚功能介绍。
2.编程语言的基本语法和编程技巧。
3.流水灯电路的设计和搭建。
4.程序的调试和优化。
三、教学方法为了达到本课程的教学目标,我们将采用以下教学方法:1.讲授法:用于讲解8255芯片的基本原理和引脚功能,编程语言的基本语法。
2.实验法:用于训练学生进行电子电路搭建和调试的能力。
3.讨论法:用于引导学生探讨和解决实际问题。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:提供理论知识的学习。
2.多媒体资料:用于辅助讲解和演示。
3.实验设备:用于学生的实践操作。
五、教学评估为了全面、客观、公正地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和理解能力。
2.作业:布置与课程内容相关的作业,评估学生的掌握程度和应用能力。
3.考试:定期进行考试,测试学生对课程知识的记忆和理解。
六、教学安排本课程的教学安排如下:1.教学进度:按照教材的章节顺序进行教学,确保学生能够系统地学习知识。
2.教学时间:每周安排固定的课时进行授课,保证学生有足够的时间学习。
3.教学地点:选择适合进行电子电路实验的实验室,方便学生进行实践操作。
七、差异化教学为了满足不同学生的学习需求,我们将采取以下差异化教学措施:1.针对不同学生的学习风格,采用不同的教学方法,如讲解、实验、讨论等。
8086系统 8255并行 交通灯控制程序(汇编程序代码+详细注释内容)

DATAS SEGMENT;此处输入数据段代码CONADD EQU 21BH ;控制寄存器端口地址BADD EQU 219H ;B口地址CADD EQU 21AH ;C口地址DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AX;此处输入代码段代码;ORG 2000H ;定义起始地址XOR CH,CHXOR AH,AHMOV AL,80H ;1 00 0 0 0 0 0B方式0,输出MOV DX,CONADD ;写控制字OUT DX,ALMOV AL,01101111B ;东西方向全红(接高四位)MOV DX,BADD ;DX保存Bd口地址OUT DX,ALMOV AL,11011011B ;南北方向全红MOV DX,CADDOUT DX,ALCALL DELAY1 ;延时S: MOV AL,1101111BMOV DX,BADD ;东西方向绿灯亮,起始状态OUT DX,ALMOV AL,10011011B ;南北方向红灯亮MOV DX,CADDOUT DX,ALCALL DELAY2 ;长延时MOV CX,0005H ;黄灯闪5次Y1: MOV AL,10111111BMOV DX,BADDOUT DX,ALMOV AL,01011011BMOV DX,CADDOUT DX,AL ;黄灯亮CALL DELAY3MOV AL,11111111BMOV DX,BADDOUT DX,ALMOV AL,11011011BMOV DX,CADDOUT DX,AL ;黄灯灭CALL DELAY3LOOP Y1MOV AL,01101111BMOV DX,BADDOUT DX,ALMOV AL,11110110BMOV DX,CADD ;东西红灯,南北绿灯OUT DX,ALCALL DELAY2 ;长延时MOV CX,0005H ;黄灯闪5次Y2: MOV AL,01101111BMOV DX,BADDOUT DX,ALMOV AL,11101101BMOV DX,CADDOUT DX,ALCALL DELAY2MOV AL,01101111BMOV DX,BADDOUT DX,ALMOV AL,11111111BMOV DX,CADDOUT DX,ALCALL DELAY2LOOP Y2MOV AH,1;待定,有键按下退出INT 16HJZ SMOV AH,4CHINT 21H;回到起始状态,不断循环DELAY1 PROC NEAR ;短延时子过程PUSH CX ;CX入栈保护(保护外循环次数)MOV CX,08000H ;置LOOP次数T:LOOP T ;跳转至本身,延时作用POP CX ;CX出栈RET ;返回DELAY1 ENDPDELAY2 PROC NEAR ;长延时子过程PUSH AX ;AX(AL)入栈保护PUSH CX ;CX入栈保护MOV CX,0010H ;置LOOP次数K:CALL DELAY1 ;调用短延时LOOP K ;循环一次,CX减1POP CX ;数据出栈,先进后出POP AXRET ;返回DELAY2 ENDPDELAY3 PROC NEAR ;长延时子过程PUSH AX ;AX(AL)入栈保护PUSH CX ;CX入栈保护MOV CX,0010H ;置LOOP次数Q:CALL DELAY1 ;调用短延时LOOP Q ;循环一次,CX减1POP CX ;数据出栈,先进后出POP AXRET ;返回DELAY3 ENDPCODES ENDSEND START。
8255控制led灯和汇编语言控制主板发声

实验一8255a控制LED灯输出实验要求1.识别仪器上的键盘输入,在LED灯上输出相应字符(0~F)2.将仪器上原来一行4个键,共4列16个键的键盘,对应固定的LED 灯,6个一组(共6个LED灯),第七个控制第一个灯,如此循环3.按住相应键后,显示相应键值在灯上,并且松开后依然不变,直到摁到其他键,6个灯只能亮一个,并且多次按一个键,灯会从左向右循环亮。
8255A引脚图sstack segment stackdb 1024 dup(0)sstack endsdata segmentLEDtb db 0C0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8hdb 80h,90h,88h,83h,0c6h,0a1h,86h,8ehlq db ?data endscode segment 'code'assume cs:code,ds:data,ss:sstackstart:mov ax,datamov ds,axmov dx,06c6h ;初始化控制字81hmov al,10000001bout dx,all1: mov ah,11111110B ;操作灯亮的位置mov dx,06c0h ;通过端口A实现mov al,00000000B ;初始化数码管out dx,almov cx,4 ;循环计数l2:mov dx,06c2h ;通过B端口初始化mov al,ahout dx,almov dx,06c0hmov al,00000000Bout dx,alshl ah,1 ;移位,使亮灯移位or ah,1 ;使只有一个灯亮mov dx,06c4h ;C端口操作in al,dx ;读入行,看是否是哪行为0 and al,00001111b ;高4位清零cmp al,0Fhjnz l3loop l2cmp cl,0jz l1l3: mov bx,0not aland al,00001111bl4:inc blshr al,1cmp al,0jnz l4mov al,bldec alshl al,2mov ah,4sub ah,cladd al,ahinc almov lq,aldec lqs1: cmp al,6jg s2jmp l3s2:sub al,6jmp s1s3: ;输出字符dec almov cl,almov bl,01hshl bl,clmov al,blnot almov dx,06c2hout dx,almov dx,06c0hmov si,offset LEDtbmov bl,lqmov bh,0add si,bxmov al,[si]not alout dx,aljmp s1mov ax,4c00hint 21hcode endsend start实验二汇编 8255/8253 操作主板扬声器实验要求通过汇编语言程序操作8255/8253控制主板扬声器,演奏一段乐谱(真心英雄)。
微机实验-流水灯8255

电子信息工程系实验报告课程名称:微机原理与接口技术实验项目名称:8255并行接口流水灯实验 实验时间:2009.12班级: 姓名: 学号:一、实 验 目 的:(1)掌握8255的工作方式及应用编程。
(2)掌握8255的典型应用电路接法。
二、实 验 设备:PC 机一台,实验箱及外部线路一套。
三、实验内容:编写程序,使8255的A 口作为LED 灯的输出,实现8位数据灯的相对循环显示。
(思考:用B 口的一位作为输入,控制LED 灯的循环方向。
)四、实 验 原理:INTEL8255是一种通用的可编程并行I /O 接口芯片,是专为INTEL 公司的微处理器设计的,也可用于其它系列的微型机系统中。
利用8086汇编指令系统,编制初始化程序,可以变更8255 的工作方式,通用性强,使用灵活。
8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。
可与外设并行进行数据交换。
A 口和B 口内具有中断控制逻辑,在外设与CPU 之间可用中断方式进行信息交换。
8255能与许多外部设备连接,例如:键盘、显示器、打印机等。
1、8255芯片特性(1)一个并行输入/输出的LSI 芯片,多功能的I/O 器件,可作为CPU 总线与外围的接口.(2)具有24个可编程设置的I/O 口,即使3组8位的I/O 口为PA 口,PB 口和PC 口.它们又可分为两组12位的I/O 口,A 组包括A 口及C 口(高4位,PC4~PC7),B 组包括B 口及C 口(低4位,PC0~PC3).A 组可设置为基本的I/O 口,闪控(STROBE)的I/O 闪控式,双向I/O3种模式。
2、8255引脚功能RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O 口均被置成输入方式。
CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU 进行通讯;/CS=1时,8255无法与CPU 做数据传输.RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU 发送数据或状态信息,即CPU 从8255读取信息或数据。
交通灯设计-8255-8254(附连线图和源代码)

西安郵電學院硬件课程设计报告题目:微机原理与接口课程设计;^院系名称:计算机学院专业名称:软件工程班级:软件0802学生姓名:王晶晶学号(8位): 04085047指导教师:刘军设计起止时间:2011年05月23日~2011年05月27日[一、设计目的通过可编程并行接口芯片8255A和可编程定时器/计数器芯片8253/8254以及中断控制器 8259实现十字路口交通灯的模拟控制,进一步掌握并行接口和定时器/计数器及数码管控制的实际应用。
二、设计内容1.用试验台提供的发光二极管(红绿黄各两支,共六支)作为南北路口(红绿黄各一支)和东西路口(红绿黄各一支)的模拟交通灯。
2.用可编程并行接口芯片8255A控制模拟交通灯的亮与灭和数码管的倒计时显示。
3.用可编程定时器/计数器芯片8253实现模拟交通灯亮与灭的时间延迟控制。
4.用数码管作为模拟交通灯亮与灭的时间延迟控制的倒计时显示。
'5.用汇编语言编程使六个灯按交通灯变化规律“亮/灭”。
交通灯变化规律要求:① 南北路口的绿灯,东西路口的红灯同时亮30秒,且数码管30秒倒计时显示。
② 南北路口的黄灯闪烁3秒(三亮三灭),同时东西路口的红灯继续亮,且数码管3秒倒计时显示。
③ 南北路口的红灯,东西路口的绿灯同时亮20秒,且数码管20秒倒计时显示。
④ 南北路口的红灯继续亮,同时东西路口的黄灯闪烁3秒(三亮三灭),且数码管3秒倒计时显示。
⑤ 转①重复⑥按压“东西紧急键”,则东西方向绿灯,南北方向红灯;再次按压“东西紧急键”,解除东西紧急通行状态。
(“东西紧急键”可是键盘键,亦可是逻辑开关键)⑦按压“南北紧急键”,则南北方向绿灯,东西方向红灯;再次按压“南北紧急键”,解除南北紧急通行状态。
(“南北紧急键”可是键盘键,亦可是逻辑开关键)"⑧按 <ESC>键退出程序。
备注:1、按键用 8255A 芯片的 PC 口实现或用键盘模拟实现。
2、8253定时到可以通过8259,用中断的方式实现定时器。
8255 控制led灯亮灭编程题

8255 控制led灯亮灭编程题【实用版4篇】篇1 目录1.题目背景2.编程实现3.编程思路4.编程实例5.总结篇1正文一、题目背景8255 是一种可编程的并行接口芯片,常用于微机系统中作为 I/O 接口。
本题要求通过 8255 芯片控制 LED 灯的亮灭,以此来熟悉 8255 芯片的使用方法。
二、编程实现首先,我们需要搭建一个硬件电路,将 8255 芯片与 LED 灯连接起来。
然后,通过编写程序来设置 8255 芯片的工作模式,从而实现对 LED 灯的控制。
三、编程思路在编写程序时,我们需要先初始化 8255 芯片,设置其为简单输入输出模式。
然后,通过向 8255 芯片发送指令,控制 LED 灯的亮灭。
四、编程实例下面是一个简单的 Python 程序,用于控制 LED 灯的亮灭:```pythonimport py8255# 初始化 8255 芯片chip = py8255.chip()chip.init(0x377)# 设置 LED 灯为输出模式chip.out_byte(0, 0x01)# 控制 LED 灯亮灭chip.out_byte(0, 0x00) # 关闭 LED 灯chip.out_byte(0, 0x01) # 打开 LED 灯```五、总结通过本题的实践,我们不仅熟悉了 8255 芯片的使用方法,还学会了如何通过编程实现对硬件设备的控制。
篇2 目录1.题目背景和要求2.解决方案3.编程实现4.总结篇2正文一、题目背景和要求8255是一种可编程的I/O接口芯片,常用于微处理器系统中。
本题要求我们使用8255控制LED灯的亮灭,实现简单的灯光效果。
具体要求如下:1.利用 8255 芯片控制 8 个 LED 灯的亮灭2.通过编程实现 LED 灯的渐亮渐暗效果3.能够实时地根据输入信号改变 LED 灯的状态二、解决方案为了实现上述要求,我们需要设计一个基于 8255 芯片的硬件系统,并通过编程实现 LED 灯的控制。
8255并行接口应用实验

实验四并行接口实验一、实验目的1.掌握通过8255A并行口进行数据传输的方法。
2.控制16位数据灯的相对循环显示。
二、实验设备PC机一台,TD—PIT/TD—PIT—B实验装置一套。
三、实验内容1、基本输入输出实验。
编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就改变。
2、流水灯显示实验。
编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。
四、8255工作原理并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图3-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图3-2所示。
图3-1 8255的内部结构及引脚图3-2 8255控制字格式五、实验步骤I、基本输入输出实验本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。
参考程序流程如图3-3所示。
图3-3 8255并行接口芯片基本输入/输出实验(1)参考程序流程图实验步骤编写程序,使8255并行接口芯片端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。
用一组开关信号接入端口B,端口A输出线接至一组数据灯上,实现输入输出功能。
具体实验步骤如下。
1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。
2)打开实验箱电源,首先运行PCI_BIOS.EXE程序,查看I/O空间始地址。
3)参考图3-4所示连接实验线路。
4)利用查出的地址编写程序,然后编译链接。
5)运行程序,拨动开关,看数据灯显示是否正确图3-4 8255并行接口芯片基本输入/输出实验参考接线图==================================================================================== 文件名: A82551.ASM功能描述: B为输入,A口为输出,将读入的数据输出显示====================================================== SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE, SS:SSTACKSTART: MOV DX, 0646HMOV AL, 82HOUT DX, ALAA1: MOV DX, 0642HIN AL, DXCALL DELAYMOV DX, 0640HOUT DX, ALJMP AA1DELAY: PUSH CXMOV CX, 0F00HAA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START实验现象:当拔动B接口对应的开关时候,A接口对应的二极管亮。
8255 16LED流水灯设计 代码

题目:16LED流水灯设计:8255A口,B口输出,连接小灯,8254用于延时,控制灯光移动速度,为实现速度随时可调,将8254计数器0与计数器1级联,给计数器1赋不同值,延时时间不同,用开关完成该操作,开关1上拨,为速度等级1,开关2上拨,为速度等级2,开关3上拨,为速度等级3,开关4上拨,为速度等级4,开关8上拨,程序结束。
接口:8255C端口连接开关,为输入;AB口连接小灯,为输出,8255接片选信号CS0,8254接片选信号CS1,CLK0接47K,OUT0接CLK1,OUT1接PC4。
源程序如下;8255的A、B口输出,C口的低四位接开关控制,8254计数器0和计数器1 级联,8255片选接CS1开关调速;8254接CS2;.486CODE SEGMENT USE16ASSUME CS:CODEORG1000HBEG:JMP STARTSTART:MOV DX,30CHMOV AL,10001001BOUT DX,ALMOV DX,300HMOV AL,0FFHOUT DX,ALMOV DX,304HMOV AL,0FFHOUT DX,AL ;初始化小灯,AB口均送1,灭掉十六个小灯;开关复位程序KAIGUAN:MOV AL,0MOV DX,308HIN AL,DX ;读入C口AND AL,00001111BTEST AL,00000001B;检查开关状态,只能最慢开始(一个高电平最快,三个高电平最慢,四个结束程序)JZ KAIGUANAG0: MOV BH,11111110B ;从左到右循环分支L0: MOV DX,300H ;A口MOV AL,BHMOV DX,308HIN AL,DXAND AL,10001111BCMP AL,00000001B ;开关1 高电平,速度等级1JZ LA1CMP AL,00000011B ;开关1、2高电平,速度等级2JZ LA2CMP AL,00000111B ;开关1、2、3高电平,速度等级3JZ LA3CMP AL,00001111B ;开关1、2、3、4高电平,速度等级4 JZ LA4CMP AL,10001111B ;拨开关8,程序结束JZ END1LA1: MOV CX,50JMP F0LA2: MOV CX,100JMP F0LA3: MOV CX,150JMP F0LA4: MOV CX,200JMP F0F0: CALL DELAYROL BH,1CMP BH,11111110BJNZ L0MOV DX,300HMOV AL,0FFHOUT DX,ALMOV BH,0FFHMOV BH,01111111BL1: MOV DX,304H ;B口MOV AL,BHOUT DX,ALMOV DX,308HIN AL,DXAND AL,10001111BCMP AL,00000001BJZ LB1CMP AL,00000011BJZ LB2CMP AL,00000111BCMP AL,00001111BJZ LB4CMP AL,10001111BJZ END1LB1: MOV CX,50JMP F1LB2: MOV CX,100JMP F1LB3: MOV CX,150JMP F1LB4: MOV CX,200JMP F1F1:CALL DELAYROR BH,1CMP BH,01111111BJNZ L1MOV DX,304HMOV AL,0FFHOUT DX,ALAG1: MOV BH,11111110B ;右到左R0: MOV DX,304HMOV AL,BHOUT DX,ALMOV DX,308HIN AL,DXAND AL,10001111BCMP AL,00000001BJZ LC1CMP AL,00000011BJZ LC2CMP AL,00000111BJZ LC3CMP AL,00001111BJZ LC4CMP AL,10001111BJZ END1LC1: MOV CX,50LC2: MOV CX,100JMP F2LC3: MOV CX,150JMP F2LC4: MOV CX,200JMP F2F2:CALL DELAYROL BH,1CMP BH,11111110BJNZ R0MOV DX,304HMOV AL,0FFHOUT DX,ALMOV BH,01111111BR1:MOV DX,300HMOV AL,BHOUT DX,ALMOV DX,308HIN AL,DXAND AL,10001111BCMP AL,00000001BJZ LD1CMP AL,00000011BJZ LD2CMP AL,00000111BJZ LD3CMP AL,00001111BJZ LD4CMP AL,10001111BJZ END1LD1: MOV CX,50JMP F3LD2: MOV CX,100JMP F3LD3: MOV CX,150JMP F3LD4: MOV CX,200JMP F3F3:CALL DELAYROR BH,1CMP BH,11111110BJNZ R1MOV DX,300HMOV AL,0FFHOUT DX,ALAG2:MOV BH,01111111B ;两边向中间M0:MOV DX,300HMOV AL,BHOUT DX,ALMOV DX,304HMOV AL,BHOUT DX,ALMOV DX,308HIN AL,DXAND AL,10001111BCMP AL,00000001BJZ LE1CMP AL,00000011BJZ LE2CMP AL,00000111BJZ LE3CMP AL,00001111BJZ LE4CMP AL,10001111BJZ END1LE1: MOV CX,50JMP F4LE2: MOV CX,100JMP F4LE3: MOV CX,150JMP F4LE4: MOV CX,200JMP F4F4:CALL DELAYROR BH,1CMP BH,01111111BJNZ M0MOV DX,300HMOV AL,0FFHOUT DX,ALAG3:MOV BH,11111110B ;中间向两边M1:MOV DX,300HMOV AL,BHOUT DX,ALMOV DX,304HMOV AL,BHOUT DX,ALMOV DX,308HIN AL,DXAND AL,10001111BCMP AL,00000001BJZ LF1CMP AL,00000011BJZ LF2CMP AL,00000111BJZ LF3CMP AL,00001111BJZ LF4CMP AL,10001111BJZ END1LF1: MOV CX,50JMP F5LF2: MOV CX,100JMP F5LF3: MOV CX,150JMP F5LF4: MOV CX,200JMP F5F5:CALL DELAYROL BH,1CMP BH,11111110BJNZ M1MOV DX,304HMOV AL,0FFHOUT DX,ALCYCLE: JMP AG0DELAY PROC NEAR ;8254MOV DX,32CHMOV AL,00110110B ;通道0 ,方式0,二进制方式OUT DX,ALMOV DX,320H ;通道0MOV AX,470 ;写入计数初值OUT DX,ALMOV AL,AHOUT DX,AL ; clock接4.7kHz,计数器0输出0.01s脉冲信号MOV DX,32CHMOV AL,01110110BOUT DX,AL ;计数器1方式2MOV DX,324HMOV AX,CXOUT DX,ALMOV AL,AHOUT DX,AL ;CX的值给到计数器1AGAIN: MOV DX,308HIN AL,DXAND AL,00010000BTEST AL,00010000BJNZ AGAINNEXT: MOV DX,308HIN AL,DXAND AL,00010000BTEST AL,00010000BJZ NEXTRETDELAY ENDPEND1: MOV DX,304HMOV AL,0FFHOUT DX,ALMOV DX,300HMOV AL,0FFHOUT DX,ALWT: JMP WTCODE ENDSEND START。
利用8255A芯片实现流水灯闪烁设计

目录摘要 (2)第1章利用8255A芯片实现流水灯闪烁设计的概述 (2)第2章三种方案的论述与最终方案的确定 (2)2.1第一种方案的论述 (2)2.2第二种方案的论述 (5)2.3第三种方案(最终方案)的论证 (10)第3章测试结果及体会心得 (13)第4章致谢 (14)第5章参考文献 (14)附录1 方案一Proteus仿真电路效果图 (15)附录2 方案一源程序代码 (16)附录3 方案二Proteus仿真电路效果图 (18)附录4 方案二源程序代码 (19)附录5 方案三(最终方案)Proteus仿真电路效果图 (20)附录6 方案三(最终方案)源程序代码 (21)摘要:8255A是一种通用的可编程并行I/O接口芯片(Programmable Peripherial Interface),它是为Inter系列微处理器设计的配套电路,也可用于其它微处理器系统中。
通过对它进行编程,芯片可工作于不同的工作方式。
此次课程设计的目的就是利用端口和8255协同工作来实现LED显示功能,对8255A芯片进行编程使流水灯左移或右移,通过延时程序使流水灯进行顺序点亮。
通过这次课程设计掌握8255A的功能特点、工作原理以及显示器接口的基本原理与方法技术。
关键词:8086芯片AT89C51单片机8255A芯片LED流水灯第1章利用8255A芯片实现流水灯闪烁设计的概述流水灯在日常的生活中有着广泛的应用,例如,许多楼面上的彩灯广告就是应用了流水灯设计。
此次的课程设计的题目是利用了端口和8255A协同工作来实现LED显示功能,编写程序,使用8255的A口和B口均为输出,接8个或16个发光二极管,实现流水灯的显示效果。
在实验中8255A的A和B两个端口不能同时赋值,从而我们可以用通用寄存器BX对所需要赋值的数据进行存储,因为BX可以分从高8位寄存器BH和低8位寄存器BL两部分进行独立的操作,我们用寄存器BH对A口进行赋值,用寄存器BL对B口进行赋值,通过延时一段时间再对BH 和BL进行移位和输出,实现了流水灯的效果。
微机原理与接口技术控制流水灯

微机原理与接口技术控制流水灯一、实验目的:掌握汇编语言设计和调试方法。
二、实验要求:利用8253、8255、8259三块芯片相接实现流水灯。
三、芯片介绍:1、intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz) 8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。
每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。
每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。
每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。
执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。
输出锁存器的值是通过程序设置的。
输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。
顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。
2、8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU 连接部分、与外设连接部分、控制部分。
1)与CPU连接部分根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。
由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。
此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。
各信号的引脚编号如下:(1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。
交通灯设计-8255-8254(附连线图和源代码)doc资料

LED显示数NUM:
MOV BX, OFFSET TABLE1;取八段数码管表的首地址
MOV AL, NUM
XLAT;查表,找出NUM对应的共阴极字形代码
MOV DX, 1461H
OUT DX, AL;将该代码送到B口
打开试验箱电源,进入纯DOS环境运行程序,观察LED数码管显示情况。
数据流程图为:
图4-1流水灯数据流程图
2、用8255与LED KEYBOARD UNIT相连实现八段数码管的静态显示。
实验线路图如下图4-2所示:
图4-2静态显示实验的连线图
共阴极LED数码管字形代码如下表4-2所示:
表4-3共阴极LED数码管字形显示
字形
共阴极字形代码
字形
共阴极字形代码
字形
共阴极字形代码
5Hale Waihona Puke 用汇编语言编程使六个灯按交通灯变化规律“亮/灭”。交通灯变化规律要求:
① 南北路口的绿灯,东西路口的红灯同时亮30秒,且数码管30秒倒计时显示。
② 南北路口的黄灯闪烁3秒(三亮三灭),同时东西路口的红灯继续亮,且数码管3秒倒计时显示。
③ 南北路口的红灯,东西路口的绿灯同时亮20秒,且数码管20秒倒计时显示。
二、设计内容
1.用试验台提供的发光二极管(红绿黄各两支,共六支)作为南北路口(红绿黄各一支)和东西路口(红绿黄各一支)的模拟交通灯。
2.用可编程并行接口芯片8255A控制模拟交通灯的亮与灭和数码管的倒计时显示。
3.用可编程定时器/计数器芯片8253实现模拟交通灯亮与灭的时间延迟控制。
4.用数码管作为模拟交通灯亮与灭的时间延迟控制的倒计时显示。
功能模块图:
图3-1流水灯功能模块
(完整word版)利用8255A芯片实现流水灯闪烁设计

目录摘要··2第1章利用8255A芯片实现流水灯闪烁设计的概述··2第2章三种方案的论述与最终方案的确定··22.1 第一种方案的论述··22.2 第二种方案的论述··52.3 第三种方案(最终方案)的论证··10第3章测试结果及体会心得··13第4章致谢··14第5章参考文献··14附录1 方案一Proteus仿真电路效果图··15附录2 方案一源程序代码··16附录3 方案二Proteus仿真电路效果图··18附录4 方案二源程序代码··19附录5 方案三(最终方案)Proteus仿真电路效果图··20附录6 方案三(最终方案)源程序代码··21摘要:8255A是一种通用的可编程并行I/O接口芯片(Programmable Peripherial Interface),它是为Inter系列微处理器设计的配套电路,也可用于其它微处理器系统中。
通过对它进行编程,芯片可工作于不同的工作方式。
此次课程设计的目的就是利用端口和8255协同工作来实现LED 显示功能,对8255A芯片进行编程使流水灯左移或右移,通过延时程序使流水灯进行顺序点亮。
通过这次课程设计掌握8255A的功能特点、工作原理以及显示器接口的基本原理与方法技术。
关键词:8086芯片AT89C51单片机8255A芯片LED流水灯第1章利用8255A芯片实现流水灯闪烁设计的概述流水灯在日常的生活中有着广泛的应用,例如,许多楼面上的彩灯广告就是应用了流水灯设计。
此次的课程设计的题目是利用了端口和8255A协同工作来实现LED显示功能,编写程序,使用8255的A口和B口均为输出,接8个或16个发光二极管,实现流水灯的显示效果。