微机原理课程设计 流水灯控制系统

合集下载

微机原理与接口技术课程设计报告音乐流水灯

微机原理与接口技术课程设计报告音乐流水灯

微机原理与接口技术课程设计论文题目:音乐流水灯姓名:鞠强学号:201330020228班级:1330202专业:自动化2015年6月一、实验任务及要求任务:1、掌握综合使用基本输入输出设备、通用接口芯片、专用接口芯片的方法;2、掌握实时处理程序的编制和调试方法。

要求:用8255、8253、8259配合8086使蜂鸣器发出唱歌声同时还能够使用数码管进行边跳舞边唱歌实验。

二、硬件连线键盘的控制、LED显示模块:采用74系列模块控制键盘的行信号Q_0、Q_1、Q_2、Q_3分别与开放的输入信号Q0、Q1、Q2、Q3相连,键盘的列信号P_0、P_1、P_2和开放的输出信号P0、P1、P2相连。

74芯片的片选信号CS1接地址译码信号340H, CS2接地址译码信号360H。

蜂鸣器发声控制:由8255模块控制;PC0直接与蜂鸣器相连,CS_4连接到实验仪中部的地址输出端CS_4中断处理模块:由8259控制8259的片选CS-1连地址输出300H,INT1连总线输入INTR,8259模块的INT-A连总线的INTA,8259的SP/1连+5V, 8259的IRQ0连接到8253的OUT0。

三、程序流程图主程序初始化各阶段寄存器及相关变量初始化8253、8255芯片设置中断向量、开放8253中断屏蔽开放处理器中断中断服务程序保护现场判断时间是否不小于59分55秒报时扫描键盘G 键?调用启停子程序S COUNT COUNT=40? ADDONE 子程序COUNT 清0显示时间,调用显示时间子程序结束中断(发EOI 命令)恢复现场中断返回Y YN Y四、实验源代码DATA SEGMENT AT 0 USE16ORG 1000HHOUR DW ?MIN DW ?SEC DW ?SLL DB ?COUNT DB ?DATA ENDSCODE SEGMENT USE16ASSUME CS:CODE,DS:DATAORG 1500HBEG:JMP STARTTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,00H ;0~F 的共阴极七段译码表00H表示不显示任何东西KEYCOD DB 0EEH,0DEH,0BEH,0EDH,0DDH,0BDH,0EBH,0DBH,0BBH,0E7H,0D7H,0B7H ;行列编码值KEYV AL DB 0,1,2,3,4,5,6,7,8,9,0AH,0BH ;所有键的键面值PORT1 EQU 340H ;数码管段选端口PORT2 EQU 360H ;数码管位选端口,键盘矩阵的行列端口START: MOV EAX,60000000HMOV CR0,EAXMOV AX,DATAMOV DS,AXMOV HOUR,0203H ;小时分钟以及秒的初始化MOV MIN,0509HMOV SEC,0502HLEA BX,TABMOV SLL,0 ;开始暂停标志位置0MOV COUNT ,0 ;中断次数计数初始值为0;8255初始化,用于产生报时的脉冲MOV EAX,80808080H;控制字MOV DX,20CH ;后面的是4个8255的控制端口20C-20F (这个地址由实验台决定)OUT DX,EAX ;初始化8255,A、B、C口均为方式0输出MOV DX,20BHMOV AL,0FFHOUT DX,AL;8253初始化,用于产生周期为25ms的中断MOV AL,00110110B ;计数器0,先低后高,方式三,二进制MOV DX,32cH ;写往控制口OUT DX,ALMOV DX,320H ;计数器0写初值:47KHz*25msMOV AX,1175OUT DX,ALMOV AL,AHOUT DX,ALMOV AL,0FEH ;IR0开屏蔽OUT DX,ALXOR AX,AX ;装载中断向量MOV ES,AXMOV DI,08H*4MOV AX,OFFSET INTSRMOV ES:[DI],AXMOV AX,SEG INTSRMOV ES:[DI+2],AXSTI ;开中断JMP $INTSR PROC ;中断服务程序CMP MIN,0509H ;比较当前时间是否在59分55秒~00分00秒之间JL NEXT1CMP SEC,0505HJL NEXT1MOV DX,20BHMOV AL,00H ;蜂鸣器低有效,报时OUT DX,ALJMP NEXT2NEXT1: CMP MIN,0JNE NEXT3CMP SEC,0JNE NEXT3MOV DX,20BHMOV AL,00H ;蜂鸣器低有效,报时OUT DX,ALJMP NEXT2NEXT3: MOV DX,20BHMOV AL,0FFHOUT DX,ALNEXT2: CMP COUNT,20 ;用8255产生0.5ms的蜂鸣JLE NEXT4MOV DX,20BHMOV AL,0FFHOUT DX,ALNEXT4:CMP SLL,0JZ LOBCALL TSTARTLOB: CALL KEYCHECK ;检测有无键按下CMP AL,0AH ;启停键按下,调用启停程序JNZ NEXT5CALL TSTARTJMP NEXT6NEXT5: CMP AL,0BH ;设置键按下,调用设置时间程序JNZ NEXT6CALL SETTIMEINTSR ENDPTSTART PROC ;控制时间暂停和开始。

流水灯模拟控制系统(课程设计论文)

流水灯模拟控制系统(课程设计论文)

流水灯模拟控制系统(课程设计论文)引言流水灯就是一组灯在控制系统的控制下按照设定的顺序和时间来点亮和熄灭,这样就能形成如流水一样的视觉效果。

现在很多街上的店面和招牌上面就安了流水灯,在夜里看上去如流水一样变换闪烁、美不胜收。

流水灯控制可用多种方法实现,例如可运用模电和数电的知识,利用移位寄存器实现对流水灯的控制:通常用左移寄存器实现灯的单方向移动;用双向移位寄存器实现灯的双向移动。

因为我最近在自学单片机的教程,对单片机这个具有体积小、功能强、成本低、应用面广等优点小东西起了浓厚的兴趣,本着学习单片机就要理论与实践并重的理念,我决心用单片机来做这次流水灯课程设计,检验自己对单片机知识的吸收和掌握的程度。

当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代,可以说,智能控制与自动控制的核心就是单片机。

因此,作为未来电子自动化领域主力,我们应该掌握有关单片机的知识,以跟上科技的发展和时代的潮流。

1系统总体方案设计1.1 设计主要功能由课程设计任务书可知,首先要求八个灯LED0至LED7依次点亮,间隔时间为一秒。

待八个灯全部点亮后,再由LED7至LED0依次熄灭,间隔时间同样为一秒。

等到灯全部熄灭后,再控制灯八个灯同时闪烁4次,闪烁一次的时间为1秒,共计四秒。

附加功能:灯LED0-LED1-LED2-LED3构成字母A的“/”,灯LED7-LED6-LED5构成字母A的“\”,灯LED4构成字母A的“-”,按照写字母A的顺序依次点亮各个小灯,间隔时间为500毫秒。

等到灯全部点亮后,再控制八个灯同时闪烁3次,闪烁一次的时间为500毫秒。

由于延时时间较短,在灯明灭时我们可以明显地观测到字母A的流水灯效果。

1.2 设计要点本次课程设计中的流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。

微机原理课程设计 流水灯控制系统

微机原理课程设计 流水灯控制系统

微机原理课程设计流水灯控制系统姓名:XX学院:物理电气信息学院班级:2010电子姓名:12010245…流水灯控制系统一、设计内容:本课程设计选用8086对8255A的A口控制来实现模拟流水灯功能的实现。

编写相关程序,通过proteus仿真软件来实现我名字“安亮”两个字的闪烁,“安”字接8255的A口的P0,“亮”字接A口的P1。

先让“安”字和“亮”字同时点亮,再让两个字同时暗,接着让“安”字点亮,再让“亮”字点亮,然后让“安”字和“亮”字同时亮暗闪烁八次,再跳到开始,以此循环。

二、设计目的:1、了解流水灯的基本工作原理2、熟悉8255A并行接口的各种工作方式和应用3、利用8255A接口,LED发光二极管,设计一个流水灯模拟系统,让我的名字“安亮”两个字按一定规律点亮。

三、实验原理在8086系统中,采用16位数据总线,进行数据传输时,CPU总是将低8位数据线上的数据送往偶地址端口,而过高8位数据线上的数据送往奇地址端口反过来,从偶地址端口取得的数据总是通过低8位数据线传送到CPU,从奇地址端口取得的数据总是通过高8位数据线送到CPU。

在8086系统中,将8255A的A1端和地址总线的A29255A 在对CPU并且,相连,A1端和地址总线的A0的8255A而将相连,的端口进行访问时,将地址总线的A0位总是设置为0。

本课程设计通过对8255A的A口控制来实现模拟流水灯功能的实现。

“安”接A 口的P0,“亮”接A口的P1,实现两个字按一定规律的一个闪烁。

8255的内部结构255A内部结构由以下四部分组成:数据端口A、B、C;A组控制和B组控制;读/写控制逻辑电路;数据总线缓冲器。

端口A:包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入锁存器,可作为数据输入或输出端口,并工作于三种方式中的任何一种。

端口B:包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入缓冲器,可作为数据输入或输出端口,但不能工作于方式2。

微机原理与接口技术课程设计音乐流水灯

微机原理与接口技术课程设计音乐流水灯

微机原理与接口技术课程设计音乐流水灯专业:自动化班级:1530202姓名:何名春学号:201530020226指导老师:胡文龙一、课程设计题目音乐流水灯二、设计目的和要求(1)、目的a、增强对8255和8253芯片的认识b、掌握8255和8253的工作方式及应用编程。

b、熟悉这类的硬件电路c、提高汇编编程的能力d、掌握综合使用基本输入输出设备、通用接口芯片、专用接口芯片的方法e、掌握实时处理程序的编制和调试方法。

(2)、要求(a)、利用芯片8255和8253实现8个发光LED流水形式,并且在灯依次亮是加上音调,即利用8255和8253实现音乐背景下8个LED 跑马灯功能。

(b)、利用8253经过驱动电路使发出至少4个音调,8255控制8个LED形成流水灯,(c)、用一个按键控制灯全灭和音调全停。

(d)、软件用循环灯和循环音调,使用移位和数组的方式,不能单独的编写一个灯亮一个灯灭的多个程序组合。

三、设计流程图否四、硬件电路8255与8253组合电路图五、原理分析8255:通过8255的PA口控制8个LED灯,以实现流水的形式,并用一个PB口控制一个开关,以实现闭合开关执行功能,断开开关就实现灯灭、音停。

8255的PC口控制8253的GATE口,以实现GATE=1,就开始计时,则发出音调,否则,则反之。

8253:在CLK输入一个时钟信号,通过8MHZ经过393以输入时钟信号,再输出信号OUT输出给功放电路,驱动扬声器,以达到发出音乐六、软件分析通过对8255和8253的控制字,以让8255的PA输入,PB输出,PC输出,8253选择计数器1,根据硬件的连接,再定义控制字总程序DATA SEGMENTDATA ENDSCODE SEGMENT PUBLIC 'CODE'ASSUME CS:CODEmy_8253_0 equ 400hmy_8253_1 equ 402hmy_8253_2 equ 404hmy_8253_com equ 406hmy_8255_a equ 200hmy_8255_b equ 202hmy_8255_c equ 204hmy_8255_com equ 206hy dw 080h,096h,0aeh,0c5h,0d8h,0e9h,0f5h,0FFH,099H,0c5H,0 aehm dw 3816d,3610d,3413d,3215d,3039d,2865d,2703d,2551d,240 9dSTART:; Write your code hereagain: mov al,90Hmov dx,206hout dx,almov dx,200hin al,dxTEST al,03hjz disp_3test al,01hjz disp_1test al,02hjz disp_2test al,00hjz judgejmp againdisp_1:xor ax,axmov bl,101B mov si,0dxxx:mov dx,406hmov al,36hout dx,almov dx,400hmov ax,y[si]out dx,almov al,ahout dx,alrol bl,1mov al,blmov dx,202hout dx,almov cx,00fffh loop $jmp judgeyyy: inc sijl xxxloop disp_1 disp_2:xor ax,axmov bl,01B mov si,0d sss:mov dx,406hmov al,76hout dx,almov dx,402hmov ax,m[si]out dx,almov al,ahout dx,alror bl,1mov dx,202h out dx,almov cx,0108Bh loop $jmp judge zzz: inc sicmp si,18jl ssstest al,01hjz againloop disp_2disp_3:mov dx,406h mov al,76hout dx,almov ax,01hout dx,almov al,ahout dx,almov dx,406hmov al,36hout dx,almov dx,400hmov ax,01hout dx,almov al,ahout dx,almov al,11111111b mov dx,202hout dx,aljmp againjudge:mov al,90Hmov dx,206h out dx,almov dx,200h in al,dxtest al,03h jz disp_3test al,01h jz yyytest al,02h jz zzztest al,00h mov dx,406hmov al,36hout dx,almov dx,400hmov ax,1out dx,almov al,ahout dx,almov dx,406hmov al,76hout dx,almov dx,402hmov ax,1out dx,almov al,ahout dx,al jz again jmp judgeENDLESS:JMP ENDLESSCODE ENDSEND START七、心得体会早在上课的时候老师就说了课程设计,开始以为时间还早,并没有提前去构思,等到要做课程设计的时候,发现自己并不知道该怎么做,然后就回顾了一下以往做的实验,再自己通过看书上的例子,和网上的例子,先一个一个单独实现,开始先单独把流水灯做了出来,然后再把声音做出来,两个虽然都单独做出来了,但是存在很多问题,开始时,灯只要仿真就全亮,并没有实现流水功能,之后进行了调试与程序的修改,最后实现了流水灯。

plc控制流水灯课程设计

plc控制流水灯课程设计

plc控制流水灯课程设计一、课程目标知识目标:1. 学生能理解PLC(可编程逻辑控制器)的基本原理和功能。

2. 学生能掌握流水灯电路的工作原理和PLC控制流程。

3. 学生能描述不同类型PLC的编程语言和指令系统。

技能目标:1. 学生能运用PLC编程软件设计简单的流水灯控制程序。

2. 学生能通过PLC对流水灯进行调试和故障排查。

3. 学生能运用团队合作的方式,完成流水灯控制系统的搭建与优化。

情感态度价值观目标:1. 培养学生对自动化控制技术的兴趣,激发创新意识和探索精神。

2. 培养学生严谨、细致的工作态度,提高学生的责任心和自我管理能力。

3. 培养学生团队协作精神,学会尊重和倾听他人意见,共同解决问题。

课程性质:本课程为实践性较强的课程,结合理论知识与实际操作,使学生能够将所学应用于实际工程案例。

学生特点:学生具备一定的电子电路基础知识,对PLC控制技术有一定了解,但实际操作经验不足。

教学要求:注重理论与实践相结合,强调动手能力和团队合作,提高学生的实际操作技能和问题解决能力。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. PLC基本原理与结构:介绍PLC的组成、工作原理及在各行业中的应用。

教材章节:第一章 可编程逻辑控制器概述2. 流水灯电路设计:讲解流水灯电路的工作原理,分析不同类型的流水灯电路。

教材章节:第二章 常用电气控制电路3. PLC编程软件使用:学习PLC编程软件的操作方法,掌握基本编程指令。

教材章节:第三章 PLC编程软件与指令系统4. 流水灯控制程序设计:根据流水灯电路,设计相应的PLC控制程序。

教材章节:第四章 PLC程序设计5. PLC程序调试与优化:学习调试PLC程序的方法,掌握故障排查技巧。

教材章节:第五章 PLC程序调试与优化6. 团队合作与实践:分组进行流水灯控制系统的搭建与调试,培养学生的团队合作能力。

教材章节:第六章 PLC控制系统设计与应用教学进度安排:本教学内容共计6个课时,每课时45分钟。

流水灯控制系统设计

流水灯控制系统设计

目录第1章方案的论述以与与最终方案的确定......................... - 1 -1.1第一种方案的论述. (1)1.2第二种方案的论证 (1)1.3第三种方案的论述 (1)1.4最终方案的确定 (2)第2章硬件设计.................................................. - 3 -2.1总体方案设计分析. (3)2.2系统逻辑框图 (3)2.3主要元器件简介 (3)2.3.1 8086CPU ························································································- 3 -2.3.2 地址锁存器74LS373的内部电路与工作原理························- 6 -2.3.3 可编程外围接口芯片8255A的简介.........................................- 8 -第3章软件设计.................................................- 13 -3.1程序流程设计.. (13)3.1.1 主程序流程·················································································· - 13 -3.1.2 程序流程图·················································································· - 14 -3.1.3 系统硬件连接图········································································· - 15 -3.1.4 源程序设计(附录) ....................................................................... - 15 -3.2设计最终理想结果与原理.. (15)3.2.1 左向移动流水灯········································································· - 15 -3.2.2 右向移动流水灯········································································· - 15 -设计心得·························································- 17 -参考文献·························································- 18 -附录······························································- 19 -第1章方案的论述以与与最终方案的确定1.1 第一种方案的论述第一种方案,使用AT89C51单片机实现流水灯闪烁设计。

流水灯控制系统设计(单片机)

流水灯控制系统设计(单片机)

实验报告单实验名称:流水灯控制系统设计实验项目:实验目的:1. 理解单片机系统软硬件开发的过程,单片机基本的I/O控制方法。

2. 掌握51单片机的汇编指令。

3. 掌握Proteus硬件仿真软件的使用及技巧。

4. 掌握Keil uVision程序开发软件的使用技巧。

实验器材:安装了Keil uVision5和Proteus的电脑;实验原理:通过更改P2口8位的高低电平,分别控制8个Led灯的亮灭。

单片机流水灯的实质是单片机各引脚在规定的时间逐个上电,使LED灯能逐个亮起来但过了该引脚通电的时间后便灭灯的过程,实验中使用了单片机的P2端口,对8个LED灯进行控制,要实现逐个亮灯即将P2的各端口逐一置零,中间使用时间间隔隔开各灯的亮灭。

使用rl或rr a实现位的转换。

然后将A寄存器转换一次便送给P2即MOV P2,A便将转换后的数送到了P2口,不断循环下去,便实现了逐位置操作。

具体的亮灭情况如下表:要实现“流水灯”效果,也就是需要将P2口的输出值发生以下变化:FE→FD→FB→F7→EF→DF→BF→7F→BF→DF→EF→F7→FB→FD→FE ..... 可以使用一个循环,不断对数据进行移位运算实现。

这里的移位指令采用RL和RR,即不带进位的位移运算指令。

如果使用带进位的位移运算指令(RLC 和RRC),则需要定期把cy置0,否则会出现同时亮起两个发光二极管的情况。

实验步骤:1.在仿真系统Proteus中实现电路原理图设计;新建设计文档、设置工作环境、选择并放置元器件、对原理图进行布线、原理图的电器规则检查、调整、保存和输出报表等。

2.源代码的设计与生成目标代码;在Keil uVision5平台进行C语言和汇编语言源代码的输入、编译与调试,并生成可执行文件.hex。

C语言存储为.c文件,汇编语言存储为.asm文件。

3.调试与仿真在Proteus中将可执行文件.hex加载到单片机中,对系统进行虚拟仿真。

左右来回循环的流水灯实验报告

左右来回循环的流水灯实验报告

青 岛 科 技 大 学微机原理与接口技术综合课程设计(报告)题 目 __________________________________指导教师__________________________ 学生姓名__________________________ 学生学号_________________________________________________________院(部)____________________________专业________________班______年 ___月 ___日直流电机控制综合实验 周艳平宋雪英 01 信息科学技术学院计算机科学与技术0961 2012 12 27摘要 (2)1、单片机概述 (2)2、仿真软件介绍 (2)3、需求分析 (3)一、课程设计目的 (3)二、课程设计要求 (4)三、实验内容 (4)1、设计任务与要求 (4)2、系统分析 (4)1).硬件电路设计(画出原理图、接线图) (5)2)软件框图 (7)3、用keil建项目流程 (8)4、程序清单 (9)4、系统调试 (11)四、设计总结(结论) (12)摘要近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。

而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。

能够通过按键控制8个LED小灯从左到右依次点亮。

关键字:单片机、LED流水灯1、单片机概述单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。

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

微机原理课程设计
流水灯控制系统
姓名:XX
学院:物理电气信息学院
班级:2010电子
姓名:12010245…
流水灯控制系统
一、设计内容:
本课程设计选用8086对8255A的A口控制来实现模拟流水灯功能的实现。

编写相关程序,通过proteus仿真软件来实现我名字“安亮”两个字的闪烁,“安”字接8255的A口的P0,“亮”字接A口的P1。

先让“安”字和“亮”字同时点亮,再让两个字同时暗,接着让“安”字点亮,再让“亮”字点亮,然后让“安”字和“亮”字同时亮暗闪烁八次,再跳到开始,以此循环。

二、设计目的:
1、了解流水灯的基本工作原理
2、熟悉8255A并行接口的各种工作方式和应用
3、利用8255A接口,LED发光二极管,设计一个流水灯模拟系统,让我的名字“安亮”两个字按一定规律点亮。

三、实验原理
在8086系统中,采用16位数据总线,进行数据传输时,CPU
总是将低8位数据线上的数据送往偶地址端口,而过高8位数据线上的数据送往奇地址端口反过来,从偶地址端口取得的数据总是通过低8位数据线传送到CPU,从奇地址端口取得的数据总是通过高8位数据线送到CPU。

在8086系统中,将8255A的A1端和地址总线的A29255A 在对CPU并且,相连,A1端和地址总线的A0的8255A而将相连,的端口进行访问时,将地址总线的A0位总是设置为0。

本课程设计通过对8255A的A口控制来实现模拟流水灯功能的实现。

“安”接A 口的P0,“亮”接A口的P1,实现两个字按一定规律的一个闪烁。

8255的内部结构
255A内部结构由以下四部分组成:数据端口A、B、C;A组控制和B组控制;读/写控制逻辑电路;数据总线缓冲器。

端口A:包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入锁存器,可作为数据输入或输出端口,并工作于三种方式中的任何一种。

端口B:包括一个8位的数据输出锁存/缓冲器和一个8位的数据输入缓冲器,可作为数据输入或输出端口,但不能工作于方式2。

端口C:包括一个8位的数据输出锁存/缓冲器和一个8位的数据,端口上和下)C(位的端口4可在方式字控制下分为两个输入缓冲器,每个4位端口都有4位的锁存器,用来配合端口A与端口B锁存输出控制信号和输入状态信号,不能工作于方式1或2。

A组和B组控制的作用如下:
A组控制逻辑控制端口A及端口C的上半部;
B组控制逻辑控制端口B及端口C的下半部。

2.8255A芯片介绍
芯片引脚图:
(和外设一边相连的):
PA7-PA0:A组数据信号
PB7-PB0:B组数据信号
PC7-PC0:C组数据信号
(和CPU一边相连的):
RESET:复位信号,低电平有效。

当RESET信号来到时,所有内部寄存器就被清除,同时,3个数据端口被自动设为输入端口。

的数据线,和系统数据总线相连。

8255A:它们是D7-D0.
CS:芯片选择信号,低电平有效。

在一个系统中,一般根据全部接口芯片来分配若干较低位地址(比如A5、A4、A3)来组成各种芯片选择码,当这几位地址组成某一个代码时,译码器便往8255A的CS端输出一个低电平,于是8255A被选中。

只有当CS有效时,读信号RD 和写信号WR才对8255A有效。

RD:芯片读出信号低电平有效。

WR:芯片写入信号低电平有效。

A1、A0:端口选择信号。

8255A内部有3个数据端口和一个控制端口,共四个端口。

规定当A1、A0为00时,选中A端口;为01时,选中B端口;为10时,选中C端口;为11时,选中控制口。

3.8255A控制字
方式选择控制字
控制字0置1/置C端
口.
2.8255A工作方式
方式0:基本输入/输出方式
方式0是8255A的基本输入/输出方式,其特点是与外设传送数据时,不需要设置专用的联络(应答)信号,可以无条件的直接进行I/O传送。

A,B,C 3个端口都可以工作在方式0。

A口和B口工作在方式0时,只能设置为以8位数据格式输入/输出。

C口工作在方式0时,可以高4位和低4位分别设置为数据输入或数据输出方式。

方式1:单向选通输入/输出方式
方式1是一种带选通信号的单方向输入/输出工作方式,其特点是:
与外设传送数据时,需要联络信号进行协调,允许用查询或中断方式传送数据。

由于C口的PC0,PC1和PC2定义为B口工作在方式1的联络信号线,PC3,PC4和PC5定义为A口工作方式1的联络信号线,因此只允许A口和B口工作在方式1。

如果8255A的端口A和端口B 都工作在方式1,那么,端口C中就有6位被规定为配合方式1 位扔作为输入或输出。

2工作的信号,剩下的.
方式2:双向选通输入/输出方式
方式2为双向选通输入/输出方式,是方式1输入和输出的组合,即同一端口的信号线既可以输入又可以输出。

由于C口的PC7-PC3定义为A口工作在方式2时的联络信号线,因此只允许A口工作在方式2。

PA7-PA0为双向数据端口,既可以输入数据又可以输出数据。

方式2只适用于端口A。

端口A工作于方式2时,端口C用5个数位自动配合端口A提供控制信号和状态信号。

四、实验器材:
8086、8255、二极管、电源等
五、设计步骤
1)硬件原理图
2)软件流程图
3)程序设计清单
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS START:
MOV AX,DATAS
MOV DS,AX
MOV AL,80H
L: OUT 06H,AL ;将80H送给06H,10000000
MOV AL,0FCH
OUT 00H,AL ;将0FC送给00H,11111100 (亮、亮)LOOP $ ;延时0.25秒
MOV AL,0FFH
OUT 00H,AL ;11111111 (灭、灭)
LOOP $ ;延时0.25秒
MOV AL,0FEH ;11111110 (灭、亮)
OUT 00H,AL
LOOP $ ;延时0.25秒
MOV AL,0FDH ;11111101 (亮、灭)
OUT 00H,AL
秒0.25;延时LOOP $
MOV BX,7;闪烁8次
L1: MOV AL,0FFH
OUT 00H,AL ;11111111 (灭、灭)
MOV CX,6000
LOOP $;延时
MOV AL,0FCH
OUT 00H,AL ;将0FC送给00H,11111100 (亮、亮)MOV CX,6000
LOOP $ ;延时
DEC BX
JNZ L1
JMP L ;跳到L循环
MOV AH,4CH
INT 21H
CODES ENDS
END START
六、实验结果
七、调试过程与分析
1、出现的问题
proteus刚开始,我们准备设计一个方波发生器,写好了程序,用
进行了仿真,结果出现了问题,无法仿真,我和合作者开始寻找错误,先从程序开始,请教同学,修改程序,之后看proteus的连线,也没有发现问题,但是还是无法仿真,就做了两天,没有做出来,我和合作者商量果断放弃了方波发生器的设计,因为毕竟时间有限。

我们决定做流水灯,既简单,学的内容又可以充分利用。

在做流水灯的时候,我们想着,这次吸取教训,从简单入手,程序也简单,进行仿真后很快成功,我们的设计也算完成。

2、心得体会
这次的课程设计结果虽然简单,可是过程很复杂,我们用的时间也比较长,主要是自己的只是水平不高,花费了大量的时间,最后却
选择了一个最简单的设计。

通过这次设计实验,觉得自己的水平的确有待提高。

学习不踏实,以为学懂了,其实只是学了表面,细节根本没有注意到,以至于花费了时间,却没有出结果。

这也是一个自我检测的过程,发现自己的不足,弥补自己的缺点,给了我一个很大的启发。

相关文档
最新文档