微机原理与接口技术课程设计机制专业.doc_第1页
微机原理与接口技术课程设计机制专业.doc_第2页
微机原理与接口技术课程设计机制专业.doc_第3页
微机原理与接口技术课程设计机制专业.doc_第4页
微机原理与接口技术课程设计机制专业.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理与接口技术课程设计专用纸 机制专业0704班设计内容设计说明及计算过程备注一、设 计 目 的一、设计目的:通过本课程设计,使学生进一步掌握微型计算机应用系统的硬、软件开发方法,输入输出(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模拟量输入端IN0IN7。首先将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、显示数据的转换存储:从IN0IN7 输入的模拟量经ADC0809 转换后的到的是一个二进制数,我们无法知道实际电压是多少,于是需要我们转换成实际模拟电压值并显实出来,便于记录。由于ADC0809 是8 位A/D 转换, 转换成的二进制最大为11111111,又因ADC0809 的基准电压我设计的是5V。可用如下公式表示模拟量与A/D 转换后的二进制数的关系:设计内容设计说明及计算过程备注将公式的右边换成十进制:在显示数据的转换存储模块部分中, 主要任务是将单片机读到的数据再次转换成模拟量的数值大小, 并将这个数值的整数值,小数值这三个十进制值存入相应存储地址中去。具体的编程思想:设定8 路模拟量转换成的二进制数存在70H77H中,显示的数据存在78H7AH 中,通道号存在7BH 中。3、显示电路程序流程:显示这部分主要也分两部分:整数部分的显示,小数部分的显示。我设定的模拟电压输入值范围是:05V。故数据显示整数部分只有: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;当前状态SUBROUT DATA50H;前一状态KEYDATA51H;键值DS1DATA2DH;显示位1DS2DATA2EH;显示位2DS3DATA2FH;显示位3DS4DATA30H;显示位4DS5DATA31H;显示位5DS6DATA32H;显示位6DS7DATA33H;显示位7DS8DATA34H;显示位8DATA1 DATA 35HDATA2 DATA 36HDATA3 DATA 38HDATA4 DATA 39HNUM DATA 37HJ8279D XDATA 8000H;8279数据地址J8279C XDATA 8001H;8279控制地址ORG0000H;转主程序LJMP MAINORG0003H;RETIORG000BH;RETIORG0013H;LJMP JPORG001BH;LJMP T1INTORG0023H;RETIORG002BH;RETIORG0100HMAIN:;MOV P0,#00HCLR EAMOV R6,#08H设计内容设计说明及计算过程备注MOV TMOD,#10H ;定时器1初始化,定时15S MOV TH1,#15H MOV TL1,#0A0H SETB ET1 ;允许T1中断 SETB EA ;CPU开中断 SETB TR1 ;启动T1 MOV R5,#10HTEST:MOV SP,#SSP;置堆栈指针MOV DPTR,#J8279C;设定8279工作模式MOV A,#0D1HMOVX DPTR,AWAIT:MOVX A,DPTR;判断8279是否工作正常JB ACC.7, WAITMOV A, #00H;设定8279工作模式MOVX DPTR, AMOV A, #34HMOVX DPTR, AMOV KEYFLAG,#80H;置键盘无值标志MOV R7,#3EH;清单片机内部RAMMOV A,#00HMOV R0,#21HLOP:MOV R0,AINC R0DJNZ R7,LOP ;MOV R1,#90H;调用显示子程序;MOV R0,#DS1;MOV R7,#08H ; LCALL DISP DQ: SETB IT1设计内容设计说明及计算过程备注 设计内容设计说明及计算过程备注设计内容设计说明及计算过程备注SETB IT0SETB EX0SETB EX1SETB EACLR P1.4CLR P1.5CLR P1.6ATT: LCALL RDKEY ;读键值MOV KEY,A ;存键值CJNE A,#00H,REL1MOV DATA2,#00H LCALL K1 ;自动JMP REL4REL1:CJNE A,#01H,REL2 ;手动MOV DATA2,#0FFH CLR P1.4CLR P1.5CLR P1.6MOV NUM,#01H LCALL REL11 JMP REL4REL2:CJNE A,#02H,REL4 ;手动加1MOV DATA2,#0FFHMOV R0,#NUMINC R0MOV A,P1ANL A,#70HADD A,#10HMOV P1,ACJNE R0,#08H,REL3LCALL REL22REL3:CJNE R0,#09H,REL5MOV NUM,#01HCLR P1.4CLR P1.5设计内容设计说明及计算过程备注设计内容设计说明及计算过程备注CLR P1.6REL5:LCALL REL11REL4: MOV A,STATE ;取状态值ADD A,STATE;(定义状态容量为双字节所以要*2)MOV B,AMOV DPTR,#STAB ;取得第一表首地址MOVC A,A+DPTR XCH A,BINC DPTR;取得第二表首地址MOVC A,A+DPTRMOV DPL,A;将状态表地址送DPTRMOV DPH,BMONI1:CLR AMOVC A,A+DPTR ;读取特征键码CJNE A,#0FFH,MONI2 ;读到最后吗?SJMP ATT ;是最后,本键无效,跳转至键盘监控MONI2:CJNE A, KEY,MONI3 ;与当前键码一致吗?SJMP MONI4 ;键码一致,转到下面执行MONI3:INC DPTR;查下一元素INC DPTRINC DPTRSJMPMONI1MONI4:MOV A,STATE;状态转移MOV SUBROUT,A;当前状态送至前态寄存器CLR AINC DPTRMOVC A,A+DPTR;取次态为当前状态MOV STATE,A设计内容设计说明及计算过程备注设计内容设计说明及计算过程备注INC DPTRCLR AMOVC A,A+DPTR;取工作模块编号MOV B,A;LJMP指令为三字节,所以*3RL AADD A,BMOV DPTR,#KPRGJMP A+DPTRKPRG: ;工作模块 NOPNOPLJMPATTRDKEY: MOV A, KEYFLAG JNB ACC.7,K3 SJMP RDKEYK3: MOV KEYFLAG,#80HRETJP: CLR EA;读键值中断 PUSH ACC;压栈 PUSH B PUSHPSW PUSH DPL PUSHDPH SETB PSW.3;工作寄存区切换 MOV A,#40H;读键盘值 MOV DPTR,#J8279C MOVX DPTR,AMOV DPTR,#J8279D MOVX A, DPTR MOV KEYFLAG,A;置键有值盘标志POP DPH;出栈设计内容设计说明及计算过程备注设计内容设计说明及计算过程备注POP DPLPOP PSWPOP BPOP ACCSETBEACLR PSW.3;工作寄存区切换RETIT1INT: MOV TH1,#15H MOV TL1,#0A0H DJNZ R5,TOP MOV R5,#10H ;判断到15s到否,不到,则返回 MOV DATA1,#01H RETITOP: RETIK1: MOV R2,DATA1 CJNE R2,#01H,K1 MOV R5,#10H MOV DATA1,#00H MOV R0,#DS8 INC R0 MOV R1,#97H MOV R0,#DS8 MOV R7,#01H LCALL DISP MOV A,DS8CJNE A,#08H,K11 LCALL WZ LCALL XH LCALL TT K11: LCALL SH LCALL XH LCALL TT 设计内容设计说明及计算过程备注设计内容设计说明及计算过程备注REL11: MOV DS8,NUM MOV R1,#97H MOV R0,#DS8 MOV R7,#01H LCALL DISP LCALL SH LJMP ATT REL22: MOV DS8,NUM MOV R1,#97H MOV R0,#DS8 MOV R7,#01H LCALL DISP LCALL WZ LJMP ATTSH: MOV DPTR,#0FFFFH ;in0 MOVX DPTR,A JB p3.2,$ movx a,dptr mov b,#33H div ab mov DS3,A MOV R1,#92H MOV R0,#DS3 MOV R7,#01H LCALL DISP1MOV A,B MOV B,#0AH DIV AB MOV DS2,A MOV DS1,B MOV R1,#90H MOV R0,#DS1设计内容设计说明及计算过程备注设计内容设计说明及计算过程备注MOV R7,#02H LCALL DISP RETXH: MOV A,DS8 CJNE A,#08,SX MOV DS8,#00H clr p1.4 clr p1.5 clr p1.6 mov r6,#08h mov r0,#00h LJMP K1SX: MOV A,P1 ADD A,#10H MOV P1,A RETTT: LJMP K1WZ: MOV DPTR,#0FFFFH ;in0 MOVX DPTR,A JB p3.2,$ MOVX A,DPTR MOV B,#04H DIV AB MOV DATA3,B MOV B,#0AH DIV ABMOV DS3,A MOV R1,#92H MOV R0,#DS3 MOV R7,#01H LCALL DISP MOV DS2,B设计内容设计说明及计算过程备注设计内容设计说明及计算过程备注MOV R1,#91H MOV R0,#DS2 MOV R7,#01H LCALL DISP1 MOV DS1,DATA3 MOV R1,#90H MOV R0,#DS1 MOV R7,#01H LCALL DISP RET显示子程序;R0-显示起始地址;R1-显示模式;R7-显示位数DISP:MOV A,R1;MOV DPTR, #J8279C;送8279控制字地址MOVX DPTR, A;送至8279控制寄存器MOV DPTR, #J8279D;送8279数据字地址DIS: MOV DPTR, #TAB;送字型表起始地址MOV A, R0;将(R0)的内容送至AMOVC A, A+DPTR;查出对应的字型码MOV DPTR, #J8279D;送8279数据字地址MOVX DPTR, A;将字型码送至8279数据寄存器INC R0;送下一个数DJNZ R7, DIS;判断是否送完 RET ;8279字型码TAB: DB 0F3H,60H,0B5H,0F4H;0,1,2,3 DB 66H,0D6H,0D7H,70H;4,5,6,7 DB 0F7H,0F6H,77H,0C7H;8,9,A,B DB 93H,0E5H,97H,17H;C,D,E,F;DB 0EDH,81H,0F4H,0B5H,99H,3DH设计内容设计说明及计算过程备注设计内容设计说明及计算过程备注;DB 7DH,85H,0FDH,0BDH,0DDH,079H;DB 06CH,0F1H,07CH,5CH,0DCH,0E9H;DB 10H,68H,0D9H;定义各状态表的长度DISP1:MOV A,R1;MOV DPTR, #J8279C;送8279控制字地址MOVX DPTR, A;送至8279控制寄存器MOV DPTR, #J8279D;送8279数据字地址DIS1: MOV DPTR, #TAB1;送字型表起始地址MOV A, R0;将(R0)的内容送至AMOVC A, A+DPTR;查出对应的字型码MOV DPTR, #J8279D;送8279数据字地址MOVX DPTR, A;将字型码送至8279数据寄存器INC R0;送下一个数DJNZ R7, DIS;判断是否送完 RET ;8279字型码TAB1: DB 0FBH,68H,0BDH,0FCH;0,1,2,3 DB 6EH,0DEH,0DFH,78H;4,5,6,7 DB 0FFH,0FEH,7FH,0CFH;8,9,A,B DB 9BH,0EDH,9FH,1FH;C,D,E,F ;DB 0EDH,81H,0F4H,0B5H,99H,3DH;DB 7DH,85H,0FDH,0BDH,0DDH,079H;DB 06CH,0F1H,07CH,5CH,0DCH,0E9H;DB 10H,68H,0D9H;定义各状态表的长度设计内容设计说明及计算过程备注设计内容设计说明及计算过程备注 四、参 考 文 献STAB:DW STAB0,STAB1,STAB2,STAB3,STAB4,STAB5,STAB6 ;状态转移表(状态三字节表示一个元素键码、次态、模块号) STAB0: DB 0FFHSTAB1: DB 0FFHSTAB2: DB 0FFH STAB3: DB 0FFHSTAB4: DB 0FFHSTAB5: DB 0FFHSTAB6: DB 0FFH END四、参考文献:1. 康华光.电子技术基础(模拟部分、数字部分)M.第四版.北京:高等教育出版出版社,1998 2. 童诗白.电子技术基础(模拟部分)M.第四版.北京:高等教育出版社,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论