微机接口技术课程设计报告范文

合集下载

接口课程设计报告

接口课程设计报告

课程设计报告姓名:周建美专业:计算机科学与技术课程名称:微机接口技术班级: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、调试过程键盘、七段数码管和发光二极管的程序模块,首先,分为三个模块进行了实验,先是静态显示数码管,然后是动态显示数码管,最后控制显示数码管,以及倒计时控制。

华中科技大学微机接口课程设计实验报告

华中科技大学微机接口课程设计实验报告

《微机接口技术》课程设计报告设计题:人工降雨系统指导老师:谭支鹏、熊自立、陈永平设计时间:2013.10.28 至2013.11.1人工降雨系统设计一、课程设计目的1、掌握接口硬件开发平台的使用方法,利用现有的实验平台和PC机,组成一个微机模拟应用系统。

2、掌握基本接口电路的综合应用。

3、掌握接口电路的驱动程序和界面软件的设计与编制,学会调试与测试接口软件的一般方法。

4、微机接口技术及接口芯片的综合应用。

5、在干旱了一段时间后,进行人工降雨。

不同的季节,大自然不降雨对生活生产的影响不同,要控制好等待多久才进行人工降雨,以及降雨的量。

二、课程设计要求设计一个模拟的微机应用系统。

要求该系统综合应用实验台上的多种资源(并行接口、串行接口及其它接口和传感器)设计满足选题要求的符合实际应用的硬件系统,编制主控程序;执行元件驱动程序;通信程序等相应的软件,实现主控中心微机与终端机的远距离传送以及远程控制或监测功能。

由一个主控机(上位机)和若干个下位机组成,上位机与下位机利用串行通讯接口进行连接,构成一个完整系统。

主控机负责数据处理,下位机负责接口访问,接口所需的芯片功能需要通过FPGA自己设计实现。

基于FPGA设计的芯片功能可以是一个完整的功能芯片,也可以只是你在应用需要的芯片某项功能即可。

验收的时候会根据实现的情况作出评价。

(1)主控机:在屏幕上用数字、图形、表格、曲线等方式直观地显示数据/状态处理的结果和过程。

(2)下位机:用实验台的声光部件描述当前监控/操作的工作状态,按主控机的命令驱动执行元件并返回状态和结果。

题目要求:1.用实验台上的信号电源模拟湿度计的信号电压。

2.用实验台上的LED和扬声器模拟加湿动作及报警信号。

3.用实验台上的步进电机模拟水泵动作。

4.上位机实现图形监控。

(模拟)三、课程设计内容及过程1.系统总体结构图1) 系统硬件由主控机(其中一台微机)、终端机(另一台位微机)和执行部件组成。

微机原理与接口技术-课程设计报告参考模板

微机原理与接口技术-课程设计报告参考模板

《微机原理与接口技术》课程设计报告姓名:时翰学号:040210129同组实验者:仇健指导教师:张颖日期:2005.6步进电机控制系统设计一、实验目的1、利用PC机和实验箱设计并实现给定步进电机的控制。

2、进一步掌握微机硬件和软件综合设计方法。

二、实验内容1、基本要求(1)控制步进电机转动,要求转速1步/秒。

(2)基于实验箱,设计并实现接口和驱动电路。

(3)用汇编语言编制程序。

2、提高要求(1)改善步进电机的控制性能,控制步进电机转/停;正转/反转;改变转速(至少3档);单步。

(2)改善人机接口。

三、总体设计1、8253定时控制步进速度。

2、8255输出控制脉冲,再经75452驱动电机。

3、系统运行时,首先显示主菜单,选择子菜单(设置参数)或控制工作,或返回DOS。

四、硬件设计因采用了PC机和PC总线接口应用平台,硬件电路相对简单,除利用了PC机本身资源外(如中断资源),还利用了平台上的8253计数/定时器、8255并行接口单元,再加上外围驱动电路,便构成可步进电机控制电路,硬件原理图如图1:图中75452元件是正与非驱动器,OC门输出,所以加上拉电阻;8253的作用是输出定时信号向CPU申请中断要求输出电机走步的控制信号。

图1 硬件原理图五、软件设计本设计通过软件编程使8253输出定时信号申请中断,CPU发出命令由8255的下C口输出脉宽信号来控制步进电机的走步。

电机的转动和停止则是通过8255的A0端子输出高低电平来继续或暂停8253的计数从而控制中断申请来实现的。

8253的定时时间决定了电机转动的快慢。

相对简单的硬件电路,使软件设计成为本设计课题的中心内容。

1、设计思路控制系统分五个功能模块,分别是转速设置、转向设置、固定步数转动、连续转动、退出系统,在前四个功能块中都设置了ESC键来取消或暂停执行当前操作。

程序中同时提供五个操作界面,一个主菜单和四个子菜单界面,进行可视控制。

(1)转速设置根据赋给计数器的计数初值,我们可以计算出步进电机各相脉宽信号的频率和电机转速,也可以反过来根据对电机转速要求,计算并调整计算初值。

微机接口技术课程设计报告word精品文档11页

微机接口技术课程设计报告word精品文档11页

河北科技大学课程设计报告学生姓名:学号:专业班级:课程名称:微机接口技术学年学期:2019—2019学年第二学期指导教师:2019年6月课程设计成绩评定表目录1、设计任务与要求---------------------------------------------------------42、总体方案设计------------------------------------------------------------43、硬件电路分析------------------------------------------------------------53.1设计思路-------------------------------------------------------------53.2基本工作原理-------------------------------------------------------54、程序设计-----------------------------------------------------------------64.1程序流程图---------------------------------------------------------64.2设计思路------------------------------------------------------------65、调试说明-----------------------------------------------------------------75.1硬件电路调试------------------------------------------------------75.2软件程序调试------------------------------------------------------75.3 遇到的问题及解决办法----------------------------------------76、结论---------------------------------------------------------------------86.1设计结果及分析---------------------------------------------------86.2学到的知识及个人体会------------------------------------------87、参考文献----------------------------------------------------------------96、附录1——原程序清单及注释--------------------------------------10附录2——电路原理图-----------------------------------------------121 设计任务与要求本设计通过简单的A/D转换接口电路,配合汇编语言程序设计,实现最基本的信号波形采集与存储,并通过简单的D/A转换接口电路,将存储的数据还原为信号波形,在普通示波器的屏幕上显示出来。

微机原理与接口技术课程设计报告

微机原理与接口技术课程设计报告

课程设计任务书学生姓名:专业班级:电子信息工程2班指导教师:工作单位:题目:电子报警器设计一、设计条件:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室的实验箱设备。

二、主要任务:(包括课程设计工作量及其技术要求以及说明书撰写等具要求)设想制作一个防盗器件。

具体要求:程序运行时扬声器发出警报声,使得8个LED指示灯不停光闪,光闪周期为2秒,14秒倒计时结束后液晶显示器显示相关警报信息。

警报信息出现后LED灯熄灭,程序按任意键退出后声不响光不闪。

根据设计任务和要求,在设计前必须对微机原理与接口技术中的8255和8253芯片熟悉了解和掌握。

设计中主要要完成的是发声报警和发光报警这两个部分功能,故在程序设计中只要设计触动键盘中的数字键即8个LED不停光闪,同时内扬声器发出警报声,且在屏幕上显示警报信息。

在设计发声报警时利用了8253可编程定时记数器。

在设计发光报警时利用了8255芯片。

在程序设计中利用INT 10H实现在屏幕上显示相关的警报信息。

三、时间安排:指导教师签名:年月日基于微机原理电子警报器的设计摘要在当今高速发展的中,人们对自身所处的环境越来越关心,居家安全已成为当今小康之家优先考虑的。

当您上班家中无人,或者仅有老人孩子在家,或者您晚上在家熟睡,您必须确保家庭成员和财产的绝对安全。

众多住宅小区的安防防犯主要倚靠安装防盗窗、防盗门以及人工防犯。

这样不仅有碍美观,不符合防火的要求、而且不能有效地防止坏人的侵入。

随着生活水平的不断提高,人们的安全防范意识也在不断的增强,各种智能防盗报警器应运而生,并不断地向各个领域深入,报警器是一种为防止或预防某事件发生所造成的后果,以声音、电话提醒等形式来警示或提醒我们应当采取某种行动的电子产品。

随着科技的进步,家居安防中的机械式报警器越来越多地被先进的电子报警器代替,如防盗报警器、防火报警器、煤气天然气泄露报警器等。

并且电子报警器在安全智能家居监控报警系统起越来越重要的作用。

微机原理与接口技术课程设计报告

微机原理与接口技术课程设计报告

实验一 接收年、月、日信息显示 一、课程(软件)设计内容显示输入提示信息并响铃一次,然后接收键盘输入的月/日/年信息,并显示。

若输入月份日期不对,则显示错误提示并要求重新输入。

二、程序框图一三、程序及分析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四、课程设计总结掌握响铃符方法,掌握年、月、日输入方法,借以观察实验的结果。

华科微机接口课程设计报告范文

华科微机接口课程设计报告范文

华科微机接口课程设计报告范文指导老师:周功业学生姓名:李中亚学生学号:U202214238所在班级:计算机0803班同组成员:崔泽波、扈泓达、傅强设计题:货物计费计数运输系统设计时间:2022.9.5至2022.9.9一、课程设计目的学习并行接口、步进电机、开关量接口、声光系统、并行通讯、8253定时/计数器、波特率时钟、串行通信接口、A/D,D/A转换器、数据采集程序的设计原理与方法,掌握其控制程序的编写。

1.掌握接口硬件开发平台的使用方法,利用现有的实验平台和PC机,组成一个微机模拟应用系统;2.掌握基本接口电路的综合应用3.掌握接口电路的驱动程序和界面软件的设计与编制,学会调试与测试接口软件的一般方法;二、课程设计任务结合实际应用,设计一微机应用系统,要求该系统综合应用并行接口、串行接口,定器接口、中断接口、模拟接口等等,实现主控中心微机与下位机实现远距离传送,以及远程控制、监测功能。

三、课程设计要求由一个主控机监控和若干个下位机组成,主控机负责数据处理,下位机负责访问接口。

主控机:在显示屏上用数字、图形、表格、曲线等直观数据处理的过程。

下位机:在显示屏上或用实验台的声光描述当前监控的工作状态。

四、课程设计内容(一)选题及题目要求设计方案选择:货物计费计数运输系统1.用实验台上的开关信号模拟上货请求信号。

2.用实验台上的LED和扬声器模拟上/下货时状态信息。

3.用实验台上的步进电机的正反转模拟运输动作。

4.上位机实现图形监控。

(模拟)(二)设计功能说明1.上货过程:在下位机通过键盘输入货物类型、数量,按上货按钮SW2开始请求上货,这时下位机向上位机发送一个上货请求和货物类型、数量,上位机接收到上货请求后通过界面显示请求的货物类型和数量,按下SW2按钮允许上货,下位机接收到允许命令,扬声器响起,开始上货,LED计数器由零开始加1,步进电机开始正转,直到上货结束,此时下位机LED灯显示的数字为货物数量;2.下货过程:在下位机通过键盘输入货物类型、数量,按下货按钮SW3开始请求下货,这时下位机向上位机发送一个下货请求和货物类型、数量,上位机接收到下货请求后通过界面显示请求的货物类型和数量,按下SW4按钮允许下货,下位机接收到允许命令,扬声器响起,开始下货,LED计数器由零开始加1,步进电机开始反转,直到下货结束,此时下位机LED灯显示的数字为货物数量;3.当上/下货结束时,由主机计算费用,将费用数据传给下位机并显示,下位机按下交费按钮SW4表示交费结束,上位机和下位机均回到初始状态。

微机接口技术课程设计

微机接口技术课程设计

微机接口技术课程设计报告姓名:付钰班级:191123班学号:20121003153指导老师:墻威日期:2015年1月一.引言微机接口技术是采用硬件与软件相结合的方法,使微处理器与外部设备进行最佳的匹配,实现CPU与外部设备之间的高效、可靠的信息交换的一门技术。

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

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

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

实际上,任何一个微机应用系统的研制和设计,主要就是微机接口的研制和设计,需要设计的硬件是一些接口电路,所要编写的软件是控制这些电路按要求工作的驱动程序。

因此,微机接口技术是一种用软件和硬件综合来完成某一特定任务的技术,掌握微机接口技术已成为当代科技和工程技术人员应用微机必不可少的基本技能。

所谓接口就是微处理器CPU与外部连接的部件,是CPU与外部设备进行消息交换的中转站。

接口可以抽象地定义为一个部件(Unit)或一台设备(Device)与周围环境的理想分界面。

这个假设的分界面切断该部件或设备与周围环境的一切联系,当一个组件或设备与外界环境进行任何信息交换和传输时,必须通过这个假想的分界面,我们称这个分界面为接口(Interface)。

二.设计目的本次我们应用所学的知识制作一个应用小键盘输入实现LED灯显示,并且控制步进电机的速度的简单的实验系统。

三.实验应用芯片并口8255芯片0C800命令端口PA0C801端口PB0C802端口PC0C803端口四.详细设计1.开发环境的创建和配置本次设计应用C语言,开发将环境为vc6.0,操作系统为win98。

应用的主要函数接口为_inp()和_outP()。

微机接口电子钟课程设计报告

微机接口电子钟课程设计报告

微机系统与接口课程设计院部名称信息技术学院专业电子信息工程班级学生姓名学号课程设计地点课程设计学时指导教师一、课程设计目的:通过课程设计, 进一步建立微机系统概念, 加深对系统理解和认识, 提高微机系统的应用水平;进一步学习和掌握汇编语言程序的编写方法和应用方法, 通过较大规模程序的编写, 提高汇编语言程序的水平;进一步熟悉接口, 熟悉并口芯片、中断控制芯片、定时计数芯片及数码管等常用接口芯片的编程使用方法。

二、课程设计要求和内容:1.设计要求利用8253可编程定时\计数器、8259中断控制器、8255可编程并行接口芯片和七段数码管设计一个电子时钟, 并编制一程序使得电子时钟能正常运行。

2.设计内容选用8253计数器2进行1s的定时, 其输出OUT1与8259的IRQ0相连, 当定时到1s时产生一个中断服务程序进行时、分、秒的计数, 并送入相应的存储单元;8255的A口接七段数码管的位选信号, B口接数码管的段选信号。

时、分、秒的数值通过对8255的编程可送到七段数码管上显示。

三、课程设计使用的设备和开发环境PC机(带Windows xp系统)串行线*2(分公口和母口两根)导线若干伟福仿真实验箱*1所需主要芯片: 8253*1 、8259*1 、 8255*1四、硬件电路设计:1) 8259芯片介绍中断控制器8259A 是专门为控制优先级中断而设计开发的芯片。

它将中断源优先排队、辨别中断源以及提供中断矢量的电路集于一片中。

因此无需附加任何电路, 只需对8259A 进行编程, 就可以管理8级中断, 并选择优先模式和中断请求方式, 即中断结构可以由用户编程来设定。

同时, 在不需要增加其他电路的情况下, 通过多片8259A 的级连, 能构成多达64级的矢量中断系统。

8259A的主要功能如下:①一片8259A可以接受并管理8级可屏蔽中断请求, 通过9片8259A级联可扩展至64级可屏蔽中断优先控制。

②对每一级中断都可以通过程序来屏蔽或允许③在中断响应周期, 8259A可为CPU提供相应的中断类型码。

微机接口技术课程设计报告范文

微机接口技术课程设计报告范文

微机接口技术课程设计报告范文河北科技大学12020年4月19日文档仅供参考,不当之处,请联系改正。

课程设计报告学生姓名:范雅茹学号:专业班级:电信091班课程名称:微机接口技术年学期:2 011 — 2 0 12 年第二学期指导教师:马洪涛睢丙东2 0 12 年 6 月课程设计成绩评定表22020年4月19日目录1 设计任务与要求 (1)2 总体方案设计 (1)32020年4月19日3 硬件电路分析 (2)4 程序设计 (3)5 调试说明 (4)6 结论 (5)7 参考文献 (6)附录(原始程序清单及电路原理图)42020年4月19日1 设计任务与要求本设计经过简单的A/D转换接口电路,配合汇编语言程序设计,实现最基本的信号波形采集与存储,并经过简单的D/A转换接口电路,将存储的数据还原为信号波形,在普通示波器的屏幕上显示出来。

被测信号产生电路参见“A/D、D/A接口实验扩展卡电路原理图”。

当按下S1时,电容C5完全放电,A/D转换器输入电压为零;抬起S1时,电容C5开始充电,A/D转换器输入电压按RC过渡过程开始上升,最终达到+5V。

图中RC时间常数约为10ms,整个充电过程需要3~5倍的RC时间常数时间。

设计要求使用A/D转换器捕捉电容C5充电的完整过程,并将采样数据存储起来。

然后依次将采样数据经过D/A转换器循环输出,产生一定频率的重复波形,送到普通示波器显示。

基本要求:使用一个D/A转换器通道,将信号波形施加到示波器的Y轴,X轴扫描信号由示波器产生并调节,实现RC充电过程的波形稳定显示。

发挥部分:将示波器调整在X-Y方式,采样数据的D/A转换器输出接到Y 轴输入端,增加一个D/A转换器通道,产生频率可变的X轴扫描信号,接到示波器X轴外部输入端,使RC充电过程的波形稳定显示。

2 总体方案设计电路由四部分组成:输入电路、控制电路、A/D转换、D/A转换。

输入电路:即采集电路部分,本设计为RC充电过程采样实验。

微机原理与接口技术课程设计报告

微机原理与接口技术课程设计报告

微机原理与接口技术课程设计——数据采集班级网络10学号 31006100姓名 YHD指导老师马学文二零一三年一月八号一、任务要求对一路温度、一路压力信号进行巡回数据采集,并把A/D转换后的结果在实验机的数码管上显示出来。

采集到的数据超过规定的限值时,使发光二极管发光报警。

二、硬件连线本程序实现两路数据采集:一路采集温度信号,一路采集压力信号。

对每一路信号要连续采集8次,然后把8次A/D转化后的平均值显示在数码管上。

左边三位显示压力值,右边三位显示温度值。

(1)拨码开关:将拨码开关SW2拨上。

表示将GAL20V8的地址输入A-5接至系统地址线A5;A-6接至地址线A6;A-7接至地址线A7。

(2)压力实验模块的“压力输出”端接至ADC0809的输入端IN0,温度实验模块的“温度输出”端接至ADC0809的输入端IN1。

(3)0809的EOC的输出端与8259的IRQ0端相连,0809的CS连CS8(3E0H)。

(4)8259的片选CS-1连地址输出CS6(3A0H),8259的INT1连总线输入INTR,8259模块的INT-A连总线的INTA,8259的SP/1连+5V。

(5)8253的片选CS连地址输出端CS1(300H),8253的A0、A1分别连地址总线的A2、A3,8253的GATE0连+5V,8253的CLK0连74LS393分频输出的47K输出端,8253的OUT0连到任一发光二极管上;8253的GATE1连+5V,8253的CLK1连74LS393分频输出的47K输出端,8253的OUT1连到温度实验模块的“占空比输入”端。

(6)8255并行模块下方的4个片选信号CS-1、CS-2、CS-3和CS-4分别与地址译码输出模块的对应引脚(实验箱中部的CS-1、CS-2、CS-3和CS-4)连接。

(7)74系列模块中开放的3根输出信号和4根输入信号对键盘进行控制。

键盘的行信号Q_0、Q_1、Q_2、Q_3分别与开放的输入信号Q0、Q1、Q2、Q3相连,键盘的列信号P_0和开放的输出信号P0相连,片选信号CS2接CS4(360H)。

微机原理与接口技术课程设计报告---精品模板

微机原理与接口技术课程设计报告---精品模板

微机应用系统设计与综合实验设计报告设计题目:简易数字频率计专业:班级:设计者:学号:指导教师:时间:目录一系统设计要求 31.1设计目的 31.2设计内容 31.3设计要求 3二、系统总体设计方案 42.1设计思想 42.2系统组成 42.3工作原理说明 4三、系统硬件设计 53.1系统硬件设计方案 53.2系统硬件连线图5四、系统软件设计74.1 8259中断模块74.2 8253模块 84.2.1 计时部分84.2.2 计数部分84.3 二-十进制转换 84.4 显示模块94.5主程序流程图94.6程序算法分析94.7关键程序段说明11五、系统调试及结论125.1.调试方法125.2.设计、调试过程中重点问题及解决方法125.3.运行结果及结论135.3.1运行结果135.3.2结论14六、设计体会15七、参考文献16一、系统设计要求1.1、设计目的通过数字频率计的设计,使同学们进一步掌握:(1)8086/8088汇编语言程序的设计和调试;(2)信号频率的数字测量方法;(3)定时计数器8253的基本工作原理和应用;(4)微机基本应用系统的设计方法;1。

2、设计内容设计并制作出具有如下功能的简易数字频率计.1)能实时测量1Hz~1000000Hz(1MHz)频率范围的不同信号的周期或频率。

如:方波、锯齿波、三角波、正弦波等波形。

2)在全频范围内测量误差≤0。

1%。

3)以十进制数字显示出被测信号的频率或周期。

设计要求:设计相应的A/D、键盘、显示接口电路,可在线键盘参数设置、定时检测、显示、报警。

1.3设计要求(1)针对实验装置已有条件,设计频率测量原理线路;(2)编制相应的测试软件,实现频率测量;(3)实际上机调试,完成综合试验;(4)编写设计说明书(含原理图,程序及说明,实验方法,过程及结果)。

二、系统总体设计方案2.1设计思想定时时间T=1秒,则计数值即为待测频率.设频率计的测量频率范围为1Hz~1MHz,利用8253定时器0作一秒定时器,利用8253通道二作待测信号脉冲计数器.OUT0上升沿产生中断,8259的IR0为中断入口。

微机原理与接口技术课程设计报告

微机原理与接口技术课程设计报告

摘要步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

步进电机控制系统以8088作为控制的核心元件,利用8255的A口控制步进电机,C口连接K0-K7,以选取不同档的移动速度,同时获取控制转动方向(即正转和反转).本课程设计报告通过步进电机的基本介绍、系统的软硬件设计(包括最小系统介绍、接口电路设计、延时程序设计、步进电机的驱动程序设计等几个主要模块)、完整的汇编语言程序等,我们完成了对步进电机系统的设计,并完成了相应的任务,如正转、反转、正向加速、反向加速等,使我们进一步掌握了汇编语言,也使我们能很好的把书本上的知识与实践相结合,大大提高了我们的动手能力关键字:步进电机;8086CPU;8255可编程I/O接口芯片;汇编语言目录摘要 (1)1.1步进电机转动控制的设计要求与设计方案1.2步进电机转动控制的要求与功能 (3)1.3总体设计方案 (3)一、步进电机转动控制设计的硬件设计二、 2.1步进电机转动控制的硬件框图 (4)2.2 步进电机驱动原理 (4)三、步进电机转动控制软件设计3.1 主程序流程图 (6)3.2 8255初始化 (7)四、步进电机硬/软件的调试4.1 硬件调试 (8)4.2 软件调试 (8)4.3 调试过程 (8)五、设计总结 (9)附录一 (10)一、步进电机控制的设计要求与设计方案1.1步进电机转动控制的要求与功能使用汇编语言外加K0-K7等一系列的开关实现对步行电机转速与方向的控制(实现两个以上功能)1.启动与停止控制:用户拨动某一指定键后可以实现电机的启动与停止的控制2.方向的控制:用户将某一指定键拨向上可以实现电机的正转,拨向下实现电机的反转3.速度的控制:用户将另一指定键拨向上可以实现电机的加速转动,拨向下实现电机的减速转动4.综合控制:用户一起拨动上述的按键后可以实现电机的加速正转,减速反转等操作;1.2总体设计方案选用TN88\86实验箱与微机,通过在实验箱构造硬件电路,主要是利用8255A 芯片单元模块、步进电机单元模块。

微机原理接口技术课程设计报告

微机原理接口技术课程设计报告

电气与电子信息工程学院微机原理接口技术课程设计报告设计题目:微机原理与接口技术目录摘要 (3)第1章设计目的要求及原理 (4)1.1 系统设计要求 (4)1.2设计目的 (4)1.3设计原理 (4)第2章硬件与软件设计及功能介绍 (5)2.1计数器8253 (5)2.2可编程并行接口8255 (8)2.3译码器74LS138 (10)2.4可编程中断控制器8259A (10)2.5硬件的连接 (11)2.5.1 8255与外接设备的连接 (11)2.5.2 译码器与8255.8253连接 (12)第3章总结 (13)参考文献 (13)附录 (14)摘要利用可编程中断控制器8259根据不同的信号源来对中断源进行中断屏蔽,系统通过可编程定时/计数器8253的两个计数器级联,实现对2MHz时钟信号的计数定时,初始化8253中写入定时信息,使系统每100ms产生一个定时中断请求信号发送给8259A,由其送入8086CPU后,CPU检测一次开关状态,若检测开关为闭合状态,则使继电器通电动作,若检测开关为断开状态,则继电器不动作;初始状态下继电器不动作。

关键词:可编程定时/计数器8253 , 可编程并行接口8255,中断控制8259A,译码器74LS138,继电器。

ABSTRACTUsing programmable interrupt controller 8259 according to the different source to interrupt mask interrupt source. The system count the 2MHz clock signal by two counters of the Programmable Timing Counter 8253 cascaded together, the Timing information is wrote when initializing the 8253 ,the system produces an interrupt request signal every 100ms and convey it to the CPU through Programmable Interrupt Controller 8259A,after that,8086 CPU tests the state of the switch, if the switch is closed, CPU will make the relay actuate, and in the initial state or if the switch is opened, the 8086 will make the relay stay off.Keywords: ogrammable Parallel Interface 8255 Programmable Timing Counter 8253 Timer and interrupt interrupt control decoder 74 LS138.第1章设计要求目的及原理1.1 系统设计要求1,用8255,8255实现开关的检测与继电器的控制电器。

微机接口课程设计报告

微机接口课程设计报告

〈〈微机接口技术〉〉课程设计报告设计题:地铁收费系统指导老师:学生姓名:学号:所在班级:网络工程一. 课程设计目的结合一个实际的接口技术问题在实验台上编程模拟实现。

二. 课程设计要求由一个主控机监控和若干个下位机组成,主控机负责数据处理,下位机负责访问接口。

三. 课程设计内容及步骤(1) 题目: 地铁收费系统(2) 系统功能:A. 乘客进入地铁站刷卡,记录起始站点,出站也要刷卡,记录终点站,根据距离计算车费,并判断乘客是否买足了票,若票款不足,则发出警报。

B. 下位机从接口上接收到卡号数据,并将该下位机的编号传到主控机,主控机保存. 当主控机再次收到该卡号的时候,计算该下位机和已经存储的下位机之间的距离计算出车费,用该卡号的金额减去车费,如果大于0则扣除费用,否则报警.(3). 系统接口框图主控机保存,查询,计算余额,临时保存卡号信息等程序。

主控机与下位机通信程序。

下位机与主控机通信程序。

下位机访问接口程序。

(5) . 系统流程(设计)说明首先主控机启动程序,开始监听下位机,一旦收到数据就进行处理,首先分割出低3位作为站点编号,中间4为作为卡号.然后主控机查询数据库,得到该卡号的信息,包括是否是第一次进站,卡上的余额等等.接下去主控机返回该卡号的余额给下位机,下位机接受到余额判断是否小于零,如果是则报警(响铃),否则显示余额,下位机不进行判断用户到底是进站还是出站.所有判断都是交给主控机,下位机还需要从接口读取数据,前3位表示站点编号,中间4位表示卡号,最高位为标志位,只有它为1时表示已经插卡并且已经ready可以读数据了.下位机读取数据后通过com通信和主机建立连接,下位机对于接口的监听是主动的,这里我们程序中开了一个线程用于专门监听读取接口上的数据,而且同时设计了标志以防止反复读取,反复将同一数据发送至服务器端(主控机).(6) . 部分关键程序源码程序包括客户端和服务器端程序A . COM通讯:1. 连接初始化:m_com1.SetCommPort(1);m_com1.SetInBufferSize(1024);m_com1.SetOutBufferSize(512);if(!m_com1.GetPortOpen()){m_com1.SetPortOpen(true);}m_com1.SetInputMode(1);m_com1.SetSettings("9600,n,8,1");m_com1.SetRThreshold(1);m_com1.SetInputLen(0);2. 发送数据int CKou1Dlg::SendComMessage(CString msg){CByteArray sendstr;WORD sLength;sLength=msg.GetLength();sendstr.SetSize(sLength);for(int i=0;i<sLength;i++){sendstr.SetAt(i,msg.GetAt(i));}m_com1.SetOutput(COleVariant(sendstr));return 0;}3. 接收数据void CKou1Dlg::OnOnCommMscomm1(){UpdateData(true);V ARIANT variant_ins;COleSafeArray safearray_ins;long i=0;int len;char rxdata[1000];CString tmp;switch(m_com1.GetCommEvent()){case 2:{variant_ins=m_com1.GetInput();safearray_ins=variant_ins;len=safearray_ins.GetOneDimSize();for (i=0;i<len;i++){safearray_ins.GetElement(&i,&rxdata[i]);}rxdata[i]='\0';}// m_recv+=rxdata;UpdateData(false);break;default:break;}}B . 下位机监听接口首先通过增开一个线程,线程中死循环来不断监听接口, 然后在死循环开头先初始化8255,接着通过标志位来判断是否为同一个数据,以决定是否重新向主控机发送数据.在用户抽卡时程序变换标志位,只有在插卡时才会将数据重新发送到主控机(此时接口的标志位也改变,两者相等时表明是有效数据).void CKou1Dlg::OnButton2(){CString a0=" 刷啊刷~~~";//m_recv=a0;//CKou1Dlg::UpdateData(false);CWnd *btn = CKou1Dlg::GetDlgItem(IDC_BUTTON2);btn->EnableWindow(false);/*HANDLE Hthread1;Hthread1=CreateThread(NULL,0,CKou1Dlg::Fun1Proc,this,0,NULL);*/AfxBeginThread(Fun1Proc,this);}UINT CKou1Dlg::Fun1Proc(LPVOID lpparameter) //开线程{int flag0=0;int i=0;OpenPortTalk();//system("music.exe"); //播放音乐//设置控制方式//outportb(CTRL_8255,0x82); //0x303 使读a口写B 口while(1){outportb(CTRL_8255,0x82);unsigned char c=inportb(PB_8255);::Sleep(200);CString a0=" 刷啊刷~~~";if((c&0x80)==0){flag0=0;continue;}if(c==flag0) //判断是否为有效数据continue;flag0=c;CString a;a.Format("%d",(c&0x78)>>3);((CKou1Dlg *)lpparameter)->SetDlgItemText(IDC_EDIT1,(LPCTSTR)a); ((CKou1Dlg *)lpparameter)->UpdateWindow();CByteArray sendArr;WORD wLength;//wLength = (CString)c.GetLength();sendArr.SetSize(1); //发送数据到主控机((CKou1Dlg *)lpparameter)->m_com1.SetOutput(COleV ariant(sendArr));}ClosePortTalk();}C . 下位机数据处理接受主控机返回的数据(账户余额),如果大于0正常,如果小于0则响铃报警void CKou1Dlg::OnOnCommMscomm1(){UpdateData(true);V ARIANT variant_ins;COleSafeArray safearray_ins;long i=0;int len;char rxdata[1000];CString tmp;switch(m_com1.GetCommEvent()){case 2:{variant_ins=m_com1.GetInput();safearray_ins=variant_ins;len=safearray_ins.GetOneDimSize();long j=0;short recvicedate=0;safearray_ins.GetElement(&j,&recvicedate);//for (i=0;i<len;i++)//{// safearray_ins.GetElement(&i,&rxdata[i]);//}//rxdata[i]='\0';//m_recv+=rxdata;//接收到回馈进行数据处理if(recvicedate&0x80){//余额不足,报警m_recv="余额不足,报警! ";//for(int n=0;n<3;n++)system("music.exe");}else{int res;if(recvicedate>127)res=-128+recvicedate-128;else if(recvicedate<=127&&recvicedate>0)res=recvicedate;char * ccc=new char[10];CString a(itoa(recvicedate,ccc,10));m_recv="您的余额是:"+a;}}UpdateData(false);break;default:break;}}D . 主控机处理程序接收下位机传送过来的卡号和站点编号,通过卡号查询数据库得到该卡号的信息(包括余额和状态),如果是出站则计算余额并返回给下位机,同时改变该卡状态为出站.如果是进站,则登记为进站,同时直接返回当前余额给下位机.程序如下: (其中status表示进站还是出站)void CKou1Dlg::OnOnCommMscomm1(){m_recv="";UpdateData(true);V ARIANT variant_ins;COleSafeArray safearray_ins;long i=0;int len;char rxdata[1000];CString tmp;switch(m_com1.GetCommEvent()){case 2:{variant_ins=m_com1.GetInput();safearray_ins=variant_ins;len=safearray_ins.GetOneDimSize();long j=0;short recvicedate=0;safearray_ins.GetElement(&j,&recvicedate);//将接收数据显示出来char * c3=new char[10];CString a3(itoa(recvicedate,c3,10));m_recv+=a3+" ";//查询数据库,获取该卡号信息_variant_t Raffected,cardnum0,count0,status0;int cardnum=(recvicedate&0x78)>>3;CString y2,str0;str0.Format("%d",cardnum);y2="select * from card where cardnum="+str0;m_pRset->Open(_variant_t((LPCTSTR)y2),m_pConnection.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdText);CString str;while (!m_pRset->adoEOF){cardnum0=m_pRset->GetCollect("cardnum");count0=m_pRset->GetCollect("count");status0=m_pRset->GetCollect("status");//str=(LPCTSTR)(_bstr_t)cardnum0;//GetDlgItem(IDC_EDITID)->SetWindowText( str );//m_pRset->PutCollect(_variant_t("cardnum"),_variant_t((long)2000));//UpdateWindow();m_pRset->MoveNext();Sleep(100);// (*cardcurrent).cardnum=(short)vid;// (*cardcurrent).count=(short)vpsw;// (*cardcurrent).zhan =(short)vmon;}m_pRset->Close();short yue=-1;if((short)status0!=-1){int zhan2=recvicedate&0x7;yue=(short)count0-abs(((short)zhan2-(short)status0)*10);//重置status为-1status0=(short)-1;}else{status0 =(short)(recvicedate&0x7);yue=(short)count0;}if(yue>=0){//先回写数据库,改变statusCString yue2,status2,sql;yue2.Format("%d",yue);status2.Format("%d",(short)status0);sql="update card set [count]="+yue2+",status="+status2+" where cardnum="+str0;m_pConnection->Execute(_bstr_t((LPCTSTR)sql),&Raffected,adCmdText);}//发送余额到客户端CByteArray sendArr;sendArr.SetSize(1);sendArr.SetAt(0, yue);CKou1Dlg::m_com1.SetOutput(COleVariant(sendArr));//将发送信息显示出来char * c=new char[10];CString a(itoa(yue,c,10));//char * c2=new char[10];//CString a2(itoa(str0,c2,10));m_edit+="向卡号为:"+str0+"发送余额:"+a+"元\n\r ";}UpdateData(false);break;default:break;}}(7) . 部分程序截图主控机接受下位机发送的卡号等数据,同时查询数据库返回该卡余额,主控机在进行充值操作的截图四. 实验心得这次接口的课程设计可获收获颇大, 首先是更加清晰地认识了一些接口芯片的使用,比如说8255,8250芯片, 最重要的是学会了两微机com口的通讯,这是本次课程设计的关键!觉得以前接口的实验还是蛮简单,这一次算是系统地又复习了遍一些基础知识.其次因为对C++语言不是很熟悉,也算是学习C++,下位机程序中用到了线程来实现监听,同时也控制了不会重复发送相同数据,这一点实现了下位机的主动查询,而无需人工按下按钮.觉得这段代码写的还可以,也是本次实验的收获之一.同时程序也用到了数据库,不过比较基本,但也到位了,报警也采取了响铃的方式,总体来说比较完美,自己也从中学到了不少东西,在这里我为我的另外3个同伴感到很欣慰,也是大家一起合作努力的结果,也非常感谢老师的指导!五. 参考文献《单片机原理及应用》中国铁道出版社《现代微机系统与接口技术》高等教育出版社《微机接口实验指导书》华中科技大学出版社。

《微机接口技术》课程设计报告(范文)

《微机接口技术》课程设计报告(范文)

《微机接口技术》课程设计报告(范文)河北科技大学课程设计报告学生姓名:范雅茹学号:090701134专业班级:电信091班课程名称:微机接口技术学年学期: 2 011 — 2 0 12 学年第二学期2 0 12 年6 月课程设计成绩评定表目录1 设计任务与要求 (1)2 总体方案设计 (1)3 硬件电路分析 (2)4 程序设计 (3)5 调试说明 (4)6 结论 (5)7 参考文献 (6)附录(原始程序清单及电路原理图)1 设计任务与要求本设计通过简单的A/D转换接口电路,配合汇编语言程序设计,实现最基本的信号波形采集与存储,并通过简单的D/A转换接口电路,将存储的数据还原为信号波形,在普通示波器的屏幕上显示出来。

被测信号产生电路参见“A/D、D/A接口实验扩展卡电路原理图”。

当按下S1时,电容C5完全放电,A/D转换器输入电压为零;抬起S1时,电容C5开始充电,A/D转换器输入电压按RC过渡过程开始上升,最终达到+5V。

图中RC时间常数约为10ms,整个充电过程需要3~5倍的RC时间常数时间。

设计要求使用A/D转换器捕捉电容C5充电的完整过程,并将采样数据存储起来。

然后依次将采样数据通过D/A转换器循环输出,产生一定频率的重复波形,送到普通示波器显示。

基本要求:使用一个D/A转换器通道,将信号波形施加到示波器的Y轴,X轴扫描信号由示波器产生并调节,实现RC充电过程的波形稳定显示。

发挥部分:将示波器调整在X-Y方式,采样数据的D/A转换器输出接到Y轴输入端,增加一个D/A转换器通道,产生频率可变的X轴扫描信号,接到示波器X轴外部输入端,使RC 充电过程的波形稳定显示。

2 总体方案设计电路由四部分组成:输入电路、控制电路、A/D转换、D/A转换。

输入电路:即采集电路部分,本设计为RC充电过程采样实验。

控制电路:本设计采用MCS-51实验教学系统板,输入编写的程序后用来控制数字存储示波器的采样、存储、ADC0809及DAC0832的及工作。

微机系统与接口技术课程设计报告

微机系统与接口技术课程设计报告

微机系统与接口技术课程设计报告2012~2013年度第1学期设计题目:实现特定功能的键盘及LED 显示院系:计算机学院学号:姓名:指导教师:张健成绩评定:完成日期:2014年11月 4 日微机系统与接口技术课程设计1.设计说明《微机系统与接口技术》是一门实践性很强的课程,本课程设计是这门课程的最后一个教学环节,是对这门课程一个较全面的应用设计实践,目的在于在巩固学生在课堂上学到的基础知识,加强学生的综合能力与系统设计能力、创新能力。

在本课程设计中,我的题目是在TD-PITE实验箱中实现特定功能的键盘及LED显示。

整个系统的目标实现功能具体一点是通过键盘输入来控制点阵LED 显示器显示不同的内容,同时要求有一定的扩展能力特性。

整个系统的具体目标功能特性如下;1)按1键显示年,按2键显示月、日。

2)按3键显示自己的姓名。

3)按4键由左向右循环显示自己的学号或其它特效功能。

1.1.设计思路从上面的任务说明中可以知道程序的功能很简单,从总体上可以感受得到关键问题在于获取键盘的输入、控制点阵LED的输出显示。

前者在于接收到键盘是否被按下以及哪一个键被按下的数据,在取得这些数据后程序就能够按规则将后者的显示内容进行更改,从而达到通过键盘输入来控制点阵LED的输出。

系统运行流程图如下:上面流程图中LED的显示特效是动态的,同时系统需要监控键盘的输入情况,即系统需要控制LED输出,也需要控制键盘的输入检测。

在此有两种方案可以考虑。

第一种是使用中断的方式(8259A芯片)将键盘的检测独立出来,当键盘被按下时,键盘就会发出一个中断信号来中断当前的系统操作,进而系统可以从键盘的扫描结果来决定是否进行功能的切换。

第二种则是使用程序查询的方式进行,此方式相对第一种会更加简单。

具体的实施方式是在每一次的LED输出后,马上查询一个键盘是不是有按键被按下,如果发现存在被按下的键,则读取键盘的按键住处,进而进行功能切换,否则继续控制LED的动态效果输出。

微机接口课程设计报告

微机接口课程设计报告

一、设计目的1、掌握8253定时器的编程原理,熟悉它的控制字的设置和端口地址的寻找。

2、熟悉掌握TND86188系统的基本操作和调试程序的各种指令,及编程和调试程序的方法。

3、掌握8255A并行口方式0传输数据的方法,以及控制键盘值的读取熟悉它的控制字的设置和端口地址的寻找。

4、掌握8259中断控制器的工作原理及应用编程方法,联系编写中断程序的方法。

5、了解系统时间的调用方式。

以及系统时间的调用与修改时间联系起来。

6、了解软件处理键盘的一些功能如去抖,防重复按键等。

二、设计任务1、编写一个能自动走时与校时的程序。

2、编写的程序可以在数码管上显示出时、分、秒。

3、走时的脉冲试用8253来产生。

4、学会使用8259A的IRQ3中断。

5、使用系统的内部时间,且能通过按键来修改。

三、设计思路该电子时钟主要由显示模块,对时模块,校准模块及运行模块几大部分组成。

数码管的段寄存器选择使用211H。

数码管的位存储的选择为210H,显示模块主要就是把系统的内部时间调用出来,放入缓冲区,在数码挂上显示出来,从而完成显示模块。

时钟运算模块,该功能主要是将调用出来的时间,通过软件处理,将时、分、秒的高低位依次放入缓冲区。

使显示功能及时显示出来。

而对其中的中断信号处理是通过硬件来实现的。

可以选择试验箱上的8253及8259A来处理。

通过8253计时,产生中断脉冲信号。

然后通过8259的IRQ3号来中断实现。

该程序是每72ms来一次中断请求,所以在中断服务程序时,必须利用已中传内存单元的count1来统计中断请求的判断,R有count1的值为13时,才能让秒单位的数值加1,另外,在中断请求服务程序里,务必对秒、分和时的单元内的数值进行判断。

校准模块主要是通过按键控制。

控制时通过软件来判断,每当不同控制键按下时,进行不同的处理。

如时、分、秒的调整,时间对应的修改,只是在此问题处理要加一个按键功能处理,去抖动,放串键。

键盘对应:A——调整小时B——调整分钟C——调整秒F——结束修改然后通过8255扫描等一些操作。

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

科技大学课程设计报告学生:雅茹学号:090701134专业班级:电信091班课程名称:微机接口技术学年学期: 2 011 — 2 0 12 学年第二学期指导教师:马洪涛睢丙东2 0 12 年 6 月课程设计成绩评定表目录1 设计任务与要求 (1)2 总体方案设计 (1)3 硬件电路分析 (2)4 程序设计 (3)5 调试说明 (4)6 结论 (5)7 参考文献 (6)附录(原始程序清单及电路原理图)1 设计任务与要求本设计通过简单的A/D转换接口电路,配合汇编语言程序设计,实现最基本的信号波形采集与存储,并通过简单的D/A转换接口电路,将存储的数据还原为信号波形,在普通示波器的屏幕上显示出来。

被测信号产生电路参见“A/D、D/A接口实验扩展卡电路原理图”。

当按下S1时,电容C5完全放电,A/D转换器输入电压为零;抬起S1时,电容C5开始充电,A/D转换器输入电压按RC过渡过程开始上升,最终达到+5V。

图中RC时间常数约为10ms,整个充电过程需要3~5倍的RC时间常数时间。

设计要求使用A/D转换器捕捉电容C5充电的完整过程,并将采样数据存储起来。

然后依次将采样数据通过D/A转换器循环输出,产生一定频率的重复波形,送到普通示波器显示。

基本要求:使用一个D/A转换器通道,将信号波形施加到示波器的Y轴,X轴扫描信号由示波器产生并调节,实现RC充电过程的波形稳定显示。

发挥部分:将示波器调整在X-Y方式,采样数据的D/A转换器输出接到Y轴输入端,增加一个D/A转换器通道,产生频率可变的X轴扫描信号,接到示波器X轴外部输入端,使RC充电过程的波形稳定显示。

2 总体方案设计电路由四部分组成:输入电路、控制电路、A/D转换、D/A转换。

输入电路:即采集电路部分,本设计为RC充电过程采样实验。

控制电路:本设计采用MCS-51实验教学系统板,输入编写的程序后用来控制数字存储示波器的采样、存储、ADC0809及DAC0832的及工作。

A/D转换:用芯片ADC0809对采样值进行变换从而生成代表每一采样电压的二进制字,即数字化。

D/A转换:用芯片DAC0832输出存储器中贮存的数据,加到Y偏转板在示波器的屏幕上重建信号波形的幅度。

总体结构框图如下:(以上容不超过1页)3 硬件电路分析(该容不超过1页)3.1 设计思路首先,理解数字存储示波器的工作原理及结构框图。

其次,明确电路的四个组成部分:输入电路、控制电路、A/D转换、D/A转换,并清楚各部分的电路组成及作用。

再次,关键要理解电路的核心部分即A/D、D/A转换部分的工作原理、接口的有效地址等。

最后,输入编写的程序后调试,检验运行结果。

3.2 基本工作原理1.A/D转换部分如电路原理图所示,ADC0809的数据线、地址线、读/写信号与单片机实验系统板连接,其片选信号来自实验系统板的地址译码器,有效地址围为F000~F3FFH(PS4)。

U8A将ALE信号2分频,产生500kHz的转换时钟。

U7B和U7C与片选信号PS4配合,完成ADC0809的通道选择、启动转换和数据读取。

U8B将EOC信号转换极性,生成INT0信号,向单片机提出中断请求,同时驱动L2发光,指示A/D转换已经完成。

图中RP4为参考电压调节电位器,RP5为ADC0809的IN-7输入电压调节电位器。

S1为RC 过渡过程输入控制按键,当S1从按下状态抬起时,IN-6引脚将产生RC充电过程的电压变化,该变化过程可由ADC0809定时取样捕捉到,用于实现存储示波器的相关实验。

输入端VIN1和V IN2引到了实验卡的连接器J1 上,用于连接外部的电压输入,相关的串联电阻和嵌位二极管组成保护电路,防止外部的电压输入过高造成ADC0809的损坏。

通过不同输入通道的选择和相关的电压调节,配合不同的试验程序,可以对ADC0809进行不同的实验测试。

2.D/A转换部分如电路原理图所示,DAC0832的数据线、地址线、读/写信号与单片机实验系统板连接,其片选信号来自实验系统板的地址译码器,U2(输出端为VO1)的有效地址围为F800~FBFFH(PS6),U3(输出端为VO2)的有效地址围为F400~F7FFH(PS5)。

通过拨码开关SW1的选择,可分别接入低通滤波电容C2(闭合SW1-1)和C3(闭合SW1-2),也可以改变参考电压的极性(SW1-3闭合时为-5V)和的工作模式(SW1-4闭合时为单缓冲)。

SW1-4断开时两片DAC0832均工作在双缓冲模式,第二级缓冲器的选通信号来自实验系统板地址译码器的PS7输出,其有效地址围为FC00~FFFFH。

图中RP2为参考电压调节电位器,RP3为VO1输出的调零电位器,RP1为VO1输出的满度调节电位器。

输出端VO1和VO2引到了实验卡的连接器J1 上,可用于连接外部电路,也可以连接万用表和示波器,以便测量输出电压和输出波形。

输出端VO1还通过限流电阻连接LED指示灯L1,可以观察到输出电压变化引起LED亮度的变化情况。

通过外围电路的不同选择和参数调节,配合不同的试验程序,可以对DAC0832进行各种工作方式的实验测试。

4 程序设计(该容不超过2页)4.1 程序流程图4.2 设计思路程序“开始”部分是初始化容,包括设定采集数据的存储首地址:外部RAM的C000H,以及存储字节数256。

“数据采集”部分包括启动A/D转换、执行延时程序(延时时间可设定在200μs)等待转换结束、取回转换结果,为S1是否按下提供参考数据。

“S1按下吗?”部分为按键S1是否按下判断程序。

本设计采用上升沿触发方式,S1按下时产生下降沿。

当A/D采样数据大于判断点10H时,表明按键尚未按下,当A/D采样数据小于触发点时,表明按键已经按下,转入触发检测环节,循环存储采样数据。

当A/D采样值重新上升到大于或等于触发点数据时,便认为触发信号到来,转入下面的采样程序。

“有触发吗?”部分为触发点判断程序。

本设计采用上升沿触发方式,当A/D采样数据小于触发点20H时,表明按键按下尚未抬起,继续循环存储采样数据。

当A/D采样值上升到大于或等于触发点数据时,表明按键按已抬起,便认为触发信号到来,转入下面的采样程序。

“设定存储字节数”程序将触发后的采样点数设定在128个字节。

接下来的“采集并存储”部分与前面叙述的完全相同。

“完成吗?”判断128个字节的采样是否完成,如果完成就进入下面的D/A转换程序。

这样在256个字节的存储器中,就包含了触发前、后各128字节的采样数据,可完全记录电容C5充电前后的电压变化波形。

“采集并存储”部分包括启动A/D转换、执行延时程序等待转换结束、取回转换结果并存储到C000H开始的RAM中和存储器地址加1,为下次存储做准备等程序。

其中延时程序决定了数据采样周期,采样周期(延时时间)可初步设定在200μs,全部程序调试完成后,再尝试改变采样周期,观察采样周期变化对重现被测信号波形的影响,并说明原因。

本设计数据存储深度为256字节,存满256 字节后自动从头开始刷新。

可用DPTR做数据指针,利用INC DPL指令实现DPTR在C000H~C0FFH之间自动循环。

“输出存储的数据”程序将数据存储器中的A/D采样值送到D/A转换器输出。

“地址+1”程序修改数据指针的低8位地址,使数据存储器地址在C000H~C0FFH之间自动循环。

这样便可以通过D/A转换器反复重现电容C5充电过程的完整波形,实现存储波形的稳定显示。

5 调试说明5.1 硬件电路调试存储示波器的硬件电路调试分为A/D和D/A两个部分,参见附录电路原理图。

A/D转换器部分只要调节RP4使基准电压VREF2为最大值(VCC)即可。

D/A转换器部分,首先调节RP2和SW1-3,使基准电压VREF1为-5.00V。

然后向D/A转换器写入00H,调节RP3,使VO1输出电压为0V;再向D/A转换器写入FFH,调节RP1,使VO1输出电压为5.00V。

5.2 软件程序调试存储示波器的控制程序可分为三个步骤进行调试:(1)A/D转换部分调试。

无条件循环执行数据采集和存储程序,分别在S1按下和抬起状态终止程序的执行(按MON键),观察存储器中采集到的数据是否全部为00H或FFH。

如果是,则说明A/D转换和数据存储程序工作正常,否则说明A/D转换和数据存储程序没有正常工作。

(2)D/A转换部分调试。

将存储器中输入一些有规律的数据,例如多个FFH和OOH,循环执行D/A转换程序,看示波器中是否有对应的高、低电压波形出现。

如果有,则说明D/A转换程序工作正常,否则说明D/A转换程序没有正常工作。

(3)触发点捕捉部分调试。

连续执行全部程序,在不断的按下和抬起S1时,按下MON键,根据当前的PC值,确定程序终止在哪个部分的循环程序中,判断相关指令的使用是否正确。

5.3 遇到的问题及解决办法向MCS-51单片机实验系统板输入编写好的程序,转到0100H单元,执行程序后按下按键S1,使电容C5先放电后充电,观察示波器的显示。

若波形未达到预期情况,转到C000H单元观察所采样到的电平值是否正确,再结合源程序进行修改,并检查机器码无误后重复执行调试过程。

在编写程序时主要遇到了以下问题:(1) 开始时只用一个电平值20H既判断是否按下又判断是否触发,导致程序跳转出错;(2) 由于设置延时时间不当,示波器显示出的波形有些失真;(3) 采样值的存储单元用DPTR作指针,存储区为C000H—C0FFH一共256个字节,循环存储时用DPTR+1,这样做很复杂,当存储到C0FFH时不能加1到C100H而需返回到C000H单元。

解决办法:(1) 先用10H来判断S1键是否按下,而后再用20H来判断是否触发;(2) RC 放电常数约为10ms,因此延时时间设定为200μs;(3) 再采集并存储时,由于存储区恰有256字节,因此可只用DPL加1实现循环存储。

6 结论6.1 设计结果及分析基本要求示波器显示图形如下:(取某一次的结果)发挥部分示波器显示图形如下:(取某一次的结果)6.2 学到的知识及个人体会通过本次设计数字存储示波器,对于A/D、D/A转换接口电路有了更深入的了解,熟悉了ADC0809和DAC0832的功能特点,掌握了其控制程序的编写及使用方法以及与MCS-51单片机接口电路的工作原理。

通过本次接口技术的课程设计,设计数字存储示波器,我深切体会到了理论应用于实际、软件设计与硬件设计相结合的重要性。

首先,通过实验,我在课本上学到的理论知识得到了更深入的理解,对于A/D、D/A转换的工作原理及芯片的特性更加熟练地掌握,在一遍遍调试的过程中,我也更加熟练地使用MCS-51实验教学系统板。

其次,通过编写并修改程序,我能够掌握汇编语言并熟练地运用它实现一些基本的功能,例如:延时、采集并存储、与触发值比较并跳转等等,在用软件编程的过程中也对单片机的工作更加了解。

相关文档
最新文档