接口技术课设报告书(2014模板)
- 格式:doc
- 大小:271.34 KB
- 文档页数:11
接口课程设计实验报告一课程设计目的及要求:掌握接口硬件开发平台的使用方法,利用现有的实验平台和PC机,组成一个微机模拟应用系统;掌握基本接口电路的综合应用掌握接口电路的驱动程序和界面软件的设计与编制,学会调试与测试接口软件的一般方法微机接口技术及接口芯片的综合应用二、设计任务:结合实际应用,模拟设计一微机应用系统,要求该系统综合应用并行接口、串行接口,定时器接口、模拟接口等等(根据具体体题目确定具体接口),实现主控中心微机与下位机实现远距离传送,以及远程控制、监测功能三、设计内容根据以上任务,系统总体结构如下图:1. 系统硬件由主控机(其中一台微机)、下位机(仅要求实现一台下位机,另一台位微机)和执行部件组成。
主控机与下位机通过串行通信线连接。
2. 执行部件:由接口电路等组成,将接收的数据送入到下位机或将下位机输出的数据送到执行部件。
3. 下位机:与主控机通信,控制执行部件。
4.主控机:与所有下位机进行数据交换,必要时需建数据库,进行数据处理或画面等。
5.主控机程序:串行(RS232/RS485)通信程序,数据处理程序等。
6.下位机程序:串行(RS232/RS485)通信程序,执行部件控制程序。
四、实验内容题目:温度采集系统可用于监控温度的变化以及对温度的三个状态作出相应的反映,对高低温进行报警。
上位机温度显示,声光报警,下位机采集数据。
(实现时是下位机声光报警)流程图如下:程序如下:data51 equ 308h ;8251A数据口ctr151 equ 309h ;8251A命令/状态口ctr155 equ 303h ;8255命令口clk00 equ 12h ;8251输入时钟频率(十六进制表示)data segmentmesm db 'press s to sent',0ah,0dhdb'press c to chat ',0ah,0dhdb'press any key else to end the program',0ah,0dh,'$' mess db'press ESC to change to choice',0ah,0dh,'$'mesc db 'press ESC to choice',0ah,0dh,'$'flag db 1high db (?)h db 6mul1 db 10hunder db 100interval db 10div1 db 0ahdata endscls macro op1,op2,op3,op4 ;用于清屏,分别是起止的行和列mov ah,6mov bh,1ehmov al,0mov ch,op1mov cl,op2mov dh,op3mov dl,op4int 10hendmpoint macro op1,op2,op3push axpush bxpush cxpush dxmov ah,2mov bh,0mov dh,op1mov dl,op2int 10hmov ah,9mov ah,op3mov bl,07hmov cx,1int 10hpop dxpop cxpop bxpop axENDMpageup macro ;用于清屏,分别是起止的行和列mov ah,6mov al,25mov cx,0mov dh,25mov dl,80mov bh,1ehINT 10Hendmpagedown macro ;用于清屏,分别是起止的行和列MOV AH,6mov al,25mov cx,0mov dh,25mov dl,80mov bh,4ehINT 10Hendmcode segmentassume cs:code, ds:dataint51 proc near ;8251A初始化子程mov dx,ctr151 ;8251A命令口xor ax,ax ;空操作call charout ;送数子程mov al,40h ;内部复位call charoutmov al,4eh ;8251A方式命令call charoutmov al,27h ;8251A工作命令call charoutretint51 endpcharout proc nearout dx,al ;送数子程push cxmov cx,100 ;延时gg: loop ggpop cxret ;返回charout endptreat proc near ;计算坐标描点push axpush dxmov dl,23mov ah,0div div1sub dl,almov h,dlpoint h,interval,'*'mov cl,intervaladd cl,1point h,cl,0mov dl,hmov al,24sub al,dlmul mul1mov ah,0div hundermov bh,ahadd al,30hmov dl,almov ah, 2int 21hmov al,bhmov ah,0div mul1mov bh,ahadd al,30hmov dl,almov ah, 2int 21hmov dl,bhadd dl,30hmov ah,2int 21hpop dxpop axrettreat endpmain proc far ;通信主程序mov ax,datamov ds,axbegin:call int51 ;调用8251A子程序,初始化8251Achoice:cls 0,0,25,80 ;清屏,置光标位point 0,0,00hlea dx,mesm ;显示提示信息mov ah,9int 21hmov ah,8int 21hcmp al,'s'jne cmp1jmp checkkeycmp1:cmp al,'c'jne over1jmp setset:pagedownpoint 0,0,00hlea dx,mescmov ah,9int 21hmov byte ptr flag,1jmp receivover1:jmp overcheckkey:pageupmov byte ptr flag,0 ;标志为为0表示接受温度point 2,30,00hmov byte ptr high,3hlea dx,messmov ah,9int 21hpoint 20,78,'t'point 1,0,32hpoint 1,1,35hpoint 1,2,30hpoint 12,0,31hpoint 12,1,32hpoint 12,2,35hpoint 23,1,30hpoint 24,10,31hpoint 24,16,32hpoint 24 ,22,33hpoint 24,28,34hpoint 24 34,35hpoint 24,40,36hpoint 24,46,37hpoint 24,52,38hpoint 24,58,39hpoint 24,64,31hpoint 24,65,30hpoint 24,70,31hpoint 24,71,31hpoint 24,76,31hpoint 24,77,32h ;绘制坐标值;*************point 2,3,'*'point 2,5,'*'point 24,78,'*'point 22,78,'*'mov cx,24shu:mov bx,24sub bx,cxpoint bl,4,'*'dec cxjz nextjmp shunext:mov cx,76heng:mov bx,80sub bx,cxdec cxjz check1jmp heng;point 1,4,jmp check1 ;********************** 绘制坐标choice1: jmp choicecheck1: mov ah,0bh ;按键发送int 21hcmp al,0 ;有键按下?je receivmov ah,01 ;若有键按下,则从KB读入,并在CRT上显示int 21hcmp al,1bh ;是ESC?je choice1mov bl,al ;保存键值,以备发送jmp trans1fla:cmp byte ptr flag,0 ;flag为0表示接受温度状态jne sentreceiv: mov dx,ctr151 ;接收数据in al,dxtest al,02 ;接收数据准备好?RXRDY=1?jz check1 ;未准备好,即无数据接收,则转按键发送mov dx,data51 ;已准备好,即有数据传送过来,则接收1个字符in al,dxcmp byte ptr flag ,0jne sentcmp al,0aahjae hotcmp al,30hjae normaljmp coolhot: mov bl,2call treatmov cl,intervaladd cl,6mov interval,cljmp transnormal: mov bl,1call treatmov cl,intervaladd cl,6mov interval,cljmp transcool: mov bl,0call treatmov cl,intervaladd cl,6mov interval,cltrans: add bl,30htrans1: mov dx, ctr151delay: in al,dxtest al,01 ;数据准备好?jz delay ;未准备好,则等待mov dx,data51 ;已准备好,则将键入的字符发送出去mov al,blout dx,aljmp check1sent: mov dl,almov ah,2int 21hmov ah,0bh ;按键发送int 21hcmp al,0 ;有键按下?je receiv ;有键按下continue: mov ah,01 ;若有键按下,则从KB读入,并在CRT上显示int 21hcmp al,1bh ;是ESC?jne protect ;nojmp choice1protect : mov bl,al ;保存键值,以备发送jmp trans1over:mov ax,4c00h ;程序退出int 21hmain endpcode endsend main选择窗口聊天窗口温度采集窗口心得体会:这次的接口实验,从设计到完成,我们一共用了 4 天,虽然这个程序并不是很难,但是它包含了很多小的项目,组合起来也并不简单.把一个很简单的小模块加到原来的程序中去就可能产生很多问题,比如寄存器的保护.尤其是我们在温度采集的基础上加了聊天的功能,(虽然这个并没有得到验收老师的肯定,但是那却是我们花费时间最多的一个模块).中间就要用到很多跳转语句,加上程序本身比较长,经常为了不超出汇编语言的限定面做一些无谓的跳转,很容易把人跳晕了.在实验过程中,我们遇到了很多难以解释的问题,看不出程序哪里有问题,但就是不能运行,只能无奈用另一种方法来改写程序,改对了也不知道原来的问题出在哪里. 在这次实验中我们用到了一些以前我们没有学过的知识,比如用汇编语言做图,这些都是自己为了做实验而现学的,很好的锻炼了我们的自学能力,也让我们有了很大的信心.写平时的实验不同的是我们这次课程设计要求了一些实际用到东西,比如声光报警,让我们很真实的感觉到了接口在现实生活中的应用,也让我们学到了怎么用程序来控制接口,实现处理器与外设的通信.。
武汉理工大学华夏学院课程设计报告书课程名称:微机原理与接口技术题目:交通灯实时控制系统设计系名:信息工程系专业班级:软件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寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。
而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。
接口课程设计报告计算机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五.程序的调试过程老师将接口课程设计的要求和内容布置下来以后,我,冯茂盛,徐捷和黄林决定组成一个小组,共同完成这个课题。
实验一 接收年、月、日信息显示 一、课程(软件)设计内容显示输入提示信息并响铃一次,然后接收键盘输入的月/日/年信息,并显示。
若输入月份日期不对,则显示错误提示并要求重新输入。
二、程序框图一三、程序及分析CRLF MACRO MOV AH, 02H MOV DL, 0DH INT 21H MOV AH, 02HYY开 始初始化,清错标志 显示提示信息,响铃一次 调用键读入子信息,读月 有出错标志吗?调用键读入子信息,读日 有出错标志吗?有出错标志吗?调用键读入子信息,读年显示年、月、日返回DOSYNYN入口保持现场是回车或空格否输入字在1~9之间否返回DOS 中读取得键输入值将ASCII 码转换为四位十六进制数,存于DI返回置出错标志YMOV DL, 0AHINT 21HENDMDA TA SEGMENTMESS DB '按顺序输入月,日,年,每输完一样按回车(MM/DD/YY)',0DH,0AH,'$' MESS1 DB '月份错误,重新输入',0DH,0AH,'$'MESS2 DB '日期错误,重新输入',0DH,0AH,'$'ERROR DB '输入错误,重新输入',0DH,0AH,'$'MARK DB ?REG DW ?DA TA ENDSSTACK SEGMENTSTA DW 32 DUP ( ?)TOP DW ?STACK ENDSCODE SEGMENTASSUME CS: CODE, DS: DA TA,ES: DA TA,SS: STACKSTART: MOV AX, DA TAMOV DS, AXMOV ES, AXMOV SP,TOP ;初始化HEAD: MOV MARK,0 ;清错误标志MOV AH, 09HMOV DX, OFFSET MESSINT 21H ;显示提示信息MOV AH, 02HMOV DL, 07HINT 21H ;响铃1次CALL GETNUMJE HEADPUSH DXCALL GETNUMCMP MARK, 01HJNE K1POP DXJMP HEADK1: PUSH DXCALL GETNUM ;接收键入的月值,日值及年值CMP MARK, 01HJNE K2POP DXPOP DXJMP HEADK2: MOV AX, DXCALL DISP ;显示年值NOPMOV AH, 02HMOV DL,'-' ;显示`-`INT 21HPOP DXPOP AXPUSH DXMOV REG, AXAND AX, 00FFHCMP AX, 0012HJBE W1MOV AH, 09HLEA DX, MESS1JMP STARTW1: MOV AX, REGCALL DISPPMOV AH, 02HMOV DL,'-'INT 21HPOP AXMOV REG, AXAND AX, 00FFHCMP AX, 31HJBE W2MOV AH, 09HLEA DX, MESS2INT 21HJMP STARTW2: MOV AX, REGCALL DISPP ;显示日值MOV AX, 4C00HINT 21H ;返回DOS DISPP PROC NEARMOV BL, ALMOV DL, BLMOV CL, 04ROL DL, CLAND DL, 0FHCALL DISPLMOV DL, BLAND DL, 0FHCALL DISPLDISPP ENDPDISPL PROC NEARADD DL, 30HCMP DL, 3AHJB DDDADD DL, 27HDDD: MOV AH, 02HINT 21HRETDISPL ENDPDISP PROC NEARPUSH BXPUSH CXPUSH DXPUSH AXMOV AL, AHCALL DISPPPOP AXCALL DISPPPOP DXPOP CXPOP BXRET ;显示子程序DISP ENDPGETNUM PROC NEARPUSH CXXOR DX, DXGGG: MOV AH, 01HCMP AL, 0DHJZ PPPCMP AL, 20HJZ PPPSUB AL, 30HCMP AL, 0JB KKKCMP AL, 0AHJB GETSJMP KKKGETS: MOV CL, 04SHL DX, CLXOR AH, AHADD DX, AXJMP GGGKKK: PUSH AXPUSH DXMOV AH, 09HMOV DX, OFFSET ERRORINT 21HMOV MARK, 01HPOP DXPOP AXPPP: PUSH DXMOV AH, 02HMOV DX, 07HINT 21HCRLFPOP DXRETGETNUM ENDP CODE ENDSEND START四、课程设计总结掌握响铃符方法,掌握年、月、日输入方法,借以观察实验的结果。
1.课题设计目的通过步进电机远程控制系统设计与制作,深入了解与掌握利用RS-232或RS-485串行通信标准进行远距离传送的原理与方法。
2.课题设计环境2.1设计环境:1)PC兼容机;2)Windows2000;3)MFID多功能微机实验平台(含PCI总线驱动板);4)MF2KI集成开发环境;5)面包板或外设功能模块板6)安装或焊接工具。
2.2 MFID多功能微机平台配置:1) I/O端口地址:8255的4个端口地址为300H~303H。
其中A口=300H,B口=301H,C口=302H,命令口=303H。
8253的四个端口地址为304H~307H,其中通道0为304H,通道1为305H,通道2为306H,命令口为307 H;8251的两个端口为:308 H~309 H,其中,308 H为8251数据口,309 H为命令/状态口;2) 电缆线与插座:采用26芯扁平电缆与J5插座;RS-485电缆及插座;3) 元器件:包括接口的对象永磁式四相步进电机,驱动电路达林顿管TIP122,保护电路74LS373,相序指示灯以及开关SW1和SW2等;4) 步进电机模块上的开关SW1和SW2的功能:配置为用来控制步进电机的运行方向、速度和启动/停止;5) 其他辅助元器件若干;3.需求分析3.1要求:1)甲机通过RS-485接口远距离控制乙机一侧的步进电机起/停;2)甲机通过RS-485接口远距离控制乙机一侧的步进电机的运转方向;3)甲机通过RS-485接口远距离控制乙机一侧的步进电机的运行速度;4)电路板上的SW1和SW2开关同样可以控制步进电机的起/停。
3.2任务:1)进行步进电机远程控制系统电路硬件设计,画出电路原理图、PCB图和元器件布线图;2)在面包板上安装元器件;3)进行步进电机远程控制程序设计(采用ASM或C语言)4)系统联调,提交一个符合上述两种以上要求的通信控制程序系统设计。
4.概要设计4.1 硬件设计:4.1.1步进电机控制电路:1)根据步进电机控制电路原理图,在面包板上搭建控制电路;2)将控制电路通过26芯排线与MFID平台相联;4.1.2 串行通信线路:用RS-485电缆将甲机的MFID平台和乙机的MFID平台相连,使之能够互相通信。
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个触点的键控阵列相连接,也可以与传感器阵列相边。
湖北轻工职业技术学院《接口技术》课程设计报告基于RS232串口的数据采集系统设计与实现姓名:何松班级:06电信1班一.系统结构:设计思路:本课程设计通过使用带有AD的单片机STC12C5616AD进行实时的AD采样,并将采样到的值通过RS232串口传输到PC机,由VC上位机接收,显示当前的电压值,并描绘电压变化实时波形。
系统框图:二.系统设计:(一)硬件电路设计:硬件部分由STC12C5416AD和晶振构成的单片机最小电路和MAX232构成的电平转换电路用于和PC机串口进行电压匹配。
电路原理图如下:(二)软件电路设计:(1)单片机C51程序设计1.1设计思路C51程序由RS232串口发送程序和AD采样程序组成。
AD采样采用查询方式,为了提高采样的进度,我们应用的2.5V的参考电压,但是由于此单片机没有直接的参考电压输入端,不能直接输入参考电压。
基于电源电压VCC瞬间变换不大,因此我做了变通的方法。
每次测量时,先测量 2.5V参考电压,得到10位参考AD值ref,再采集需要测量的通道的电压值,得到另一个10位AD值Vad,那么所测电压的计算公式就是:V=2.5*(Vad/ref)。
考虑到51单片机进行乘法、除法指令时速度较慢,故将10位ref,Vad直接传输到PC机,由上位机VC软件进行处理。
考虑到数据传输时可能会出现错位,缺少数据等情况,导致最终显示的电压值错误。
因此在单片机传输有效数据的时候,加上了起始字符和结束字符用于尽量减少错误。
1.2软件流程图1.3程序代码见附录一。
(2) VC程序设计2.1 设计思路VC上位机以Microsoft提供的MSComm控件来与单片机的串口进行通信,获取采集数据。
程序将接收到的数据放入缓冲区,经过起始字符和结束字符校验后的数据被处理计算成实际的电压值0~5V,并显示在静态文本框控件中。
同时,当每次接收到一个有效数据时,调用CDC类的成员函数LintTo()。
目录一、实验目的 (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实验箱的使用我们的动手能力得到了很大的提高,并且很感谢老师的细心指导,对我们的帮助很大,以及感谢本小组的其他成员,大家的共同努力使我们完成了此次课程设计。
《微机原理与接口技术》课程设计题目:彩灯控制器设计学院(系):信息工程系年级专业:自动化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 总结设计体会与心得附录一………………………………………………………………………………………参考文献前言电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。
武汉理工大学华夏学院课程设计
课程名称微机接口技术及应用Ⅰ
题目_________________注:为任务书上的题目,不要擅自增删改
专业__________________ 班级__________________ 学号__________________ 姓名__________________ 成绩__________________ 指导教师__________________
_______年_______ 月_______日
(注:为设计报告完成的日期)
武汉理工大学华夏学院信息工程系
课程设计任务书
课程名称:微机接口技术与应用指导教师:李朝纯、夏婷
班级名称:计算机1121 开课系、教研室:信息系、计算机
一、课程设计目的与任务
目的:
1. 巩固、实践本课程所学理论知识,综合运用可编程接口芯片8255、8253、8259
进行应用系统设计;
2.通过步进电机控制系统设计与制作,学习、掌握计算机控制系统软、硬件的
设计方法;
3. 通过课程设计培养学生查阅、合理运用参考资料的能力。
任务:步进电机控制系统设计
二、课程设计的内容与基本要求
内容:
1.步进电机采用三相双八拍运行方式;
2.用1个开关控制步进电机起停,分别用2/4个开关控制步进电机四种工作模式:1)正向慢速旋转2)正向快速旋转3)反向慢速旋转4)反向快速旋转3.送电时和步进电机停止时,七段码显示器显示数字“0”;运行时,分别显示对应四种工作模式的序号1、2、3、4;
* 4.使用硬件延时实现步进电机的快、慢旋转控制。
(选做)
要求:
1.画出硬件原理图(接口芯片和外设部分)和实验连线图;
2.掌握计算机控制系统的软硬件的调试方法和步骤;
3.设计报告撰写格式要求(按提供的设计报告统一格式撰写)
具体内容如下:
①设计任务与要求
②总体方案与说明
③硬件原理图与说明
④实验电路图与说明
⑤系统流程图
⑥软件主要功能模块及流程图
⑦问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的
主要问题、解决方法及改进设想);
⑧小结与体会
⑨参考文献
提供附录:①源程序(必须有简单注释)
②使用说明
③参考资料
三、课程设计步骤及时间进度和场地安排
设计步骤:功能分析、硬件设计,拟定实验电路,编写程序,调试程序、运行系统;
时间进度安排:(部分时间,某些工作可以重叠进行)
场地安排:信息系实验中心,接口技术实验室。
注:任务书根据你确定的选题下载,装订在封面的下一页
目录
设计报告:* 可增加附页
LED e
LED DP
a
f g b
c e d
设计者:
日期:年月日
注:1、以上排版格式不能任意改变
2、在书写设计报告内容时,格式及规范参见《设计报告撰写格
式及规范》。
7。