微机原理与接口技术 课程设计

合集下载

微型计算机原理及接口技术课程设计

微型计算机原理及接口技术课程设计

微型计算机原理及接口技术课程设计课程设计概述微型计算机原理及接口技术课程设计是一门以Z80单片机为硬件平台,使用C 语言进行软件编程的课程设计。

该课程设计旨在引导学生深入理解微型计算机的原理及其接口技术,掌握软硬件协作设计的方法和技巧。

设计要求硬件要求1.使用Z80单片机作为系统的核心;2.至少连接三个以上的外设,如LCD显示屏、按键、LED灯等;3.采用最小系统方式,使用外挂晶振。

软件要求1.使用C语言进行编程;2.实现外设的控制和驱动;3.实现需求部分功能。

设计内容系统框架系统采用Z80单片机作为核心,通过软件驱动外设实现对系统的控制。

系统框图如下所示:st=>start: STARTlcd=>operation: 连接LCD显示屏keyboard=>operation: 连接按键led=>operation: 连接LED灯ctrl=>operation: 系统控制e=>end: ENDst->lcd->keyboard->led->ctrl->e功能需求系统需要实现的功能需求如下:1.通过LED灯显示系统启动后的信息;2.通过按键输入用户数据,并且通过LCD显示屏输出给用户;3.通过LCD显示屏反馈用户数据的计算结果。

实现细节1.LED灯显示:在系统启动过程中,LED灯需要进行连接和初始化,以便LED灯可以被控制显示。

在关键的启动阶段,LED灯需要显示系统启动成功的信息,以便用户可以得到正确的反馈。

2.按键输入:按键是用户与系统交互的主要方式,用户可以通过按键向系统输入数据。

系统需要支持多个按键同时输入,以便用户可以进行复杂操作。

3.LCD显示屏输出:在用户输入数据后,系统要及时地反馈给用户输入数据,并显示结果。

系统需要实现LCD显示屏控制功能,在屏幕上正确显示数据。

结论本文详细介绍了微型计算机原理及接口技术课程设计,包括课程设计概述、硬件要求、软件要求、设计内容等方面的内容。

【可编辑全文】微机原理与接口技术-课程设计任务书

【可编辑全文】微机原理与接口技术-课程设计任务书

可编辑修改精选全文完整版微机原理与接口技术课程设计任务及指导书(适用于0944121班)一、课程设计目的和任务:通过课程设计,主要达到以下目的:1、使学生增进对单片机的感性认识,加深对单片机理论方面的理解;2、使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、A/D、D/A等;3、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。

二、课程设计题目:【1】数字音乐盒设计要求:1、利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音响,从而演奏乐曲(最少储存三首乐曲,每首不少于三十秒);2、采用LCD显示;3、开机时有英文欢迎字符,播放时显示歌曲序号(或名称);4、可通过功能键选择乐曲,暂停,播放;扩展功能:显示乐曲播放时间或剩余时间;【2】数字温度计设计要求:1、基本范围为-50℃—110℃;2、精度误差小于0.5℃;3、LED数码管直读显示;扩展功能1、可以任意设定温度的上下限报警功能;2、实现语音报数。

【3】交通灯设计设计要求:1、设计一个十字路口交通灯控制器。

用单片机控制LED灯模拟指示。

2、系统包括人行道、左转、右转以及基本的十字路口交通灯功能;3、系统除具有基本交通灯功能外,还具有显示倒计时、时间设置、紧急情况处理功能。

扩展功能:1、分时段调整信号灯的点亮时间2、根据具体情况实现灵活手动控制功能。

【4】电子密码锁设计要求:1、系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能;2、还具有调电存储、声光提示等功能。

扩展功能:通过遥控器实现锁的基本操作。

【5】电子钟的设计设计要求:1、可以实现23h59m59s的显示,用六位LED显示出来,显示格式为“时时:分分:秒秒”。

2、可以利用按键设置任意的时分秒各位,并具有按键复位功能;扩展功能:1、实现整点语音报时功能。

2、实现年月日的显示。

微机原理与接口技术 课程设计

微机原理与接口技术 课程设计

《微机原理与接口技术》课程设计电气与自动化工程系 通信工程院 系:专 业: 年级班级: 学 号: 姓 名: 指导教师: 设计日期:一、设计目的用汇编语言独立完成一个程序,以达到熟练运用汇编语言编程实现加、减、乘、除的计算二、功能分析(1)开发环境:硬件:IBM PC机及其系列机ACSII键盘单色显示器或者彩色显示器软件:1M内存的硬盘或者1个软盘MASM是汇编语言开发环境下的。

汇编语言的特点:1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计2.保持了机器语言的优点,具有直接和简捷的特点。

3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/ O端口等。

4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。

5.经常与高级语言配合使用,应用十分广泛。

(2)总体设计功能系统分析主要包括设计的功能分析和系统的流程,功能分析放在首位,每一个软件都要能满足一定的功能才有使用价值。

根据功能需求来创建应用程序。

本设计的功能如下:1、输入2个数,先判断是加减运算还是乘除运算,再进行计算2、判断符号是否为运算符3、回车为换行符4、用十进制或十六进制输出运算结果(3)详细设计功能1、主程序功能:对两个数的加减乘除四则运算设置2、子程序功能:分别判断是加减还是乘除的运算输出运算结果三、调试和运行程序(1)调试程序:该汇编编译环境是MasmEdit,是一个集成开发环境,编译,链接,运行全部集成在一起。

程序编好后,直接点汇编按钮,就会提示你有无错误,刚刚编好第一次汇编时,出现了好多错误,其中很大一部分是编写代码时不小心,打字出现的错,其中,分号的错误是致命的,它让汇编无法进行,不能用中文输入法打的注释分号,要用英文。

参考网上的通讯录程序,在改了几天的代码后界面终于出现,但感觉界面不怎么友好,又改了一下界面和光标位置。

(2)运行程序执行时,需在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下:c:\masm>js 3+25c:\masm>js 6*72Ac:\masm>js 10-46c:\masm>js 12/34四、总结第一次真正的感觉到自己是学计算机专业的,第一次真正自己完成一个大型的程序,刚开始拿到汇编程序设计题的时候确实有点儿兴奋,心想着一定要独立快速而又高质量的完成这个程序。

微机原理与接口技术课程设计

微机原理与接口技术课程设计

目录一.设计目地。

2二.设计要求。

2三.设计任务及项目说明。

2四.硬件设计原理4.1最小系统原理图及PCB。

34.2扩展系统原理图及PCB。

44.3硬件工作原理。

6五.购置元器件5.1最小系统元器件。

75.2扩展元件。

8六.程序设计6.1程序设计原理。

86.2程序内容。

8七.作品功能。

29八.心得体会。

29参考文献。

30一.设计目的使大家对学习的微机原理与接口技术进一步的掌握和巩固,掌握电路板的焊接技术,会利用软件实现简单的程序设计和调试。

二.设计要求根据最小系统的原理图及PCB,购齐相关电子元件,完成实验开发板的焊接,并为扩展留下接口。

然后利用最小系统的接口,完成扩展训练,扩展项目如下,可自行选择(也可超出以下题目自拟,需包含输入和输出)。

三.设计任务及项目说明这里选择流水灯项目。

流水灯是一串按一定的规律像流水一样连续闪亮。

流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。

流水灯控制可用多种方法实现,但对现代可编程控制器而言,利用移位寄存器实现最为便利。

通常用左移寄存器实现灯的单方向移动;用双向移位寄存器实现灯的双向移动。

本案例利用价格低廉的AT89C51系列单片机控制基色LED灯泡从而实现丰富的变化。

四.硬件设计原理4.1最小系统原理图及PCB最小系统原理图8051最小系统PCB4.2扩展系统原理图及PCB扩展系统原理图扩展系统PCB4.3硬件工作原理整个系统工作由软件程序控制运行,以AT89C51单片机作为主控核心,与驱动等模块组成核心主控制模块。

在主控模块上设有晶振电路和32个LED 显示二极管,根据需要编写若干种亮灯模式,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号。

五.购置元器件5.1最小系统元器件5.2扩展元件六.程序设计6.1程序设计原理用查表的方法控制点亮流水灯,即移位的思想:0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff;//左边单个点亮0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00;//右边逐个点亮0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff;//左边逐个熄灭0x7f,0x8f,0xdf,0xef,0xf7,0xf8,0xfd,0xfe,0xff;//右边单个点亮0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00;//左边逐个点亮0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;//右边逐个熄灭0xfc,0xf9,0xf3,0xef,0xcf,0x9f,0x3f,0xff;//左边逐两个点亮0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0xff;//右边逐两个点亮0xf8,0xf1,0xe3,0x07,0x8f,0x1f,0xff;//左边逐三个亮0x1f,0x8f,0x07,0xe3,0xf1,0xf8,0xff;//右边逐三个亮6.2程序内容#include<reg52.h>#define uchar unsigned charuchar flag=200;///////////////////////////////////////////////////////////////////////uchar code Tab1[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF};//暗中左移向下uchar code Tab2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF};//暗中右移向上uchar code Tab3[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00};//亮中左移向下uchar code Tab4[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00};//亮中右移向上uchar code Tab11[]={0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xff};//暗中左移向下uchar code Tab22[]={0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0xff};////////////////////////////////////////////////////////////////////uchar code Tab33[]={0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF};uchar code Tab44[]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};uchar code Tab55[]={0x08,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff};uchar code Tab5[]={0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xff};uchar code Tab6[]={0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xff};uchar code Tab7[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};uchar code Tab8[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};////////////////////////////////////////////////////////////////void shansuo();void xl();///////////////////////////////////////////////////////////////void delay(void){unsigned char m,n;for(m=0;m<flag;m++)for(n=0;n<250;n++);}///////////////////////////////////void hy1(void) //点亮状态逆时针旋转90度(一个一个灭){unsigned char i;for(i=0;i<8;i++){P0=Tab11[i];P3=Tab22[i];P2=Tab11[i];P1=Tab22[i];delay();}for(i=0;i<8;i++){P0=Tab44[i];P3=Tab55[i];P2=Tab44[i];P1=Tab55[i];delay();}}///////////////////////////////////////////void hy2(void) //暗中逆时针转360。

微机原理与接口技术简明教程课程设计

微机原理与接口技术简明教程课程设计

微机原理与接口技术简明教程课程设计
1. 授课内容概述
本课程的主要内容是介绍微机系统结构、微机系统原理、微机系统软硬件接口原理和设计方法等。

本课程旨在使学生了解微机系统的基本原理和基本知识,掌握微机系统软硬件接口设计的基本方法和技术。

2. 学习目标
本门课程旨在达到如下学习目标:
•熟悉微机系统结构、微机系统原理和基本原理知识。

•掌握微机系统基本指令和汇编语言的基本知识。

•掌握微机系统软硬件接口原理和设计方法。

•进一步提高自己的动手实践技能。

3. 课程内容实现方式
本门课程将采用数据实验和理论授课相结合的教学方式:
•数据实验:学生将利用实践实验室提供的微机设备,参加实践实验,完成各种不同的微机系统软硬件接口设计。

•理论授课:授课老师将通过课堂理论授课,讲解微机系统结构、微机系统原理和基本原理知识、微机系统基本指令和汇编语言的基本知识以及微机系统软硬件接口原理和设计方法等。

4. 课程计划
第一周
•学习班级规章制度,课程要求及课程流程安排;
1。

微机原理与接口技术课程设计_数字信号发生器

微机原理与接口技术课程设计_数字信号发生器

微机系统与接口技术课程设计任务书一、设计目的1、建立微机系统概念加深对微机系统的理解和认识,提高微机系统的应用能力。

2、进一步学习和掌握微机程序设计方法,通过应用程序的应用和调试学习程序的调试。

3、进一步熟悉微机典型接口芯片的使用,接口及外部设备系统的连接方法。

二、题目微机应用系统设计——数字信号发生器的设计三、设计要求1、以8086(8088)CPU为主控单元构建微机应用系统。

2、应用系统的硬件设计,画出电路原理图和线路连接图。

3、应用系统的软件设计,画出软件流程图,写出主要控制程序。

4、根据实验条件,进行微机应用系统的部分模拟调试工作,写出调试说明。

5、整理设计说明,列出参考文献清单。

四、列出使用的元器件和设备清单五、完成定时/计数器8253,中断控制器8259实验,写出实验报告目录第一章绪论 ......................................................................................... - 3 -第二章硬件设计 ................................................................................. - 4 -一、硬件的选择与设计 ....................................................................... - 4 -二、设计原理 ....................................................................................... - 6 -第三章软件设计 ................................................................................. - 9 -一、子程序设计 ................................................................................... - 9 -二、总程序设计 ................................................................................. - 15 -第四章实验调试与设计 ................................................................... - 20 -一、实验箱上连线 ............................................................................. - 20 -二、调试修正程序 ............................................................................. - 20 -三、产生的波形 ................................................................................. - 20 -第五章设计总结 ............................................................................... - 22 -参考文献 ............................................................................................. - 23 -元器件清单 ......................................................................................... - 24 -第一章绪论信号发生器是我们在学习,科学研究等方面不可缺少的工具,锯齿波和正弦波、矩形波、三角波是常用的基本测试信号。

《微机原理与接口技术》教案

《微机原理与接口技术》教案

《微机原理与接口技术》教案第一章:微机系统概述1.1 教学目标1. 了解微机系统的概念和发展历程。

2. 掌握微机系统的组成和各部分功能。

3. 理解微机系统的工作原理。

1.2 教学内容1. 微机系统的概念和发展历程。

2. 微机系统的组成:微处理器、存储器、输入输出接口等。

3. 微机系统的工作原理:指令执行过程、数据传输等。

1.3 教学方法1. 采用讲授法,讲解微机系统的概念和发展历程。

2. 采用案例分析法,分析微机系统的组成和各部分功能。

3. 采用实验演示法,展示微机系统的工作原理。

1.4 教学评价1. 课堂问答:了解学生对微机系统概念的掌握情况。

2. 课后作业:巩固学生对微机系统组成的理解。

3. 实验报告:评估学生对微机系统工作原理的掌握程度。

第二章:微处理器2.1 教学目标1. 了解微处理器的概念和结构。

2. 掌握微处理器的性能指标。

3. 理解微处理器的工作原理。

2.2 教学内容1. 微处理器的概念和结构:CPU、寄存器、运算器等。

2. 微处理器的性能指标:主频、缓存、指令集等。

3. 微处理器的工作原理:指令执行过程、数据运算等。

2.3 教学方法1. 采用讲授法,讲解微处理器的概念和结构。

2. 采用案例分析法,分析微处理器的性能指标。

3. 采用实验演示法,展示微处理器的工作原理。

2.4 教学评价1. 课堂问答:了解学生对微处理器概念的掌握情况。

2. 课后作业:巩固学生对微处理器性能指标的理解。

3. 实验报告:评估学生对微处理器工作原理的掌握程度。

第三章:存储器3.1 教学目标1. 了解存储器的概念和分类。

2. 掌握存储器的性能指标。

3. 理解存储器的工作原理。

3.2 教学内容1. 存储器的概念和分类:随机存储器、只读存储器等。

2. 存储器的性能指标:容量、速度、功耗等。

3. 存储器的工作原理:数据读写过程、存储器组织结构等。

3.3 教学方法1. 采用讲授法,讲解存储器的概念和分类。

2. 采用案例分析法,分析存储器的性能指标。

微机原理与接口技术课程设计(串行通讯)

微机原理与接口技术课程设计(串行通讯)

微机原理与接口技术课程设计(串行通讯)一、设计意义在信息飞速发展的时代,计算机的应用越来越广泛。

而微机原理是机械工业控制设备的理论基础,学好了就能在激烈的竞争环境中找到一份好一点的工作。

理论课程学习是让学生学习基本理论知识,对课程内容和原理有比较深刻的理解,只要从理论上理解,不用考虑实际的可行性。

通过本次课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程,不仅需要在理论上能实现而且还要考虑实际的可行性,不能纸上谈兵。

二、设计目的1、了解串行通信的基本原理。

2、掌握串行接口芯片8251的工作原理。

3、掌握8251芯片的编程方法。

4、了解8253的初始化。

5、巩固和加深在微机原理课程中所学的理论知识。

通过课程设计加深理解课堂教学内容,掌握计算机接口技术的基本应用方法。

6、学会查阅相关手册与资料,培养独立分析与解决问题能力。

三、设计环境PC机一台,串行通讯接口芯片8251A一片,8253一片。

TC-1集成开发环境实验箱一台。

四、设计题目及要求4.1 设计题目2串行通讯4.2 设计要求设计一个串行通信系统,用软件编程和硬件实验来实现。

具体要求:用8253芯片作为计数器,用于产生8251的发送和接受时钟。

TXD和RXD连在一起。

从PC机的键盘输入一个字符,将其ASCII码加1后发送出去,在接受回来在屏幕上显示,实现自发自收。

8251的控制端口地址为2B9H ,数据口地址为2B8H.8253计数器的计算初值=时钟频率/(波特率*波特率因子),这里的时钟频率接1MHZ,波特率若选1200,波特因子若选16,则计数器初值为52。

收发采用查询方式。

五、设计原理5.1.8251A的基本性能8251A是可编程的串行通信接口芯片,基本性能:1.两种工作方式:同步方式,异步方式。

同步方式下,波特率为064K,异步方式下,波特率为0~19.2K。

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

摘要霓虹灯主要是通过8255A对LED亮灭状态的控制,和8254定时/计数器的定时功能实现霓虹灯闪烁控制系统,外设是红、绿、黄三种颜色的发光二极管,在程序自动控制下,按照不同规律闪烁同时由数码管显示相应的闪烁方式。

关键字: 8255A 8254 LED 数码管一、设计的任务和要求设计霓虹灯闪烁控制系统,是外设的红、绿、黄三种颜色的发光二极管,在开关的控制下或者在程序自动控制下,按照不同规律闪烁。

要求发光二极管的亮、灭变化有一定的规律;发光二极管变化规律要求有多种状态。

二、设计小组成员及分工本次课设由冀任共同完成,在课设中遇到的问题四个人共同思考解决。

三、总体设计1、8254用于定时:定时/计数器0与定时器/计数器1共同构成100ms的定时器,确定执行相邻闪烁方式的间隔时间。

2.8255A用于控制LED的状态和数码管显示:PA0接8254的输出,B口接数码管,显示对应的闪烁方式,C口输出控制LED的状态。

3、六种闪烁方式:方式1:从左向右依次点亮8个LED灯,数码管显示1方式2:从右向左依次点亮8个LED灯,数码管显示2方式3:从左向右依次点亮4个的红灯、2个黄灯和2个绿灯,数码管显示3 方式4:从左向右两个两个的点亮8个LED灯,数码管显示4方式5:从两边向中间依次点亮8个LED灯,数码管显示5方式6:按红、绿、黄顺序点亮相同颜色的灯,数码管显示61、芯片介绍(1)芯片8255A8255A是具有3个8位并行I/O口3种工作方式的可编程并行接口芯片。

8255共有40个引脚,采用双列直插式封装。

D0--D7:三态双向数据线,与单片机数据总线连接,用来传送数据信息。

CS:片选信号线,低电平有效,表示芯片被选中。

RD:读出信号线,低电平有效,控制数据的读出。

WR:写入信号线,低电平有效,控制数据的写入。

Vcc:+5V电源。

PA0--PA7:A口输入/输出线。

PB0--PB7:B口输入/输出线。

PC0--PC7:C口输入/输出线。

RESET:复位信号线。

A1、A0:地址线,用来选择8255内部端口。

GND:地线。

三种工作状态:1) 工作方式 0 :这是 8255A 中各端口的基本输入 / 输出方式。

它只完成简单的并行输入 / 输出操作, CPU 可从指定端口输入信息,也可向指定端口输出信息,如果三个端口均处于工作方式 0 ,则可由工作方式控制字定义 16 种工作方式的组合。

2) 工作方式 1 :被称作选通输入 / 输出方式。

在这种工作方式下,数据输入 / 输出操作要在选通信号控制下完成。

3) 工作方式 2 :被称作带选通的双向传送方式。

8255A 中只允许端口 A 处于工作方式 2 ,可用来在两台处理机之间实现双向并行通信。

其有关的控制信号由端口 C 提供,并可向 CPU 发出中断请求信号。

(2)芯片82548254 芯片是可编程定时/计数器芯片,片内有3个独立的16位计数器,每个计数器可编程设定为6中不同的工作方式。

8254的引脚图和引脚说明8254芯片的工作方式:8254芯片共有六种工作方式,分别对应与六种不同的用途。

1)方式0:计数结束产生中断。

2)方式1:可重触发单稳方式。

3)方式2:分频器。

4)方式3:方波发生器。

5)方式4:软件触发计数。

6)方式5:硬件触发计数。

2、硬件连接图五、软件编程 1、软件流程图开始数码管显示1,点亮L7灯CX=19(循环19次)点亮L0灯 8254定时器1置初值10,定时100mSN开始PC0=18254计数器1,方式0,只读写低八位。

(1)8254定时程序结束延时AL 给8255C 口(2)方式1Y 循环结束?结束 AL 左移NY(3)主程序2、汇编语言源程序DATA SEGMENT IOPORT EQU 0D880H-280HIO8255A EQU IOPORT+280HIO8255B EQU IOPORT+281HIO8255C EQU IOPORT+282HIO8255T EQU IOPORT+283HIO82540 EQU IOPORT+288HIO82541 EQU IOPORT+289HIO8254K EQU IOPORT+28BH ;地址PB DB ?DATA ENDSSTACK SEGMENT STACKS TA DW 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK ;定义代码段START: MOV AX,DATAMOV DS,AXMOV ES,AXMOV DX,IO8255T ; 8255控制字为81H,端口C低四位为输入MOV AL,10000001BOUT DX,ALMOV DX,IO8255C ;读端口C数据并保存IN AL,DXMOV PB,ALMOV DX,IO8255T ;8255设控制字为90HMOV AL,90H ; (端口A输入,端口B和C输出)OUT DX,ALMOV DX,IO8254K ;定时器0,方式三,先读写低八位,再读写高八位MOV AL,36HOUT DX,AL ;输入时钟,1MHZMOV DX,IO82540MOV AX, 10000 ;初值10000,输出时钟周期10MSOUT DX,ALNOPNOPMOV AL,AHOUT DX,ALMOV DX,IO8254K ;计数器1,方式0,只读写低八位MOV AL,50HOUT DX,ALCHXU1: MOV DX,IO8255BMOV AL,06HOUT DX,AL ;数码管显示1MOV CX,17 ;循环17次MOV AL,00000001B ;点亮L7灯A: CALL DELAY10 ;延时MOV DX,IO8255COUT DX,ALROL AL,1 ;AL循环左移一位LOOP A ;循环是否结束?没有结束,跳到AMOV AL,00H ;灯全灭OUT DX,ALMOV AH,01H ;有无键入INT 16HJNZ pppCHXU2: MOV DX,IO8255B ;数码管显示2MOV AL,5BHOUT DX,ALMOV DX,IO82541MOV AL,10 ;初值10,检测1秒OUT DX,ALDING2: MOV DX,IO8255A ;读入PA0值IN AL,DXAND AL,01HJZ DING2 ;8255的PA0=1停止计时MOV CX,17 ; 循环17次MOV AL,10000000B ;点亮L1灯B: CALL DELAY10 ;延时MOV DX,IO8255COUT DX,ALROR AL,1 ;AL循环右移一位LOOP B ;循环是否结束?没有结束,跳到BMOV AL,00HOUT DX,AL ;灯全灭MOV AH,01H ;有无键入INT 16HJNZ pppCHXU3: MOV DX,IO8255B ;数码管显示3MOV AL,4FHOUT DX,ALMOV DX,IO82541MOV AL,10 ;初值10OUT DX,ALDING3: MOV DX,IO8255AIN AL,DXAND AL,01HJZ DING3 ; 8255的PA0=1停止计时MOV CX,2 ; 循环2次C0: PUSH CXMOV DX,IO8255CMOV AL,01H ;左起第一展红灯亮OUT DX,ALCALL DELAY10MOV AL,08H ;左起第二展红灯亮OUT DX,ALCALL DELAY10MOV AL,40H ;左起第三展红灯亮OUT DX,ALCALL DELAY10MOV AL,80H ;左起第四展红灯亮OUT DX,ALCALL DELAY10MOV AL,02H ;左起第一展黄灯亮OUT DX,ALCALL DELAY10MOV AL,10H ;左起第二展黄灯亮OUT DX,ALCALL DELAY10MOV AL,04H ;左起第一展绿灯亮OUT DX,ALCALL DELAY10MOV AL,20H ;左起第二展绿灯亮OUT DX,ALCALL DELAY10POP CXMOV AH,01H ;有无键入INT 16HJNZ pppLOOP C0MOV AL,00H ;灯全灭OUT DX,ALCHXU4: MOV DX,IO8255B ;数码管显示4MOV AL,66HOUT DX,ALMOV DX,IO82541MOV AL,10 ;初值10OUT DX,ALDING4: MOV DX,IO8255A ;读入PA0值IN AL,DXAND AL,01HJZ DING4 ;8255的PA0=1停止计时MOV CX,9 ; 循环9次MOV AL,00000011B ;点亮L6,L7灯D: PUSH CXCALL DELAY10 ;延时MOV DX,IO8255COUT DX,ALMOV CL,2ROL AL,CL ;AL左移两位POP CXLOOP D ;循环若没有结束,跳到DMOV AL,00H ;灯全灭OUT DX,ALMOV AH,01H ;有无键入INT 16HJNZ pppCHXU5: MOV DX,IO8255B ;数码管显示5MOV AL,6DHOUT DX,ALMOV DX,IO8254KMOV AL,50HOUT DX,AL ;计数器1,方式0,只读写低8位MOV DX,IO82541MOV AL,10 ;初值100OUT DX,ALDING5: MOV DX,IO8255A ;读入PA0值IN AL,DXAND AL,01HJZ DING5MOV CX,2E: PUSH CXMOV DX,IO8255CMOV AL,81H ;L7 ,L0亮OUT DX,ALCALL DELAY10MOV AL,42H ;L6,L1亮OUT DX,ALCALL DELAY10MOV AL,24H ;L5,L2亮OUT DX,ALCALL DELAY10MOV AL,18HOUT DX,ALCALL DELAY10POP CXMOV AH,01H ;有无键入JNZ pppLOOP E ;循环若没有结束,跳到EMOV AL,00HOUT DX,ALCHXU6: MOV DX,IO8255B ;数码管显示6MOV AL,7DHOUT DX,ALMOV DX,IO8254KMOV AL,50HOUT DX,AL ;计数器1,方式0,只读写低8位MOV DX,IO82541MOV AL,10 ;初值100OUT DX,ALDING6: MOV DX,IO8255A ;读入PA0值IN AL,DXAND AL,01HJZ DING6MOV CX,2F: PUSH CXMOV DX,IO8255CMOV AL,01H ;L7亮OUT DX,ALCALL DELAY10MOV AL,04H ; L5亮OUT DX,ALCALL DELAY10MOV AL,10H ; L3亮OUT DX,ALCALL DELAY10MOV AL,40H ; L1亮OUT DX,ALCALL DELAY10MOV AL,02H ; L6亮OUT DX,ALCALL DELAY10MOV AL,08H ; L4亮OUT DX,ALCALL DELAY10MOV AL,20H ; L2亮OUT DX,ALCALL DELAY10MOV AL,80H ; L0亮OUT DX,ALPOP CXMOV AH,01H ;有无键入INT 16HJNZ pppLOOP F ;循环若没有结束,跳到FMOV AL,00H ;灯全灭OUT DX,ALCALL DELAY10JMP CHXU1 ;循环致信程序PPP: MOV DX,IO8255B ;数码管熄灭MOV AL,00HOUT DX,AL ;退出DOSMOV AX,4C00HINT 21HDELAY1 PROC NEARPUSH CXMOV CX,0FFFFHCCC: LOOP CCCPOP CXRETDELAY1 ENDPDELAY10 PROC NEARPUSH AXPUSH CXMOV CX,0800HUUU: CALL DELAY1LOOP UUUPOP CXPOP AXRETDELAY10 ENDPCODE ENDSEND START六、程序运行的结果程序按照以下四种工作方式依次执行,当有按键按下时,执行完此时正在执行的方式就停止。

相关文档
最新文档