版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 微机原理课程设计说明书设计题目:跑马灯 学 院 计算机科学与工程学院 专 业 计算机科学与技术专业 班 级 学 生 学 号 同组者 指导教师 2014 年 春季 学期- 17 - / 19文档可自由编辑打印目录一、 实验简介31、基本要求32、设计提示33、进一步设计要求3二、 实验原理31、 实验原理描述32、8254芯片42.1、8254芯片组成部分42.2、8254芯片工作方式43、8255芯片53.1、8255芯片的组成部分53.2、8255芯片工作方式64、实验原理图7三、 实验流程图与源程序71、 流程图71.1、主程序流程图81.2 Appmain 子程序流程图81.3 灯跳转
2、阶段流程图102、源程序(见附录)11四、 实验结果与测试11五、 实验提高与扩展11六、 个人心得与体会12附录131、 实验简介:1、基本要求:采用8254精确定时,LED的点亮规律为LED7->LED0,每一个LED的点亮时间间隔由逻辑电平开关K1、K2、K3选择,K1的时间间隔为0.5s,K2的时间间隔为1.0s,K3的时间间隔为1.5s。当主机键盘按下任意键时停止演示。2、设计提示:采用8255的A口接LED灯,B口接逻辑电平开关K1、K2与K3。在8254的中断服务程序中完成对灯的控制,主程序检测灯的变化,改变点亮LED的时间间隔。3、进一步设计要求:将LED的点亮规律变为L
3、ED7->LED0->LED7。2、 实验原理:1、 实验原理描述: 该实验中跑马灯采用8255和8254芯片来实现,利用8254芯片来做定时器,采用8254的方式3(方波发声器),因此在8254芯中采用级联的方法,以此来控制跑马灯中实现0.5s,1.0s,1.5s的效果片;在8255芯片中将A口当做输出口连接LED灯,B口一个输入口来掌控三个逻辑开关的打开与关闭,选择三种不同的时间间隔,C7口作为另一个输入口连接着8254芯片的OUT1口来读从8254芯片传来的三种不同大小的频率之一,以此来实现具有三种不同时间间隔跳转的跑马灯。2、8254芯片:2.1、8254芯片组成部分:(1
4、)数据总线缓冲器:数据总线缓冲器是一个三态、双向8位寄存器主要作用是与cpu进行数据交换,8位数据线D7D0与CPU的系统数据总线连接,构成CPU和8254之间信息传送的通道,CPU通过数据总线缓冲器向8254写入控制命令、计数初始值或读取计数值。(2)读写逻辑:读写逻辑是芯片的控制部分,编程人员通过控制信号的选择来选择芯片的工作方式。读/写控制逻辑用来接收CPU系统总线的读、写控制信号和端口选择信号,用于控制8254内部寄存器的读/写操作。(3)控制字寄存器:控制寄存器是一个只能写不能读的8位寄存器,系统通过指令将控制字写入控制寄存器,设定8254的不同工作方式。(4)计数器;8254内部有
5、三个结构完全相同而又相互独立的16位减“1”计数器,每个计数器有六种工作方式,各自可按照编程设定的方式工作。2.2、8254芯片工作方式:8254芯片共有六种工作方式,分别对应与六种不同的用途。(1)方式0:计数结束中断方式,写入N后开始计数计数器为0 ,OUT输出H.(2)方式1:可编程单稳态,外部GATE触发 OUT输出单拍负脉冲宽度N个CLK.(3)方式2:速率发生器,每N个CLK输一个宽度为一个CLK周期的负脉冲 ,不断重复.(4)方式3:方波发生器,N偶,N/2个1,N/2个0N奇,(N+1)/2个1,(N-1)/2个0 不断重复.(5)方式4:软触发选通,写入N后开始计数计数器为0
6、,OUT输出一个宽度为CLK周期的负脉冲.(6)方式5:硬触发选通,写入N后GATE上升沿,开始计数计数器为0 ,写入N后GATE上升沿,开始计数计数器为0 ,OUT输出一个宽度为CLK,周期的负脉冲,OUT输出一个宽度为CLK,周期的负脉冲.本次课设中,只是使用到了8254的工作方式3,将其当做一个方波发生器来使用,为8255提供固定频率的方波信号,8255以此来控制灯的点亮情况。使用8254的计数0和计数器1来进行级联,从out1中输出方波信号。3、8255芯片:3.1、8255芯片的组成部分: 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接
7、口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。(一)与CPU连接部分:根据定义,8255能并行传送8位数据,所以其数据线为8根D0D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下:(1)数据总线DB:编号为D0D7,用于8255与CPU传送8位数据。(2)地址总线AB:编号为A0A1,用于选择A、B、C口
8、与控制寄存器。(3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。(二)与外设接口部分:根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下:(1)A口:编号为PA0PA7,用于8255向外设输入输出8位并行数据。(2)B口:编号为PB0PB7,用于8255向外设输入输出8位并行数据。(3)C口:编号为PC0PC7,用
9、于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。(三)控制器:8255将3个通道分为两组,即PA0PA7与PC4PC7组成A组,PB0PB7与PC0PC3组成B组。相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:(1)A组控制器:控制A口与上C口的输入与输出。(2)B组控制器:控制B口与下C口的输入与输出。3.2、8255芯片工作方式: 8255芯片共有三种不同的工作方式方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路 方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的
10、外设适用于查询和中断方式的接口电路4、实验原理图:3、 实验流程图与源程序:1、 流程图:1.1、 主程序流程图: 1.2 Appmain 子程序流程图:1.3 灯跳转阶段流程图:2、 源程序:.model small.586.stack .data p8255a=288h ;A口地址 p8255b=p8255a+1 ;B口地址 p8255c=p8255a+2 ;C口地址 p8255Ctrl=p8255a+3 ;控制口地址 p8254a=280h ;通道0地址 p8254b=p8254a+1 ;通道1地址 p8254c=p8254a+2 ;通道2地址 p8254Ctrl=p8254a+3 ;控
11、制口地址 msgdb 'Press anykey to Exit',0dh,0ah,'$'.code mainproc movax,data movds,ax ;建立数据段 mov dx,offset msg mov ah,09h ;显示字符串 int 21h callinit8255 callAppmain mov ah,4ch ;返回DOS int 21h retmain endpinit8255 proc mov dx,p8255Ctrl ;控制口地址 mov al,8ah ;设置8255为B,C口输入,A为输出 out dx,al ;控制字:100010
12、10B retinit8255 endpAppmainproc mov dx,p8255b ;检测B口状态 in al,dx mov cl,altest:mov cl,alcmp al,01h jnz judge1initk0:mov dx,p8254Ctrl ;初始化计数器0,1,实现定时0.5s mov al,36h out dx,al mov dx,p8254a mov ax,500 out dx,al mov al,ah out dx,al mov dx,p8254Ctrl mov al,76h out dx,al mov dx,p8254b mov ax,1000 out dx,al
13、 mov al,ah out dx,al mov bl,80h ;点亮L7 change:mov dx,p8255a mov al,bl out dx,al ;输出next:mov dx,p8255c in al,dx and al,80h jnz hight ;判断是否c口为下降沿 cmp ah,1 jnz next mov ah,0 jmp xhight:mov ah,1 jmp nextx: mov dl,0ffh ;直接控制台IO,相当于C中while(!kbhit() mov ah,06h ;等待按键 int 21h ;al=输入字符 jnz done ;若无按键,则继续 mov a
14、l,bl cmp al,01h ;判断是否到达L0 jz change1 mov dx,p8255a out dx,al ;输出 ror bl,2 mov dx,p8255b ;检测B口状态 in al,dx cmp al,cl jnz test jmp nextchange1:mov dx,p8255a mov al,bl out dx,al ;输出next1:mov dx,p8255c in al,dx and al,80h jnz hight1 ;判断是否c口为下降沿 cmp ah,1 jnz next1 mov ah,0 jmp out1hight1: mov ah,1 jmp nex
15、t1out1: ;mov dx,offset msg ;mov ah,09h ;显示字符串 ;int 21h mov dl,0ffh ;直接控制台IO,相当于C中while(!kbhit() mov ah,06h ;等待按键 int 21h ;al=输入字符 jnz done ;若无按键,则继续 mov al,bl cmp al,80h jz change mov dx,p8255a out dx,al ;输出 rol bl,1 mov dx,p8255b ;检测B口状态 in al,dx cmp al,cl jnz test jmp next1 judge1:cmp al,02h jnz j
16、udge2initk1:mov dx,p8254Ctrl ;初始化计数器0,1,实现定时1s mov al,36h out dx,al mov dx,p8254a mov ax,100 out dx,al mov al,ah out dx,al mov dx,p8254Ctrl mov al,76h out dx,al mov dx,p8254b mov ax,10000 out dx,al mov al,ah out dx,al mov bl,80h ;点亮L7 jmp nextjudge2:cmp al,04h jnz judgeelsejudgeelse:mov dx,p8254Ctrl
17、 ;初始化计数器0,1,实现定时1s mov al,36h out dx,al mov dx,p8254a mov ax,100 out dx,al mov al,ah out dx,al mov dx,p8254Ctrl mov al,76h out dx,al mov dx,p8254b mov ax,10000 out dx,al mov al,ah out dx,al mov bl,80h ;点亮L7 jmp nextinitk2:mov dx,p8254Ctrl ;初始化计数器0,1,实现定时1.5s mov al,36h out dx,al mov dx,p8254a mov ax
18、,1500 out dx,al mov al,ah out dx,al mov dx,p8254Ctrl mov al,76h out dx,al mov dx,p8254b mov ax,1000 out dx,al mov al,ah out dx,al mov bl,80h ;点亮L7 jmp next done: retAppmainendpend main4、 实验结果与测试:在这次试验中共有四种结果出现:1.开关K0闭合: 七个灯相互间隔0.5s从L7开始依次被点亮,当L0被点亮时,又跳转到L7继续循环;2.开关K1闭合: 七个灯相互间隔1.0s从L7开始依次被点亮,当L0被点亮时
19、,又跳转到L7继续循环;3.开关K2闭合: 七个灯相互间隔1.5s从L7开始依次被点亮,当L0被点亮时,又跳转到L7继续循环;4.除了以上三种外其他开关闭合情况: 默认七个灯相互间隔1.0s从L7开始依次被点亮,当L0被点亮时,又跳转到L7继续循环. 总之,以上四种情况均实现了LED灯从LED7依次跳转到LED0。5、 实验提高与扩展:对该实验所做的改进和提高之处有两处:1、 实现了LED7->LED0->LED7 实验基本要求为实现从LED7变化到LED0即可,我们在实现这个基本要求的基础上还实现了当LED灯被依次点亮到L0时,又从L0依次跳转到LED7。2、错误处理 除了题目要求中的K0,K1,K2三个逻辑开关闭合的情况外,我们还对这三种情况除外的所有情况均进行了处理,在程序中默认出现其他情况后均跳转到1.0s的状态,使LED灯依次按照间隔1.0s来点亮。6、 个人心得与体会: 在本次课设中,我总共有以下六处体会: 1、在这次实验中,我们是两个人一组的合作实验,所以我们都有着自己的任务。我的任务是分析题目,设计原理图,连接电路以及测试效果。 2、本次课设在上学期所学的微型计算机的基础上,提出了比较高的起点和要求,充分检查了我们对理论知识的的掌握程度和实践动手的能力。即不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《轴承常用量仪》课件
- 阿尔滋海默病研究
- 辽宁省抚顺市(2024年-2025年小学五年级语文)统编版随堂测试(上学期)试卷及答案
- 贵州省遵义市(2024年-2025年小学五年级语文)统编版摸底考试(上学期)试卷及答案
- 《中华园招商项目》课件
- 元宵节日记范文五篇
- 《误差传递公式》课件
- 助残主题演讲稿(3篇)
- 高三励志国旗下学生演讲稿(3篇)
- 工作计划汇编7篇
- 2024年海南省中考物理试题卷(含答案)
- 2024统编新版小学三年级语文上册第八单元:大单元整体教学设计
- 第07讲 物态变化(原卷版)-2024全国初中物理竞赛试题编选
- 高危儿规范化健康管理专家共识解读
- DB61T1521.5-2021奶山羊养殖技术规范 第5部分:后备羊培育
- 中国心力衰竭基层诊疗与管理指南(2024年版)
- 2024-2030年中国番茄粉行业市场发展趋势与前景展望战略分析报告
- 2024至2030年中国连续热镀铝硅合金钢板行业市场深度分析及发展趋势预测报告
- 05G335单层工业厂房钢筋混凝土柱
- 2024年全国各地中考语文真题分类汇编【第二辑】专题07 文言文对比阅读(含答案)
- DL∕T 899-2012 架空线路杆塔结构荷载试验
评论
0/150
提交评论