




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告书 课程名称: 微机接口课程设计 设计题目: 汽车速度控制系统 学 院: 信息与电气工程学院 班 级: 电气工程及其自动化 2000-1 姓 名: 孔 二 维 学 号: 200003106601 指导教师: 吕 俊 报告日期: 2000.7.20 山东科技 大学 山 东 科 技 大 学 课 程 设 计 任 务 书 电气工程及其自动 化 2000-1 学生姓名: 孔二维 一、课程名称 : 微机接口课程设计 二、设计题目: 汽车速度控制系统。 三、设计目的: 使学生将所学的理论知识和实践有机结合,初步掌握计算机应用系统设计的步骤和接口设计方法,提高分析和解决实际问题的能力,锻炼和提高同学们的实践动手能力。 四、设计要求: 独立思考、共同合作、保质保量、按时完成。 五、设计地点: 全部设计均在 J11 313进行并完成。 六、设计内容: 在现场有一 PC机系统,负责采集控制信息(通过键盘信号表示速度控制信号),再通过 PC机控制汽车速度,处理完后再用 LED数码管显示当前速度,并用 LED灯显示当前档位;当遇到紧急情况时,通过中断处理紧急情况。 三、设计应解决下列各主要问题: 1 建立一个完整的微机控制系统; 2 工程技术资料查询方法与技巧; 3 单元电路的测试方法及其工作原理; 4 软硬件统调方法; 四、设计报告书应附有下列图纸: PROTEL99SE画出的电气原理图。 五、设计开始日期: 2000.7.9 设计完成日期: 2000.7.20 设计指导教师(签章) 教研究室主任(签章) 指导教师评语 指导教师: 日 期: 1 序言 . 1 2 总体设计 . 2 2.1 总体设计框图 . 2 2.2.系统工作原理 . 2 3 硬件设计 . 3 3.1 中央处理器模块 . 3 3.2 8255 人机接口模块 . 8 3.3 汽车速度显示模块 . 11 4 软件设计 . 14 4.1 主程 序模块 . 14 4.2 显示模块 . 16 4.3 串行通信模块 . 17 5 总结 . 18 6 致谢词 . 19 参考文献 . 20 附录: . 21 附录 1:程序清单 . 21 附录 2: 8088 应用系统电路原理图 . 26 附录 3: 8255A 扩展按键、 LED 显示模块电路图 . 27 1 1 序言 现在许多轿车都有速度控制系统。速度控制系统( Speed Control System)又称为巡航控制系统( Crusle Control System),缩写为 CCS其作用是:按司机要求的速度合开关之后,不用踩油门踏板就自动地保持车速,使车辆以固定的速度行驶。采用了这种装置,当在高速公路上长时间行车后,司机就不用再去控制油门踏板,减轻了疲劳,同时减少了不必要的车速变化,可以节省燃料。 顾名思义,速度控制系统的基本功能就是速度控制,当按下车速调置档位后,就能存储该时刻的车速并能自动保持这个车速。当出现紧急情况时,按紧急停车键停车。速度控制系统除以上基本功能外还可以增 加以下功能:加速( Accelerate)或减速( Coast)功能,继续按动开关进行连续加速或者减速,以不按动开关时的车速进入速度控制系统。 本设计是一个用键盘控制实现汽车速度档位控制的系统,该系统是由 8088作为微处理器,扩展可编程并行 I/O接口 8255A 芯片, LED数码管及键盘和发光二极管等芯片及元器件,再辅以其他外围电路和软件程序集合而成。 通过本系统的设计,我们将所学的常用芯片的知识结合起来综合运用 建立一个完整的单片机温度监控系统。 在此设计过程中 , 可以深刻体会并加以运用了这学期所学的单片机原 理及应用技术所讲的知识和原理,有利于我们以后的进一步学习和工作。 2 2 总体设计 2.1 总体设计框图 图 1 汽车速度控制系统设计框图 2.2.系统工作原理 本系统是将在现场采集到的速度控制信息( 用键盘模拟控制信息,通过 I/O接口芯片将信息读入 ),经 I/O接口芯片将键盘控制信息送至微处理器。然后,计算机按照读入的键盘号对汽车速度进行相应的控制,再将当前速度一路送至 I/O接口芯片并在显像管中显示当前的汽车速度 ; 当确定档位后通过发光二极管显示当前的档位;设置紧急 情况为不可屏蔽中断,当出现紧急情况时触发中断紧急处理情况。 在键盘管理模块中, 按“ 1”键启动系统,汽车以最低速度行驶,同时用 1盏发光二极管灯显示挡位,数码管显示速度(最低速度为 5Km/h)。当需要档位时,用键盘键入 2、 3键,并用不同颜色的发光二极管灯来显示,同时在数码管上显示相应的速度。汽车慢加速时用“ 4”键,急加速时用“ 5”键,慢刹车时用“ 6”键,急煞车时用“ 7”键。加速和刹车时用数码管显示相应的速度变化;当汽车需紧急停车时,键入“ 8”键,所有发光二极管熄灭,同时数码管显示“ 0” CPU I/O 接口模块 LED数码显示模 块 键盘控制 驱动器 发光 二极管 中断 3 3 硬件设计 3.1 中央处理器模块 3.1.1 中央处理器模块功能 中央处理器模块处理与控制外部与内部信息。 3.1.2中央处理器模块组成 该模块由 8088 芯片及其附属支持芯片组成,包括 8284时钟发生器, 8288总线控制器,两片 74LS373 地址锁存器,两片 62512存储器及其 74LS245 三态输出锁存器。 3.1.3中央处理器模块工作原理 8284 时钟发生器为 8088 系统设计的单片时钟发生器。它为 CPU 提供时钟、READY、 RESET等信号。 两片 74LS373 地址锁存器锁存分时复用的地址。 74LS245输出八位数 据。两片容量为 64K的 62512 组成容量为 1MB的存储器。 3.1.4中央处理器相应电路设计 ( 1) 8088小应用系统电路设计 8088 微处理器芯片为 40 只引脚 (线 )的双列直插式封装。运用引脚多路复用技术解决引脚不够的矛盾。引脚复用的实质是两个信号合用同一引脚分时传输信号,即同一个引脚在不同的时间段代表不同的信号。 8086和 8088两个微处理器芯片的共同点是采用 20位地址线,而且指令系统与操作方式也是相同的。都采用分时复用的地址总线和数据总线,有一部分引脚具有地址线和数据线两种功能。主要差别在于数据 线引脚的位数不同。 8086 数据线引脚为 16个; 8088数据线引脚为 8个。 8086 与 8088 微处理器都具有两种工作模式,即最小模式和最大模式。最小与最大模式的确定是通过一条引脚 MN MN 所接的逻辑电平是“ 1”是“ 0”来完成。 在最小 (MN)方式下,微处理器被用来构成一个小规模的单处理机系统,微处理器本身必须提供全部的控制信号给外围电路。 4 在最大 (MX)方式下,微处理器被用来构成一个较大规模的多机系统。由于外围电路芯片数目较多,有的信号要经系统总线转插件送到另外的板卡上去,控制信号的负载加重不能直接 由微处理器的引脚信号来驱动 。 基本引脚信号 AD15 AD0(输入输出,三态 ): 8086的地址数据线复用引脚。 8088微处理器对外只有 8位数据线,因此只复用 AD 7 ADo, AD15 AD8:是独立的地址信号引脚。 (2)A19 S6一 A16 S3(输出,三态 ):地址状态分时复用引脚。在微处理器执行片外访问操作时,先发送高 4位地址码,后发送处理器的状态信息。 S6为 0,表示 AD15 AD0作为数据线使用; S5为 1表示处理器开中断。为 0表示处理器关中断; S4和 S3组合表示当前段寄存器的使用情况。 0 0 ES; 0 1 SS; 1 0 CS; 1 1 DS (3)BHE S7(输出,三态 ):高 8位数据线允许状态分时复用引脚。当处理器执行访问存储器或输入输出设备时,首先给出 BHE 信号以确定是否进行高 8位数据的传输。 (4)NMI(输入 ):非屏蔽中断请求输入线,上升边触发。 5 (5)INTR(输入 ):可屏蔽中断请求输入线,高电平有效。 (6)RD(输出,三态 ):读命令 (或叫 作读选通 )信号,低电平有效,此信号启动一次数据从存储器或输入输出设备读入处理器中的过程。 (7)CLK(输入 ):时钟信号,占空比 1: 3,由外部时钟产生电路提供。 (8)RESET(输入 ):复位信号,它至少保持 4个时钟周期的高电平,使处理器停止正在进行的操作,并使标志寄存器、 IP、 DS、 SS、 ES和指令队列置 0,代码段寄存器 CS置成 FFFFH(全“ l” )。因此复位信号有效作用后处理器从 FFFFOH存储单元取指令并开始执行。 (9)READY(输入 ):准备好信号。处理器在进行存储器或输入 输出设备的访问时,不断检测 READY 引脚的状态。在被访问者没有完成数据传送之前 READY引脚处于低电平 (无效电平 ),处理器自动在操作过程中插入一个或几个等待状态来延长访问过程。 (10)TEST(输入 ):测试信号,低电平有效。当处理器执行 WAIT 指令时,每隔 5 个时钟周期对于面引脚进行一次测试。如果是高电平,处理器仍处于等待状态;为低电平时,处理器脱离等待状念。 (11)MN/MX(输入 ):最大最小工作模式的选择信号。 (12)VCC(输入 ):处理器的电源输入引脚,接十 5V电 源。 (13)GND:处理器的地线引脚,接至系统地线。 最小工作模式下的有关控制引脚信号 (1)INTA(输出 ):最小工作模式的中断响应信号。 (2)ALE(输出 ):地址锁存允许 (选通 )信号。 (3)DEN(输出、三态 ):数据允许信号,用来控制数据总线双向缓冲器的接通与断开,低电平有效。 (4)DT R(输出,三态 ):数据发送接收控制信号。 DT R为高电平时,缓冲器发送数据 (写 ),当 DT R为低电平时,缓冲器接收数据 (读 )。 (5)M/IO(输出,三态 ):存储器、输入输出设备的选择信号。高电平则表明访问操作是对存储器的,为低电平则访问操作是对输入输出设备的。 (6)WR(输出,三态 ):写命令信号,低电平有效。 (7)HOLD(输入 ):总线请求信号,高电平有效,当处理器以外主模块需要使 6 用总线时发出 HOLD 有效信号,直至总线使用完毕时释放总线并撤消 HOLD信号。 (8)HLDA(输出 ):总线请求响应信号,高电平有效。当占用总线的主模块收到 HOLD请求信号后,在完成当前总线操作后发出 HLDA 有效信号,表明申请使用总线的其他主模块 可以使用总线。 (9)SS0(输出 ): 8080 最小模式下周期状态信号 最大工作模式下的有关控制引脚信号 (1) QS1、 QS0(输出 ):指令队列状态信号,用于表示当前指令队列的状态。 0 0 :无操作 0 1 :取第一字节 1 0 :队列空 1 1 :取后续字节 (2)S2、 S1、 S0(输出,三态 ):最大模式下总线周期状态信号。这三个信号送给 8288总线控制器, 8288输出 各种操作的控制信号。 (3)LOCK(输出,三态 ):总线封锁信号。 (4)RQ/GT0、 RQ/GT1(输入输出 ):最大模式下的总线请求总线响应信号。 RQ/GT0优先级高于 RQ/GT1。 8288介绍 8284介绍 地址译码 74LS138是 3-8译码器,通过给 ABC送入不同的值来控制 Y0Y7 的线选。我们这个系统就是用 74LS138来实现地址扩展。 下表为 74LS138的真值表: 7 地址线 A2、 A3、 A4送入译码器输出 Y0、 Y1来控制 ADC0809与 DAC0832 端口地址。 存储器扩展地址范围 8088 A19 A18 A0 74LS138 G1 G2A G2B C B A 62256(1) CS A15A14A13 62256(2) CS A15A14A13 根据以上表格可以得知, 62512(1)的地址范围为: 62512(1)的地址范围为: 由于 8088复位以后, CS=0FFFFH,IP=0000H, PA0= 经过分析可知: 8 图 1 8088综合模块图 3.2 8255人机 接口模块 3.2.1 I/O 接口模块功能 CPU 与 I/O 设备之间的连接及信息处理和 CPU 与存储器之间的连接及信息处理相类似。但实际上, I/O 设备的种类繁多, CPU 与其交换信息相比之下更为复杂,因此,通常 I/O 设备并不直接与 CPU 进行信息交换,而是通过相应的 I/O接口来进行的。 I/O 接口是 CPU与 I/O设备之间进行信息交换的环节。 3.2.2 I/O 接口模块组成 键盘,发光二极管, 74LS138 译码器组成。 INTEL 8255A 是可编程通用并行接口芯片, 具有两个 8 位( A 和 B 口)和两个 4 位( C 口高低四位) ,通过读写 PA, PB, PC 三口状态实现信息交换。 74LS138是 3-8译码器,通过给 ABC送入不同的值来控制 Y0Y7 的线选。这个系统就是用 74LS138 来实现地址扩展。地址线 A2A7 送入译码器输出 Y0 来控制 8255A各 端口地址。 由电路图可知 8255A的各端口地址分别为: 0020H、 0021H、 0022H、 0023H。 9 3.2.3 I/O 接口模块工作原理 ( 1) I/O接口芯 片设计 8255A 是一个具有两个 8 位( A 和 B 口)和两个 4 位( C 口高低四位),最多可达 24 位的并行输入输出端口的接口芯片,可执行功能很强,内容丰富的两条命令(方式字和控制字)为用户如何根据外界条件( I O设备需要哪些信号线以及它能提供哪些状态线)来使用 8255A构成多种接口电路,为组建微机应用系统提供了灵活方便的编程环境 , 是一种 名副其实 的通用并行接口芯片 。同时它 是一个单一 +5V电源供电 40个引脚的 双列直插式组件,其外部引线如图 六 所示。 图 2 8255A 引脚 作为接口电路的 8255A 具有面向主机系统总线和面向外设两个方向的连接能力。它的引脚正 是为了满足这种连接要求而设置的。 如 D0 D7:双向数据线。 CPU 通过它向 8255A 发 送命令、数据; 8255A 通过它向 CPU回送状态、数据。 :选片信号线,该信号低电平有效,由系统地址总线经 I / O 地址译码器产生。 CPU通过发高位端口地址信号使它变成低电平时,才能对 8255A进行读写操作。当为高电平时,切断 CPU与芯片的联系。 A1, A0:芯片内部端口地址信号线,与系统地址 总线低位相连。该信号用来寻址 8255A内部寄存器。两位 地址,可形成片内四个端口地址。 :读信号线,该信号低电平有效 CPU 通过 执行 IN指令,发读信号将数据或状态信号从 8255A 读至 CPU。 10 :写信号线,该信号低电平有效, CPU通过执行 OUT指令,发写信号,将命令代码或数据写入 8255A。 RESET:复位信号线,该信号高电平有效。它清除控制寄存器并将 8255A 的A、 B、 C三个端口均置为输入方式;输 出寄存器和状态寄存器被复位,并且屏蔽中断请求; 24 条面向外设的信号线呈现高阻悬浮状态。这种势态一直维持,直到用方式命令才能改变,使其进入用户所需的工作方式。 面向 I O设备的信号线有: PA0 PA7:端口 A的输入输出线 , PB0 PB7:端口 B 的输入输出线 , PC0 PC7:端口 C 的输入输出线 , 这 24 根信号线均可用来连接 I O 设备,通过它们可以传送数字量信息或开关量信息。 在本课程设计中我们用 PC 口来控制发光二极管的闪烁,用 A 口来连接 LED 数码管显示。 它的端口选择的 基本操作如表 三 所示。 表 一 8255A的基本 操作 ( 2) 键盘电路设计 1)工作原理 用电平逻辑开关输出高低电平来代替键盘按键。按“ 1”键启动系统,汽车以最低速度行驶,同时用 1盏发光二极管灯显示挡位,数码管显示速度(最低速 11 度为 5Km/h)。当需要档位时,用键盘键入 2、 3键,并用不同颜色的发光二极管灯来显示,同时在数码管上显示相应的速度。汽车慢加速时用“ 4”键,急加速时用“ 5” 键,慢刹车时用“ 6”键,急煞车时用“ 7”键。加速和刹车时用数码管显示相应的速度变化;当汽车需紧急停车时,键入“ 8”键,所有发光二极管熄灭,同时数码管显示“ 0” 在单片机中开辟三个数据缓冲区,分别存放当前汽车速度的个位、十位和百位,送入数码管缓冲区,通过 8255的 PA、 PB口分别控制字形口与字位口,从而控制 LED对时间动态的显示。 将已存放在数据缓冲区内的汽车速度数据(已将数据由十六进制数转化为BCD码)送入数码管缓冲区,通过 8255的 PA、 PC口分别控制字形口与字位口,从而控制 LED对汽车速度的动态显示。 2)电路设计 用键盘输出高低电平来代替速度控制信息。键盘的两端分别与上拉电阻与地线相接,当有键盘按下时, PB 口的逻辑状态由高电平变为低电平,从而实现键盘管理模块的功能。 图 3 键盘管理电路 3.3 汽车速度显示模块 12 3.3.1 汽车速度显示 模块功能 通过三位 LED 数码管动态显示汽车当前速度值。 3.3.2 LED 数码管汽车速度显示电路设计 LED显示器有 8个发光二极管按“日”字排列,其中 7个发光二极管组成“日”字形的笔画断,另一个发光二极管为圆点形状,安装在 显示器的右下脚做小数点。分别控制各笔画段的 LED,使其中的某些发光,从而可以显示出 0-9 的阿拉伯数字符号以及其他能由这些笔画段构成的各种字符。其内部结构由两种 共阴极数码管和共阳极数码管。我们采用了共阳极数码管。要显示 0-9时,其编码依次为:C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H,88H,83H,C6H,A1H,86H,8EH,8CH,89H. LED显示器的显示方法有两种 静态显示法和动态扫描显示法。静态显示就是每一个显示器各笔画段都要独占具有所存功能的输出口线 , CPU 把要显示的字符代码送到输出口上,就可以是显示器显示所需的数字后符号。但由于它站用的 I/O口线较多,硬件成本高。所以我们选用了动态扫描显示法。它把所有显示器的 8个笔画段 a-h的个同名端互相并接在一起并把它们接到字段输出接口上。各个显示器的公共端接到位输出接口上。这样 LED显示器需要有两组信号来控制-段码和位码。在着两组信号的控制下,可以 1 位一位的轮流点亮各个显示器显示各自的数码以实现动态扫描显示。在轮流点亮的过程中,每位显示器点亮的时间则是极为短暂的,但由于 LED具有余辉性以及人眼的惰性,尽管各位显示 器实际上是分时段续的显示,但只要选取扫描频率,给人的视觉印象就是在连续稳定的显示。其显示接口电路如图 4所示: 13 图 4 3.3.3 汽车速度显示 相应电路 图 5 LED 动态显示电路 14 4 软件设计 4.1 主程序 模块 4.1.1 主程序设计思想 首先初始化 8255A、建立中断向量表,紧急刹车为外部非屏蔽中断。查询是否有档位键按下 ,若有,则显示该档位下的初速度,然后查询是否有功能键按下,若有,则处理对应的功能并显示此时汽车的速度。当查询到紧急刹车键按下使,产生非屏蔽中断,转入中断服务子程序使汽车速度为零并显示。 15 4.1.2 主程序流程图 主程序8255初始化一档 ?定义中断向量表一挡地址送 BX调用显示子程序调用功能子程序 N O 2 地址送到 BX调用显示子程序调用功能子程序N O 3 的地址送 BX3 档 ?调用功能子程序结束2 档 ?调用显示子程序图 7 主程序流程图 16 4.2 显示模块 4.2.1设计思想 首先在内存中的数据段中定义三个显示缓冲区,分别存入显示数据的个位、十位和百位,然后再定义显示段码区。在该模块中设置了三个 LED数码管,用以显示汽车速度的个位,十位和百位,读 入键盘信息后,汽车速度做相应的功能改变。然后将改变的汽车速度值经 PA 口分别送入 KL1、 KL2、 KL3,以便动态显示当前汽车速度值。 4.2.2 程序流程图 入栈保护位选 KL 1位选 KL 2延时位选 KL 3显示子程序返回送段码显示送段码显示延时送段码显示 延时 17 4.3 串行通信模块 4.3.1中断程序设计思想 将紧急刹车键设为非屏蔽中断,当紧急刹车键按下时,产生中断信号由 NMI送入 CPU,最后由 CPU处理中断服务子程序。在中断服务子程序中将速度清零,发光二极管熄灭。 4.3.2 中断服务子程序流程图 中断服务子程序显示数送 0调用显示子程序返回4.4 功能服务程序设计 4.4.1功能服务程序设计思想 读入键盘信息后,进入功能服务子程序,判断几号功能键按下,确定后将汽车速度做相应改变并将其放入相应的显示缓冲区。 18 4.4.2 程序流程图 慢加速键 ?改变对应车速 超过最大值 ?调用显示子程序Y快加速键 ?改变对应车速Y送最大值YN慢减速键 ? 改变对应车速 低于最小值改变对应车速送最小值快减速键 ?Y YYNN子程序返回N功能子程序NN5 总结 微机 接口技术课程 设计 作为 电气工程及其自动化 本科生教学的主要基础课之一 ,课程紧密结合 电气工程及其自动化 的专业特点 ,围绕微型计算机原理和应用主题 ,以 Intel8088CPU 为主线 ,系统介绍微型计算机的基本知识 ,基本组成 ,体系结构和工作模式 ,从而使学生能较清楚地了解微机的结构与工作流程 ,建立起系统的概念。 这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理 流程 图 画 出来,但是开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了以前的那种 19 错误的认识,以前接触的那些程序 都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序 流程图 是很有必要的。因为通过程序 流程 图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。 其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的, 只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固 。 6 致谢词 在这短短的一个周的时间里,我们经过全体小组成员的全体努力完成了本次课程设计的题目即现场温度智能测控系统。 在设计的过程中,我们遇到了很多的问题,但是这些问题的解决都在我们本次课程设计指导教师吕英俊老师的指导下和我们小组 的全体成员的努力之下顺利地解决并完成。 衷心感谢本次课程设计老师们耐心的指导,没有他们的虚心教导和指引,辛勤的帮助,本次课程设计不会有这样令人欣慰的成果,同时谢谢同学们在设计过程中给与的帮助,为我进一步的学习实际工作提供了宝贵的财富。 20 参考文献 1 胡汉才 . 单片机原理及其接口技术,北京:清华大学出版社, 2002 2 吴宁 . 80X86/Pentium 微型计算机原理及应用,北京:电子工业出版社 ,2000 3 薛琳,吕英俊 .80X86 微机原理及其接口技术实验指导书,青岛:山东科技大学校内 21 附 录: 附录 1:程序清单 DATA SEGMENT NO1 DB 2,5 NO2 DB 5,7 NO3 DB 10,20 SCAN1 DB ? SCAN2 DB ? SCAN3 DB ? TABLE DB 0C0H,0F9H,0A4H,0B0H,099H,92H,82H DB 0F8H,080H,90H,88H,83H,0C6H,0A1H DB 86H,8EH,0FFH,8CH,89H,8EH,0BFH,0F7H ;; LED 显示码 P8255_A DW 0020H P8255_B DW 0021H P8255_C DW 0022H P8255_CR DW 0023H DATA ENDS STACK SEGMENT DW 100 DUP (?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV DX,P8255_CR MOV AL,82H OUT DX,AL PUSH DS MOV AX,0000h MOV DS,AX MOV BX,0008H LEA AX,INTPROC MOV BX,AX MOV AX,SEG INTPROC MOV BX+2,AX POP DS ;中断初始化 A1: MOV DX,P8255_B 22 IN AL,DX CMP AL,0FEH JNE A2 MOV PC5,0 ;发光二极管亮 LEA BX,NO1 MOV SCAN1,5 MOV DX,P8255_C MOV AL,20H OUT DX,AL CALL DISPLAY CALL FUNCTION A2: MOV DX,P8255_B IN AL,DX CMP AL,0FDH JNE A3 MOV PC6,0 ;发光二极管亮 LEA BX,NO2 MOV SCAN1,5 MOV SCAN2,2 MOV DX,P8255_C MOV AL,40H OUT DX,AL CALL DISPLAY CALL FUNCTION A3: MOV DX,P8255_B IN AL,DX CMP AL,0FBH JNE A1 MOV PC7,0 ;发光二极管亮 LEA BX,NO3 MOV SCAN1,0 MOV SCAN2,6 MOV DX,P8255_C MOV AL,80H OUT DX,AL CALL DISPLAY CALL FUNCTION MOV AH,4CH INT 21H DISPLAY PROC FAR PUSH DX PUSH CX PUSH BX PUSH AX ;保护现场 23 MOV DX,P8255_C MOV AL,04H OUT DX,AL ;KL1 位选择 LEA BX,TABLE MOV DX,P8255_A MOV AL,S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论