微机原理(基于PROTEUS的跑马灯系统设计及仿真)
《微型计算机系统》课程设计基于单片机的跑马灯设计大学论文

《微型计算机系统》课程设计任务书题目名称:基于单片机的跑马灯设计专业自动化班自本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的跑马灯系统设计及仿真)

学号:课程设计题目基于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的跑马灯系统设计及仿真)资料

课程设计题目基于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功能分析此次课程设计的要求为,设计微型计算机最小系统,实现跑马灯的模拟显示功能。
基于proteus软件设计流水灯系统单片机硬件电路

2020.13(1)上海电气技术51基于Proteus软件设计流水灯系统单片机硬件电路李航辽宁轨道交通职业学院电气工程系沈阳110023摘要:介绍了流水灯系统的控制要求•分析了所需的硬件资源。
基于Proteus软件,对时钟电路、复位电路、八位流水灯电路等流水灯系统的单片机硬件电路进行了设计。
所设计的硬件电路能够满足流水灯系统的控制要求。
关键词:流水灯;单片机;硬件电路;软件;设计中图分类号:TM762文献标志码:A文章编号:1674-540X(2020)01-051-04Abstract:The control requirements of the running water light system were introduced.and the required hardware resources were analyzed.Based on the Proteus software,the single-chip computer hardware circuit of running water light system such as clock circuit,reset circuit and eight-bit running water light circuit was designed.The designed hardware circuit can meet the control requirements of the running water light system.Key Words:Running Water Light;Single-chip Computer;Hardware Circuit;Software;Design1设计背景近些年来.作为嵌入式系统基础的单片机技术得到了飞速发展.受到人们的广泛青睐。
单片机产品在工业、军事、汽车、医疗、智能用品、家居等领域的普及程度已经远远超出人们的预期。
基于 Proteus 软件的单片机实验室建设方案跑马灯 万年历课程设计

目录摘要 (Ⅰ)ABSTRACT ..................................................................................................... I I 课程说明 . (1)1.1 国内单片机实验室建设发展综述 (1)1.2 单片机仿真软件综述 (2)1.3 课程设计任务任务 (4)方案设计 (4)2.1 硬件配置方案 (4)2.2 软件配置方案 (5)2.3 Proteus 实验室完成实验内容 (8)基于PROTUES的的仿真实验 (10)3.1、基础性实验------跑马灯设计 (10)3.1.1跑马灯的硬件设计 (10)3.1.2跑马灯的软件设计 (14)3. 2.1万年历设计 (19)3.2.2 调试与仿真 (20)参考文摘 (22)总结 (24)附录 (25)跑马灯的程序清单 (25)万年历的程序清单 (25)摘要微机系统是大二学的课程,通过这门课学会了汇编语言。
微机系统的核心是硬件仿真,硬件方正的重点是单片机。
单片机的种类繁多,在我们学校由于实验室的限制,没有条件在包括所有种类的单片机仿真设备。
本文提出基于Proteus 软件的单片机实验室建设方案,它能很好的解决上述问题。
数字单片机实验室是采用Proteus 和Keil 仿真软件为核心来构建的。
该数字实验室能完成中断、定时、单片机扩展、串行口通信和A/D 转换等教学实验。
并给出相应的小实例说明Proteus的基本使用方法、仿真实验的一般流程,并在此基础上实现复杂的Proteus仿真实验项目,如跑马灯仿真实验和万年历仿真实验。
该方案以软件为核心,通过配置有限的硬件设备,很好地解决了传统单片机实验室资金和设备维护问题,我们通过仿真实验,可以熟悉单片机系统的开发方法,即使不真正接触单片机或者相应的芯片,也能够熟悉各种芯片,并且对进一步培养自己的综合分析能力、排除故障能力和开发、创新能力具有重要的意义。
跑马灯-微机课设报告

微机原理课程设计——跑马灯专业计算机科学与技术班级学生同组指导教师目录跑马灯实验 (2)一、实验目的 (2)二、实验要求 (2)1、基本要求 (2)2、提高要求 (2)三、设计思路 (2)四、实验原理 (3)1、8254定时器 (3)(1)计数通道 (3)(3)工作方式(6种) (3)(4)内部结构 (4)(5)引脚 (4)(6)方式控制字 (4)2、并行接口电路8255 (5)(1)3个数据端口 (5)(2)工作方式 (5)(3)方式控制字 (5)(4)内部结构 (6)五、实验原理图 (6)六、实验流程图 (7)七、实验代码 (9)八、实验结果 (14)1、开关都未闭合 (14)2、开关K0闭合 (14)3、开关K1闭合 (14)4、开关K2闭合 (14)九、实验总结 (14)跑马灯实验一、实验目的(1)通过本次实验更加清楚的掌握芯片8255和8254的使用方法和工作原理;(2)编写一个简单的程序来实现最简单的跑马灯;(3)在此基础上来实现本次实验的要求和任务。
二、实验要求1、基本要求采用8254精确定时,LED的点亮规律为LED7—>LED0,每个LED的点亮时间间隔由逻辑电平开关K0、K1和K2选择。
K0的时间间隔为0.5s,K1的时间间隔为1.0s,K2的时间间隔为1.5s,当主机键盘按下任意键时停止演示。
2、提高要求LED灯的点亮规律变成LED7 —>LED0—> LED7。
三、设计思路使用8255的A端口连接开关,以此判断选择哪个定时。
用B口和LED 灯连接,来实现跑马灯开始亮。
使用C口来判断此时CLK是否为下降沿,以此判断此时是不是达到一个周期。
四、实验原理1、8254定时器8254有3个相互独立的计数器通道,计数器0、计数器1和计数器2. (1)计数通道8254每个计数器通道都有3个信号与外界接口:CLK时钟输入信号、GATE 门控输入信号和OUT计数器输出信号;(2)内部数据总线8254内部通过数据总线缓冲期引出8位数据引脚D7~D0,地址引脚A0和A1,控制引脚 RD、WR、CS;(3)工作方式(6种)●方式0:计数结束中断●方式1:可变成单稳脉冲●方式2:频率发生器●方式3:发波发生器●方式4:软件触发选通信号●方式5:硬件触发选通信号(4)内部结构(5)引脚(6)方式控制字D7 D6 D5 D4 D3 D2 D1 D02、并行接口电路8255(1)3个数据端口8255的3个数据端口分成两组进行控制:A组控制端口A和端口C的上半部;B组控制端口B和端口C的下半部。
虚拟仪器课程设计跑马灯

河北北方学院虚拟仪器原理与应用课程设计课程设计名称:基于labview的计算器设计专业班级:电子信息工程技术3班学号:3学生姓名:马洪印成绩:签名:2016 年12月22日引言:随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯彩灯由于其丰富的灯光色彩, 低廉的造价以及控制简単等特点而得到了广泛的应用, 用彩灯来装饰已经成为一种时尚。
本次课程设计是基于LabVIEW 虚拟仪器系统开发与实践等原理与技术而设计的跑马灯。
虚拟仪器的起源可以追溯到20世纪70年代,“虚拟”的含义主要是强调软件在仪器中的作用,体现了虚拟仪器与主要通过硬件实现各种功能的传统仪器的不同。
由于虚拟仪器结构形式的多样性和适用领域的广泛性,目前对于虚拟仪器的概念还没有统一的定义。
美国国家仪器公司( National Instrunents Corpotion , NI)认为,虚拟仪器是由计算机硬件资源、模块化仪器硬件和用于数据分析、过程通信及图形用户界面的软件组成的测控系统,是一种计算机操纵的模块化仪器系统。
过去40年的时间里,美国国家仪器公司(NI)通过虚拟仪器技术为测试测量和自动化领域带来了一场革新:虚拟仪器技术把现成即用的商业技术与创新的软、硬件平台相集成,从而为嵌入式设计、工业控制以及测试和测量提供了一种独特的解决方案。
使用虚拟仪器技术,工程师可以利用图形化开发软件方便、高效的创建完全自定义的解决方案,以满足灵活多变的需求趋势。
本次设计的跑马灯是利用虚拟仪器技术而完成的,跑马灯是一种生活中比较常见的装饰,本文主要通过labview来设计了一个相对简单的对跑马灯的控制,实現了其有规律的亮灭, 带来一定的观赏效果。
本文主要是实现了跑马灯的单个流水闪烁、双路同步流水闪烁、四路同步流水闪烁、全体同步闪烁, 以此循环。
本程序并控制闪烁的间隔时间, 使其运行更具可观性。
二、前面板设计:前面板是LabVIEW的图形用户界面,在LabVIEW环境中可以对这些对象的外观和属性进行设计,LabVIEW提供了非常丰富的界面对象,可以方便地设计出生动、直观、操作方便的用户界面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号:课程设计题目基于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功能分析此次课程设计的要求为,设计微型计算机最小系统,实现跑马灯的模拟显示功能。
具体要求为:(1)、输入设备三个启动按钮、一个停止按钮,输出设备为八个跑马灯;(2)、三个启动按钮对应三种跑马灯显示效果,按下任意一个启动按钮,跑马灯显示对应的效果,按下停止按钮则跑马灯全部熄灭。
由上分析可知,我们的硬件的电路需要另行搭建,电路中需包含四个按钮和八个跑马灯以及相关芯片,既有输入设备又有输出设备,经过分析可以使用芯片8255A来实现输入与输出,再加上锁存地址芯片74LS273、译码芯片74LS154以及相关门电路即可构成本设计的硬件电路基础。
进一步分析最终决定用8255A 的A口作为输出去控制跑马灯,B口作为按钮信号输入,CPU通过接收输入信号从而发出对应命令去控制8255A芯片A口输出,从而A口输出相应电平控制跑马灯有规律的亮灭。
连接好硬件电路后的主要任务就是编写相应程序,通过程序去控制和调度硬件电路的输入与输出。
1.2系统连接图设计8255A是一种通过可编程并行I/O接口芯片。
广泛用于几乎所有系列的微机系统中,8255A具有三个带锁存或缓冲的数据端口,可与外设并行进行数据交换,8255A有多种操作方式,通用性较强,可为CPU与外设之间提供输入/输出通道。
8255A和各端口具有中断控制逻辑,在外设与CPU之间可用中断方式进行信息交换,使用条件传输方式时可用“联络”线进行控制。
在本次课程设计中,我们运用8255A为CPU与外设之间提供输入输出输出通道来实现对跑马灯花样变换的控制。
8086微处理器,选择最小工作模式,所有的总线控制信号均由8086产生;8086CPU的地址\数据总线AD15-AD0和地址\状态总线A16/S3-A19/S6是复用的,必须通过地址锁存器把地址总线和数据总线分离。
跑马灯硬件电路如图1所示。
电路包括8个LED彩灯、三片74LS273、一片74LS154、一片8086CPU、一片8255A以及若干导线和电阻。
用LED可以观测在不同按键输入下,跑马灯花样的变化效果。
如图1所示我们利用启动按钮作为输入信号,通过8255A端口扩展芯片,调节输出端口的电平变化,来控制共阳极的LED灯的亮与灭,实现跑马灯不同的花样变化。
图1 跑马灯硬件电路图1.2.1锁存控制电路锁存控制电路电路如图2所示,在微控制器单元(MCU)中,寄存器是十分重要的资源。
寄存器的主要作用是快速寄存算术逻辑运算单元(ALU)运算过程中的数据,其锁存功能利用74LS273来实现,74LS273是一种带清除功能的8D触发器,1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作数据锁存器,地址锁存器。
D0~D7:输入,Q0~Q7:输出;第一脚WR:主清除端,低电平触发,即当为低电平时,芯片被清除,输出全为0(低电平);CP(CLK):触发端,上升沿触发,即当CP从低到高电平时,D0~D7的数据通过芯片,为0时将数据锁存,D0~D7的数据不变。
CPU向外部发出地址锁存允许信号,从而使74LS273锁存地址信号,在通过译码芯片74LS154控制接口芯片8255A,在此系统中充当一个桥梁的作用。
这部分电路将相应信号传送给8255A的A0、A1和CS片选,进而CPU开始控制8255A从而驱动发光二极管显示不同的样式。
图2 锁存控制电路1.2.2可编程并行通信接口芯片8255A芯片8255A有三种工作方式,他们分别是方式0、方式1、方式2,电路如图3所示。
方式0为简单I/O,查询方式,端口A、端口B、端口C均可使用;方式1为选通I/O,中断方式,端口A、端口B可以使用,选通的输入/输出方式;方式2为双向I/O,中断方式,只有端口A可以使用,双向的传输方式。
方式0也叫基本输入/输出方式。
一种方式,不需要应答联络信号,端口A、端口B和端口C的高4位及低4位都可以作为输入或输出端口。
方式0的应用场合有无条件传送和查询传送2种;故根据我们系统设计的要求,综上可知,选择8255A为工作方式0,A口作为输出、B口作为输入。
8255A的3种基本工作方式由方式控制字来决定,D7=1(特征位)表明是设定方式选择控制字;D7=0,则表示是端口C按位置位/复位控制字。
端口C分成高4位(PC7~PC4)和低4位(PC3~PC0),可分别设置成输入端口或输出端口;端口C的高4位与端口A配合组成A组,端口C的低4位与端口B配合组成B 组。
综上可得此系统需要满足A端口为输出,输出数据给到8个LED彩灯;端口B为输入,需要检测按键的输入情况。
图3 芯片8255A接口电路1.3算法说明本程序涉及芯片8255A的初始化,因此首先需要确定端口地址,CPU向8255A 送出方式控制字,进而8255A的A口作为输出、B口作为输入;定义控制LED 灯的相应数据段,由于需要LED亮后持续一段时间这就需要一个相应的延时程序片段,需要确定B口那个按钮开关按下,这就需要一个扫描B口开关按下的子程序,从而CPU发出相应控制等操作给A口送出相应电平,LED显示相应的亮灭。
因此,主要要点就是找对端口地址,这个是程序能够运行的必需品,通过分析硬件线路可以正确找到A口、B口以及控制口的地址。
2程序流程图设计及其说明主程序流程图如图4所示:图4 主程序流程图检测按键延时控制LED子程序流程图如图5所示:图5 子程序流程图3关键程序段落说明3.1数据段定义dseg segmentnum dw 0data1 db 0FEh,0FDh,0FBh,0F7h,0EFh,0DFh,0BFh,7Fh data2 db 7Fh,0BFh,0DFh,0EFh,0F7h,0FBh,0FDh,0FEh data3 db 7Eh,0BDh,0DBh,0E7h,0E7h,0DBh,0BDh,7Eh dseg ends三种灯光变幻组合为:第一种为L1→L2→L3→L4→L5→L6→L7→L8;第二种为L8→L7→L6→L5→L4→L3→L2→L1;第三种为L1L8→L2L7→L3L6→L4L5→L3L6→L2L7→L1L8。
dw为灯光循环的控制次数。
3.2程序初始化cseg segment para public 'code'assume ss:sseg,cs:cseg,ds:dsegstart:mov ax,dsegmov ds,ax初始化程序。
3.3芯片初始化mov dx,0206h ;取8255A的控制端口的地址mov al,82h ;初始化8255A的A口为输出模式,B口为输入模式out dx,al82h即为10000010b,也就是说将A口定义在方式0下并且作为输出,B口定义在方式0下并且作为输入,因此这个方式控制字不是唯一的,其通用形式为1000X01X,C口没有定义故可以为任意二进制数。
mov dx,0200h ;取8255的端口A的地址mov al,0FFh ;使8255的PA0-PA7全为1out dx,al上边这个程序段是往外送数据置LED亮灭的。
mov dx,0202h ;取8255的端口B的地址in al,dx ;检测B口输入信号这个是将B口开关闭合信息读回来的,从而发出相应控制命令。
3.4初始LED亮灭状态mov dx,0200h ;取8255的端口A的地址mov al,0FFh ;使8255的PA0-PA7全为1out dx,al ;使所有的灯LED全灭电路上电工作后首先要使所有的LED灯全灭,防止对后面的显示造成影响。
3.5检测按键开关子程序ledflash proc ;检测开关闭合,以便确定哪种闪烁方式mov dx,0202h ;取8255A的端口B的地址in al,dx ;检测B口输入信号choice1:cmp al,0fehjne choice2mov si,offset data1 ;置第一种灯光变幻组合jmp herechoice2:cmp al,0fdhjne choice3mov si,offset data2 ;置第二种灯光变幻组合jmp herechoice3:cmp al,0fbhjne choice4mov si,offset data3 ;置第三种灯光变幻组合jmp herechoice4: ;每盏灯亮完检测开关,如果停止开关没有按下跳到choice5,如果停止开关按下灯全灭cmp al,0f7hjne choice5jmp exutchoice5:cmp num,0h;检测num是否为0,若为0扫描开关,若不为0继续执行jne herejmp ledflashhere:mov bx,nummov al,[si+bx]mov dx,0200h ;取8255的端口A的地址out dx,al ;输出加电数据到端口Ainc num ;改变数字变量的值cmp num,09hje exitmov cx,005fhdl4: mov bx,00ffhdl3: dec bxjnz dl3dec cxjnz dl4jmp ledflashexit:mov num,0retledflash endp检测到开关闭合置相应灯光变换。