微机原理与接口技术课程设计 机制专业.docx

上传人:b****6 文档编号:4301656 上传时间:2022-11-29 格式:DOCX 页数:28 大小:55.16KB
下载 相关 举报
微机原理与接口技术课程设计 机制专业.docx_第1页
第1页 / 共28页
微机原理与接口技术课程设计 机制专业.docx_第2页
第2页 / 共28页
微机原理与接口技术课程设计 机制专业.docx_第3页
第3页 / 共28页
微机原理与接口技术课程设计 机制专业.docx_第4页
第4页 / 共28页
微机原理与接口技术课程设计 机制专业.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术课程设计 机制专业.docx

《微机原理与接口技术课程设计 机制专业.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计 机制专业.docx(28页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术课程设计 机制专业.docx

微机原理与接口技术课程设计机制专业

设计内容

设计说明及计算过程

备注

一、设计目的

一、设计目的:

通过本课程设计,使学生进一步掌握微型计算机应用系统的硬、软件开发方法,输入/输出(I/O)接口及存储器的扩展技术,应用程序设计技术并结合专业能设计简单、实用的微型计算机应用系统。

主要针对课堂重点讲授内容使学生加深对微型计算机硬件原理的理解及提高汇编语言程序设计的能力,提高学生的开发创新能力。

通过一个学期对《微机原理及接口技术》学习,掌握的知识还停留在理论的上。

但是这是一门实践性交前的课程,让学生在学完该课程之后,进行一次课程设计,是学生将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。

通过设计时间,培养学生查阅专业资料,工具书或参考书,了解有关工业标准,掌握现代手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。

通过设计,不但要培养和提高学生解决工程具体问题,动脑动手的技术工作能力,而且还要逐步建立科学正确的设计和科研思想,培养良好的设计习惯,牢固树立是事实和严肃认真的工作态度。

 

设计内容

设计说明及计算过程

备注

二、设计要求三、设计内容

二、设计要求:

重点研究单片机、A/D转换器、运算放大器、传感器、LED显示器、固态继电器、微型直流电机等元器件的特性、功能及使用方法;同时掌握主程序、子程序、中断服务程序框图的设计方法与汇编语言程序设计方法。

掌握流程图的制作,程序的编写。

了解控制对象、环境参数检测原理,在充分掌握单片机、A/D转换器、运算放大器、传感器、LED显示器、固态继电器、微型直流电机等元器件的特性、功能及使用方法的基础上,创造性的、独立的设计本课题的内容。

 

三、设计内容:

设计数据采集系统,被采集模拟量共8个,共用一个A/D转换器,约每分钟采集一次。

A/D转换器为8位,有一个启动转换控制信号和转换状态输出信号。

将8个模拟量对应的A/D转换结果分别存入内存的8个连续单元,循环采集8个模拟量,用新数据更新旧数据。

1.设计查询式数据采集系统结构图。

2.设计完整的数据采集汇编语言程序。

设计内容

设计说明及计算过程

备注

设计内容

设计说明及计算过程

备注

(一)流程图

 

设计内容

设计说明及计算过程

备注

(二)、系统设计主要有三大块:

A/D转换部分;显示数据的转换存储部分;数据的显示部分。

系统采用模块化编程,将各部分功能分别实现。

1、A/D转换过程:

将8路模拟量持续输入ADC0809模拟量输入端IN0~IN7。

首先将OE,START,ALE,A,B,C都置0,然后ALK置1再清零,进行转换通道地址的锁存,即选择转换通道打开。

将START置1再清零,发送一启动脉冲,即启动A/D转换,此时转换结束信号EOC变为低电平。

查看EOC是否为高电平,为高电平则表示A/D转换完毕。

等待A/D转换完毕后将输出允许信号输入端(OE)置高电平,此时就可将转换的一路数据输入到单片机某一存储空间中。

将OE置低电平,即停止ADC0809数据输出。

存储转换数据的地址+1。

通道号+1。

判断是否转换完8路模拟量,是则全部清零从第1条重新开始转换,否则继续转换下路模拟量。

2、显示数据的转换存储:

从IN0~IN7输入的模拟量经ADC0809转换后的到的是一个二进制数,我们无法知道实际电压是多少,于是需要我们转换成实际模拟电压值并显实出来,便于记录。

由于ADC0809是8位A/D转换,转换成的二进制最大为11111111,又因ADC0809的基准电压我设计的是5V。

可用如下公式表示模拟量与A/D转换后的二进制数的关系:

 

设计内容

设计说明及计算过程

备注

将公式的右边换成十进制:

在显示数据的转换存储模块部分中,主要任务是将单片机读到的数据再次转换成模拟量的数值大小,并将这个数值的整数值,小数值这三个十进制值存入相应存储地址中去。

具体的编程思想:

设定8路模拟量转换成的二进制数存在70H~77H中,显示的数据存在78H~7AH中,通道号存在7BH中。

3、显示电路程序流程:

显示这部分主要也分两部分:

整数部分的显示,小数部分的显示。

我设定的模拟电压输入值范围是:

0~5V。

故数据显示整数部分只有:

0.、1.、2.、3.、4.、5.共6个段代码,小数部分只有:

0、1、2、3、4、5、6、7、8、9共9个段代码。

4、具体编程思想:

(1)设置扫描字扫描,目的是确定开哪个数码管工作。

(2)设定段代码存储顺序:

0、1、2、3、4、5、6、7、8、9、0.、1.、2.、

3.、4.、5.。

(3)判断哪个数码管工作,以确定段代码地址。

(4)确定后送段代码到该数码管显示数据。

(5)判断是否显示完4个数码管。

(6)设置显示下路数据,再重复上述过程。

设计内容

设计说明及计算过程

备注

(三)程序设计

SSPEQU60H;堆栈指针

KEYFLAGDATA20H;键盘标志

STATEDATA22H;当前状态

SUBROUTDATA50H;前一状态

KEYDATA51H;键值

DS1DATA2DH;显示位1

DS2DATA2EH;显示位2

DS3DATA2FH;显示位3

DS4DATA30H;显示位4

DS5DATA31H;显示位5

DS6DATA32H;显示位6

DS7DATA33H;显示位7

DS8DATA34H;显示位8

DATA1DATA35H

DATA2DATA36H

DATA3DATA38H

DATA4DATA39H

NUMDATA37H

J8279DXDATA8000H;8279数据地址

J8279CXDATA8001H;8279控制地址

ORG0000H;转主程序

LJMPMAIN

ORG0003H;

RETI

ORG000BH;

RETI

ORG0013H;

LJMPJP

ORG001BH;

LJMPT1INT

ORG0023H;

RETI

ORG002BH;

RETI

ORG0100H

MAIN:

;MOVP0,#00H

CLREA

MOVR6,#08H

设计内容

设计说明及计算过程

备注

MOVTMOD,#10H;定时器1初始化,定时15S

MOVTH1,#15H

MOVTL1,#0A0H

SETBET1;允许T1中断

SETBEA;CPU开中断

SETBTR1;启动T1

MOVR5,#10H

TEST:

MOVSP,#SSP;置堆栈指针

MOVDPTR,#J8279C;设定8279工作模式

MOVA,#0D1H

MOVX@DPTR,A

WAIT:

MOVXA,@DPTR;判断8279是否工作正常

JBACC.7,WAIT

MOVA,#00H;设定8279工作模式

MOVX@DPTR,A

MOVA,#34H

MOVX@DPTR,A

MOVKEYFLAG,#80H;置键盘无值标志

MOVR7,#3EH;清单片机内部RAM

MOVA,#00H

MOVR0,#21H

LOP:

MOV@R0,A

INCR0

DJNZR7,LOP

;MOVR1,#90H;调用显示子程序

;MOVR0,#DS1

;MOVR7,#08H

;LCALLDISP

DQ:

SETBIT1

设计内容

设计说明及计算过程

备注

设计内容

设计说明及计算过程

备注

设计内容

设计说明及计算过程

备注

SETBIT0

SETBEX0

SETBEX1

SETBEA

CLRP1.4

CLRP1.5

CLRP1.6

ATT:

LCALLRDKEY;读键值

MOVKEY,A;存键值

CJNEA,#00H,REL1

MOVDATA2,#00H

LCALLK1;自动

JMPREL4

REL1:

CJNEA,#01H,REL2;手动

MOVDATA2,#0FFH

CLRP1.4

CLRP1.5

CLRP1.6

MOVNUM,#01H

LCALLREL11

JMPREL4

REL2:

CJNEA,#02H,REL4;手动加1

MOVDATA2,#0FFH

MOVR0,#NUM

INC@R0

MOVA,P1

ANLA,#70H

ADDA,#10H

MOVP1,A

CJNE@R0,#08H,REL3

LCALLREL22

REL3:

CJNE@R0,#09H,REL5

MOVNUM,#01H

CLRP1.4

CLRP1.5

设计内容

设计说明及计算过程

备注

设计内容

设计说明及计算过程

备注

CLRP1.6

REL5:

LCALLREL11

REL4:

MOVA,STATE;取状态值

ADDA,STATE;(定义状态容量为双字节所以要*2)

MOVB,A

MOVDPTR,#STAB;取得第一表首地址

MOVCA,@A+DPTR

XCHA,B

INCDPTR;取得第二表首地址

MOVCA,@A+DPTR

MOVDPL,A;将状态表地址送DPTR

MOVDPH,B

MONI1:

CLRA

MOVCA,@A+DPTR;读取特征键码

CJNEA,#0FFH,MONI2;读到最后吗?

SJMPATT;是最后,本键无效,跳转至键盘监控

MONI2:

CJNEA,KEY,MONI3;与当前键码一致吗?

SJMPMONI4;键码一致,转到下面执行

MONI3:

INCDPTR;查下一元素

INCDPTR

INCDPTR

SJMPMONI1

MONI4:

MOVA,STATE;状态转移

MOVSUBROUT,A;当前状态送至前态寄存器

CLRA

INCDPTR

MOVCA,@A+DPTR;取次态为当前状态

MOVSTATE,A

设计内容

设计说明及计算过程

备注

设计内容

设计说明及计算过程

备注

INCDPTR

CLRA

MOVCA,@A+DPTR;取工作模块编号

MOVB,A;LJMP指令为三字节,所以*3

RLA

ADDA,B

MOVDPTR,#KPRG

JMP@A+DPTR

KPRG:

;工作模块

NOP

NOP

LJMPATT

RDKEY:

MOVA,KEYFLAG

JNBACC.7,K3

SJMPRDKEY

K3:

MOVKEYFLAG,#80H

RET

JP:

CLREA;读键值中断

PUSHACC;压栈

PUSHB

PUSHPSW

PUSHDPL

PUSHDPH

SETBPSW.3;工作寄存区切换

MOVA,#40H;读键盘值

MOVDPTR,#J8279C

MOVX@DPTR,A

MOVDPTR,#J8279D

MOVXA,@DPTR

MOVKEYFLAG,A;置键有值盘标志

POPDPH;出栈

设计内容

设计说明及计算过程

备注

设计内容

设计说明及计算过程

备注

POPDPL

POPPSW

POPB

POPACC

SETBEA

CLRPSW.3;工作寄存区切换

RETI

T1INT:

MOVTH1,#15H

MOVTL1,#0A0H

DJNZR5,TOP

MOVR5,#10H;判断到15s到否,不到,则返回

MOVDATA1,#01H

RETI

TOP:

RETI

K1:

MOVR2,DATA1

CJNER2,#01H,K1

MOVR5,#10H

MOVDATA1,#00H

MOVR0,#DS8

INC@R0

MOVR1,#97H

MOVR0,#DS8

MOVR7,#01H

LCALLDISP

MOVA,DS8

CJNEA,#08H,K11

LCALLWZ

LCALLXH

LCALLTT

K11:

LCALLSH

LCALLXH

LCALLTT

设计内容

设计说明及计算过程

备注

设计内容

设计说明及计算过程

备注

REL11:

MOVDS8,NUM

MOVR1,#97H

MOVR0,#DS8

MOVR7,#01H

LCALLDISP

LCALLSH

LJMPATT

REL22:

MOVDS8,NUM

MOVR1,#97H

MOVR0,#DS8

MOVR7,#01H

LCALLDISP

LCALLWZ

LJMPATT

SH:

MOVDPTR,#0FFFFH;in0

MOVX@DPTR,A

JBp3.2,$

movxa,@dptr

movb,#33H

divab

movDS3,A

MOVR1,#92H

MOVR0,#DS3

MOVR7,#01H

LCALLDISP1

MOVA,B

MOVB,#0AH

DIVAB

MOVDS2,A

MOVDS1,B

MOVR1,#90H

MOVR0,#DS1

设计内容

设计说明及计算过程

备注

设计内容

设计说明及计算过程

备注

MOVR7,#02H

LCALLDISP

RET

XH:

MOVA,DS8

CJNEA,#08,SX

MOVDS8,#00H

clrp1.4

clrp1.5

clrp1.6

movr6,#08h

movr0,#00h

LJMPK1

SX:

MOVA,P1

ADDA,#10H

MOVP1,A

RET

TT:

LJMPK1

WZ:

MOVDPTR,#0FFFFH;in0

MOVX@DPTR,A

JBp3.2,$

MOVXA,@DPTR

MOVB,#04H

DIVAB

MOVDATA3,B

MOVB,#0AH

DIVAB

MOVDS3,A

MOVR1,#92H

MOVR0,#DS3

MOVR7,#01H

LCALLDISP

MOVDS2,B

设计内容

设计说明及计算过程

备注

设计内容

设计说明及计算过程

备注

MOVR1,#91H

MOVR0,#DS2

MOVR7,#01H

LCALLDISP1

MOVDS1,DATA3

MOVR1,#90H

MOVR0,#DS1

MOVR7,#01H

LCALLDISP

RET

显示子程序

;R0-显示起始地址

;R1-显示模式

;R7-显示位数

DISP:

MOVA,R1;

MOVDPTR,#J8279C;送8279控制字地址

MOVX@DPTR,A;送至8279控制寄存器

MOVDPTR,#J8279D;送8279数据字地址

DIS:

MOVDPTR,#TAB;送字型表起始地址

MOVA,@R0;将(R0)的内容送至A

MOVCA,@A+DPTR;查出对应的字型码

MOVDPTR,#J8279D;送8279数据字地址

MOVX@DPTR,A;将字型码送至8279数据寄存器

INCR0;送下一个数

DJNZR7,DIS;判断是否送完

RET

;8279字型码

TAB:

DB0F3H,60H,0B5H,0F4H;0,1,2,3

DB66H,0D6H,0D7H,70H;4,5,6,7

DB0F7H,0F6H,77H,0C7H;8,9,A,B

DB93H,0E5H,97H,17H;C,D,E,F

;DB0EDH,81H,0F4H,0B5H,99H,3DH

设计内容

设计说明及计算过程

备注

设计内容

设计说明及计算过程

备注

;DB7DH,85H,0FDH,0BDH,0DDH,079H

;DB06CH,0F1H,07CH,5CH,0DCH,0E9H

;DB10H,68H,0D9H

;定义各状态表的长度

DISP1:

MOVA,R1;

MOVDPTR,#J8279C;送8279控制字地址

MOVX@DPTR,A;送至8279控制寄存器

MOVDPTR,#J8279D;送8279数据字地址

DIS1:

MOVDPTR,#TAB1;送字型表起始地址

MOVA,@R0;将(R0)的内容送至A

MOVCA,@A+DPTR;查出对应的字型码

MOVDPTR,#J8279D;送8279数据字地址

MOVX@DPTR,A;将字型码送至8279数据寄存器

INCR0;送下一个数

DJNZR7,DIS;判断是否送完

RET

;8279字型码

TAB1:

DB0FBH,68H,0BDH,0FCH;0,1,2,3

DB6EH,0DEH,0DFH,78H;4,5,6,7

DB0FFH,0FEH,7FH,0CFH;8,9,A,B

DB9BH,0EDH,9FH,1FH;C,D,E,F

;DB0EDH,81H,0F4H,0B5H,99H,3DH

;DB7DH,85H,0FDH,0BDH,0DDH,079H

;DB06CH,0F1H,07CH,5CH,0DCH,0E9H

;DB10H,68H,0D9H

;定义各状态表的长度

设计内容

设计说明及计算过程

备注

设计内容

设计说明及计算过程

备注

四、参考文献

STAB:

DWSTAB0,STAB1,STAB2,STAB3,STAB4,STAB5,STAB6

;状态转移表(状态三字节表示一个元素-键码、次态、模块号)

STAB0:

DB0FFH

STAB1:

DB0FFH

STAB2:

DB0FFH

STAB3:

DB0FFH

STAB4:

DB0FFH

STAB5:

DB0FFH

STAB6:

DB0FFH

END

四、参考文献:

1.康华光.电子技术基础(模拟部分、数字部分)[M].第四版.北京:

高等教育出版出版社,1998

2.童诗白.电子技术基础(模拟部分)[M].第四版.北京:

高等教育出版社,1999

3.阎石.电子技术基础(数字部分)[M].第四版.北京:

高等教育出版社,1999

4.胡汉才.单片机原理及其接口技术[M].第二版.北京:

清华大学出版社,2002

5.余永权.ATMEL89系列单片机应用技术[M].第二版.北京:

北京航天航空大学出版社,2002

设计内容

设计说明及计算过程

备注

五、设计小结六、心得体会

五、设计小结:

通过本次微机原理与接口技术课程设计的学习与研究,我们深入学习了课本与课本以外的很多有关课程设计的资料,并且我们在设计中也遇到了很多问题,设计过程中我们结合所学知识以及参考资料的帮助,不断的尝试,解决了困扰我们的问题。

单片机在日常生活中应用广泛,结合这学期在学的嵌入式系统原理,我们更多的了解了单片机的发展现状和发展趋势,以及在生活中的广泛应用。

此次课程设计对我是一个考验,使我在设计过程中证明了自己,相信以后会做得更好。

六、心得体会:

作为一名机械设计制造及自动化大三的学生,我觉得能做这样的课程设计是十分有意义。

我们在课堂上掌握的仅仅是专业基础课的理论面,如何去面对现实中的各种问题?

如何把我们所学到的专业基础理论知识用到实践中去呢?

我想做类似的大作业就为我们提供了良好的实践平台。

在做本次课程设计的过程中,我感触最深的当属查阅了很多次设计书和指导书,通过查阅资料是我眼前的问题迎刃而解,那种喜悦无法用语言表达。

我对程序设计课程的学习的目标是在若干年以后能够独立设计一个负责的系统,包括硬件电路和软件部分。

所以,这次课程设计我付出了比别人多的努力,同样也学习到了干更多的知识。

此次设计中我非常感谢同学对我的帮助,想到今后自己应当承担的社会责任,想到世界上因为某些细小失误而出现的令世人无比震惊的事故,我不禁时刻提示自己,一定要养成一种高度负责的态度,认真对待事情的良好习惯。

设计内容

设计说明及计算过程

备注

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

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

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