微机原理课程设计跑马灯
- 格式:doc
- 大小:284.00 KB
- 文档页数:9
《微型计算机系统》课程设计任务书题目名称:基于单片机的跑马灯设计专业自动化班自本132 姓名刘鑫伟学号201328201 学校:青岛理工大学自动化学院指导教师:史贺男2015年11月30日青岛理工大学自动化工程学院课程设计任务书课程名称:微型计算机系统设计题目:基于单片机的跑马灯设计系统硬件要求:根据实际要求,以MCS-51单片机为核心,设计3个按键,每个按键对应一个花样,可手动显示,即按一个按键,显示一种花样,也可以再设计一个按键用于连续显示每个花样,每个花样显示的时间和花样设计者自己规定,并在论文中给定。
设计控制系统硬件电路,编写C语言或汇编语言程序,并用PROTEUS软件进行实时仿真。
要求:(1)扩展接口(8255或8155),设计至少4个按键(2)设计至少32个LED(3)LED显示至少有3种花样,可单独显示也可自动循环显示软件设计:1)主程序设计2)各功能子程序设计其他要求:1、每位同学独立完成本设计。
2、依据题目要求,提出系统设计方案。
3、设计系统电路原理图。
1、调试系统硬件电路、功能程序。
2、编制课程设计报告书并装订成册,报告书内容(按顺序)(1)报告书封面(2)课程设计任务书(3)系统设计方案的提出、分析(4)系统中典型电路的分析(5)系统软件结构框图(6)系统电路原理图(7)源程序(8)课设字数不少于3000字目录第一节AT89C51芯片分析 (I)第二节设计概述 (3)第三节算法 (5)第四节编程技巧 (7)第五节电路设计及功能说明,硬件原理框图及电路图(包括接口芯片简介).8 第六节调试过程中的主要难点(自己遇到的)及解决思路和办法; (8)课设结果及分析、收获、体会和建议; (9)参考文献 (10)附录1 (11)附录2 (12)第一节AT89C51芯片分析ATMEL的AT89S51是一种高效微控制器,将多功能8位CPU和闪烁存储器组合在单个芯片中,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
微型计算机技术课程设计指导教师:赵立辉李鹏学生班级:计科10802学生姓名:陈东学号:200803939班内序号:11目录1.……………………………………………………….课设目的2.………………………………………………………课设内容3.…………………………………………问题分析及设计思路4.…………………………………………电路设计及功能说明5.………………………………硬件原理图及接口芯片的介绍6.……………………………………程序流程图及相关源程序7. …………………………………………………实验结果及分析8.…………………………………………………………课设总结一.课设目的1.通过本设计,使学生综合运用《微型计算机技术》、《汇编语言程序设计》以及电子技术等课程的内容,为以后从事计算机检测与控制工作奠定一定的基础。
2.主要掌握接口芯片8253、8255A等可编程器件的使用,掌握译码器74LS138的使用。
3.学会用汇编语言编写一个较完整的实用程序。
4.掌握微型计算机技术应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等步骤。
二.课设内容1.功能要求:采用8253设计一个1s定时电路,将定时信号接到8255的PC 口的某一位,编程查询该位的状态,若为低电平,则从8255A的PA口输出不同的值使和PA口相接的发光二极管依次变化,实现走马灯的效果。
按下Esc键结束程序。
2.设计所需器材及介绍①一块实验面包板(内含时钟信号1MHz或2MHz)。
②可编程芯片8253、8255A、74LS138、74LS245各一片。
74LS06两片,发光二极管8个,排电阻一个。
③导线若干。
④示波器、万用表、常用工具等共用(从实验室现借现还)三.问题分析及设计思路1.利用74LS138设计地址译码电路,8255A端口地址:300H~303H,8253的端口地址:304H~307H。
2.74LS245用于总线和8253、8255A之间的双向传输和隔离。
学号:课程设计题目基于PROTEUS的跑马灯系统设计及仿真学院自动化学院专业自动化班级姓名指导教师2012 年 1 月12 日任务书目录引言 (1)1总体方案论证 (2)1.1功能分析 (2)1.2系统连接图设计 (2)1.2.1锁存控制电路 (5)1.2.2可编程并行通信接口芯片8255A (6)2程序流程图设计及其说明 (9)3关键程序段落说明 (11)3.1数据段定义 (11)3.2程序初始化 (11)3.3芯片初始化 (12)3.4初始LED亮灭状态 (12)3.5检测按键开关子程序 (12)3.6延时程序片段 (14)3.7灯光变换控制 (15)4程序调试说明 (16)5结果记录及分析 (17)心得体会 (19)参考文献 (20)引言微型计算机简称微机,由于具备人脑某些功能,所有又叫做微机。
是由大规模集成电路组成的、体积较小的电子计算机。
它是以微处理器为基础,配以存储器及输入输出接口电路和相应的辅助电路构成的裸机。
把微型计算机集成在一个芯片上即构成单片微型计算机。
学习微机原理与接口技术,主要容包括微型计算机体系结构、8086微处理器和指令系统、汇编语言、设计以及微型计算机各个组成部分,而其中很大一块就是汇编语言的学习。
汇编语言是面向机器的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。
用汇编语言编写的程序由于目标程序占用存少,运行速度快,它有着高级语言不可替代的用途。
因此,学习汇编语言是很必要的,通过学习汇编语言可以体会它的作用。
通过本次课程设计让我们进一步深入汇编语言的学习,掌握简单的接口设计技术,将理论知识联系实际,进一步学习微机原理与接口技术的相关知识,为以后深入学习打下良好的基础。
1总体方案论证1.1功能分析此次课程设计的要求为,设计微型计算机最小系统,实现跑马灯的模拟显示功能。
具体要求为:(1)、输入设备三个启动按钮、一个停止按钮,输出设备为八个跑马灯;(2)、三个启动按钮对应三种跑马灯显示效果,按下任意一个启动按钮,跑马灯显示对应的效果,按下停止按钮则跑马灯全部熄灭。
课程设计题目基于PROTEUS的跑马灯系统设计及仿真学院自动化学院专业自动化班级姓名指导教师2012 年 1 月12 日任务书目录引言 (1)1总体方案论证 (2)1.1功能分析 (2)1.2系统连接图设计 (2)1.2.1锁存控制电路 (5)1.2.2可编程并行通信接口芯片8255A (6)2程序流程图设计及其说明 (9)3关键程序段落说明 (11)3.1数据段定义 (11)3.2程序初始化 (11)3.3芯片初始化 (12)3.4初始LED亮灭状态 (12)3.5检测按键开关子程序 (12)3.6延时程序片段 (14)3.7灯光变换控制 (15)4程序调试说明 (16)5结果记录及分析 (17)心得体会 (19)参考文献.................................................................. 错误!未定义书签。
引言微型计算机简称微机,由于具备人脑某些功能,所有又叫做微机。
是由大规模集成电路组成的、体积较小的电子计算机。
它是以微处理器为基础,配以内存储器及输入输出接口电路和相应的辅助电路构成的裸机。
把微型计算机集成在一个芯片上即构成单片微型计算机。
学习微机原理与接口技术,主要内容包括微型计算机体系结构、8086微处理器和指令系统、汇编语言、设计以及微型计算机各个组成部分,而其中很大一块就是汇编语言的学习。
汇编语言是面向机器的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。
用汇编语言编写的程序由于目标程序占用内存少,运行速度快,它有着高级语言不可替代的用途。
因此,学习汇编语言是很必要的,通过学习汇编语言可以体会它的作用。
通过本次课程设计让我们进一步深入汇编语言的学习,掌握简单的接口设计技术,将理论知识联系实际,进一步学习微机原理与接口技术的相关知识,为以后深入学习打下良好的基础。
1总体方案论证1.1功能分析此次课程设计的要求为,设计微型计算机最小系统,实现跑马灯的模拟显示功能。
微机原理流水灯流水灯,又称为跑马灯,是一种常见的LED灯效。
它的灯光效果像水流一样流动,非常美观。
在微机原理中,流水灯的实现是一个很好的实践项目,可以帮助学生理解数字电路和微机原理的知识。
本文将介绍如何使用微机原理实现流水灯,并提供相应的代码和电路图供参考。
首先,我们需要准备以下材料:1. 8个LED灯。
2. 8个220Ω的电阻。
3. 一个面包板。
4. 杜邦线若干。
5. 一个Arduino开发板。
接下来,我们来看一下流水灯的原理。
流水灯的实现原理是通过依次点亮LED 灯,然后熄灭前一个LED,点亮下一个LED,以此类推,就形成了灯光像水流一样流动的效果。
在微机原理中,我们可以利用Arduino开发板来实现这一效果。
首先,我们需要将8个LED灯连接到Arduino开发板上。
将LED的长针(阳极)通过220Ω的电阻连接到Arduino的数字引脚2~9上,LED的短针(阴极)接地。
接下来,我们需要编写Arduino的程序来实现流水灯的效果。
以下是流水灯的Arduino代码:```c。
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9};void setup() {。
for (int i = 0; i < 8; i++) {。
pinMode(ledPins[i], OUTPUT);}。
}。
void loop() {。
for (int i = 0; i < 8; i++) {。
digitalWrite(ledPins[i], HIGH);delay(100);digitalWrite(ledPins[i], LOW);}。
}。
```。
在这段代码中,我们首先定义了8个LED灯的引脚号,然后在setup函数中将这些引脚设置为输出模式。
在loop函数中,我们依次点亮每个LED灯,并通过delay函数控制灯光的流动速度。
接下来,我们将Arduino开发板连接到电脑上,上传这段代码到开发板中。
微机原理跑马灯的设计原理
跑马灯是一种实现循环显示效果的电路,常用于LED灯条、数字管、点阵等显示设备中。
它的设计原理与微机系统有关,具体包括以下几个方面:
1.微机系统:跑马灯的实现需要使用微机系统,包括CPU、存储器、输入输出接口等。
CPU用于控制程序的执行,存储器用于存储程序和数据,输入输出接口用于控制LED灯条的显示。
2.循环显示:跑马灯的核心是循环显示。
通过不断循环变化LED灯条的状态,形成灯条上移或下移的效果。
具体可以通过移位操作实现,将灯条的状态左移或右移,从而达到循环显示的效果。
3.定时器:为了保证跑马灯循环显示的频率和速度,需要使用定时器。
定时器可以产生一定的脉冲信号,控制每个LED灯的亮灭时间和显示周期。
定时器还可以配合中断技术实现自动循环和停止功能。
4.程序设计:跑马灯的程序设计需要采用适当的算法和流程控制语句。
一般采用循环结构控制灯条的状态变化,同时利用函数和数组等数据结构优化程序的效率和可维护性。
总之,跑马灯的设计涉及多个方面的技术,并需要综合考虑程序效率、硬件资源、用户体验等多个因素。
只有充分理解微机系统的原理和设计思路,才能更好地实
现跑马灯的功能和效果。
微型计算机技术及应用课程设计课程题目:跑马灯的设计与实现院系:专业:姓名:学号:指导老师:完成日期:跑马灯的设计与实现一实验目的1.巩固和加深课堂所学知识;熟悉各种指令的应用及条件;2.深入了解与掌握8086微处理器、8255A、74ls154 和74LS273的工作原理3.通过走马灯的设计与制作,深入了解与掌握利用可编程8255A进行开关量控制的原理与方法。
二实验要求1.产生6种彩灯(8位LED)的走马灯花样;2.键控(或拨码开关控制)发光实验。
通过按下不同的开关来控制灯的不同的走向。
三实验内容1.进行走马灯的系统电路设计,掌握基本原理;2.利用PROTEUS软件画出电路原理图;3.进行走马灯的控制程序设计(采用ASM语言);4.将程序导入8086中进行仿真,完成4种不同的走向。
四程序流程图YN五.设计原理与硬件电路 开始 系统初始化 8255初始化 按下开关 判断1-6的哪种 方式选择发光方式 结束 熄灭LED 灯1.功能分析此次课程设计具体功能为:(1)采用不同的开关作为输入信号,8个LED灯作为输出信号。
(2)当按下不同的开关时(每次只能按下一个开关,不能同时按下多个开关)LED灯会出现不同的闪烁方式。
当开关段开始,LED灯自动熄灭。
2.实验原理(系统连接图的设计)8255A是一种通过可编程并行I/O接口芯片。
广泛用于几乎所有系列的微机系统中,8255A具有三个带锁存或缓冲的数据端口,可与外设并行进行数据交换,8255A有多种操作方式,通用性较强,可为CPU与外设之间提供输入/输出通道。
8255A和各端口内具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换,使用条件传输方式时可用“联络”线进行控制。
在实验中,我们运用8255为CPU与外设之间提供输入输出输出通道来实现对走马灯花样变换的控制。
8086微处理器,选择最小工作模式,所有的总线控制信号均由8086产生;8086CPU的地址\数据总线AD15-AD0和地址\状态总线A16/S3-A19/S6是复用的,必须通过地址锁存器把地址总线和数据总线分离。
61-单片机课程设计-可以调控的跑马灯1000字设计目的本课程设计旨在通过单片机编程实现一个可调控的跑马灯,加深学生对单片机概念、程序设计、输入输出等方面的理解,提高学生的程序设计能力。
设计实验材料1. 基于8051单片机的电路板2. LED灯3. 电阻器4. 按钮5. 电源(可使用9V电池或其他稳定的直流电源)实验过程1. 搭建基于8051单片机的电路板,连接LED灯和电阻器2. 编写跑马灯程序,其中需要实现以下功能:(1)通过按下按钮,控制灯的亮灭(2)通过另一个按钮,调整灯的亮度(3)通过另一个按钮,调整灯的闪烁频率3. 烧录程序到单片机中4. 连接电源,测试跑马灯的各项功能程序设计本跑马灯程序采用C语言编写,主要实现以下几个功能:1. 初始化LED灯、按键和定时器等相关IO口2. 判断按键被按下,执行相应的操作3. 调整LED灯的亮灭状态,并通过调整亮度和闪烁频率实现可调控功能程序流程:1. 初始化相关IO口和定时器2. 进入主循环3. 判断按钮是否被按下4. 若开始按钮被按下,则设置灯的状态为ON5. 若结束按钮被按下,则设置灯的状态为OFF6. 若调整亮度按钮被按下,则调整PWM占空比,实现亮度调整7. 若调整闪烁频率按钮被按下,则调整定时器的周期,实现闪烁频率调整8. 延时一段时间9. 回到主循环程序代码:```#include <reg52.h>#define LED P1 // LED灯#define PWM P2 // 调整亮度sbit startButton = P3^0; // 开始按钮sbit endButton = P3^1; // 结束按钮sbit pwmButton = P3^2; // 调整亮度按钮sbit freqButton = P3^3; // 调整闪烁频率按钮void timer0_init() // 初始化定时器{TMOD = 0x01;TH0 = 0x3C;TL0 = 0xB0;TR0 = 1;}void pwm_init() // 初始化PWM {TMOD |= 0x02;TL1 = 0x00;TH1 = 0xFD;ET1 = 0;TR1 = 1;}void main(){unsigned long cnt = 0;unsigned char pwm_value = 0; LED = 0x00;PWM = 0x00;timer0_init();pwm_init();while (1){if (startButton == 0){LED = 0x01;}else if (endButton == 0){LED = 0x00;}else if (pwmButton == 0){pwm_value++;if (pwm_value >= 255){pwm_value = 0;}CCAP0H = pwm_value;}else if (freqButton == 0){cnt++;if (cnt >= 1000){cnt = 0;}TH0 = (65536 - 1000) / 256; TL0 = (65536 - 1000) % 256; }while (TF0 == 0); // 等待定时器 TF0 = 0;}}```实验结果将程序烧录到单片机后,连接电源,按下不同的按钮,可调控跑马灯的亮度和闪烁频率。
单片机课程设计(跑马灯设计)专业:电气自动化摘要AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,即单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
该设计使用AT89C51芯片作为控制芯片,利用P1口连接8个发光二极管,通过I/O的值控制“跑马灯”的亮灭,以达到显示效果。
开始时所有灯全亮,按下按键S时开始跑马灯,再按下按键S时停止,再按下S时继续,并要求有多种亮暗组合。
关键词:AT89C51单片机跑马灯按键目录摘要 (I)第一章芯片分析和设计概述 (3)第一节AT89C51芯片分析 (3)第二节设计概述 (8)第二章硬件电路设计 (9)第三章程序部分设计 (10)参考文献 (18)第一章芯片分析和设计概述第一节AT89C51芯片分析ATMEL的AT89S51是一种高效微控制器,将多功能8位CPU和闪烁存储器组合在单个芯片中,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51的芯片引脚图如下:图1.1 AT89C51引脚图各引脚的说明和功能分析如下:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH 编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
dseg segmentnumdw 0num1dw 0data1db 0FEh,0FDh,0FBh,0F7h,0EFh,0DFh,0BFh,7Fhdata2db 7Fh,0BFh,0DFh,0EFh,0F7h,0FBh,0FDh,0FEhdata3db 7Eh,0BDh,0DBh,0E7h,0E7h,0DBh,0BDh,7Ehdata4db 0fch,0f9h,0f3h,0e7h,0e7h,0cfh,09fh,03fhdata5db 03fh,09fh,0cfh,0e7h,0e7h,0f3h,0f9h,0fchdseg endscode segmentassumecs:code,ds:dsegstart:movax,dsegmovds,axmov dx,406hmov al,36houtdx,almov ax,20000mov dx,400houtdx,almoval,ahmov dx,400hout dx,al ;初始化8253mov dx,0206h ;取8255A的控制端口的地址mov al,8bh ;初始化8255A的A口为输出模式,B口为输入模式,c输入outdx,almov dx,0200h ;取8255的端口A的地址mov al,0FFh ;使8255的PA0-PA7全为1outdx,almov dx,0202h ;取8255的端口B的地址in al,dx ;检测B口输入信号mov dx,0200h ;取8255的端口A的地址mov al,0FFh ;使8255的PA0-PA7全为1out dx,al ;使所有的灯LED全灭ledflashproc ;检测开关闭合,以便确定哪种闪烁方式mov dx,0202h ;取8255A的端口B的地址in al,dx ;检测B口输入信号choice1:cmp al,07ehjne choice2movsi,offset data1 ;置第一种灯光变幻组合jmp herechoice2:cmp al,07dhjne choice3movsi,offset data2 ;置第二种灯光变幻组合jmp herechoice3:cmp al,07bhjne choice4movsi,offset data3 ;置第三种灯光变幻组合jmp herechoice4:cmp al,077hjne choice5movsi,offset data4 ;置第四种灯光变幻组合jmp herechoice5:cmp al,06fhjne choice6movsi,offset data5 ;置第五种灯光变幻组合jmp herechoice6:cmp al,05fhjne choice7mov al,0mov dx,0200houtdx,alchoice7: ;每盏灯亮完检测开关,如果停止开关没有按下跳到choice5 cmp al,07fhjne choice8jmp exitchoice8:cmp num,0h;检测num是否为0,若为0扫描开关,若不为0继续执行jne herejmpledflashhere:movbx,nummov al,[si+bx]mov dx,0200h ;取8255的端口A的地址out dx,al ;输出加电数据到端口Aincnum ;改变数字变量的值cmp num,09hje exitcall delayjmpledflashexit:mov num,0jmpledflashretledflashendpdelayproc neardl4: mov dx,0204hinal,dxand al,01hcmp al,1jz dl4retdelay endpcode endsend start。
微型计算机技术课程设计报告专业:通信工程班级:xxxxxxxxx姓名:XXX学号:xxxxxxx指导教师:XX时间:xxx通信与电子信息工程学院8255扩展一、课设目的、内容;1.目的:为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的课程设计。
通过设计使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。
(1).通过本设计,使学生综合运用《微型计算机技术》、《C语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。
(2).学会使用KEIL C和PROTEUS等软件,用C语言或汇编语言编写一个较完整的实用程序,并仿真运行,保证设计的正确性。
(3).了解单片机接口应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等。
2.内容:8155或8255扩展用8155或8255扩展IO实现16个LED的跑马灯,提供多种跑马灯运行模式二、问题分析、方案的提出、设计思路及原因;本次课程设计的题目是8255的扩展,利用AT89C52驱动扩展8255数据输出口来实现16个LED跑马灯的显示。
但是在80C52系列单片机中,有四个8位I/O 端口,但真正能够提供给用户使用的只有P1口,因为P0口和P2口通常需要用来传送外部存储器的地址和数据,P3口也需要使用它的第二功能。
因此,单片机提供给用户的I/O接口线并不多,对于复杂的一些的应用系统都应该进行I/O 口的扩展。
8255具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB 口和PC口.而8255又有多种运行模式,而这些操作模式完全由控制寄存器的控制字决定。
利用8255的控制字模式来定义8255输出口的个数,驱动所需的LED 灯的个数,实现课题目的。
在仿真实验中,两个按键分别控制跑马灯的顺序显示、跳跃显示两种运行方式,顺序显示分别是一个、两个、四个、八个LED灯依次亮。
合肥学院计算机科学与技术系微机原理与接口技术课程设计报告2011~2012学年第1学期课程微机原理与接口技术课程设计名称跑马灯控制器学生姓名丁同飞学号**********专业班级计算机科学与技术专业(09计本3)指导教师张向东教授2012 年 1 月一、题意分析及解决方案1、题意需求分析本次实验需要用STAR ES598PCI单板开发机和接口设计跑马灯控制器,应用软件控制并行接口电路,使连接在该接口上的8个发光二极管和8个控制开关,按控制开关定义的功能形式闪烁。
跑马灯的含义:通过开关来控制LED指示灯的不同闪烁形式,而不同的闪烁形式通过给开关设定不同的编码来确定不同的闪烁形式,使LED指示灯呈现一种流动闪烁的状态。
下面列出跑马灯可能的闪烁形式:1、依次左移或右移闪烁2、隔一左移或隔一右移闪烁3、隔二左移或隔二右移闪烁4、左右相向移动闪烁5、左右从中间向两边依次闪烁6、从左至右先依次点亮再反向熄灭为了实现上述功能,需要解决一些问题:1、需要使用什么芯片来实现跑马灯控制器的运行?2、开关的扫描问题?如何设置开关的编码?3、选择了芯片后,如何设置芯片控制口的端口地址以及各端口的输入输出形式?4、开关的不锁存是否有影响?5、如何使显示灯变化过程中给人视觉上产生依次闪烁的效果?2、解决问题及思路(1)硬件部分本实验需要在STAR ES598PCI单板开发机中执行,所用到用户程序存储器共32KB,集成环境为Winxp Xingyan,接口选择8255A芯片,控制用逻辑开关。
接口方面:8255芯片是可编程的并行接口芯片,不需要附加外部电路便可和大多数并行传输数据的外部设备相连,数据的各位同时传送,使用十分方便。
8255A芯片内部有三个8位端口,分别为A口、B口和C口。
这三个端口可与外部设备相连接,可用来与外设进行数据信息、控制信息和状态信息的交换。
本实验为了实现跑马灯的并行输入输出,选择奖8255A中的A口作为输出口,B口作为输入口,A口接8个LED指示灯,通过指示灯的移动闪烁来实现跑马。
数学计算机科学学院实验报告专业名称:物联网工程实验室:学苑南楼1幢403室实验课程:微机原理和接口技术实验名称:跑马灯姓名:高鹏飞学号:120706006实验日期:2014年11月1日星期一一、实验目的1.掌握跑马灯实验原理2.熟悉debug环境下编写程序3.在独立运行的单板机配置方式下,输入目标代码,运行,观察实验现象,分析其结果的正确性。
二、实验仪器1、AEDK8688ET教学实验机2.pc机三、实验原理CPU将数据通过8255并口送入LED,控制显示输出并口8255内部结构框图工作方式控制字:方式0-基本输入输出方式8255驱动LED显示输出jmp abc(3)修改程序,每输出一个数据延迟一段时间mov cx,ffffhdely: loop dely观察实验现象(4)在debug环境下,反汇编找出其目标代码(5)在独立运行的单板机配置方式下,输入目标代码,运行,观察实验现象,分析其结果的正确性。
(6)全速运行:GO IP.在实验箱的具体操作步骤(1)在实验箱上先执行EB命令显示/修改内存单元的内容。
(2)将段地址设置为8000,偏移地址设置为300(在“-”状态下,按“EB”出现“.”提示符,输入段地址8000“:”偏移地址300“,”出现该单元内容,按“,”出现下一单元内容,继续按“,”出现下一单元内容,此时输入新的内容,此单元内容可以修改(内容即反汇编中输入内容),按“ .”可以退出。
)在跑马灯实验当中即(B080BA1B02EEBOFEBA1802EED0C0EBFB000000000000000000000000340053130 0)(3)在“-”状态下,按“ST”出现,出现IP的值,若和输入的不符,直接新值,按“,”执行。
即把段地址和偏移地址改成8000和300五、实验结果和分析跑马灯从左至右依次亮起。
学号:课程设计题目基于PROTEUS的跑马灯系统设计及仿真学院自动化学院专业自动化班级姓名指导教师2012 年 1 月12 日任务书目录引言 (1)1总体方案论证 (2)1.1功能分析 (2)1.2系统连接图设计 (2)1.2.1锁存控制电路 (5)1.2.2可编程并行通信接口芯片8255A (6)2程序流程图设计及其说明 (9)3关键程序段落说明 (11)3.1数据段定义 (11)3.2程序初始化 (11)3.3芯片初始化 (12)3.4初始LED亮灭状态 (12)3.5检测按键开关子程序 (12)3.6延时程序片段 (14)3.7灯光变换控制 (15)4程序调试说明 (16)5结果记录及分析 (17)心得体会 (19)参考文献..................................................................... 错误!未定义书签。
引言微型计算机简称微机,由于具备人脑某些功能,所有又叫做微机。
是由大规模集成电路组成的、体积较小的电子计算机。
它是以微处理器为基础,配以内存储器及输入输出接口电路和相应的辅助电路构成的裸机。
把微型计算机集成在一个芯片上即构成单片微型计算机。
学习微机原理与接口技术,主要内容包括微型计算机体系结构、8086微处理器和指令系统、汇编语言、设计以及微型计算机各个组成部分,而其中很大一块就是汇编语言的学习。
汇编语言是面向机器的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。
用汇编语言编写的程序由于目标程序占用内存少,运行速度快,它有着高级语言不可替代的用途。
因此,学习汇编语言是很必要的,通过学习汇编语言可以体会它的作用。
通过本次课程设计让我们进一步深入汇编语言的学习,掌握简单的接口设计技术,将理论知识联系实际,进一步学习微机原理与接口技术的相关知识,为以后深入学习打下良好的基础。
1总体方案论证1.1功能分析此次课程设计的要求为,设计微型计算机最小系统,实现跑马灯的模拟显示功能。
太原工业学院汇编语言与微机原理课程设计报告学生姓名:学号:系部: 计算机工程系专业: 计算机科学与技术题目: 利用8255实现花式跑马灯成绩指导教师2016年6月28日1.设计内容1)设计电路;2)实现6种不同的跑马灯样式;3)跑马灯的运行状态可由开关控制4)要有暂停跑马灯按钮控制即跑马灯的状态切换。
2.总体设计1)设计原理本实验通过循环检测A口数据,判断按得是哪个开关,如开关1按下,则向AL送01h,并送至B口,循环左移AL达到灯的流水下移,调用延时子程序控制灯闪亮时间,通过BH的赋值控制循环次数,达到时间定时效果。
每循环一个周期,CPU都会检测A口的值,从而能即时切换跑马灯花式。
2)设计跑马灯方案a)按下开关1,跑法1,AL初值01H,循环左移,控制一个亮灯自上而下跑动。
b)按下开关2,跑法2,AL初值81H,循环右移,控制一个亮灯自下而上跑动。
c)按下开关3,跑法3,AL初值0AAH,循环左移,控制间隔4个灯同时闪亮。
d)按下开关4,跑法4,AL初值0C0H,循环右移,控制两个亮灯自下而上跑动。
e)按下按键5,跑法5,AL初值05H,循环左移,控制亮暗亮3灯自上而下跑动。
f)按下开关6,跑法6,AL初值0AAH,循环左移,控制间隔4个灯同时闪亮,相比按键3,跑动时间更长,以显示定功能。
g)按下开关7按下,跑马灯暂停工作,再次按下跑马灯继续工作。
3.硬件设计1)Proteus元件清单及功能说明元件名称功能说明8086 微处理器8255A 可编程外设接口电路,主要接收外设的开关状态来判断跑马灯的样式,以及输出所要的结果74LS273 是带有清除端的8D触发器,只有在清除端保持高电平时,才具有锁存功能,锁存控制端为11脚CLK,采用上升沿锁存74154 4-16译码器7427 3输入与非门LED-RED 红LED发光管NOT 非门PULLUP 上拉电阻,分压作用BUTTON 按钮式开关,鼠标点击开关后会自动弹起2)电路设计图a)8086微处理机与锁存器、译码器连接b)8255A与跑马灯开关控制连接图c)8255A与跑马灯LED显示灯连接图4. 软件设计1)程序设计思路利用查询式不断循环查询控制跑马灯样式的开关状态,进而编写程序来控制跑马灯的输出样式。
微机原理课程设计走马灯运用8086最小模式和8255等芯片设计出一个跑马灯电路,要求至少有5中花式,在ISIS 7 Professional软件中运行。
设计电路图如图所示:源代码DATA SEGMENTDATA ENDSCODE SEGMENTASSUME CS:CODE ,DS:DATA START :MOV AX,DATAMOV DS,AXMOV AL,10010000B OUT 96H,ALA0: IN AL,90HNOT ALMOV BL,ALOUT 92H,ALCMP AL,1JNZ A3A2: MOV DL,AL ;第一个开关实现从上至下的流水 OUT 92H,ALIN AL,90HNOT ALCMP AL,BLJNZ A0MOV CX,50000A1: LOOP A1MOV AL,DLROL AL,1JMP A2A3: CMP AL,2 ; 实现第二个开关从下至上的流水 JNZ A6MOV AL,80HA5: MOV DL,ALOUT 92H,ALMOV CX,50000A4: LOOP A4IN AL,90HNOT ALCMP AL,BLJNZ A0ROR AL,1JMP A5A6: CMP AL,4 ;第三个开关实现相隔的两个灯自上而下流水JNZ A9MOV AL, 05HA8: MOV DL,ALOUT 92H,ALMOV CX,20000A7: LOOP A7IN AL,90HNOT ALCMP AL,BLJNZ A0MOV AL,DLROL AL,1JMP A8A9: CMP AL,8 ;第四个开关实现相隔的两个灯从下而上流水JNZ A12MOV AL,0A0HOUT 92H,ALMOV CX,20000A10: LOOP A10IN AL,90HNOT ALCMP AL,BLJNZ A0MOV AL,DLROR AL,1JMP A11A12: CMP AL,10HJNZ A17A16: MOV AL,18H ;第五个开关实现从中间向两边流水 A14: MOV DL,ALOUT 92H,ALMOV CX,20000A13: LOOP A13IN AL,90HNOT ALCMP AL,BLJNZ A0CMP AL,81HJZ A16AND AL,0F0HMOV CX,0MOV CH,ALROL CH,1MOV AL,DLAND AL,0FHMOV CL,ALROR CL,1ADD CH,CLMOV AL,CHJMP A14A17: CMP AL,20H ;第六个开关实现从两边向中间流水 JNZ A0A19: MOV AL,81HA20: MOV DL,ALOUT 92H,ALMOV CX,20000A18: LOOP A18IN AL,90HNOT ALCMP AL,BL JNZ A0MOV AL,DL CMP AL,18H JZ A19AND AL,0F0H MOV CX,0MOV CH,AL ROR CH,1MOV AL,DL AND AL,0FH MOV CL,AL ROL CL,1ADD CH,CL MOV AL,CH JMP A20RETCODE ENDSEND START运行后程序如图所示:。
微机原理课程设计走马灯
运用8086最小模式和8255等芯片设计出一个跑马灯电路,要求至少有5中花式,在ISIS 7 Professional软件中运行。
设计电路图如图所示:
源代码
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE ,DS:DATA START :MOV AX,DATA
MOV DS,AX
MOV AL,10010000B OUT 96H,AL
A0: IN AL,90H
NOT AL
MOV BL,AL
OUT 92H,AL
CMP AL,1
JNZ A3
A2: MOV DL,AL ;第一个开关实现从上至下的流水 OUT 92H,AL
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
MOV CX,50000
A1: LOOP A1
MOV AL,DL
ROL AL,1
JMP A2
A3: CMP AL,2 ; 实现第二个开关从下至上的流水 JNZ A6
MOV AL,80H
A5: MOV DL,AL
OUT 92H,AL
MOV CX,50000
A4: LOOP A4
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
ROR AL,1
JMP A5
A6: CMP AL,4 ;第三个开关实现相隔的两个灯自上而下流水
JNZ A9
MOV AL, 05H
A8: MOV DL,AL
OUT 92H,AL
MOV CX,20000
A7: LOOP A7
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
MOV AL,DL
ROL AL,1
JMP A8
A9: CMP AL,8 ;第四个开关实现相隔的两个灯从下而上流水
JNZ A12
MOV AL,0A0H
OUT 92H,AL
MOV CX,20000
A10: LOOP A10
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
MOV AL,DL
ROR AL,1
JMP A11
A12: CMP AL,10H
JNZ A17
A16: MOV AL,18H ;第五个开关实现从中间向两边流水 A14: MOV DL,AL
OUT 92H,AL
MOV CX,20000
A13: LOOP A13
IN AL,90H
NOT AL
CMP AL,BL
JNZ A0
CMP AL,81H
JZ A16
AND AL,0F0H
MOV CX,0
MOV CH,AL
ROL CH,1
MOV AL,DL
AND AL,0FH
MOV CL,AL
ROR CL,1
ADD CH,CL
MOV AL,CH
JMP A14
A17: CMP AL,20H ;第六个开关实现从两边向中间流水 JNZ A0
A19: MOV AL,81H
A20: MOV DL,AL
OUT 92H,AL
MOV CX,20000
A18: LOOP A18
IN AL,90H
NOT AL
CMP AL,BL JNZ A0
MOV AL,DL CMP AL,18H JZ A19
AND AL,0F0H MOV CX,0
MOV CH,AL ROR CH,1
MOV AL,DL AND AL,0FH MOV CL,AL ROL CL,1
ADD CH,CL MOV AL,CH JMP A20
RET
CODE ENDS
END START
运行后程序如图所示:。