用8255做流水灯(汇编)
- 格式:doc
- 大小:13.00 KB
- 文档页数:2
成绩实验名称:单片机系统简单扩展实验
一、实验目的
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芯片的基本原理和应用,通过设计一个流水灯电路,使学生能够将理论知识应用于实际操作,提高学生的动手能力和创新能力。
具体的教学目标如下:1.知识目标:使学生了解8255芯片的内部结构、工作原理和引脚功能;掌握编程语言的基本语法和编程技巧。
2.技能目标:培养学生使用编程软件进行程序设计的能力;训练学生进行电子电路搭建和调试的能力。
3.情感态度价值观目标:培养学生对电子科技的兴趣和热情,增强学生解决实际问题的信心和勇气。
二、教学内容本课程的教学内容主要包括以下几个部分:1.8255芯片的基本原理和引脚功能介绍。
2.编程语言的基本语法和编程技巧。
3.流水灯电路的设计和搭建。
4.程序的调试和优化。
三、教学方法为了达到本课程的教学目标,我们将采用以下教学方法:1.讲授法:用于讲解8255芯片的基本原理和引脚功能,编程语言的基本语法。
2.实验法:用于训练学生进行电子电路搭建和调试的能力。
3.讨论法:用于引导学生探讨和解决实际问题。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:提供理论知识的学习。
2.多媒体资料:用于辅助讲解和演示。
3.实验设备:用于学生的实践操作。
五、教学评估为了全面、客观、公正地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和理解能力。
2.作业:布置与课程内容相关的作业,评估学生的掌握程度和应用能力。
3.考试:定期进行考试,测试学生对课程知识的记忆和理解。
六、教学安排本课程的教学安排如下:1.教学进度:按照教材的章节顺序进行教学,确保学生能够系统地学习知识。
2.教学时间:每周安排固定的课时进行授课,保证学生有足够的时间学习。
3.教学地点:选择适合进行电子电路实验的实验室,方便学生进行实践操作。
七、差异化教学为了满足不同学生的学习需求,我们将采取以下差异化教学措施:1.针对不同学生的学习风格,采用不同的教学方法,如讲解、实验、讨论等。
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。
实验一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并行接口流水灯实验 实验时间: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读取信息或数据。
西安郵電學院硬件课程设计报告题目:微机原理与接口课程设计;^院系名称:计算机学院专业名称:软件工程班级:软件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灯亮灭编程题【实用版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 灯的控制。
实验四并行接口实验一、实验目的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接口对应的二极管亮。