生物医学电子仪器开发幻灯片.ppt

上传人:石*** 文档编号:78719080 上传时间:2023-03-19 格式:PPT 页数:49 大小:2.46MB
返回 下载 相关 举报
生物医学电子仪器开发幻灯片.ppt_第1页
第1页 / 共49页
生物医学电子仪器开发幻灯片.ppt_第2页
第2页 / 共49页
点击查看更多>>
资源描述

《生物医学电子仪器开发幻灯片.ppt》由会员分享,可在线阅读,更多相关《生物医学电子仪器开发幻灯片.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、生物医学生物医学电子子仪器器开开发第1页,共49页,编辑于2022年,星期一第第 三三 讲讲软件的详细设计软件的详细设计(续续)数据流图数据流图 信号流图信号流图 时序图设计时序图设计 程序流程框图设计(含粗、中、细框图)程序流程框图设计(含粗、中、细框图)编程编程 功能调试、性能调试、参数调试等功能调试、性能调试、参数调试等DEPARTMENT of BIOMEDICAL ENGINEERINGDEPARTMENT of BIOMEDICAL ENGINEERING 第2页,共49页,编辑于2022年,星期一四、程序流程框图设计四、程序流程框图设计程序流程框图设计的基本规范程序流程框图设计的

2、基本规范 第3页,共49页,编辑于2022年,星期一四、程序流程框图设计四、程序流程框图设计2.2.程序流程框图设计的基本结构程序流程框图设计的基本结构 顺序结构顺序结构 语句语句 1 1语句语句 2 2语句语句 1 1语句语句 2 2N-SN-S图图DEPARTMENT of BIOMEDICAL ENGINEERINGDEPARTMENT of BIOMEDICAL ENGINEERING 第4页,共49页,编辑于2022年,星期一四、程序流程框图设计四、程序流程框图设计2.2.程序流程框图设计的基本结构(续)程序流程框图设计的基本结构(续)分支结构(选择结构)分支结构(选择结构)语句语句

3、 2 2语句语句 1 1语句语句 2 2语句语句 1 1判断表达式判断表达式真真假假判断表达式判断表达式真真假假N-SN-S图图第5页,共49页,编辑于2022年,星期一四、程序流程框图设计四、程序流程框图设计2.2.程序流程框图设计的基本结构(续)程序流程框图设计的基本结构(续)循环结构(当型循环结构)循环结构(当型循环结构)循环体语句循环体语句判断表达式判断表达式真真假假当条件判断表达式为真当条件判断表达式为真 循环体语句循环体语句N-SN-S图图DEPARTMENT of BIOMEDICAL ENGINEERINGDEPARTMENT of BIOMEDICAL ENGINEERING

4、 第6页,共49页,编辑于2022年,星期一四、程序流程框图设计四、程序流程框图设计2.2.程序流程框图设计的基本结构(续)程序流程框图设计的基本结构(续)循环结构(直到型循环结构)循环结构(直到型循环结构)循环体语句循环体语句判断表达式判断表达式真真假假 循环体语句循环体语句直到判断表达式为假直到判断表达式为假N-SN-S图图第7页,共49页,编辑于2022年,星期一四、程序流程框图设计四、程序流程框图设计循环工作循环工作循环判断循环判断循环准备循环准备循环修改循环修改出口出口入口入口循环修改循环修改循环判断循环判断循环准备循环准备循环工作循环工作出口出口入口入口DEPARTMENT of

5、BIOMEDICAL ENGINEERINGDEPARTMENT of BIOMEDICAL ENGINEERING 第8页,共49页,编辑于2022年,星期一四、程序流程框图设计四、程序流程框图设计3.3.程序流程框图基本结构设计中的注意事项程序流程框图基本结构设计中的注意事项 分支结构(选择结构)分支结构(选择结构)(1 1)分支的关键是条件转移指令中条件)分支的关键是条件转移指令中条件cccc与与转移地址转移地址nnnn的配合,即条件的配合,即条件cccc的设置应使满足的设置应使满足条件时转移到与条件转移指令条件时转移到与条件转移指令不相邻接不相邻接的分支的分支地址地址nnnn去执行,否

6、则将不能够产生分支;去执行,否则将不能够产生分支;(2 2)与条件转移指令相邻接的分支中,为避)与条件转移指令相邻接的分支中,为避免重复执行与条件转移指令不相邻接的分支程免重复执行与条件转移指令不相邻接的分支程序块,应设置无条件转移指令;序块,应设置无条件转移指令;(3 3)分支中的共同处理程序,最好放在分)分支中的共同处理程序,最好放在分支前或后的支前或后的“共同通道共同通道”中。中。分支分支 1 1JP ccJP cc,nnnnN NY Y分支分支 2 2共同部分共同部分JP nnJP nnnnnnnnnnm m m m第9页,共49页,编辑于2022年,星期一四、程序流程框图设计四、程序

7、流程框图设计3.3.程序流程框图基本结构设计中的注意事项程序流程框图基本结构设计中的注意事项 循环结构(直到型循环结构)循环结构(直到型循环结构)(1 1)循环准备与循环修改两部分之间一般有着对)循环准备与循环修改两部分之间一般有着对应关系,它们通常包括对循环工作和循环控制两部应关系,它们通常包括对循环工作和循环控制两部分的服务,如:地址指针的初置和修改、循环条件分的服务,如:地址指针的初置和修改、循环条件的初置和修改,注意不要疏漏某一方面。的初置和修改,注意不要疏漏某一方面。(2 2)注意循环部分不包括循环准备部分,否则循环将完全失)注意循环部分不包括循环准备部分,否则循环将完全失去意义,造

8、成死循环。去意义,造成死循环。(3 3)循环控制的条件必须是确定的、可能的,否则会)循环控制的条件必须是确定的、可能的,否则会造成死循环;循环条件的设置必须使满足条件时转到与造成死循环;循环条件的设置必须使满足条件时转到与循环控制指令循环控制指令不相邻接不相邻接的程序段去执行,否则不能产生的程序段去执行,否则不能产生循环或造成死循环。循环或造成死循环。入口入口循环修改循环修改循环判断循环判断循环准备循环准备循环工作循环工作出口出口DEPARTMENT of BIOMEDICAL ENGINEERINGDEPARTMENT of BIOMEDICAL ENGINEERING 第10页,共49页,

9、编辑于2022年,星期一四、程序流程框图设计四、程序流程框图设计3.3.程序流程框图基本结构设计中的注意事项程序流程框图基本结构设计中的注意事项 循环结构(当型循环结构)循环结构(当型循环结构)当型循环结构程序设计中除了必须满足如直到型结当型循环结构程序设计中除了必须满足如直到型结构程序设计中的全部注意事项外,还必须满足如下几条构程序设计中的全部注意事项外,还必须满足如下几条注意事项:注意事项:(1 1)当型循环方式下,循环条件的初置应)当型循环方式下,循环条件的初置应特别注意保证循环次数的满足。特别注意保证循环次数的满足。(5 5)当型循环方式下,应在循环工作部分结束)当型循环方式下,应在循

10、环工作部分结束处加一条无条件转移指令以形成循环。处加一条无条件转移指令以形成循环。循环工作循环工作循环判断循环判断循环准备循环准备循环修改循环修改出口出口入口入口第11页,共49页,编辑于2022年,星期一第第 三三 讲讲软件的详细设计软件的详细设计(续续)数据流图数据流图 信号流图信号流图 时序图设计时序图设计 程序流程框图设计(含粗、中、细框图)程序流程框图设计(含粗、中、细框图)编程编程 功能调试、性能调试、参数调试等功能调试、性能调试、参数调试等第12页,共49页,编辑于2022年,星期一1.N1.N路散转技术路散转技术 在转移条件呈规律性变化而转移地址却无规律可循的转移处理过程中,在

11、转移条件呈规律性变化而转移地址却无规律可循的转移处理过程中,可以采用可以采用N N路散转技术来处理。路散转技术来处理。例例.当当A=0A=0、1 1、2 2、时,程序对应转移到地址为时,程序对应转移到地址为C948HC948H、2063H2063H、130AH130AH、的程序断执行。的程序断执行。NJSUBNJSUB:CLRCLRC CRLCRLCA AMOVMOVDPTRDPTR,#NJADTB#NJADTBJMPJMPA+DPTRA+DPTRNJADTB:NJADTB:DWDW C948HC948H、2063H2063H、130AH130AH、五、程序编制五、程序编制第13页,共49页,

12、编辑于2022年,星期一五、程序编制五、程序编制2.2.子程序技术和中断处理技术子程序技术和中断处理技术 子程序技术子程序技术 子程序是用程序单位定义的一个特定处理过程,可以被其它程序子程序是用程序单位定义的一个特定处理过程,可以被其它程序多次调用。子程序可以完成一个固有的函数的运算或完成一种处理过多次调用。子程序可以完成一个固有的函数的运算或完成一种处理过程。程。子程序的一个显著特征是通用并经常被调用。子程序的一个显著特征是通用并经常被调用。子程序操作中至少有三个关键问题必须注意:子程序操作中至少有三个关键问题必须注意:断点的保护和子程序的正确返回断点的保护和子程序的正确返回 现场(数据、状

13、态)的正确保护和恢复现场(数据、状态)的正确保护和恢复 被处理数据和处理结果数据的正确交换被处理数据和处理结果数据的正确交换DEPARTMENT of BIOMEDICAL ENGINEERINGDEPARTMENT of BIOMEDICAL ENGINEERING 第14页,共49页,编辑于2022年,星期一 中断技术中断技术 中断处理技术是提供给硬件中断源在随时出现需要中断处理技术是提供给硬件中断源在随时出现需要CPUCPU服务时临时打断主程序服务时临时打断主程序的执行,而使的执行,而使CPUCPU及时为中断源硬件服务的一种灵活地、及时地处理紧急事务的特及时为中断源硬件服务的一种灵活地、

14、及时地处理紧急事务的特殊技术。殊技术。是软件与硬件在时序上密切配合的一种非常有用的技术。是软件与硬件在时序上密切配合的一种非常有用的技术。中断处理的过程包括:中断处理的过程包括:中断请求、中断判优、中断响应、中断中断请求、中断判优、中断响应、中断处理、中断返回。其中,中断响应是该技术的核心和灵魂。处理、中断返回。其中,中断响应是该技术的核心和灵魂。中断响应的过程通常包括:中断响应的过程通常包括:关中断、保护断点和保护现场、从所响应的关中断、保护断点和保护现场、从所响应的中断源相对应的中断向量地址中取出中断服务程序入口地址送入中断源相对应的中断向量地址中取出中断服务程序入口地址送入PCPC寄存器

15、。寄存器。中断处理程序中的相关问题类似于子程序。中断处理程序中的相关问题类似于子程序。五、程序编制五、程序编制第15页,共49页,编辑于2022年,星期一 子程序的灵活转出技术子程序的灵活转出技术 子程序的一个重要规定是不能够随意从子程序中采用转移类指令转出,而必须子程序的一个重要规定是不能够随意从子程序中采用转移类指令转出,而必须用返回指令返回断点处继续执行主程序。但当我们充分掌握其原理后,根据编程的用返回指令返回断点处继续执行主程序。但当我们充分掌握其原理后,根据编程的需要,可以在保证堆栈的正确操作的前提下,从子程序中跳出,而转向意欲转向的需要,可以在保证堆栈的正确操作的前提下,从子程序中

16、跳出,而转向意欲转向的地址。地址。子程序灵活转出操作中必须注意以下关键问题:子程序灵活转出操作中必须注意以下关键问题:应当将堆栈恢复到转入该子程序前的状态(堆栈中无效数据可以不管)应当将堆栈恢复到转入该子程序前的状态(堆栈中无效数据可以不管)例子例子.五、程序编制五、程序编制第16页,共49页,编辑于2022年,星期一例子例子.SUBSUB:PUSHPUSHACCACCPUSHPUSHPSWPSWJZJZNEXTNEXTPOPPOPPSWPSWPOPPOPACCACCPOPPOPACCACCPOPPOPACCACCLJMPLJMPDONEDONENEXTNEXT:POPPOPPSWPSWPOP

17、POPACCACCRETRET五、程序编制五、程序编制第17页,共49页,编辑于2022年,星期一3.3.编制应用程序举例编制应用程序举例 1 1)8 8段段LEDLED数码管动态显示接口的设计数码管动态显示接口的设计 学会用学会用MCS-51MCS-51系列单片机的并行系列单片机的并行I/OI/O口进行口进行8 8位位8 8段段LEDLED显示。显示。(1 1)LEDLED工作原理简介工作原理简介 7 7段或段或8 8段段LEDLED显示器显示器 7 7段发光二极管分别称为段发光二极管分别称为a a、b b、c c、d d、e e、f f、g g,如果是,如果是8 8段,则多段,则多一个小数

18、点一个小数点dpdp。+5V阳极abcdefgdp abcdefgdp 阴极第18页,共49页,编辑于2022年,星期一 (2 2)LEDLED显示器的显示段码显示器的显示段码 (3 3)动态显示和静态显示)动态显示和静态显示 (4 4)实验任务)实验任务 将自将自DISPDISP单元开始的内部单元开始的内部RAMRAM显示缓冲区中的显示缓冲区中的8 8位位1010进制数字依次进制数字依次在在L0L0L7L7的的8 8个个LEDLED上显示出来。上显示出来。(5 5)硬件电路)硬件电路aP1.0P1.1P1.7 8051P3.0P3.6P3.7VCCbdpL7L6L0第19页,共49页,编辑于

19、2022年,星期一 (6 6)程序清单)程序清单 为了在为了在LEDLED上显示出显示缓冲区上显示出显示缓冲区DISPDISP单元中一位数字单元中一位数字0 09 9的字符,下面程序的处理的字符,下面程序的处理方法是将方法是将DISPDISP单元中一位数字单元中一位数字0 09 9作为偏移量,从作为偏移量,从DISTABDISTAB字模表中取出相应的字字模表中取出相应的字模,再通过模,再通过P1P1口送口送LEDLED显示。显示。DISPDISP:MOVMOVR2R2,#8#8;赋;赋8 8位显示位计数初值位显示位计数初值MOVMOVR0R0,#DISP#DISP;赋;赋8 8位显示缓冲区指针

20、初值位显示缓冲区指针初值MOVMOVDPTRDPTR,#DISTAB#DISTAB;赋字模表首址到变址寄存器;赋字模表首址到变址寄存器MOVMOVR1R1,#0FEH#0FEH;将位码初值赋位码寄存器;将位码初值赋位码寄存器DISPLPDISPLP:MOVMOVA A,R0R0;在显示缓冲区中取当前应显示数字;在显示缓冲区中取当前应显示数字MOVCMOVCA A,A+DPTRA+DPTR;取应显示数字对应字模;取应显示数字对应字模MOVMOVP1P1,A A;输出显示字模段码;输出显示字模段码MOVMOVA A,R1R1;取位码;取位码MOVMOVP3P3,A A;输出位码;输出位码INCIN

21、CR0R0;修改显示缓冲区指针;修改显示缓冲区指针第20页,共49页,编辑于2022年,星期一MOVMOVA A,R1R1SETBSETBC CRLCRLCA A;位码寄存器中位码左移一位;位码寄存器中位码左移一位MOVMOVR1R1,A AACALLACALLDELAYDELAY;调用延时子程序延时,以保证肉眼;调用延时子程序延时,以保证肉眼;残留时间;残留时间DJNZDJNZR2R2,DISPLPDISPLP;显示位计数修改并判断;显示位计数修改并判断8 8位显示完位显示完;否;否,未完则转未完则转DISPLPDISPLP继续继续DELAY:DELAY:MOVMOVR3R3,#05#05;

22、延时子程序(外部晶振;延时子程序(外部晶振12MHz12MHz时约为时约为;2ms2ms)DLYLP0:DLYLP0:MOVMOV R4R4,#0C8H#0C8HDLYLP1:DLYLP1:DJNZDJNZR4R4,DLYLP1DLYLP1DJNZDJNZR3R3,DLYLP0DLYLP0RETRETDISTABDISTAB:DBDB0C0H0C0H,0F9H0F9H,0A4H0A4H,0B0H0B0H,99H99H ;“0”,“1”,“2”,“3”,“4”0”,“1”,“2”,“3”,“4”的字模的字模DBDB92H92H,82H82H,0F8H0F8H,80H80H,90H90H ;“5”

23、,“6”,“7”,“8”,“9”5”,“6”,“7”,“8”,“9”的字模的字模 第21页,共49页,编辑于2022年,星期一 2 2)8 8路路8 8位位A/DA/D转换器转换器ADC0808/0809ADC0808/0809与与5151单片机的接口设计单片机的接口设计 A/DCA/DC是将输入的模拟信号转换成数字信号的器件。是将输入的模拟信号转换成数字信号的器件。ADC0808/0809ADC0808/0809是是8 8位位CMOSCMOS逐逐次逼近式次逼近式A/DA/D转换器,由转换器,由8 8位位A/DA/D转换器、转换器、8 8通道多路转换器和与微处理器兼容的控制通道多路转换器和与微

24、处理器兼容的控制逻辑组成。逻辑组成。8 8通道多路转换器能直接连通通道多路转换器能直接连通8 8个单端模拟信号中的任何一个。个单端模拟信号中的任何一个。(1 1)ADC0808/0809ADC0808/0809的内部结构及引脚功能的内部结构及引脚功能 第22页,共49页,编辑于2022年,星期一 ADC0808/0809 ADC0808/0809功能特点如下:功能特点如下:88位分辨率。位分辨率。模拟输入范围为模拟输入范围为0 05V5V,单一,单一+5V+5V供电。供电。具有锁存控制的具有锁存控制的8 8路模拟开关。路模拟开关。可锁存三态输出,输出与可锁存三态输出,输出与TTLTTL兼容。兼

25、容。最大不可调误差最大不可调误差ADC0808ADC0808小于小于1/2LSB1/2LSB,ADC0809ADC0809小于小于1LSB1LSB。不必进行零点和满度调整。不必进行零点和满度调整。转换速度取决于芯片的时钟频率。时钟频率范围:转换速度取决于芯片的时钟频率。时钟频率范围:10101280 kHz1280 kHz,当当CLKCLK500kHz500kHz时,转换速度为时,转换速度为128s128s。第23页,共49页,编辑于2022年,星期一 引脚功能介绍如下:引脚功能介绍如下:IN0 IN0IN7IN7:8 8路输入通道的模拟量输入端口。路输入通道的模拟量输入端口。2 2-1-12

26、 2-8-8:8 8位数字量输出端口。位数字量输出端口。START START,ALEALE:STARTSTART为启动控制输入端口,为启动控制输入端口,ALEALE为地址锁存控制信号端为地址锁存控制信号端口。这两个信号端可连接起来同时控制,当输入一个正脉冲,便立即启动口。这两个信号端可连接起来同时控制,当输入一个正脉冲,便立即启动A/DA/D转换。转换。EOC EOC,OEOE:EOCEOC为转换结束信号脉冲输出端口,为转换结束信号脉冲输出端口,OEOE为输出允许控制端为输出允许控制端口。口。EOCEOC电平由低变高表示电平由低变高表示A/DA/D转换结束。转换结束。OEOE端的电平由低变高

27、,则打开三态端的电平由低变高,则打开三态输出锁存器,将转换结果的数字量输出到数据总线上。该两信号亦可连结在一起方输出锁存器,将转换结果的数字量输出到数据总线上。该两信号亦可连结在一起方便控制。便控制。第24页,共49页,编辑于2022年,星期一 REF(+)REF(+),REF(-)REF(-),VccVcc,GNDGND:REF(+)REF(+)和和REF(-)REF(-)为参考电压输入端,为参考电压输入端,VccVcc为主电源输入端,为主电源输入端,GNDGND为接地端。通常为接地端。通常REF(+)REF(+)与与VccVcc、REF(-)REF(-)与与GNDGND连接在连接在一起。一

28、起。CLKCLK:时钟输人端。:时钟输人端。ADD A ADD A,B B,C C:8 8路模拟开关的三位地址选通输入端,以选择对路模拟开关的三位地址选通输入端,以选择对应的输入通道。其地址码分别为二进制数应的输入通道。其地址码分别为二进制数000000111111(对应(对应C C、B B、A A)时,)时,对应的输入通道对应的输入通道IN0IN0IN7IN7选通。选通。第25页,共49页,编辑于2022年,星期一 (2 2)ADC0808/0809ADC0808/0809与与5151系列单片机接口的系列单片机接口的I/OI/O方式方式 ADC0808/0809 ADC0808/0809与与

29、5151系列单片机接口的系列单片机接口的I/OI/O方式有三种,即:无条件传送方式方式有三种,即:无条件传送方式(即等待延时方式)、程序查询方式和中断方式。(即等待延时方式)、程序查询方式和中断方式。(3 3)无条件传送方式设计方案)无条件传送方式设计方案 设计任务设计任务 以以ADC0808/0809ADC0808/0809与与5151系列单片机组成一个模系列单片机组成一个模/数转换电路,并编制完数转换电路,并编制完成采用无条件传送方式分别对成采用无条件传送方式分别对8 8路模拟信号轮流采样一次,并依次把结果路模拟信号轮流采样一次,并依次把结果转存到内部数据存储区的采样转换程序。转存到内部数

30、据存储区的采样转换程序。硬件电路硬件电路 第26页,共49页,编辑于2022年,星期一第27页,共49页,编辑于2022年,星期一 程序清单程序清单 在编制程序时,令在编制程序时,令P2.7P2.7A15A150 0,而,而A0A0、A1A1、A2A2给出被选择模拟通道的地给出被选择模拟通道的地址。址。以以 MOVXMOVX指令执行一条输出指令,由于指令中含有指令执行一条输出指令,由于指令中含有 P2.7P2.7A15A150 0 和信号和信号为低电平,则经或非门产生正脉冲作为为低电平,则经或非门产生正脉冲作为STARTSTART和和ALEALE信号,以启动信号,以启动A/DA/D转换,转换,

31、而而MOVXMOVX指令通过指令通过P0P0口送出通道地址,并在指令送出的口送出通道地址,并在指令送出的ALEALE信号配合下锁存在信号配合下锁存在74LS37374LS373锁存器中,以选通相应通道;同样的道理,执行一条输入指令,锁存器中,以选通相应通道;同样的道理,执行一条输入指令,则读取则读取A/DA/D转换结果。转换结果。由于采用无条件传送方式(即等待延时方式)完成数据输入由于采用无条件传送方式(即等待延时方式)完成数据输入任务,故当启动任务,故当启动A/DA/D转换后,须采用软件延时等待的方式等待转换后,须采用软件延时等待的方式等待A/DA/D转换的结束,转换的结束,然后接收转换好的

32、数据。然后接收转换好的数据。第28页,共49页,编辑于2022年,星期一ADSUB:ADSUB:MOVMOVR1,#DATAADR1,#DATAAD;置存储数据区首地址;置存储数据区首地址MOVMOVDPTR,#7FF8HDPTR,#7FF8H;让;让P2.7P2.70 0,并指向,并指向0 0通道通道MOVMOVR2,#08HR2,#08H;置通道计数器初值(共;置通道计数器初值(共8 8通道)通道)ADLOP:ADLOP:MOVXMOVXDPTR,ADPTR,A;启动;启动A/DA/D转换转换MOVMOVR3,#20HR3,#20H;软件延时(若晶振为;软件延时(若晶振为6MHz6MHz,

33、则,则;最大转换时间须;最大转换时间须128S128S)ADDELY:ADDELY:DJNZDJNZR3,ADDELYR3,ADDELYMOVXMOVXA,DPTRA,DPTR;读取转换结果;读取转换结果MOVMOVR1,AR1,A;存储数据;存储数据INC INC DPTRDPTR;指向下一个通道;指向下一个通道INCINCR1R1;修改数据区指针;修改数据区指针DJNZDJNZR2,LOOPR2,LOOP;8 8个通道全采样完了吗个通道全采样完了吗?第29页,共49页,编辑于2022年,星期一(4)程序查询传送方式设计方案 (4 4)程序查询传送方式设计方案)程序查询传送方式设计方案 实验

34、任务实验任务 以以ADC0808/0809ADC0808/0809与与5151系列单片机组成一个模系列单片机组成一个模/数转换电路,并编制完数转换电路,并编制完成采用查询方式分别对成采用查询方式分别对8 8路模拟信号轮流采样一次,并依次把结果转存到内部数据路模拟信号轮流采样一次,并依次把结果转存到内部数据存储区的采样转换程序。存储区的采样转换程序。硬件电路硬件电路 第30页,共49页,编辑于2022年,星期一第31页,共49页,编辑于2022年,星期一 程序清单程序清单 与编制无条件传送方式的程序类同,这里仍令与编制无条件传送方式的程序类同,这里仍令P2.7P2.7A15A150 0,而,而A

35、0A0、A1A1、A2A2给出被选择模拟通道的地址,以执行一条给出被选择模拟通道的地址,以执行一条MOVXMOVX输出指令以启动输出指令以启动A/DA/D转换,以执行一条转换,以执行一条MOVXMOVX输入指令来读取输入指令来读取A/DA/D转换结果。与无条件传送方式唯转换结果。与无条件传送方式唯一不同的是,这里在启动一不同的是,这里在启动A/DA/D转换后,不是采用软件延时等待的方式等待转换后,不是采用软件延时等待的方式等待A/DA/D转换的结束并接收数据,而是能动地查询转换结束与否的信息(转换的结束并接收数据,而是能动地查询转换结束与否的信息(EOCEOC信信号),当查询到转换已结束时,则

36、接收转换好的数据。号),当查询到转换已结束时,则接收转换好的数据。第32页,共49页,编辑于2022年,星期一ADSUB:ADSUB:MOVMOVR1,#DATAADR1,#DATAAD;置存储数据区首地址;置存储数据区首地址MOVMOVDPTR,#7FF8HDPTR,#7FF8H;P2.7P2.70 0,且指向通道,且指向通道0 0MOVMOVR2,#08HR2,#08H;置通道计数器初值:;置通道计数器初值:8 8通道通道ADLOP:ADLOP:MOVXMOVXDPTR,ADPTR,A;启动;启动A/DA/D转换转换MOVMOVA,P1A,P1;取;取P1P1口信息,以备查询口信息,以备查

37、询EOCEOC;电平;电平ADSTAT:ADSTAT:JNBJNBACC.0,ADSTATACC.0,ADSTAT;ACC.0ACC.0映射的是映射的是P1.0P1.0即即EOCEOC;的电平信;的电平信号,若其不为高号,若其不为高;电平则;电平则A/DA/D转换尚未结束,转换尚未结束,;须继续等待;须继续等待MOVXMOVXA,DPTRA,DPTR;读取转换结果;读取转换结果MOVMOVR1,AR1,A;存储数据;存储数据INC INC DPTRDPTR;指向下一个通道;指向下一个通道INCINCR1R1;修改数据区指针;修改数据区指针DJNZDJNZR2,LOOPR2,LOOP;8 8个通

38、道全采样完了吗个通道全采样完了吗?第33页,共49页,编辑于2022年,星期一 (5 5)中断传送方式设计方案)中断传送方式设计方案 实验任务实验任务 以以ADC0808/0809ADC0808/0809与与5151单片机组成一个模单片机组成一个模/数转换电路,并编制完成采用中数转换电路,并编制完成采用中断方式分别对断方式分别对8 8路模拟信号轮流采样多次,并依次把结果转存到外部数据存路模拟信号轮流采样多次,并依次把结果转存到外部数据存储区的采样转换程序。储区的采样转换程序。硬件电路硬件电路 程序清单程序清单 将将ADC0808ADC0808作为一外部并行作为一外部并行I/OI/O口,直接由口

39、,直接由80318031的的 P2.7P2.7和脉冲启动其和脉冲启动其A/DA/D转转换,故其通道地址应为换,故其通道地址应为7FFFH7FFFH。由于读取转换结果的数据是采用中断方式,。由于读取转换结果的数据是采用中断方式,故在主程序中只须启动故在主程序中只须启动 A/DA/D转换器,而无须考虑接收数据。接收数据则应另外设转换器,而无须考虑接收数据。接收数据则应另外设计中断处理程序来完成。同时,由于采用了中断技术,程序执行过程中的逻辑连接计中断处理程序来完成。同时,由于采用了中断技术,程序执行过程中的逻辑连接要用到地址矢量。要用到地址矢量。A/DA/D转换器所须的转换器所须的CLKCLK信号

40、直接由信号直接由80318031的的ALEALE提供。提供。第34页,共49页,编辑于2022年,星期一第35页,共49页,编辑于2022年,星期一ORGORG0000H0000HBEGINBEGIN:AJMPAJMPADINITADINITORGORG0013H0013HADIPADADIPAD:AJMPAJMPADINTPADINTPORGORG0030H0030HADINITADINIT:MOVMOVSPSP,#6FH#6FHSETBSETBIT1IT1;选择为边沿触发方式;选择为边沿触发方式SETBSETBEAEA;开总的中断允许;开总的中断允许SETBSETBEX1EX1;开中断;开

41、中断MOVMOVR0R0,#00H#00H;通道地址初值送通道地址指针;通道地址初值送通道地址指针R0R0MOVMOVR1R1,#00H#00H;数据存放区首址低字节存地址指针;数据存放区首址低字节存地址指针R1R1MOVMOV20H20H,#10H#10H;数据存放区首址高字节存代用地址指针;数据存放区首址高字节存代用地址指针;20H20H;以下三指令为在主程序中首先启动;以下三指令为在主程序中首先启动A/DA/D转转;换一次,以后则在中断处理程序中启动;换一次,以后则在中断处理程序中启动;A/DA/D转换转换MOVMOVDPHDPH,#7FH#7FH;端口地址高字节送;端口地址高字节送DP

42、HDPHMOVMOVDPLDPL,R0R0;端口地址低字节送;端口地址低字节送DPLDPL第36页,共49页,编辑于2022年,星期一MOVXMOVXDIPTR,ADIPTR,A;启动转换,同时选通首通道;启动转换,同时选通首通道INCINCR0R0;修改通道地址指针值,准备下通道转换;修改通道地址指针值,准备下通道转换;主程序完成其它事务;主程序完成其它事务;A/DA/D转换中断处理程序转换中断处理程序ADINTP:ADINTP:MOVMOVDPTR,#7FFFHDPTR,#7FFFH;端口地址送;端口地址送DPTRDPTRMOVXMOVXA,DPTRA,DPTR;读取从相应通道输入的转换结

43、果;读取从相应通道输入的转换结果MOVMOVP2P2,20H20H;数据存放区首址高字节送;数据存放区首址高字节送P2P2口口MOVXMOVXR1,AR1,A;读取数据存入外部数据存储器指定区域;读取数据存入外部数据存储器指定区域INCINCR1R1;存放地址指针修改;存放地址指针修改CJNECJNER1R1,#00#00,ADINP1ADINP1;低位地址指针溢出,则高位地;低位地址指针溢出,则高位地;址指针加;址指针加1 1INCINC20H20HADINP1ADINP1:MOVMOVDPL,R0DPL,R0;端口地址低字节送;端口地址低字节送DPLDPLMOVXMOVXDPTR,ADPT

44、R,A;启动;启动A/DA/D一通道转换一通道转换INCINCR0R0;修改通道地址指针值,为下一通道转换;修改通道地址指针值,为下一通道转换;准备;准备RETIRETI第37页,共49页,编辑于2022年,星期一 3 3)SRAMSRAM存储器的应用设计存储器的应用设计 (1 1)AS7C4098AS7C4098芯片简介芯片简介 AS7C4098AS7C4098是一种采用高性能的是一种采用高性能的CMOSCMOS工艺制成的工艺制成的256K16256K16位位4444引脚的静态读写存引脚的静态读写存储器,用于高速、低功耗状况下的数据存储。当储器,用于高速、低功耗状况下的数据存储。当/CE/C

45、E处于高电平,系统进入待机模处于高电平,系统进入待机模式。在待机模式下其功耗不超过式。在待机模式下其功耗不超过110mW110mW。写周期在写信号和选片信号作用下完成,写周期在写信号和选片信号作用下完成,数据在写信号和选片信号的上升沿之前通过输入口数据在写信号和选片信号的上升沿之前通过输入口I/O1I/O1I/016I/016写入存储器。写入存储器。为了为了避免总线竞争,应当在输出使能和写使能均无效的情况下驱动避免总线竞争,应当在输出使能和写使能均无效的情况下驱动I/0I/0口。口。当输出使能当输出使能和选片信号为低,写信号为高时,才能完成读周期。当选片使能和输出使能失效,和选片信号为低,写信

46、号为高时,才能完成读周期。当选片使能和输出使能失效,读信号有效的情况下,输出驱动处于高阻模式。其特点如下:读信号有效的情况下,输出驱动处于高阻模式。其特点如下:具有具有256K16256K16位或位或512K8512K8位的存储量;位的存储量;高速存取;高速存取;低功耗;低功耗;可以按字或字节读可以按字或字节读/写控制;写控制;TTLTTL和和CMOSCMOS兼容,三态兼容,三态I/OI/O。第38页,共49页,编辑于2022年,星期一第39页,共49页,编辑于2022年,星期一第40页,共49页,编辑于2022年,星期一第41页,共49页,编辑于2022年,星期一第42页,共49页,编辑于2

47、022年,星期一六、程序分析六、程序分析目标代码程序分析的基本方法目标代码程序分析的基本方法 反汇编反汇编 首先将目标代码程序利用仿真开发器或仿真开发软件中的首先将目标代码程序利用仿真开发器或仿真开发软件中的反汇编工具进行反汇编,得到目标代码程序的初步汇编程序文反汇编工具进行反汇编,得到目标代码程序的初步汇编程序文档。档。目标代码程序中除了汇编程序外,尚有数据表以及未使用存目标代码程序中除了汇编程序外,尚有数据表以及未使用存储单元中的随机数据等,甚至还有编程者为加密而加入的陷阱。储单元中的随机数据等,甚至还有编程者为加密而加入的陷阱。由于反汇编工具并非万能的,故不能够识别,这些部分须得人为由于

48、反汇编工具并非万能的,故不能够识别,这些部分须得人为地进行甄别、剔除。地进行甄别、剔除。第43页,共49页,编辑于2022年,星期一 模块识别划分模块识别划分 首先,从矢量地址开始,找出关键程序模块的入口地址,并首先,从矢量地址开始,找出关键程序模块的入口地址,并由此找到关键程序模块,如:主程序、中断处理程序、串由此找到关键程序模块,如:主程序、中断处理程序、串行通讯程序、定时中断程序等。寻找过程可借用仿真工具行通讯程序、定时中断程序等。寻找过程可借用仿真工具中提供的中提供的“搜索搜索”、“查找查找”工具。工具。从每个模块入口开始,搜索该模块的结尾和分支,最终从每个模块入口开始,搜索该模块的结

49、尾和分支,最终划分出该模块的范围,作出标记。主程序是以最后一个划分出该模块的范围,作出标记。主程序是以最后一个转向主程序入口的转移指令为结尾;而各个中断程序或转向主程序入口的转移指令为结尾;而各个中断程序或子程序则以子程序则以“RETI”“RETI”、“RET”“RET”结尾。结尾。六、程序分析六、程序分析第44页,共49页,编辑于2022年,星期一六、程序分析六、程序分析 模块识别划分(续)模块识别划分(续)在每个模块中搜索该模块的分支时,注意搜索各条件转移指令。在每个模块中搜索该模块的分支时,注意搜索各条件转移指令。注意,每个模块并非是完全顺序地集中在一个程序块中,注意,每个模块并非是完全

50、顺序地集中在一个程序块中,其完全有可能通过转移指令分散于不同区域中。其完全有可能通过转移指令分散于不同区域中。尔后,在每个模块中搜索调用指令(如:尔后,在每个模块中搜索调用指令(如:5151系列中的系列中的LCALLLCALL、ACALLACALL),由此找出那些下一层、再下一层的子程序。),由此找出那些下一层、再下一层的子程序。第45页,共49页,编辑于2022年,星期一六、程序分析六、程序分析 模块识别划分(续)模块识别划分(续)在所有或相关模块中搜索在所有或相关模块中搜索MOVCMOVC指令,分析该指令取数据的地指令,分析该指令取数据的地址,进一步分析该地址区域的首地址以及偏移量可能达到

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁