单片机心电信号数据采集系统的设计答辩(一)(3)
2013-06-10 01:04
导读:采集信号,设计时将采样定为200 Hz,即心电数据采样周期为5ms。为此设置ADC启动方式采用定时器1溢出方式;转换采用中断方式。其主程序及数据采集程序
采集信号,设计时将采样定为200 Hz,即心电数据采样周期为5ms。为此设置ADC启动方式采用定时器1溢出方式;转换采用中断方式。其主程序及数据采集程序流程图如图4.1及4.2所示。
液晶模块软件设计
LCD 软件的设计主要包括初始化子程序和显示子程序。初始化子程序又包括清显示RAM 子程序和驱动子程序及对显示功能的设置。在进行显示之前, 应先对显示缓冲区进行清零, 也即先执行清显示RAM 子程序[21-22]; 而在对LCD 进行读写等操作之前, 必须先执行驱动子程序, 对其相应的标志位进行判断; 对显示功能的设置主要包括设置文本区首址和宽度、设置图形区首址和宽度、显示方式设置、显示开关设置等。
图形区首地址:在点阵式液晶图形显示器中,LCD屏幕上的每个显示单元对应一个地址,从左上角开始,从左到右,从上到下。在图形显示方式下,显示单元的单位是1×8点阵(即一个字节),对应于240×64的屏幕,它有240×64÷8=1920个显示单元,一屏的地址范围是0-1919。命令控制字是24H和42H。
图形区宽度:它用来调整使用的有效显示窗口宽度,表示每行可有效显示的单元数。对于240×64的显示屏,最多每行有240/8=30个显示单元。命令控制字是43H。
显示开关设置是将相应的显示方式打开,例如要显示图形,则将图形方式控制位置1。命令控制字是98H。
曲线显示的原理是将第1次A/D转换的结果在第0列显示,第2次转换的结果在第1列显示,……,第240次转换的结果在第239列显示,第241次转换在第1列显示,……,依次循环,在液晶屏幕上就会出现根据信号实时变化的心电曲线。
利用液晶显示器显示波形时,应首先建立显示坐标系,可把坐标系的原点设在显示屏的左下角处,这样可使所有点都处在第一象限内,即坐标(X,Y)的值都为正值,以使算法简化。其中X表示1~240个点,Y表示各个点所对应的幅值。幅值Y每增加1,显示缓冲区的地址将减少10H。具体公式如下: Y=X-10H(D/A) 其中D为ADC0809采集的数字量,A为该数字量缩小的倍数。这样,就可建立液晶屏面与直角坐标的一一对应关系。 如果把采集的数据放在RAM中,液晶显示器只能显示240点。为了能对采集来的数据有一个全面的了解,可以通过改变在RAM中的读数间隔来控制波形的显示,即每读完一个数据,存放数据的RAM地址便加N,然后通过设定N的大小来放大或回缩波形。在实际使用中,由于相邻两个点幅值的不同,可能会造成波形的不连续而影响视觉效果。因此,为了使波形能够连续显示,可以在显示屏每显示完一个点后,判断与前一个幅值的差距,若大于08H,则在两点之间插入若干个点以使两点连续起来,然后再进行下一个点的显示。相应操作表格说明见表4.1-4.7所示。显示程序流程图如图4.5所示。各子程序清单见附录。
(科教范文网 lw.AsEac.com编辑整理)
4.3.1 基本操作时序
读状态:输入:C/D=H,CE=L,RD=L,WR=H,输出:D0-D7=状态字
写指令:输入:C/D=H,CE=L,RD=H,WR=L,D0-D7=指令码 输出:无
读数据:输入:C/D=H,CE=L,RD=L,WR=H,输出:D0-D7=数据
写数据:输入:C/D=H,CE=L,RD=H,WR=L,D0-D7=数据 输出:无
4.3.2 状态字说明
控制器可处于两种工作状态,指令数据读写状态和连续数据读写状态。
指令数据读写状态:在此状态下,对控制器每次进行操作之前,都必须进行读写检测,确保STA0和STA1都为1。
连续数据读写状态:在此状态下,对控制器每次进行操作之前,都必须进行连续读写检测,确保STA2和STA3都为1。
4.3.3 指令写入方式
指令写入方式可分三种:无参数指令、单参数指令、双参数指令。
无参数指令:开始—读写检测—写指令—结束。
单参数指令:开始—读写检测—写数据—读写检测—写指令—结束。
双参数指令:开始—读写检测—写数据(参数一)—读写检测—写数据(参数二)—读写检测—写指令—结束。
4.3.4 指令说明
控制器内部设有一个数据地址指针,可通过它来访问内部32KRAM。
在连续指令开始后,控制器进入连续数据读写状态,以后每读写一次数据,数据地址指针自动加一,直到向控制器发出连续读写结束指令后,才能退出此状态。
在连续数据读写状态,每次读之前必须进行连续读写检测。在连续数据读写状态,不可用除连续读写结束指令外的其他指令。在连续数据读写