微机原理课程设计--彩灯控制器系统_第1页
微机原理课程设计--彩灯控制器系统_第2页
微机原理课程设计--彩灯控制器系统_第3页
微机原理课程设计--彩灯控制器系统_第4页
微机原理课程设计--彩灯控制器系统_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. 课程设计报告课程编号j1610103课程名称微型原理与应用课程设计学生姓名学生学号联系电话所在班级实施地点科技楼微机原理室422起止时间2013.12.15-2013.12.20指导教师王荣辉目 录1 课程设计的目的2 课程设计的任务与要求 3 系统框图 4 设计原理 4.1 8255工作原理及内部结构 4.2 8255A的工作方式控制字 4.3 8086 的引脚信号 5 程序设计流程图及说明 6 程序调试与结果分析 7 总结 11附录1:总体电路原理图13附录2:元器件清单13附录3:源程序代码141 课程设计的目的通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,了解步进

2、电机控制的基本原理,掌握控制步进电机转动的编程方法,进一步熟练掌握8255A并行I/O口的工作方式以及编程方法,熟练应用8086以及汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。体会系统整体设计的流程与方法,为以后系统级设计积累经验。2 课程设计的任务与要求以8255交通灯的一种显示效果为例,介绍彩灯控制器显示的基本原理。设有一排 8个水平排列的彩灯,某种显示方式为从左到右0.5秒点亮。其控制过程如下:若以“ 0 ”代表彩灯点亮,以“ 1 ”代表彩灯熄灭,则开始时刻, L1黄灯亮1.5秒后,红灯L2,L3,L4,L5间隔0.5秒依次亮,然后绿灯

3、L6.L7.L8间隔0.5秒依次亮;循环7次。控制器将一帧8个数据送至8个彩灯的控制端,其中,最左边的一段彩灯对应的控制数据为“0”,其余的数据均为1,即11111110.当8个数据送完以后,控制器停止送数,保留这种状态(定时)1.5秒,此时黄灯被点亮,其余彩灯熄灭。随后,控制器又在极短的时间内将数据111111101送至彩灯的控制端,并定时0.5秒,这段时间,第一个红灯被点亮。由于送数据的过程很快,我们观测到的效果是第一个红灯被点亮 0.5 秒后,第 2 个红灯接着被点亮,即每隔 0.5 秒显示一帧图样。如此下去,最后控制器将数据 01111111送至 8个彩灯的控制端,则L8绿灯被点亮。依

4、次循环7次。3 系统框图彩灯控制器系统框图如下所示: 彩灯8255可控制并 行接口芯片8086微处理器图1 系统框图4 设计原理在这次课程设计中主要用到了8255A可编程并行接口芯片可用程序来设置芯片的工作方式,通用性强,使用灵活,可为多种不同的CPU与外设之间提供并行输入/输出的通道。4.1 8255工作原理及内部结构4.1.1 8255内部结构 8255A的内部结构如图2所示,它由4部分组成:(1) 数据总线缓冲器(2)三个8位端口PA、PB、PCPA7-PA0PC7-PC4PC3-PC0D7-D0/RD/WRA1A0/CSRESETA组控制数据总线缓冲器读/写控制逻辑B组控制A组A口(8

5、位)A组C口 高4位B组C口 低4位B组B口(8位)PB7-PB0图2 内部结构图(3) A组和B组控制电路A组:PA口和PC口的高四位(PC7PC4);B组:PB口和PC口的低四位(PC3PC0)。这两组控制电路一方面接收CPU发来的控制字并决定8255A的工作方式;另一方面接收来自读写控制逻辑电路的读写命令,完成接口的读写操作。(4)读/写控制逻辑用来管理数据信息。控制字和状态字的传送,它接收来自CPU的地址总线的A1,A0和控制总线的信号RD.WR.RESET等,并向8255A的A,B两组发送命令.由它控制把CPU发出的控制命令字或输出的数据送到相应的端口,或把外设的状态信息或输入的数据

6、从相应的端口送到CPU.4.1.2 8255A引脚功能8255A芯片除电源和地引脚以外,其他引脚可分为两组,引脚如图3所示:(1)8255A与外设连接引脚 8255A芯片与外设连接的有24条双向、三态数据引脚,分成三组,分别对应于A,B,C三个数据端口:PA7-PA0,PB7-PB0,PC7-PC0.1 402 393 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21PA3PA2PA1PA0/RD/CSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2

7、PA4PA5PA6PA7/WRRETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB3图3 引脚图( 2 ) 8255A与CPU连接引脚D7与CPU侧连接的八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器选择输入信号;PA7PA0A口外设双向数据线;PB7PB0B口外设双向数据线;PC7PC0C口外设双向数据线;RESET复位输入信号表1 8255A的控制信号和传送操作的对应关系/CS/RD/WRA1 A0执行的操作0010 0读端口A0010 1读端口B0011 0读端口C0011 1非法状态0

8、100 0写端口A0100 1写端口B0101 0写端口C0101 1写控制字端口1 未选通4.2 8255A的工作方式控制字8255A有两个控制字:方式选择控制字和端口C置位/复位控制字。这两个控制字公用一个地址,即控制端口地址,用控制字的D7位来区分这两个控制字,D7=1为方式选择控制字;D7=0为端口置位/复位控制字。4.2.1 方式选择控制字如图4所示:图4 8255A方式选择控制字D7 D6 D5 D4 D3 D2 D1下C口pc3-pc00输入 1输PB 0输1输出上C口pc7-pc40输入 1输出PA 0输入 1输出A组工作方式0 方式001方式012方式10特征位4.2.2 端

9、口C置位/复位控制字 端口C置位/复位控制字的格式如下图所示:D3-D1三位的编码与端口C的某一位相对应,D0决定置位或复位操作,最高位为0是端口C置位或复位控制字标志。如图5所示0D3D2D1置位或复位选择1:置位 0:复位D0D3D2D1位选择000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7 图5 8255A端口C置4.2.3 8255A的工作方式8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源引脚图供电,能在以下三种工作方式下工作:方式0基本输入/输出方式方式0下,每一个端

10、口都作为基本输入或输出口,端口C的高4位和低4位以及端口A、端口B都可独立的设置为输入口或输出口。4个端口的输入或输出可有16种组合。8255A工作于方式0时,CPU可采用无条件读写方式与8255A交换数据,也可采用查询方式与8255A交换数据。采用查询方式时,可利用端口C作为与外设的联络信号。4.3 8086的引脚信号如图6所示:图6 8086引脚图1 402 393 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21GNDAD14AD13AD12AD11AD10AD9AD8AD7

11、AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A1/S4A18/S5A19/S6/BHE/S7MN/MX/RDHOLDHLDA/WRM/IODT/R/DENALE/INTR/TESTREADYRESET 8086具有两种不同工作方式,即最小模式和最大模式。若把MN/引脚连至电源+5V,则为最小模式。若把它接地,则处在最大模式。5 程序设计流程图及说明设计流程图如图7所示:开始置8255控制字 使B口数据保存在BL中各端口均为基本输出,且均工作于方式0黄灯L1亮延时1.5秒红灯L2,L3,L4,L5依次亮0.5秒 绿灯L6,L7,L8,L9依次亮0

12、.5秒 结束图7 实验流程图6 程序调试与结果分析 本程序共有分端口设置模块,延时模块,显示模块等几个模块。经过调试,本程序可以基本实现题目的要求。黄灯L1亮 1.5秒 红灯L2.L3.L4.L5间隔0.5秒依次点亮 1.5秒 绿灯L6、L7、L8、L9间隔0.5秒依次点亮 1.5秒 黄灯L1熄灭 1.5秒 L2、L3、L4、L5同时熄灭 1.5秒 L6、L7、L8、L9同时熄灭 1.5秒 返回初始步,循环显示。7 总结 这次课程设计的最大收获应该是找到了解决问题的几个很好的途径:1. 讨论2.通过网络,在自己的网站上也收获了很多,共享让我们共同进步。此外,我学会了看硬件结构图,并学会了自己去

13、独立的完善一个程序,对程序的效用等做思考。并体会到:问别人只能帮你开拓思路,真正解决问题还是要靠自己去摸索。当然讨论是很好的学习途径,它会让你事半功倍. 附录1:总体电路原 附录2:元器件清单8086、74LS373、8255A、LED 附录3:源程序代码DATA SEGMENTCOMEQU 0096H ;控制口地址PA EQU 0090H ;A口地址PBEQU 0092H; B口地址PCEQU 0094H ; C口地址DATA ENDSsda segment stackbdfv dw 100 dup(0)sda ends ; 设置堆栈段CODE SEGMENTASSUME CS:CODE,D

14、S:DATA,SS:sdaSTART:mov dx,COMmov al,10000010H ; PA输出、PB输入、PC输出模式out dx,al;设置8255A的控制字寄存器mov al,00000000bmov dx,PAout dx,al ;从A口输出8个全零,使8个发光二极管全亮 QQ: MOV DX,PB IN AL,DX ;读B口状态 cmp al,11111101h jnz START1 call START1 MOV DX,PB IN AL,DX cmp al,0FDh Jz hh jmp QQhh: jmp START2 START1 proc near waitq: MOV

15、 DX,PB IN AL,DX cmp al,0Fbh(11111011) jnz wait1 mov al,00000000b mov dx,PA out dx,al MOV DX,PC MOV AL,00H OUT DX,AL ;K3关闭,所有灯全灭 wait1: MOV DX,PB IN AL,DX cmp al,0Fbh(11111011) jz wait1 MOV DX,PC MOV AL,01H OUT DX,AL 黄灯亮 MOV CX,6HDELAY8: DEC CX LOOP DELAY8 延时1.5秒 MOV DX,PA MOV AL,01H OUT DX,AL 红灯第一盏灯

16、亮 MOV CX,2HDELAY: DEC CX LOOP DELAY ;延时0.5秒 MOV DX,PA MOV AL,03H 红灯第一,第二盏灯亮 OUT DX,AL MOV CX,2HDELAY1: DEC CX LOOP DELAY1 ;延时0.5秒 waitw: MOV DX,PB IN AL,DX cmp al,0Fbh(11111011B) jnz wait1w mov al,00000000b mov dx,PA out dx,al MOV DX,PC MOV AL,00H OUT DX,AL K3按下,所有灯灭 wait1w: MOV DX,PB IN AL,DX cmp a

17、l,0Fbh jz wait1w ;等于零K3按下 MOV DX,PA MOV AL,07H OUT DX,AL ;红灯三盏都亮 MOV CX,2HDELAY2: DEC CX LOOP DELAY2 延时0.5秒 MOV DX,PA MOV AL,0FH OUT DX,AL ; 接在A口的灯都亮 MOV CX,6HDELAY3: DEC CX LOOP DELAY3 ;延时1.5秒 MOV DX,PA MOV AL,1FH(00011111B) OUT DX,AL ;绿灯亮第一 MOV CX,2H DELAY4: DEC CX LOOP DELAY4 ;延时0.5秒 MOV DX,PA MO

18、V AL,3FH OUT DX,AL 绿灯亮第一,第二 MOV CX,2HDELAY5: DEC CX LOOP DELAY5 ;延时0.5秒 waitw1: MOV DX,PB IN AL,DX cmp al,0Fbh jnz wait1w1 mov al,00000000b mov dx,PA out dx,al MOV DX,PC MOV AL,00H OUT DX,AL ;K3按下全灭 wait1w1: MOV DX,PB IN AL,DX cmp al,0Fbh jz wait1w1 MOV DX,PA MOV AL,7FH OUT DX,AL ;绿灯亮三盏都亮 MOV CX,2HD

19、ELAY6: DEC CX LOOP DELAY6 延时0.5秒 MOV DX,PA MOV AL,0FFH OUT DX,AL A口灯全亮 MOV CX,6HDELAY9:DEC CX LOOP DELAY9 延时1.5秒 MOV DX,PC MOV AL,0 OUT DX,AL ; 黄灯灭 MOV CX,6HDELAY10:DEC CX LOOP DELAY10 延时1.5秒 MOV DX,PA MOV AL,0 OUT DX,AL ;A口灯全灭JMP START1ret START1 endpSTART2 proc near wait2: MOV DX,PB IN AL,DX cmp a

20、l,0FBh jnz wait3 mov al,00000000b mov dx,PA out dx,al MOV DX,PC MOV AL,00H OUT DX,AL wait3: MOV DX,PB IN AL,DX cmp al,0Fbh jz wait3 MOV DX,PC MOV AL,01H OUT DX,AL MOV CX,0EHDELA8: DEC CX LOOP DELA8 MOV DX,PA MOV AL,01H OUT DX,AL MOV CX,06HDELA: DEC CX LOOP DELA MOV DX,PA MOV AL,03H OUT DX,AL MOV CX,06HDELA1: DEC CX LOOP DELA1 MOV DX,PA MOV AL,07H OUT DX,AL MOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论