ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:105.50KB ,
资源ID:18399861      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18399861.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(接口课程设计实验报告孙强文档格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

接口课程设计实验报告孙强文档格式.docx

1、用户数目YN db 0 ;发送缓存user db 0 ;存放接收的用户名pwd db 0 ;存放接收的密码t dw 0 ;延时初值 bufb db 0ah,0dh,The domitory system is running.!$bufu db 0ah,0dh,username(4 characters): ;接收用户名提示bufp db 0ah,0dh,password(6 characters):接收密码提示bufr db 0ah,0dh,You can get in! ;正确提示bufus db 0ah,0dh,Error username!用户名错误提示bufpd db 0ah,0dh

2、,Error password!密码错误提示buferr db 0ah,0dh,Can not identify the card!不可识别的卡bufexit db 0ah,0dh,Press any key within 3 seconds to exit!data endsstack segment stack db 200 dup(0)stack endscode segment assume cs:code,ds:data,ss:stackhh macro ;回车换行的宏 mov dl,0ah mov ah,2 int 21h mov dl,0dh endmint51 proc nea

3、r ;8251A初始化子程 mov dx,ctr151 ;8251A命令口 mov al,0 ;空操作 out dx,al mov al,40h ;内部复位 out dx,al mov al,4Eh ;8251A方式命令 mov al,27h ;8251A工作命令 retint51 endpdelay1 proc ;延时子程1 push bx mov bx,tdl1: dec bx jnz dl1 pop bxdelay1 endp quit proc ;3秒钟之内按任意键退出程序 push cx lea dx,bufexit mov ah,9 mov cx,05fffhqxx: cmp cx

4、,0 je qx mov ah,1 ;检测是否有键按下,有则退出 int 16h jnz qnext mov t,0ffffh call delay1 dec cx jmp qxxqnext: mov ah,4chqx: pop cx retquit endpsend macro a;发送一个字符的宏,首先必须将要发送的字符送入变量YN mov dx,ctr151 a: in al,dx test al,01 ;发送准备好?TXRDY=1? jz a ;未准备好,则等待 mov dx,data51 ;已准备好,则发送Y给下位机 mov al,YNreceive macro b ;接收一个字符的

5、宏,接收到alb: mov dx,ctr151 ;检测接收准备好没 in al,dx test al,02 ;接收数据准备好?RXRDY=1? jz b ;未准备好则继续检测 mov dx,data51;已准备好,即有数据传送过来,则接收1个字符 endm begin: mov ax,data mov ds,ax call int51 ;调用8251A子程序,初始化8251A k: call quit ;延时3秒退出 hh lea dx,bufb ;系统提示 receive o ;接收插卡信号 cmp al,O jne error mov YN,Y ;发送卡确认信息 send yyy lea

6、dx,bufu ;用户名提示信息 mov al,0 receive a ;接收一个字符,用户信息 mov user,al ;保存接收的用户信息 mov dl,user ;显示接收的字符 mov ah,02h int 21h jmp cmpusererror: lea dx,buferr ;无法识别的卡 mov ah,9 int 21h hh jmp kover: mov ax,4c00h int 21h cmpuser: mov al,user lea si,defuser ;取用户名数组的首地址 mov cx,userno ;取用户数目cu: cmp cx,0 je sendnu cmp a

7、l,si je sy ;和某一个用户名相等则发送Y确认信号 inc si jmp cusy: push si ;保存该用户名的地址 send y lea dx,bufp ;密码提示信息 int 21h 接收密码 receive pp mov pwd,al ;保存接收的密码 pop si mov ax,si add ax,userno ;得到该用户名对应的密码在密码数组中的地址 mov si,ax mov bl,si cmp pwd,bl ;和密码比较 jne sendnp ;不相等则发送N,相等则发送Y send yy lea dx,bufr ;显示正确 jmp k ;重新开始 sendnp:

8、 mov YN,N send n lea dx,bufpd ;显示密码错误重新开始sendnu: send n lea dx,bufus ;显示用户名错误code ends end begin4.下位机源程序程序开始时,提示在3秒钟内按任意键退出,否则继续执行。若继续执行,首先按sw4表示插卡,再由开;关状态设置用户名,按sw1发送之,显示提示信息仍然用开关状态设置密码,按sw2发送之,显示提示信息,回程序开始.data51 equ 308h ;ctr151 equ 309h ;ctr155 equ 303h ;8255命令口ctr155a equ 300h ;8255数据口actr155b

9、equ 301h ;8255数据口bun db 0 ;存放读入的用户名pd db 0 ;存放读入的密码hh db 0ah,0dh,回车换行 light db 0feh,0fdh,0fbh,0f7h,0efh,0dfh,0bfh,07fh ;闪烁灯状态t dw 0 ;f db 0 ;计数初始值j db 0 ;YN db 0buf1 db 0ah,0dh,Press sw4 instand of inserting the card!buf2 db 0ah,0dh,Change the state of the switch to set username! Press sw1 to send i

10、t! ;提示录入和发送用户名buf3 db 0ah,0dh,Change the state of the switch to set password! Press sw2 to send it!提示录入和发送密码buf4 db 0ah,0dh,The user is not existed or you have the wrong password!错误提示信息buf5 db 0ah,0dh,成功登录信息stack segment stack DB 200 DUP(0) mov dx,data51 ;已准备好,则发送一个字符给下位机 clear macro c ;置口c某一位,c为置位控

11、制字 mov dx,303h mov al,creceive macro b ; mov dx,ctr151 ; test al,02 ; jz b ; mov dx,data51 ; endm delay2 proc ;延时子程2 mov cx,00fffhxx: je x jmp xxx: pop cxdelay2 endp mov cx,07fffhflutter proc ;灯闪烁函数,8个灯依次亮,循环3次 lea di,light mov f,3wyyy: cmp f,0 je wy mov cx,8l: je wyy mov al,di ;灯亮 mov dx,ctr155a ou

12、t dx,al call delay2 ;延时2 mov al,0ffh ;灯灭 out dx,al inc di jmp lwyy: lea di,light dec f jmp wyyy wy:flutter endpnoise proc ;声音报警子函数,3次长鸣 jj: je ejj产生一定频率的方波,使喇叭发声 mov cx,00dffhxxkk1: je xkk mov dx,ctr155 ;pc6置1 mov al,0dh call delay1 ;延时pc6置0 mov al,0ch jmp xxkk1 xkk: call delay2 ;不产生方波,停止发声 jmp jjej

13、j: pop cxnoise endp mov ds,ax mov dx,ctr155 ;初始化8255A mov al,10000011bww: lea dx,hh ;延时退出程序 lea dx,hh ; lea dx,buf1 ;提示按sw4表示插卡检测sw4是否按下 clear 08h ;清sw4状态wait4: mov dx,302 in al,dx ;sw4按下? pc3=0? test al,08h ;否,则继续检测 jnz wait4是则发送卡插入信号 send o mov al,0 ;接收主控机反馈信息 receive i cmp al, ;确认则继续,否则重新开始 jne w

14、w lea dx,buf2 ;提示设置用户名并发送之检测sw1状态 clear 01h ;清sw1状态wait1: mov dx,302h ;检测sw1是否按下 in al,dx test al,01h ;sw1按下? pc0=0? jnz wait1 ;否则继续检测按下则读开关状态(口b),得到用户名 mov dx,ctr155b ;读b口 mov un,al ;保存用户名 mov YN,al ;发送用户名 send us jmp receiv mov ax,4c00h ;程序退出 receiv: receive y接收的字符和比较 jne wrong ;不合法就提示错误信息 lea dx,

15、buf3 ;合法则提示设置密码并发送之 mov ah,09h clear 02h ;清sw2状态wait2:检测sw2是否按下 test al,02h ;sw2按下? pc1=0? jnz wait2 ;按下则读开关状态(口b),得到密码 mov dx,ctr155b ;读口b mov pd,al ;保存密码 发送密码 send pd接收主控机反馈回来的信息 receive yy不相等就提示错误信息,相等则提示登录成功 lea dx,buf5 ;提示登录成功此处亮灯提示 call flutter jmp ww ;准备第二次刷卡wrong: lea dx,buf4 ;显示错误提示信息此处声音报警

16、 call noise 准备第二次刷卡 code ends四心得体会本次接口实验的课程设计历时一周,由我们一个小组共5人合作完成。在此次实验中,小组的各个成员由汪野同学负责总体的规划架构和主要程序的设计并向我们阐述设计的思路;而我则负责对程序设计的测试、调试以及进一步的完善功能;而周远则负责程序界面的设计还有硬件的设计,张仲容同学主要负责硬件上的监测以及流程图设计。所有软件设计用到的程序语言都是汇编语言。这五天中,我们的设计流程思路在一开始就整理的相当清楚:1. 首先完成下位机从实验面板接受信号的输入;2. 接下来进行主控机设计,主要是对用户名和密码的验证;3. 然后完成异步全双工传输;4.

17、根据实验需求逐步调整、完善核心代码;5. 进行判断对错的处理模块,正确则闪烁指示灯,错误则声音报警;6. 程序界面的设计。我们按照流程一步步的完成了本次实验,虽然在最后的程序界面设计环节中因为对汇编语言下的界面设计了解的实在是太少没有能够设计出美观、方便使用的界面(这也是本次实验的一个不足之处),但是核心功能则完成的相当好。汪野同学首先完成了主控机和下位机相应程序的编写,第一个版本的下位机是系统检测键盘输入用户名和密码,并按字符进行异步全双工通信。在这过程中,我负责代码的调试,解决了几个由于疏漏而导致的问题,比如说源目的寄存器类型不匹配,不常用的汇编命令不熟悉等等。另外在下位机输入密码的时建议下位机应该显示*号而不是字符,所以针对循环的内部代码做了一个分支,用户名和密码有不

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1