接口课程设计报告(郝俊)

合集下载

接口课程设计报告

接口课程设计报告

课程设计报告姓名:周建美专业:计算机科学与技术课程名称:微机接口技术班级:2010级科技二班系(分院):计算机科学与技术学院年月1、课程设计要求:选取8255A作为扩展接口芯片,输入设备为开关和非编码键盘,输出设备为发光二极管和七段数码管。

要求由键盘输入倒计时时间(至少为三位,分和秒用“-”隔开),要求计时精度高于0.1秒,输入计时时间后,由七段数码管显示并在开关的控制下,实现“开始倒计时”、“暂停倒计时”和“结束倒计时”。

倒计时结束、倒计时暂停、倒计时开始要由不同的发光二极管点亮或闪烁状态予以指示。

2、总体设计2.1总体要求课程设计要求有键盘,数码管,LED指示灯,开关。

从键盘输入两位(至少两位,多者不限)十进制数,动态显示在数码管上,有开关控制倒数、启动、暂停、退出指示灯,运行状态指示灯(绿),暂停状态指示灯(红)。

2.2设计原理的描述电源开关=PC0,暂停开关=PC1;电源指示灯=PC7,暂停指示灯=PC6;PC0=1启动,=0退出,PC1=1暂停,=0不暂停,电源灯常亮,暂停等闪烁,非暂停时刻熄灭。

图 1 单片机原理图3、硬件原理图图 2 硬件连接图4、程序设计4.1程序流程图图 3 流程图4.2源代码A口 equ 218hB口 equ 219hC口 equ 21ah位选 equ 210h段选 equ 211h控制字 equ 21bhdata segment键位码 dw 0101h,0102h,0104h,0108h,0110h,0120h,0140h,0180h dw 0201h,0202h,0204h,0208h,0210h,0220h,0240h,0280h ; dw 0410h,0420h,0440h,0480h键位位移 db 12,13,14,15,11,10,9,8,4,5,6,7,3,2,1,0显示码 Db 3fh,30h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch, 58h,5eh,79h,71h,40h缓冲区 DB 十位位移,个位位移data endscode segmentassume cs:code,ds:datastart: push dsxor ax,axpush axmov ax,datamov ds,ax********主程序**********MOV DX,控制字MOV AL,81HOUT DX,ALMOV DX,C口等待开机:IN AL,DXTEST AL,1JZ 等待开机开启电源指示灯:MOV DX,控制字MOV AL,88HOUT DX,ALMOV DX,C口MOV AL,0FEHOUT DX,ALMOV BX.缓冲区CALL 键盘扫描子程序;获取显示码1位移量MOV DX,控制字MOV AL,82HOUT DX,ALMOV DX,A口MOV AL,0OUT DX,ALMOV DX,B口等待按键2:IN AL,DXCMP AL,0FFHJNZ 等待按键2MOV BX,缓冲区+1CALL 键盘扫描子程序;获取显示码2位移量LEA BX,缓冲区LEA SI,[BX+显示码]LEA DI,[BX+显示码+1]主控循环:CALL 暂停子程序CALL 动态显示子程序CMP [DI],3FHJNZ 倒数CMP [SI],3FHJZ 退出LEA DI,显示码+10倒数:DEC SI;十位指针-1DEC DI;个位指针-1JMP 主控循环;************************** 键盘扫描子程序 procpush axpush dxpush cxPUSH SIPUSH DIkinit: mov al,82hmov dx,ctrlportout dx,alrk1: mov al,0mov dx,paportout dx,almov dx,pbportin al,dxcmp al,0ffhjz rk1mov bl,almov dx,ctrlportmov al,90hout dx,almov dx,pbportmov al,blout dx,almov dx,paportin al,dxmov ah,blnot axmov si,offset 键位码 mov di,offset 键位位移 mov cx,17cmp ax,[si]jz 键盘返回dec cxjz kinitadd si,2inc dijmp judge键盘返回:MOV [BX],DIPOP DIPOP SIpop cxpop dxpop axret键盘子程序 endp;********************* 动态显示子程序 proc PUSH CXPUSH AXMOV CX,20显示1:MOV DX,位选MOV AL,1OUT DX,ALMOV DX,段选MOV AL,[SI]OUT DX,ALCALL 延迟MOV DX,位选MOV AL,2OUT DX,ALMOV DX,段选MOV AL,[DI]OUT DX,ALCALL 延迟LOOP 显示1POP AXPOP CXRET动态显示 ENDP;**********延迟子程序 PROCPUSH CXPUSH AXMOV BX,1000延迟1:MOV CX,1000 LOOP $DEC DXJNZ 延迟1POP AXPOP DXPOP CXRET延迟子程序 ENDP;******************** 暂停子程序 PROCPUSH DXPUSH AX判断开关:MOV DX,控制字MOV AL,81HOUT DX,ALMOV DX,C口IN AL,DXTEST AL,1JZ 退出TEST AL,2JZ 暂停返回闪烁:MOV DX,控制字MOV AL,0CHOUT DX,ALCALL 延迟子程序MOV DX,控制字MOV AL,0DHOUT DX,ALCALL 延迟子程序JMP 判断开关暂停返回:POP AXPOP DXRET暂停子程序 ENDP退出:mov ah,4chint 21key endpcode endsend start5、调试过程键盘、七段数码管和发光二极管的程序模块,首先,分为三个模块进行了实验,先是静态显示数码管,然后是动态显示数码管,最后控制显示数码管,以及倒计时控制。

接口技术课程设计霓虹灯

接口技术课程设计霓虹灯
5.程序代码:
DATASEGMENT
io8255aEQU280H
IO8255BEQU281H
IO8255CEQU282H
IO8255TEQU283H
TABDB'1 2 3 4 5 6 7 8 ',0DH,0AH,'$'
MESSDB'PLEASE ENTER ANY KEY WHEN READY!',0DH,0AH,'$'
DATAENDS
STACKSEGMENTSTACK
STADW50DUP(?)
STACKENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA,ES:DATA,ES:STACK
START:MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVAH,09H;显示字符串
MOVDX,OFFSETMESS
随着课程设计的不断深入,我感觉自己的能力在不断的提高,昨天还不能解决的问题,今天很快就想到了解决方案,而且又会给自己提出新的问题,用芯片实现新的功能,在不断的发现问题解决问题的过程中,自己得到了很大的进步。通过接口课程设计,我们将学到的硬件知识应用到实践中,用理论指导实践,用实践验证理论。自己的知识越来越丰富,收获的快乐也越来越多。
2.七段数码管字形代码表:
一般的七段数码管拥有八个发光二极管用以显示十进制0至9的数字,也可以显示英文字母,包括十六进制中的英文A至F(b,d为小写,其他为大写)。现时大部份的七段数码管会以斜体显示。
七段数码管由四个直向、三个横向及上右下角一点的发光二极管组成,由以上向条发光体组合出不同的数字。除七段数码管外,还有十四及十六划的显示器,但现时已被点阵显示器(英语:Dot-matrix)所取代。

接口课设报告书

接口课设报告书

武汉理工大学华夏学院课程设计报告书课程名称:微机原理与接口技术题目:交通灯实时控制系统设计系名:信息工程系专业班级:软件2111姓名:郭和朋学号: 10225611102指导教师:李朝纯2013 年 01月 04日课程设计任务书学生姓名:郭和朋专业班级:软件2111指导教师:李朝纯工作单位:信息工程系设计题目:交通灯实时控制系统设计初始条件:1、某十字路口的车辆通行按步序参考表A进行2、TDN86/88型多功能微机实验平台要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)主要任务:1.画出硬件原理图(接口芯片和外设部分、交通灯与路口对应关系)和实验连线图;2.交通灯控制方式是南、北、东、西四个路口轮流通行(无交叉点通行控制方式,步序见参考表A);绿灯亮表示允许通车(20秒)、红灯亮表示不允许通车(15秒)。

各路口由允许通车到不允许通车黄灯亮(用红灯闪烁5秒钟表示);3.用2位7段LED数码管上显示路口当前通行时间的倒计时。

* 4.各路口允许通车时间内,若有异常事件发生(用开关模拟中断信号的产生),则所有灯闪烁10秒钟,返回原处继续。

时间安排:(部分时间,某些工作可以重叠进行)具体要求:设计报告撰写格式要求(按提供的设计报告统一格式撰写)具体内容如下:①设计任务与要求②总体方案与说明③硬件原理图与说明④实验电路图与说明⑤软件主要模块流程图⑥源程序清单与注释⑦问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);⑧小结与体会附录:①源程序(必须有简单注释)②使用说明③参考资料指导教师签字:2012年12 月29 日系主任签字:年月日目录第1章需求分析................................... 错误!未定义书签。

1.1设计题目 ....................................... 错误!未定义书签。

计算机接口课程设计实验报告

计算机接口课程设计实验报告

计算机接口技术课程设计报告班级:专业:学号:姓名:报告目录结构:一、实验目的二、实验要求三、课程设计使用的设备(环境)四、实验原理:五、实验内容及大概步骤六、实验结果七、总结分析与心得一、实验目的1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系;2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念;3.培养综合实践及独立分析、解决问题的能力。

二、实验要求针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。

三、课程设计使用的设备(环境)1.硬件COP2000实验仪 PC机2.软件COP2000仿真软件四、实验原理:1.该模型机指令系统的特点:①总体概述COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。

其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。

微程序控制部分也可以用组合逻辑控制来代替。

模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。

模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。

指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。

而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。

09107099 接口课程设计论文

09107099  接口课程设计论文

西北农林科技大学信息工程学院接口课程设计实习报告题目:温度数据采集系统设计学号:09107099姓名:季大祥专业班级:计算机074班指导教师:蒲攀实践日期:2010年7月5日-7月16日目录一、综合训练目的与要求 (3)二、综合训练任务 (3)三、总体设计 (3)四、详细设计说明 (4)4.1硬件设计 (4)4.1.1硬件电路连线 (4)4.1.2电路连接图 (5)4.2软件设计 (5)五、调试与测试 (6)5.2.1蜂鸣器控制问题 (6)5.2.2电机控制问题 (6)5.3.3发光管常亮问题 (6)5.3.4温度检测中温度的存储问题 (7)六、实习日志 (7)七、实习总结 (8)附录Ⅰ:核心代码清单 (9)附录Ⅱ:电路连接图 (26)一、综合训练目的与要求1、利用温度传感器对环境温度实时采集。

通过A/D转换实现温度数据数值化2、根据已数值化的温度数据控制相应伺服工作,具体要求如下(1)当温度超过40℃(电压3.7v以上)时,进行声光报警并显示(2)当温度超过35℃(电压大于3.5v)时,进行降温并显示(3)温度在27℃~35℃(2.7v~3.5v)之间时,进行保温并显示(4)温度低于27℃、大于20℃(2.7v>电压≥20v)时,进行升温并显示(5)温度低于20℃(<3.1v)时,开始报警并显示3、伺服工作要求(1)声光报警并显示:红色发光二极管闪烁,蜂鸣器发声,数码管显示当前温度(2)降温并显示:电机转动,数码管显示当前温度(3)保温并显示:绿色发光二极管长亮,数码管显示当前温度(4)升温并显示:红色发光二极管长亮,数码管显示当前温度(5)报警并显示:绿色发光二极管闪烁,蜂鸣器发声,数码管显示当前温度二、综合训练任务利用STAR ES598PCI实验仪,设计一个具有温度采集、报警、降温、保温、升温、温度显示的温度控制系统。

通过定时的温度采集自动依据采集数据控制相应伺服工作,实现报警、降温、保温、升温功能,并且可按要求显示实时温度。

接口课程设计实验报告

接口课程设计实验报告

1接口技术课程设计报告——键控节目灯姓名:李丹丹姓名:李丹丹 班级:Z059141班 专业:网络与通信专业:网络与通信 指导教师:王文仲王文仲王振力王振力孟祥莲孟祥莲同组人:李丹丹、黄小娜、高凡齐高凡齐哈尔滨工业大学华德应用技术学院哈尔滨工业大学华德应用技术学院2007年7月13日一、系统硬件要求(芯片简介)8255芯片:1、Intel 公司生产的可编程并行接口芯片8255A 作为并行接口获得广泛的应用。

与Intel 公司的8255A 相类似的可编程并行接口芯片有Motorola 公司生产的MC6820MC6820、、Zilog 公司生产的Z80PIO Z80PIO。

2、8255有三个通道:有三个通道:A A 通道、通道、B B 通道、通道、C C 通道,每个通道有I/O 线:线:PA0PA0————PA7PA7PA7,,PB0PB0——————PB7PB7PB7,,PC0PC0——————PC7PC7PC7。

3、8255有DB 缓冲器与CPU 连接完成通信,有四个端口:连接完成通信,有四个端口:A A 口、口、B B 口、口、C C 口、控制口。

口、控制口。

4、8255设有联络线,若联络则将C 口的8条I/O 线做联络线,所以将C 口分成两部分:口分成两部分:C C 口上半部:口上半部:PC7PC7PC7——————PC4PC4与A 组成A 组、组、PC3PC3PC3——————PC0PC0与B 组成B 组,所以8255的控制方式分A 组控制、组控制、B B 组控制。

组控制。

5、8255是通过CPU 向其内送入控制关键字的方式来实现对各口的管理的,即工作方式控制字。

即工作方式控制字。

8279芯片:Intel8279芯片是一种通用的可编程的键盘、显示器接口器件,能够单独完成键盘输入和LED 显示两种功能。

键盘部分提供一种扫描的工作方式,可以和具有64个触点的键控阵列相连接,也可以与传感器阵列相边。

微机接口课程设计报告

微机接口课程设计报告

微机接口课程设计报告学号:20121004357姓名:李世荣班级:191123指导老师:墙威摘要微机接口技术是采用硬件与软件相结合的方法,使微处理器与外部设备进行最佳的匹配,实现CPU与外部设备之间的高效、可靠的信息交换的一门技术。

接口技术把由处理器、存储器等组成的基本系统与外部设备连接起来,从而实现计算机与外部设备通信。

处理器通过总线与接口电路连接,接口电路再与外部设备连接,因此CPU总是通过接口与外部设备发生联系。

微机的应用是随着外部设备的不断更新和接口技术的发展而深入到各个领域的,因此接口技术是组成任何实用微机系统的关键技术,任何微机应用开发工作都离不开接口的设计、选用和连接。

微机与接口技术是一门实践性和实用性都很强的课程,学习的目的在于应用。

这次课程设计是计算机专业学生的一次较全面的的设计训练,是配合微机与接口技术课堂教学的最后一个重要的实践教学环节,它将起到巩固课堂和书本上所学的知识、加强综合能力、提高系统设计水平、启发创新思想的作用。

本次设计任务是利用实验室的试验箱和VC6.0的环境设计出我们的小系统。

而我们这次设计的是模拟汽车行驶系统。

通过该系统,我们可以模拟汽车的行驶过程。

关键字:微机接口技术,VC6.0,试验箱,模拟汽车行驶系统。

一、需求分析进行系统设计,首先要对系统的现状进行分析。

根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。

需求分析是在于要弄清用户对开发的系统的确切要求。

本次实验准备在VC6.0和实验室的试验箱的环境下模拟出汽车的行驶过程。

正如我们所知,汽车的行驶过程非常复杂,在小小的试验箱上不能完全实现,所以这次实验中,我们只能准备完成一些基本的功能。

我们的目标功能有汽车的开关,速度的控制,以及倒车等功能。

二、设计分析经过需求分析之后,我们在观察试验箱后,试验箱上有控制功能的有A/D转换器,应用小键盘,以及拨键开关。

显示效果的部件有LED显示器,步进电机。

计算机通信接口课程设计

计算机通信接口课程设计

计算机通信接口课程设计一、课程目标知识目标:1. 让学生理解计算机通信接口的基本概念,掌握常见通信接口的类型及特点。

2. 使学生掌握串行通信接口和并行通信接口的原理,了解它们在实际应用中的优缺点。

3. 让学生掌握计算机通信接口的编程方法,学会使用相关编程语言实现通信接口的数据传输。

技能目标:1. 培养学生运用所学知识分析和解决计算机通信接口实际问题的能力。

2. 培养学生动手实践能力,能够独立完成计算机通信接口的编程与调试。

3. 培养学生团队合作能力,能够在小组项目中发挥积极作用。

情感态度价值观目标:1. 培养学生对计算机通信接口技术的兴趣,激发学生的学习热情和探究精神。

2. 培养学生严谨的科学态度,养成勤奋好学的习惯。

3. 增强学生的网络安全意识,树立正确的价值观,遵守相关法律法规。

课程性质:本课程为计算机专业选修课程,旨在让学生深入了解计算机通信接口的原理及应用,提高学生的实践能力和编程技能。

学生特点:学生具备一定的计算机基础知识,对通信接口有一定了解,但实践经验和编程能力有限。

教学要求:结合学生特点和课程性质,注重理论与实践相结合,充分调动学生的积极性,提高学生的动手实践能力和团队合作精神。

通过本课程的学习,使学生能够独立完成计算机通信接口的设计与实现。

二、教学内容1. 计算机通信接口概述- 通信接口基本概念- 常见通信接口类型及特点2. 串行通信接口- 串行通信原理- 串行通信接口标准(如RS-232、RS-485)- 串行通信编程实践3. 并行通信接口- 并行通信原理- 并行通信接口标准(如IEEE 1284、Centronics接口)- 并行通信编程实践4. 通信接口编程- 串行通信编程(如使用C、Python等语言)- 并行通信编程(如使用C、Python等语言)- 通信接口调试与优化5. 实践项目- 设计并实现一个简单的串行通信程序- 设计并实现一个简单的并行通信程序- 小组项目:基于通信接口的智能家居控制系统6. 教学内容的安排与进度- 计算机通信接口概述(2课时)- 串行通信接口(4课时)- 并行通信接口(4课时)- 通信接口编程(6课时)- 实践项目(10课时)教学内容依据课程目标,注重理论与实践相结合,以教材为依据,系统性地安排教学大纲。

接口处理教程实验报告(3篇)

接口处理教程实验报告(3篇)

第1篇一、实验目的1. 理解接口处理的基本概念和流程。

2. 掌握使用PHP编写API接口的方法和步骤。

3. 学习如何使用json-server模拟接口数据。

4. 熟悉使用Postman进行接口测试和自动化测试。

二、实验环境1. 操作系统:Windows 102. 编程语言:PHP3. 开发工具:Visual Studio Code4. API模拟工具:json-server5. 接口测试工具:Postman三、实验内容1. PHP API接口编写(1)创建接口文件首先,我们需要创建一个PHP文件作为API接口,例如`api.php`。

```php<?php// api.php// 设置返回内容为JSON格式header('Content-Type: application/json');```(2)处理请求在`api.php`中,我们需要获取客户端发送的请求,并根据请求类型(GET或POST)进行处理。

```php// 获取请求类型$method = $_SERVER['REQUEST_METHOD'];// 处理GET请求if ($method === 'GET') {// 获取请求参数$name = $_GET['name'];// 模拟从数据库查询用户信息$userInfo = ['name' => '张三','age' => 25,'email'=>'********************'];// 返回JSON数据echo json_encode($userInfo);}// 处理POST请求if ($method === 'POST') {// 获取请求数据$jsonData = file_get_contents('php://input');$userData = json_decode($jsonData, true);// 模拟保存用户信息到数据库// ...// 返回JSON数据echo json_encode(['status' => 'success']); }```2. 使用json-server模拟接口数据(1)安装json-server```bashnpm install -g json-server```(2)创建数据文件创建一个名为`db.json`的文件,并添加以下内容:```json{"users": [{"id": 1,"name": "张三","age": 25,"email":"********************"},{"id": 2,"name": "李四","age": 30,"email":"****************"}]}```(3)启动json-server```bashjson-server --watch db.json```3. 使用Postman进行接口测试(1)测试GET请求在Postman中创建一个新的请求,选择HTTP方法为GET,并设置请求URL为`http://localhost:3000/users`。

接口平台 设计实验报告

接口平台 设计实验报告

接口平台设计实验报告1. 引言随着互联网的发展,越来越多的应用程序需要通过接口与其他系统进行交互。

为了方便不同系统之间的数据传输和功能调用,接口平台逐渐成为了一个不可或缺的组件。

本实验旨在设计一个接口平台,实现不同系统之间的数据交互和功能调用。

2. 设计目标本接口平台的设计目标如下:1. 支持多种常用的接口通信协议,如HTTP、SOAP等;2. 提供统一的接口调用方式,简化接口调用过程;3. 支持接口的注册、管理和监控;4. 提供安全机制,保证接口的安全性和稳定性;5. 能够灵活扩展,支持各种类型的接口。

3. 系统设计3.1 架构设计接口平台的架构设计如下图所示:++接口管理系统++++接口执行引擎++++数据存储系统++接口管理系统负责接口的注册、管理和监控,提供用户界面供用户操作。

接口执行引擎负责接收来自其他系统的接口请求,根据接口的定义进行处理,并返回结果。

数据存储系统负责存储接口的相关数据,包括接口定义、接口调用日志等。

3.2 功能设计接口平台具备以下功能:1. 用户管理:支持用户注册、登录和权限管理;2. 接口注册:支持接口的注册和定义,包括接口名称、输入参数、输出参数等;3. 接口管理:支持对已注册接口的管理,包括修改、删除和查询接口等;4. 接口监控:提供接口的运行状态监控和统计信息;5. 安全机制:提供接口的访问控制和数据加密等安全机制;6. 扩展功能:支持自定义扩展插件,满足不同类型的接口需求。

4. 实验结果经过设计和实现,我们成功开发了一个接口平台。

该平台具备良好的用户界面和丰富的功能,能够满足多种接口需求。

用户可以通过接口管理系统对接口进行注册、管理和监控,而接口执行引擎能够根据接口的定义对请求进行处理并返回结果。

5. 总结与展望通过本次实验,我们深入了解了接口平台的设计和实现过程。

该接口平台为不同系统之间的数据交互和功能调用提供了便利,具备良好的扩展性和安全性。

然而,目前的接口平台仍然有一些局限性,如性能方面的提升和更完善的安全机制等。

接口技术课程设计报告

接口技术课程设计报告

目录一、实验目的 (2)二、实验内容 (2)三、总体设计 (2)四、实验电路 (2)五、实验框图 (4)六、实验程序 (5)七、实验心得 (10)实现特定功能的键盘及LED显示一、实验目的1、掌握键盘和显示器的接口方法和编程方法。

2、掌握键盘扫描和LED八段码显示器的工作原理。

二、实验内容1、了解键盘及LED显示接口设计,绘制出原理图。

2、根据实验箱上提供的硬件资源完成:a、按1键显示年b、按2键显示月日c、按3键显示GOODd、按4键数码管由左到右8字循环显示。

3、设计电路并在实验台上连接线路。

三、总体设计1、选通键盘以及LED数字显示控制区2、主要利用软件编程,实现实验要求中的各项四、实验电路使用PC机与伟福lab8000实验箱连接起来,安装好相应驱动,做好接线分析,由于lab8000实验箱已经将部分电路接线内置,所以接线仅需要将KEY/LED_CS选通端口与CS0相连即可,但作为学习过程,应更加详细的将实现电路了解,现已将实验箱所用实验器件的内部电路给出,详细电路见下页图1图1:键盘及LED显示电路五、实验框图开始显示缓冲区初始化LED 显示读取键值键值转换为显示数据有键输入?是否主程序框图是 是否开始输出列扫描信号列扫描信号移位该列有键输入?读入行信号返回6列扫描完?初始化地址参数 按照行列计算键值查表得键码等待按键释放返回读键输入子程序框图显示程序框图六、实验程序OUTBIT equ 08002h ; 位控制口 OUTSEG equ 08004h ; 段控制口 IN_KEY equ 08001h ; 键盘读入口data segmentLEDBuf db 6 dup(?) ; 显示缓冲 Num db 1 dup(?) ; 显示的数据 DelayT db 1 dup(?)LEDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hKeyTable: ; 键码定义 db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h db 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07h开始初始化显示参数关所有位显示取显示数据输出段码数据输出位选通信延时位选通信号移位指向下一个显示数据返回6位完成data endscode segmentassume cs:code, ds:dataDelay proc nearpush ax ; 延时子程序push cxmov al, 0mov cx,axloop $pop cxpop axretDelay endpDelay1 proc nearpush ax ; 延时子程序push cxmov al, 0mov cx,38000loop $pop cxpop axretDelay1 endpDisplayLED proc nearmov bx, offset LEDBufmov cl, 6 ; 共6个八段管mov ah, 00100000b ; 从左边开始显示DLoop:mov dx, OUTBITmov al, 0out dx,al ; 关所有八段管mov al, [bx]mov dx, OUTSEGout dx,almov dx, OUTBITmov al, ahout dx, al ; 显示一位八段管push axmov ah, 1call Delaypop axshr ah, 1inc bxdec cljnz DLoopmov dx, OUTBITmov al, 0out dx,al ; 关所有八段管retDisplayLED endpTestKey proc nearmov dx, OUTBITmov al, 0out dx, al ; 输出线置为0mov dx, IN_KEYin al, dx ; 读入键状态not aland al, 0fh ; 高四位不用retTestKey endpGetKey proc nearmov ch, 00100000bmov cl, 6KLoop:mov dx, OUTBITmov al, ch ; 找出键所在列not alout dx, alshr ch, 1mov dx, IN_KEYin al, dxnot aland al, 0fhjne Goon_ ; 该列有键入dec cljnz KLoopmov cl, 0ffh ; 没有键按下, 返回0ffhjmp Exit1Goon_:dec clshl cl, 2 ; 键值= 列X 4 + 行mov ch, 4LoopC:test al, 1jnz Exit1shr al, 1inc cldec chjnz LoopCExit1:mov dx, OUTBITmov al, 0out dx, almov ch, 0mov bx, offset KeyTableadd bx, cxmov al, [bx] ; 取出键码mov bl, alWaitRelease:mov dx, OUTBITmov al, 0out dx, al ; 等键释放mov ah, 10call Delaycall TestKeyjne WaitReleasemov al, blretGetKey endpStart proc nearmov ax, datamov ds, axmov di,offset LEDBufp1: mov di,offset LEDBufmov [di], 05bh ; 显示2008.mov [di+1], 03fhmov [di+2], 03fhmov [di+3], 0ffhmov [di+4], 0mov [di+5], 06hjmp MLoopp2: mov di,offset LEDBufmov [di], 03fh ; 显示08.08.mov [di+1], 0ffhmov [di+2], 03fhmov [di+3], 0ffhmov [di+4], 0mov [di+5], 5bhjmp MLoopp3: mov di,offset LEDBufmov [di],6fh ;显示goodmov [di+1],5chmov [di+2],5chmov [di+3],0dehmov [di+4],0mov [di+5],4fhjmp MLoopp4: push cxmov cx,08hmov bx,offset LEDBufp4l: mov [bx],00inc bxloop p4lpop cxmov [di], 7fh ; 显示8inc dicmp di,offset LEDBuf + 06hjnz nextmov di,offset LEDBufnext: call delay1call DisplayLED ; 显示call TestKeyjne MLoopjmp p4MLoop:call DisplayLED ; 显示call TestKey ; 有键入?je MLoop ; 无键入, 继续显示call GetKey ; 读入键码and al, 0fh ; 显示键码cmp al,01hjz mmpp1cmp al,02hjz mmpp2cmp al,03hjz p3cmp al,04hjz p4mov ah, 0mov bx, offset LEDMAPadd bx, axmov al, [bx]mov LEDBuf+5, aljmp MLoopmmpp1: jmp p1mmpp2: jmp p2Start endpcode endsend start七、实验心得通过此次课程设计让我学会了更多的知识,以及懂得了团队合作的重要性,通过编写相关的程序以及对LAB8000实验箱的使用我们的动手能力得到了很大的提高,并且很感谢老师的细心指导,对我们的帮助很大,以及感谢本小组的其他成员,大家的共同努力使我们完成了此次课程设计。

接口课程设计实验报告(孙强)

接口课程设计实验报告(孙强)

微机接口课程设计报告——宿舍安全系统班级:计算机学院0202班姓名:孙强学号:012002013408小组成员:汪野、周远、孙强、张仲容、徐亮华中科技大学一.系统功能本系统用来验证身份。

用户从下位机刷卡进入,并录入用户名和密码。

下位机分别将用户名和密码发送给主控机,主控机验证之后,发送相应的反馈信息给下位机。

只有当用户名和密码都被确认,用户身份才合法。

合法时下位机控制发光部件亮灯提示,不合法则下位机控制发声部件鸣声警报。

二.系统设计上图中,8255是下位机控制部件的接口单元。

A口的8个引脚和控制板上的8个显示灯相连,其输出决定灯的状态;B口8个引脚和控制板上的拨码开关的8位相连,编码开关的状态可由B口读入下位机;C口的PC0,PC1,PC3分别和控制板上的SW1,SW2,S24相连,可由下位机读入各开关的状态,PC6则和喇叭相连,由PC6输出方波控制喇叭发声。

三.程序设计本次课程设计的过程中,我主要负责主控机和下位机的通讯,以及下位机对功能部件的控制这两部分的程序设计工作。

系统的模块框图由系统设计的内容可知,即8255芯片以上的部分是本系统的通讯模块框图,以下为本程序的功能模块框图。

系统的程序设计是紧密围绕系统功能进行的,程序要实现的功能就是系统的功能。

本报告开篇就指明了系统的功能,由此可知本程序的大致流程,我这里不再赘述,下面给出流程框图。

1.主控机程序流程图程序设计过程中,为了模拟用户的刷卡进入,让下位机测试控制板上的开关sw4,其按下表示有用户刷卡进入,这时就可以发送插卡信号给主控机,上图中“接收用户插卡信号”就是指这个信号。

2.下位机程序流程图下位机部分需要操作控制板,这里要用到控制板上的8为编码开关,以及开关sw1,sw2,sw4。

按下sw4表示用户插卡进入,此时拨动控制板上的编码开关,设置用户名编码,按下sw1发送给主控机,若被主控机确认,则重新拨动控制板上的编码开关设置密码,再按下sw2发送给主控机,等待主控机确认。

模型接口设计实验报告

模型接口设计实验报告

一、实验目的1. 理解模型接口设计的基本概念和重要性。

2. 掌握模型接口设计的步骤和方法。

3. 学会使用接口设计工具进行模型接口的创建和管理。

4. 提高在实际项目中应用接口设计的能力。

二、实验环境1. 操作系统:Windows 102. 开发工具:Eclipse3. 接口设计工具:Java Design Patterns and Best Practices (JDPBP)三、实验内容本实验以设计一个简单的图书管理系统为例,演示模型接口设计的过程。

1. 需求分析图书管理系统需要具备以下功能:- 添加图书信息- 查询图书信息- 删除图书信息- 修改图书信息- 显示所有图书信息2. 确定接口根据需求分析,我们可以将图书管理系统分为以下几个模块:- 数据存储模块:负责图书信息的存储和检索- 业务逻辑模块:负责图书管理业务逻辑的实现- 用户界面模块:负责与用户交互以下是各个模块的接口设计:数据存储模块接口:```javapublic interface DataStorage { void addBook(Book book);Book findBookById(int id); void deleteBook(int id);void updateBook(Book book); List<Book> getAllBooks();}```业务逻辑模块接口:```javapublic interface BusinessLogic { void addBook(Book book);Book findBookById(int id); void deleteBook(int id);void updateBook(Book book); List<Book> getAllBooks();}```用户界面模块接口:```javapublic interface UserInterface {void addBookForm();void searchBookForm();void deleteBookForm();void updateBookForm();void displayAllBooks();}```3. 实现接口根据接口设计,我们可以创建相应的实现类:数据存储模块实现:```javapublic class DataStorageImpl implements DataStorage {// 实现数据存储相关的方法}```业务逻辑模块实现:```javapublic class BusinessLogicImpl implements BusinessLogic { // 实现业务逻辑相关的方法}```用户界面模块实现:```javapublic class UserInterfaceImpl implements UserInterface {// 实现用户界面相关的方法}```4. 测试接口在完成接口实现后,我们需要对接口进行测试,确保接口功能正常。

接口的应用实验报告(3篇)

接口的应用实验报告(3篇)

第1篇一、实验目的1. 理解接口的概念和作用。

2. 掌握接口的使用方法,包括接口的定义、实现和继承。

3. 通过实际应用,加深对接口的理解和应用能力。

二、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse三、实验内容1. 接口的基本概念2. 接口的定义和实现3. 接口的继承和多态4. 接口的应用实例四、实验步骤1. 接口的基本概念(1)打开Eclipse,创建一个名为“InterfaceDemo”的Java项目。

(2)在项目中创建一个名为“Shape”的接口,包含一个抽象方法“draw()”。

```javapublic interface Shape {void draw();}```2. 接口的定义和实现(1)在项目中创建一个名为“Circle”的类,实现“Shape”接口。

```javapublic class Circle implements Shape {@Overridepublic void draw() {System.out.println("Drawing a circle.");}}```(2)在项目中创建一个名为“Rectangle”的类,实现“Shape”接口。

```javapublic class Rectangle implements Shape {@Overridepublic void draw() {System.out.println("Drawing a rectangle.");}}```3. 接口的继承和多态(1)在项目中创建一个名为“Triangle”的类,继承“Circle”类,并实现“Shape”接口。

```javapublic class Triangle extends Circle implements Shape {public void draw() {System.out.println("Drawing a triangle.");}}```(2)创建一个名为“Main”的类,用于测试接口的应用。

微机接口课程设计报告模板

微机接口课程设计报告模板

《微机原理与接口技术》课程设计题目:彩灯控制器设计学院(系):信息工程系年级专业:自动化1081班学号: 10212408121学生姓名:符圣驹指导教师:李波课程设计任务书学生姓名:符圣驹专业班级:自动化 1081 指导教师:李波工作单位:信息工程系题目:彩灯控制器设计初始条件:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室的实验箱设备。

要求完成的主要任务:1.要求至少以三种方式控制LED灯的显示,序号依次为:0,1,2,3,4,5,6,7(自然数列);1,3,5,7(奇数列);0,2,4,6(偶数列)。

然后又依次显示同上数列,不断循环;2.扩展功能:允许增加新自定义的LED灯的显示模式。

3.打开电源开关,自动清零,即通电后最先显示出自然数列的0,再显示出1,然后按上述规律变化;4.每个数字的一次显示时间(从数码管显示之时起到消失之时止)基本相等。

5.严格按照课程设计说明书要求撰写课程设计说明书。

时间安排:指导教师签名:年月日系主任(或责任教师)签名:年月日基于微机原理彩灯控制器的设计摘要彩灯的发展也在日新月异,特别是随着我国科学技术的发展,彩灯艺术更是花样翻新,奇招频出,传统的制灯工艺和现代科学技术紧密结合,将电子、建筑、机械、遥控、声学、光导纤维等新技术、新工艺用于彩灯的设计制作,把形、色、光、声、动相结合,思想性、知识性、趣味性、艺术性相统一。

本设计以8088、8255芯片为中心,利用开关实现对各种花色的控制,输出采用 8个共阳极二极管显示花色。

本电路设计的彩灯控制器不但能实现基本的0—7的依次显示,奇数灯依次显示和偶数灯依次显示,而且还能根据各开关的状态来控制增加或减少彩灯显示的花样,还能控制彩灯工作/暂停。

目录前言…………………………………………………………………………………………第一章彩灯控制器的设计要求与设计方案…………………1.1 系统主要功能1.2 彩灯控制器的元件选择第二章彩灯控制器的硬件设计……………………………………2.1 彩灯控制器器的硬件框图2.2 可编程并行接口8255及其引脚说明第三章彩灯控制器的软件设计…………………………………3.1 主程序流程图3.2 开关方式的设计3.3 延时模块程序设计第四章彩灯控制器的安装与调试………………………………4.1 硬件调试4.2 软件调试4.3 调试过程第五章设计体会与小结………………………………………………………5.1 总结设计体会与心得附录一………………………………………………………………………………………参考文献前言电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。

接口实验报告

接口实验报告

接口实验报告本次接口实验的主要目的是学习和掌握如何使用接口开发程序。

在本次实验中,我们选用了Java语言,利用Eclipse工具进行开发,测试并使用Postman进行接口测试。

实验过程及结果:1. 设计接口我们首先根据需求设计接口,包括接口的名称、参数、返回值以及其功能等。

比如,我们设计了一个查询学生信息的接口,接口名称为getStudent,参数为学生的ID,返回值为学生的信息。

该接口的功能是通过输入学生的ID,查询学生的基本信息,包括姓名、年龄以及查询时间等。

以下是该接口的代码示例:public interface QueryService {public Student getStudent(String id);}private String name;2. 实现接口接下来,我们需要具体实现这个接口。

实现接口的过程是编写接口的具体实现代码,包括参数的解析、操作数据库等。

为了实现getStudent接口,我们需要在数据库中查询学生的信息,并将其封装成一个Student对象返回。

以下是getStudent接口的具体实现代码示例:// 从数据库中查询学生信息student.setName("小明");return student;3. 发布接口当接口实现完成后,我们需要把它发布出去,供调用方使用。

在Java中,我们可以利用WebService发布接口。

例如,我们可以通过Eclipse工具,利用Axis2插件发布接口。

在发布接口时,需要指定WSDL文件的路径,以及服务的名称、命名空间等。

以下是发布接口的具体步骤:a. 在Eclipse中,选择File -> New -> Other -> Web Services -> Axis2 Serviceb. 输入Service name、Package name、Project name和Server runtime,并点击Nextc. 选择一个Java类并点击Nextd. 选择一个接口并点击Finishe. 在发布之前,需要先访问一下接口的方法并获取WSDL地址f. 在发布时,选择Generate All,并指定WSDL文件的路径4. 测试接口接口发布之后,我们需要进行测试。

接口课程设计报告格式

接口课程设计报告格式

微机原理与接口技术课程设计报告2009-2010学年第二学期设计题目:计时器系统设计小组成员:张丽君、张君、刘华松、路芳芳、张明所学专业:计算机科学与技术指导教师:高国红完成时间: 2010-06-内容提要《微机原理与接口技术》是一门实践性和实用性都很强的课程,学习的目的在于应用。

掌握8255、8259、8253芯片使用方法和编程方法,通过本次课程设计,学以致用,进一步理解所学的相关芯片的原理、内部结构、使用方法等,学会相关芯片实际应用及编程,系统中采用8088微处理器完成了电子钟的小系统的独立设计。

同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后搞设计时逻辑更加清晰。

目录一、设计的目的要求 (1)二、系统的主要功能 (1)三、设计所用芯片结构 (4)1、8259A芯片的内部结构及引脚 (4)2、8255芯片的内部结构及引脚 (5)3、8253芯片的内部结构及引脚 (6)四、源程序清单: (8)五、连线图 (11)六、设计总结及心得体会 (11)参考文献: (12)一、设计的目的要求学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。

通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。

该系统的要求利用8253定时器设计一个具有分、秒显示的电子时钟,并定义一个脉冲kk+2,当按下该键时时钟从当前设定值(00:00)开始走时。

二、系统的主要功能该系统是一个简单的利用8253定时器、8255可并行通信接口和中断控制器8259设计的电子时钟系统。

8253定时器开始计时(8253的初值为10000,接1MHz的脉冲,即当8253计满100时正好是1S),当计时计满100时,8259便产生一次中断,在LED显示器便显示系统预先设计好的初始值“00:00”便开始从秒位开始加1,当加到10S时,10s位加1,加到60S时分位加1,同时秒位清零。

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

接口课程设计报告计算机0202班郝俊学号;012002013429 一.课程设计的要求与目的结合一个实际的接口技术问题,设计一个微机应用系统,包括主控机,数个下位机及执行部件,要求该系统综合应用并行接口、串行接口和其他接口,编写对应的上位机和下位机程序,实现主控机与下位机的远距离传送和远程监控功能。

系统结构,如图;其中;1.系统硬件由一台主控机,数台下位机和执行部件组成,主控机与下位机通过串行通信线连接。

2.主控机:与所有下位机进行数据交换,必要时需建数据库,进行数据处理等。

3.下位机:与主控机通信,控制执行部件。

4.执行部件;将接收的数据送入到下位机或将下位机输出的数据送到执行部件。

5.主控机程序:串行(RS232/RS485)通信程序,数据处理程序等。

6.下位机程序:串行(RS232/RS485)通信程序,执行部件控制程序二.课程设计的题目地铁计费系统1.系统功能;乘客进站要在执行部件上刷卡,出站也要刷卡,执行部件将接收到的数据通过下位机传送给上位机,上位机根据卡号得出卡上金额。

出站时计算费用,并判断乘客是否买足了票,如果费用大于卡上金额,表示票款不足,则发出警报;如果费用小于卡上金额,表示票款足够,则算出余额,最后将数据送到下位机显示出来。

2.开发环境我们本次课程设计所用的开发环境是实验室提供的MF多功能微机接口实验与开发平台,所用的语言是IBM-PC汇编语言。

3.实验分工我们组的成员有我,冯茂盛,徐捷和黄林,其中冯茂盛同学担任组长。

我们的分工如下;冯茂盛同学负责下位机的程序编写以及整体调试,徐捷同学负责上位机的程序编写,黄林同学和我分别负责上位机和下位机的辅助设计以及硬件设计连接。

三.流程图上位机的流程图如下下位机的流程图如下页四.源程序代码上位机源代码:data segmentbalance db '4'quit db0ah,0dh,'The balance in your account is:$'err db0ah,0dh,'The balance is not adequate!!$'fee db0ah,0dh,'The fee of this travel is:$'card db0ah,0dh,'The card number is:$'carderror db0ah,0dh,'Invalid card number!',0ah,0dh,'$'data endsstack segment stackdb200dup(0)stack endscode segmentassume cs:code,ds:data,ss:stackcls macro op1,op2,op3,op4 ;用于清屏,分别是起止的行和列mov ah,6mov bh,1EHmov al,0mov ch,op1mov cl,op2mov dh,op3mov dl,op4int10Hendmint51 proc near ;8251A初始化子程序mov dx,309h;8251A命令口mov al,0;空操作out dx,almov al,40h;内部复位out dx,almov al,4eh;8251A方式命令out dx,almov al,27h;8251A工作命令out dx,alretint51 endpset_bps proc near ;8253-5计数初值计算与装入子程mov dx,307h;8253-5命令口mov al,0b6h;8253-5初始化命令out dx,almov dx,306h;8253-5计数器2的端口mov ax,34h;取计数初值out dx,al;装计数初值低字节mov al,ah;装计数初值高字节out dx,alret;返回set_bps endpbegin: mov ax,datamov ds,axcls 0,0,25,80mov ah,2mov bh,0mov dx,0101hint10hcall int51 ;调用8251A子程序,初始化8251Alea dx,card ;显示'The card number is :'mov ah,9int21hreceiv1: mov dx,309h;准备接收数据in al,dxtest al,02;接收数据准备好?RXRDY=1?jz receiv1 ;未准备好,即无数据接收mov dx,308h;已准备好,即有数据传送过来,则接收卡号in al,dxmov dl,al;显示接收的字符mov ah,02hint21hcmp al,30hjne carderrmov dx,309h;发送数据transm1: in al,dxtest al,01;发送准备好?TXRDY=1?jz transm1 ;未准备好,则等待mov dx,308h;将卡上的余额发送出去mov al,balanceout dx,al;发送结束,准备接收下位机传来的车费lea dx,fee ;显示'The fee of this travel is:'mov ah,9int21hreceiv2: mov dx,309h;准备接收数据in al,dxtest al,02;接收数据准备好?RXRDY=1?jz receiv2 ;未准备好,即无数据接收mov dx,308h;已准备好,即有数据传送过来,则接收1个字符卡号in al,dxmov dl,al;显示接收的字符mov ah,02hint21hmov bl, balancecmp bl, aljb error ;如果车费大于余额,则不修改余额,直接跳出sub bl,al;否则,发送数据add bl,'0'mov balance,blmov dx,309htransm2: in al,dxtest al,01;发送准备好?TXRDY=1?jz transm2 ;未准备好,则等待mov dx,308h;将卡上的余额发送出去mov al,balanceout dx,al;发送结束jmp overcarderr: lea dx,carderrormov ah,9int21hjmp overerror: lea dx,errmov ah,9int21hjmp overover: mov ax, 4c00hint21hcode endsend begin下位机源代码:data segmentinfo1 db0ah,0dh,'Please input the card number:$'carderror db0ah,0dh,'Invalid card number!!',0ah,0dh,'$'info2 db0ah,0dh,'Please input the fee:$'info3 db0ah,0dh,'The balance is:','$'info4 db0ah,0dh,'Press any key to check in!Press ESC to exit this program',0ah,0dh,'$' info5 db0ah,0dh,'Please press any key to check out!',0ah,0dh,'$'info6 db0ah,0dh,'Your balance is $'info7 db 'not adequate!',0ah,0dh,'$'card db10db ?db10dup(0)fee db10db ?db10dup(0)balance db10db ?db10dup(0)t dw0;初始化延时变量为0ta db14hdata endsstack segment stackdb200dup(0)stack endscode segmentassume cs:code,ds:data,ss:stackcls macro op1,op2,op3,op4 ;用于清屏,分别是起止的行和列mov ah,6mov bh,1EHmov al,0mov ch,op1mov cl,op2mov dh,op3mov dl,op4int10Hendmint51 proc near ;8251A初始化子程序mov dx,309h;8251A命令口mov al,0;空操作out dx,almov al,40h;内部复位out dx,almov al,4eh;8251A方式命令out dx,almov al,27h;8251A工作命令out dx,alretint51 endpset_bps proc near ;8253-5计数初值计算与装入子程mov dx,307h;8253-5命令口mov al,0b6h;8253-5初始化命令out dx,almov dx,306h;8253-5计数器2的端口mov ax,34h;取计数初值out dx,al;装计数初值低字节mov al,ah;装计数初值高字节out dx,alret;返回set_bps endpdelay1 proc;延时子程1push bxmov bx,tdl1: dec bxjnz dl1pop bxretdelay1 endpdelay2 proc;延时子程2push cxpush bxmov cx,04ffhdl4: mov bx,0ffffhdl3: dec bxjnz dl3dec cxjnz dl4pop bxpop cxretdelay2 endpspk proc nearmov bx,200mov t,0ffffhmov dx,303h;从PC6输出方波loson: mov dx,303h;从PC6输出方波mov al,0dh;置PC6=1;打开8253out dx,alcall delay1mov dx,303hmov al,0ch;置PC6=0;关闭8253out dx,alcall delay1dec bxjnz losoncall delay2retspk endpbegin: mov ax,datamov ds,axcls0,0,25,80mov ah,2;设置光标mov bh,0mov dx,0001hint10hcall int51 ;调用8251A子程序,初始化8251Amov dx,303h;初始化8255A,使指示灯全熄mov al,82hout dx,almov dx,300hmov al, 11111111bout dx,allea dx,info1 ;从开关输入卡号mov ah,9int21hmov dx,303hmov al,82hout dx,almov dx,301hin al,dxl1: mov dx,303hmov al,82hout dx,almov dx,301hin al,dxmov bl,al;将口B输入的卡号数据做备份and al,10000000b;如果首位不是0,就等待,直到把首位开关置0cmp al,00000000bjz l1and bl,01111111bmov dl,blmov ah,2int21hmov dx,309h;否则,发送数据transm1: in al,dxtest al,01;发送准备好?TXRDY=1?jz transm1 ;未准备好,则等待mov dx,308h;将已准备好的数据发送出去mov al,blout dx,al;发送结束cmp bl,30hjne carderrreceiv1: mov dx,309h;准备接收数据in al,dxtest al,02;接收数据准备好?RXRDY=1?mov dx,308h;已准备好,即有数据传送过来,则接收1个字符in al,dxmov bh,al;将显示的余额存到bh中lea dx,info3mov ah,9int21hmov dl,bh;显示接收的字符mov ah,02hint21hlea dx,info2mov ah,9int21hmov dx,303h;test用来读入8255口B的信息mov al,82hout dx,almov dx, 301hin al, dxl2: mov dx, 301hin al, dxmov bl,al;此时bl用来存储输入的车费and al,10000000bcmp al,10000000bjz l2and bl,01111111bmov dl,blmov ah,2int21h;end of testmov dx,309h;发送数据transm2: in al,dxtest al,01;发送准备好?TXRDY=1?jz transm2 ;未准备好,则等待mov dx,308h;将已准备好的数据发送出去mov al,blout dx,al;发送结束lea dx,info6mov ah,9int21hmov al, blcmp bh,aljb error ;如果车费大于余额,显示错误receiv2: mov dx,309h;准备接收数据in al,dxtest al,02;接收数据准备好?RXRDY=1?mov dx,308h;已准备好,即有数据传送过来,则接收1个字符in al,dxmov dl,al;显示接收的字符mov ah,02hint21hjmp overerror: lea dx,info7mov ah,9int21hmov dx,303h;初始化8255Amov al,82hout dx,almov dx,300hmov al, 00000000bout dx,alcall delay2mov dx,300hmov al,11111111bout dx,alcall spkjmp overcarderr: lea dx,carderrormov ah,9int21hcall spkover:mov dx,303h;初始化8255A,使指示灯全熄mov al,82hout dx,almov dx,300hmov al, 11111111bout dx,almov ax,4c00h;程序退出int21hcode endsend begin五.程序的调试过程老师将接口课程设计的要求和内容布置下来以后,我,冯茂盛,徐捷和黄林决定组成一个小组,共同完成这个课题。

相关文档
最新文档