




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江苏技术师范学院毕业设计说明书(论文)可视电子听诊器软件设计毕业论文目 录序 言1第1章系统硬件介绍21.1系统框图21.2硬件设计介绍21.2.1信号调理电路的原理图21.2.2模数(A/D)转换电路31.2.3与上位机通讯电路31.3使用芯片介绍41.3.1AT89S5241.3.2MS1286461.3.3TLC0831111.3.4MAX232121.3.5静态RAM626412第2章系统软件设计132.1设计任务的分析132.2程序的总体设计132.3流程图及源程序编写142.3.1主程序152.3.2采集模块172.3.3显示模块192.3.4通讯模块232.4源程序的调试252.4.1Keil软件介绍262.4.2Keil 工程的建立262.4.3编译、连接262.4.4程序的调试、仿真262.5程序的烧录27第3章系统仿真及结果283.1Proteus软件介绍283.2Proteus环境下的电路系统设计与仿真283.3仿真结果29第4章系统操作说明304.1下位机操作说明304.2上位机操作说明31第5章全文总结33参考文献35致 谢36附 录37附录一:电路原理图37附录二:源程序38附录三:英文文献62 第40页 共42 页第1章 系统硬件介绍1.1 系统框图系统框图如图1-1所示,该采集系统由监听部分和波形显示两部分组成。具体由拾音头、信号调理电路,A/D转换电路,键盘和LCD显示电路及通讯电路等几部分组成。 1.2 硬件设计介绍1.2.1 信号调理电路的原理图信号调理电路如图1-2所示,主要由三级组成:第一级信号输入级、第二级滤波放大和第三级检波放大。 network1 network2 network3图1-2:信号调理电路1.2.2 模数(A/D)转换电路由于心音频率范围在20Hz到600Hz之间,根据香农(Shannon)采样定理,只要采样的频率高于或等于原始频率的2倍,就可以完全精确地复原原来的连续信息,那么选择的A/D转换器的转换速率应在1200Hz以上。设计中选用串行TLC0831。 心音转换成电压信号,经过调理电路转换成适宜的大小,由OUT0引脚输入到TLC0831进行模数转换,把转换后的数字量送至微处理器,供其读取、处理。接口电路如图1-3所示:1.2.3 与上位机通讯电路串口是计算机与外部设备进行数据交换的重要介质,串行数据通信以其独特的优势在当今工程应用中占有非常重要的地位。我们采用的是MAXIM 公司的集成电平转换芯片MAX232 为RS-232C/TTL电平转换芯片。它只使用单+5V电源,配接4个0.1uF电解电容即可完成RS-232电平与TTL电平之间的转换。转换完毕的串口信号TXD、RXD直接和单片机AT89S52连接。其原理图如图1-4所示:162738495J3C120.1uC150.1uC130.1uC140.1uR1 IN13R2 IN8T1 IN11T2 IN10GND15V+2V-6VCC16R1 OUT12R2 OUT9T1 OUT14T2 OUT7C1+1C1 -3C2+4C2 -5U5MAX232ACPE+5V+5VRXDTXDRXTX图1-4:RS-232C/TTl电平转换电路1.3 使用芯片介绍1.3.1 AT89S521.AT89S52主要性能 与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。2.AT89S52功能特性描述 AT89S52是一种低功耗、高性能CMOS、8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、高有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器,8K 字节在系统可编程 Flash AT89S52 。3.T89S52存储器结构MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA 接VCC,程序读写先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。数据存储器:AT89S52 有256 字节片内数据存储器。高128 字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH 的地址时,寻址方式决定CPU 访问高128 字节RAM 还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。4.I/O口介绍P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C52的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号1.3.2 MS12864LCD液晶显示器,因其具有微功耗、平板化等一系列显著特点而广泛应用于仪器仪表、计算机显示终端、各类电子显示装置等各个方面。MS12864是一种内置T6963C 控制器的图形液晶显示模块,该模块已经实现了T6963C 与行列驱动器及显示缓冲区RAM 的接口,同时也已用硬件设置了液晶屏的结构(单双屏) 、数据传输方式、显示窗口长度宽度等等。内藏T6963C 的单屏结构点阵图形液晶显示模块的方框图如图1-5所示:现在主要介绍一下它的一些特点:T6963C 是点阵式液晶图形显示控制器,它能直接与80 系列的8 位微处理器接口;T6963C 的字符字体可由硬件或软件设置,其字体有4 种:5 8、 6 8 、7 8、88;(3) T6963C 的占空比可从1/16 到1/128;(4) T6963C 可以图形方式文本方式及图形和文本合成方式进行显示以及文本方式下的特征显示还可以实现图形拷贝操作等等;(5) T6963C 具有内部字符发生器CGROM 共有128个字符T6963C 可管理64K显示缓冲区及字符发生器CGRAM 并允许MPU 随时访问显示缓冲区甚至可以进行位操作。它与MPU接口的时序如图1-6所示:指令特点:T6963C的指令可带一个或两个参数或无参数,每条指令的执行都是先送入参数(如果有的话),再送入指令代码,每次操作之前最好先进行状态字检测。T6963C的状态字如下: STA7STA6STA5STA4STA3STA2STA1STA0STA0: 指令读写状态 1:准备好 0:忙STA1: 数据读写状态 1:准备好 0:忙STA2: 准备好 0:忙STA3: 数据自动写状态 1:准备好 0:忙STA4: 未用STA5: 控制器运行检测可能性 1:可能 0:不能STA6: 屏读/拷贝出错状态 1:出错 0:正确STA7: 闪烁状态检测 1:正常显示0:关显示T6963C的指令集如下表所示:1.指针设置指令格式如下双参数:D1 D200100N2N1N0D1为第一参数,D2为第二个参数,指令代码根据N0、 N1、N2 的取值该指令有三种含义(N0 N1 N2 不能有两个同时为1)D1D2指令代码功能水平位置(低七位有效)垂直位置(低五位有效)21H(N0=1)光标指针设置地址(低五位有效)00H22H(N1=1)CGRAM 偏置地址设置低字节高字节24H(N2=1)地址指针位置(1) 光标指针设置D1 表示光标在实际液晶屏上,横向距离(字符数) D2 表示纵向距离(字符行);(2) CGRAM 偏置地址寄存器设置,设置了CGRAM 在显示64KRAM 内的高5 位地址;(3) 地址指针设置,设置将要进行操作的显示缓冲区(RAM)的一个单元地址,D1、D2 为该单元地址的低位和高位地址。2.区域设置 指令格式为:双参数:D1 D2 010000N1N0根据N1 N0 的不同取值该指令有四种指令功能形式N1N0D1D2指令代码功 能00低字节高字节40H文本区首地址01字节数00H41H文本区宽度(字节数/行)10低字节高字节42H图形区首地址11字节数00H43H图形区宽度(字节数/行)文本区和图形区首地址对应显示屏上左上角字符位或字节位,修改该地址可以产生卷动效果D1 D2 分别为该地址的低位和高位字节。文本区宽度(字节数/行)设置和图形区宽度(字节数/行)设置用于调整一行显示所占显示RAM 的字节数,从而确定显示屏与显示RAM 单元的对应关系。3.显示方式设置指令格式为无参数1000N3N2N1N0N3 字符发生器选择位。N3=1 为外部字符发生器有效此时内部字符发生器被屏蔽字符代码全部提供给外部字符发生器使用字符代码为的00H-FFH。N3=0 为CGROM 即内部字符发生器有效由于CGROM 字符代码为00H- 7FH。因此选用80H-FFH 字符时,代码时将自动选择CGRAMN2 N0 合成显示方式控制位,其组合功能如下表:N2 N1 N0合成方式0 0 0逻辑“或”合成0 0 1逻辑“异或”合成0 1 1逻辑“与”合成1 0 0文本特征当设置文本方式和图形方式均打开时,上述合成显示方式设置才有效其中的文本特征方式是指将图形区借用为文本特征区该区大小与文本区相同每个字节作为对应文本区的每个字符显示的特征包括字符显示与不显示字符闪烁及字符的负向显示。通过这种方式T6963C 可以控制每个字符的文本特征。虽然文本特征方式和图形方式不能同时使用,但是在显示缓冲区中启用文本特征方式时可在原有图形区和文本区外用图形区域设置指令另开一区作为文本特征区,以保持原图形区的数据。4. 显示开关指令格式如下无参数1001N3N2N1N0N0: 1/0 光标闪烁启用/禁止N1: 1/0 光标显示启用/禁止N2: 1/0 文本显示启用/禁止N3: 1/0 图形显示启用/禁止5. 光标形状选择指令格式如下无参数10100N2N1N0光标形状为8 点(列)N行,N的值为0-7H。6. 数据自动读写方式设置无参数101100N1N0该指令执行后MPU 可以连续地读写显示缓冲区RAM 的数据每读写一次地址指针自动增1 自动读写结束时必须写入自动结束命令以使T6963C 退出自动读写状态开始接受其它指令N1 N0 组合功能如下:N1 N0指令代码功 能0 0B0H自动写设置0 1B1H 自动读设置1 *B2H/B3H 自动读写结束7. 数据一次读写方式指令格式如下单参数:D111000N2N1N0D1 为需要写的数据,读时无此数据N2 N1 N0指令代码功 能000C0H数据写地址加1001C1H数据读地址加1010C2H数据写地址加1011C3H数据读地址减1100C4H数据写地址不变101C5H数据读地址不变8. 屏读指令格式为:无参数11100000该指令将屏上地址指针处文本与图形合成后显示的1字节内容数据送到T6963C的数据内等待MPU 读出地址指针应在图形区内设置9. 屏拷贝指令格式为无参数11101000该指令将屏上当前地址指针(图形区内)处开始的一行合成显示内容拷贝到相对应的图形显示区的一组单元内该指令不能用于文本特征方式下或双屏结构液晶显示器的应用上使用屏读屏拷贝指令时要求文本与图形的宽度设置与硬件MD2 MD3 的设置相符才能准确地定位10. 位操作无参数1111N3N2N1N0该指令可将显示缓冲区某单元的某一位清零或置1 该单元地址当前地址指针提供N3=1时,置1, N3=0时,清零N2 N0为操作位,对应该单元的D0-D7位。1.3.3 TLC0831TLC0831是8位逐次逼近电压型A/D转换器,支持单信道输入串口输出,极性设置固定,不需寻址。其内部有一采样数据比较器将输入的摸拟信号微分比较后转换为数字信号。摸拟电压的差分输入方式有利于抑制共摸信号和减少或消除转换的偏移误差。而且,电压基准输入可调,使得小范围摸拟电压信号转化时的分辨率更高。由标准移位寄存器或微处理器将时间变化的数字信号分配到串口输出,当IN-接地时为单端工作,此时IN+为输入,也可将信号差分后输入到N+与N-之间,此时器件处于双端工作状态。其主要特点如下:(1) 8位分辨率;(2) 单信道差分输入;(3) 5V的电源提供0-5V可调基准电压;(4) 输入输出可与TTL和MOS兼容;(5) 总失调误差为1SB。TLC0831工作时序如图1-7所示:图1-8:MAX232引脚图1.3.4 MAX232图1-9:RAM6264引脚图MAXIM公司的MAX232接收/发送器是MAXIM公司特别满足EIA、TEA-232E的标准而设计的。它们在EIA、TEA-232E标准串行通讯接口中日益得到广泛应用。它们具有功耗低、工作电源为单电源。外接电容仅为0.1或1uF。采用双列直插式封装形式。接收器输出为三态TTL/COMS等优越性。它是双组RS-232接收发送器,只使用单+5V电源,配接4个0.1uF电解电容即可完成RS-232电平与TTL电平之间的转换。它的波特率高,价格低,可以在一般需要串行通信的系统中使用。它的引脚如图1-8所示:1.3.5 静态RAM62646264是8K8位的静态数据存储器芯片, 采用CMOS工艺制造,为28 引脚双列直插式封装。芯片引脚如图1-9所示。第2章 系统软件设计2.1 设计任务的分析系统中核心的电路是MCU电路。在MCU电路中,需要完成系统的初始化设置及对其他电路的控制。如信号怎么采集,按键是否按下,LCD的怎么显示、显示什么,存储器的读写控制等等。系统除了MCU处理电路外,主要有以下几个部分:拾音器、信号调理电路、A/D转换电路、按键电路、存储电路和LCD显示电路。拾音器将心音信号转换成音频信号,经过调理电路处理后送入A/D转换电路;在A/D转换电路中,为了平滑采样信号,提高抗干扰能力,采用数字滤波方式(平均值滤波)。心音信号经过A/D转换后供MCU读取、处理;在按键电路中,每个按键都对应着相应的功能,这些功能需要相应的程序由MCU判断、执行;在LCD显示电路中,需要正确显示出相应的波形和菜单。这需要用程序建立相应的坐标系,确定算法。2.2 程序的总体设计进过对设计任务的分析,程序的总体设计已经很明确了。根据硬件需要完成的功能,将软件分为采集、显示和通讯三个模块。采集和键盘事件放在中断服务程序中处理。在这,我主要把程序分为以下几个部分:(1) 主程序:主程序先对系统进行初始化设置,然后判断键盘事件,协调系统各子模块的工作。初始化设置主要有:单片机的端口初始化,定时器初始化,中断初始化,等等。键盘事件判断:系统采用按键中断的方式来响应键盘,所以当有键按下时,系统就会调用键盘中断子程序,并暂时中断当前采样,进入多级菜单子程序,询问系统该做哪些操作。(2) 采集模块:在本系统设计中,采集模块中的AD转换采用了中断响应的方式。AD转换中断服务程序:系统使用定时器定时中断方式启动A/D转换。为了平滑采样信号,提高系统抗干扰能力,设计中采用了数字滤波方式。每次转换结束后,TLC0831会自动产生中断信号,通知单片机去读取采样数据,并将之保存到外部RAM中。(3) 显示模块:系统选用的LCD在图形工作方式下,通过建立坐标系,利用位操作可以实现对心音波形的逼真显示。下面详细介绍绘图编程的算法和波形显示的实现。1 绘图编程的算法:在液晶平面上建立显示坐标系。从中找出要绘点的位置,利用位操作命令对它置位就可实现绘点。 2 波形显示:我们把采集的数据存放在RAM中,RAM中共放了8K波形数据。而液晶显示器一次只能显示128个点,因此我们可以通过改变在RAM中读数间隔来控制波形的横向显示,即每显示一个数据,RAM地址加N,通过改变N的大小来拉开或回缩信号波形,以便于仔细观察。我们在LCD上每显示完一个点后,判断它与前一个点的幅值差距,即Y值差,若大于8,就要在两点之间插入若干点(X值不变,只变Y值),使两点连续起来,然后再进行下一个点的显示。利用这种方法,我们很好地实现了心音波形的连续显示。(4) 通讯模块PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC机的RS-232串行接口与外部设备进行通讯,是许多测控系统总常用的一种通信解决方案。上位机通讯:在PC机中,利用VB6.0 提供的具有强大功能的通信控件MSComm ,通过此控件PC机可以利用串行口与单片机连接,简单而高效地实现串行通信。该控件可设置串行通信的数据发送和接收,包括对串口状态、串口通信的信息格式和协议进行设置。下位机通讯:在单片机与PC机通讯中,单片机一般作为下位机,负责采集数据,并进行简单的加工。在本系统中,通讯采用异步发送方式,波特率为1200b/s,数据位为8。2.3 流程图及源程序编写2.3.1 主程序主程序首先对系统进行初始化设置,完成初始化后显示开机画面,再对按键进行判断,如果返回键按下则显示关机画面,则显示“谢谢使用”,然后进入待机模式;如果确认按键被按下后,则进入中断初始化,判断是否有其它按键按下,如果有则进行判断,并执行相应的中断服务程序。1. 系统初始化。系统初始化主要有:LCD初始化、显示寄存器初始化(清屏)、外部RAM初始化。系统初始化流程图如图2-1所示。图2-1:主程序流程图2.键盘程序。按键判断主要对确认键,返回键,向上键,向下键进行判断。其中确认键的地址为0x1f;返回键的地址为0x3d;向上键的地址为0x3b;向下键的地址为0x37。在主程序中,按键判断功能为:按下确认键后进入中断服务程序,先显示主菜单,然后判断是否有按键按下,如果没有,则一直停在主菜单画面等待按键按下。如果有按键按下,则先对按键进行识别,等待确认按键按下。经过确认后,系统进入相应的子画面,并调用相应的子程序。调用完子程序后,等待返回键按下后,再次进入主菜单,完成一次循环。键盘程序流程图如图2-2所示。2.3.2 采集模块采集程序用中断方式进行。当调用采集程序时,首先清屏并显示采集画面,这个时候LCD中间位置会显示“采集”两个汉字,然后系统进行中断初始化,初始化结束后开中断并开定时器1,这时调用A/D转换程序,A/D转换芯片开始工作,采集完毕后自动存储并判断采集是否完毕。当采集完毕后,系统关闭定时器1并关中断。采集程序流程图如图2-3所示。采集程序中主要参数选择依据如下:1. TCON=0x40 (T1开始工作)TCON为运行控制寄存器,它的高4位用于控制定时/计数器的启动和中断申请。它的的低4位用于控制外部中断。其格式如下:TF1TR1TF0TR0图2-3:采集程序流程图TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。这里不需设置。TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。在本程序中TR1=1。TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同,这里不需设置。TR0(TCON.4):T0运行控制位,其功能与TR1类同,这里不需设置。2.TMOD=0x00 定时模式,工作方式0(13位定时器)TMOD为工作方式寄存器,用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:GATAC/TM1M0GATAC/TM10M0GATE:门控位。GATE0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了或引脚为高电平这一条件。C/T:定时/计数模式选择位。C/T0为定时模式;C/T =1为计数模式。M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。M1M0=00时为方式0,方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。3.IE=0x88 外部中断0允许, 定时/计数器T1中断允许 IE为中断允许寄存器,用来控制CPU对中断系统所有中断以及某个中断源的开放和屏蔽。其格式如下:EA ET2ESET1EX1ET0EX0EX0(IE.0),外部中断0允许位;ET0(IE.1),定时/计数器T0中断允许位; EX1(IE.2),外部中断0允许位;ET1(IE.3),定时/计数器T1中断允许位;ES(IE.4),串行口中断允许位;EA (IE.7), CPU中断允许(总允许)位。4.TH1=0xe7,TL1=0x00按照香农定理,采样频率大于1200Hz,即时间小于0.83ms。取0.8ms。因为单片机振荡频率为12MHz,机器周期为1us,工作在定时方式0,则其中高8位为TH1的初值,即TH1=0xe7;低5位为TH0的初值TL1=0x00。图2-4:显示程序流程图2.3.3 显示模块显示模块是本系统比较繁琐的一个部分,它包括显示子程序、LCD初始化子程序、清屏子程序、LCD命令和数据写入子程序、汉字写入子程序。波形显示子程序等等。1. 显示程序。程序流程图见图2-4。显示程序控制着波形的放大和向后翻,其中放大分为6级,即可以看到6种大小不同的波形。拉伸最多14次,每次拉伸半个屏幕。图2-5:LCD初始化流程图图2-4:显示程序流程图2.LCD初始化流程图。LCD初始化包括文本显示区域首地址、文本显示区域宽度、图形显示区域首地址、图形显示区域宽度、光标形状、显示方式、显示开关等。具体流程图如图2-5所示。文本区和图形区首地址对应显示屏上左上角字符位或字节位, D1 D2 分别为该地址的低位和高位字节。这里都设置为0x00。图2-6:清屏程序流程图文本区宽度(字节数/行)设置和图形区宽度(字节数/行)设置用于调整一行显示所占显示RAM 的字节数,从而确定显示屏与显示RAM 单元的对应关系。这里设置为16即0x10。3.清屏程序流程图清屏子程序主要用来使LCD显示空白,为下次显示做好准备。程序首先设置首地址,即LCD显示存储器的首地址,设置循环量为8K,然后自动写入0,循环结束后关闭自动写。清屏程序流程如图2-6所示。4. LCD指令写入流程图T6963C的指令可带一个或两个参数或无参数,每条指令的执行都是先送入参数(如果有的话),再送入指令代码,每次操作之前最好先进行状态字检测。其流程如图2-7所示。5.汉字写入(图形方式)在图形方式下显示汉字是比较常用的方式。汉字库定义在程序区内,按排序定义汉字的代码。在这里,汉字的字模采用了北京精电蓬远公司提供的汉字点阵提取软件提取。汉字写入的流程如图2-8所示。 6.波形显示流程图液晶显示器一次只能显示128个点,因此我们可以通过改变在RAM中读数间隔来控制波形的横向显示,即每显示一个数据,RAM地址加N,通过改变N的大小来拉开或回缩信号波形,以便于仔细观察。我们在LCD上每显示完一个点后,判断它与前一个点的幅值差距,即Y值差,若大于8,就要在两点之间插入若干点(X值不变,只变Y值),使两点连续起来,然后再进行下一个点的显示。利用这种方法,我们很好地实现了心音波形的连续显示。具体流程如图2-9所示。2.3.4 通讯模块1. 上位机接收程序在PC机中,利用VB6.0 提供的具有强大功能的通信控件MSComm ,通过此控件PC机可以利用串行口与单片机连接,简单而高效地实现串行通信。该控件可设置串行通信的数据发送和接收,包括对串口状态、串口通信的信息格式和协议进行设置。上位机接收流程图如图2-10所示。 2. 下位机发送流程图在单片机与PC机通讯中,单片机一般作为下位机,负责采集数据,并进行简单的加工。在本系统中,通讯采用异步发送方式,波特率为1200b/s,数据位为8。其流程图如图2-11所示。其主要参数计算如下: 1. TCON=0x05(外部中断0和外部中断1采用边沿触发方式)TCON为中断请求标志寄存器,它的的低4位用于控制外部中断。其格式如下:IE1IT1IE0ITOIT0(TCON.0),外部中断0触发方式控制位。当IT0=0时,为电平触发方式。当IT0=1时,为边沿触发方式(下降沿有效)。本次设计中使用边沿触发方式,故IT0=1。IE0(TCON.1),外部中断0中断请求标志位。当检测到外部中断0存在有效中断申请时,由硬件置1,当CPU转向中断服务程序时,由硬件清0。IT1(TCON.2),外部中断1触发方式控制位。功能与IT0相同。本次设计中使用边沿触发方式,故IT0=1。IE1(TCON.3),外部中断1中断请求标志位。功能与IE0相同。2TMOD=0x20(定时模式,工作方式2)TMOD为工作方式寄存器,用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。GATE0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作。C/T0为定时模式。M1M0=10时为方式2,方式2为13位计数,自动重装初值的8位计数方式。3PCON=0 (波特率不加倍)SMOD(PCON.7) 波特率倍增位。在串行口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。复位时,SMOD=0。这里波特率不用加倍,故PCON=0。4SCON=0X50SCON 是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志。其格式如下:SM0SM1SM2RENTB8RB8TIRISM0和SM1为工作方式选择位,可选择四种工作方式。其中SM0SM1=01时串行口工作在方式1,方式1为移位寄存器输入/输出方式。SM2,多机通信控制位,当接收机的SM2=1时可以利用收到的RB8来控制是否激活RI。当SM2=0时,不论收到的RB8为0和1,均可以使收到的数据进入SBUF,并激活RI。通过控制SM2,可以实现多机通信。本设计中不需要多机通信,故SM2=0.REN,允许串行接收位。由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收。本设计中需要开始接收数据,故REN=1.TB8,在方式2或方式3中,是发送数据的第九位,可以用软件规定其作用。可以用作数据的奇偶校验位,或在多机通信中,作为地址帧/数据帧的标志位。在方式0和方式1中,该位未用。本设计中为0。RB8,在方式2或方式3中,是接收到数据的第九位,作为奇偶校验位或地址帧/数据帧的标志位。在方式1时,若SM2=0,则RB8是接收到的停止位。本设计中为0。TI,发送中断标志位。在方式0时,当串行发送第8位数据结束时,或在其它方式,串行发送停止位的开始时,由内部硬件使TI置1,向CPU发中断申请。在中断服务程序中,必须用软件将其清0,取消此中断申请。本设计中为0。RI,接收中断标志位。在方式0时,当串行接收第8位数据结束时,或在其它方式,串行接收停止位的中间时,由内部硬件使RI置1,向CPU发中断申请。也必须在中断服务程序中,用软件将其清0,取消此中断申请。本设计中为0。5TH1=0xE6,TL1=0xE6本系统振荡频率为12MHz,通信波特率为1200,波特率发生器T1工作在方式2,Smod=0,则故TH1=0xE6,TL1=0xE6。2.4 源程序的调试程序调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。程序调试的一般方法是先独立后联机、先分块后组合、先单步后连续。本次设计,使用的调试工具是Keil软件。 2.4.1 Keil软件介绍Keil 软件是目前最流行开发80C51 系列单片机的软件,Keil 提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision)将这些部份组合在一起。它支持汇编、C、PL/M语言。2.4.2 Keil 工程的建立Keil 不能直接对单个的C 语言源程序进行处理,还必须选择单片机型号;确定编译、汇编、连接的参数;指定调试的方式;而且一些项目中往往有多个文件,为管理和使用方便,Keil 使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译和连接等操作。我们建立了一个名为“dztzq”的工程,选择Atmel公司的89S52 芯片,手动把刚才编写好的源程序加入工程。对工程进行详细设置后,我们就可以对源程序进行编译、连接了。2.4.3 编译、连接 按顺序点击工具栏中的编译、连接命令按钮,编译过程中的信息将出现在输出窗口中的Build中,如果源程序中有语法错误,会有错误报告出现,双击该行,可以定位到出错的位置,对源程序修改之后再次编译。最终得到“HEX”文件。除此之外,编译、连接还产生了一些其它相关的文件,可被用于Keil 的仿真与调试,到了这一步后即进行调试。2.4.4 程序的调试、仿真我们选用了老古的仿真器(型号为lu-32k)。硬件接好后,对工程进行设置,我们选择了使用外部仿真器进行仿真,设置使用串口1(com1),波特率为57600。设置完成后,按Ctrl+F5 或者使用菜单Debug-Start/STOP Debug Session 即可进入调试状态。进入调试状态后,Debug 菜单项中原来不能用的命令现在已可以使用了,多出一个用于运行和调试的工具条,Debug 菜单上的大部份命令可以在此找到对应的快捷按钮,从左到右依次是复位、运行、暂停、单步、过程单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、串行窗口、内存窗口、性能分析、工具按钮等命令。正确地使用各项命令进行调试,结合硬件中的各个按键,在液晶显示器中就可以看到程序运行中的各项结果。2.5 程序的烧录程序经过仿真确认没有错误后,我们就可以把程序烧录到准备好的芯片中去。我们使用了拓普TOP2003编程器。下面初步介绍下TOP2003:TOP2003 型编程器具有体积小巧,功耗低 ,可靠性高的特点,是专为开发单片机和烧写各类存储器而设计的通用机型。TOP2003 采用USB通用串口与PC机连接通信,传输速率高,抗干扰性能好,可靠性能极高,而且无需外接电源,特别适电池供电的笔记本电脑外出使用。特点:可支持2.56.5V的器件;使用USB接口电源,无需外接电源;通过USB通用串口与PC机连接,传送速率12MHz/s;既适合电池供电的笔记本电脑使用,也适合台式机使用;完善的过电流保护,有效地保护编程器和器件不受损害;自动检测元件是否插好,如果插错了位置有提示;全插脚检查,可以检查出任意一个插脚的接触状态;40针万能锁紧插座;在WINDOWS98SE/ME/2000/下运行,中英文操作界面;塑料机壳,体积小,重量轻,功耗低;可自动探测厂家和型号;单片机定时,编程速度与计算机无关。烧写程序步骤:1 连接TOP2003到USB接口上,运行TOP2003.exe,TOP主窗口出现后,等待约5秒钟,绿色指示灯亮,表示一切正常,可以正常读写器件了。将需要烧写程序的芯片正确插好。2 选择烧写的程序。程序是KEIL中自动生成的HEX文件。3 选择芯片型号。先选择芯片生产厂家,然后选择具体型号。我们这里选择ATMEL公司的AT89S52。4 自动烧写程序。选择自动按钮,则开始烧写程序。第3章 系统仿真及结果在本次设计中,我们使用了Proteus软件进行系统仿真。Proteus仿真软件包含两个应用程序,其中Proteus_ISIS主要用于电路原理图的仿真,另外一个就是Proteus_ARES,用于直接将Proteus_ISIS的仿真原理图生成PCB。本任务只涉及仿真,所以只用到Proteus_ISIS。3.1 Proteus软件介绍Proteus软件是来自英国Labcenter Electronics公司的EDA工具软件,是一个电子设计的教学平台、实验平台和创新平台,涵盖了电工电子实验室电子技术实验室、单片机应用实验室等的全部功能。其革命性的功能是将电路仿真和微处理器仿真进行协同,直接在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过动态器件如电机、开关LED、LCD等,配合系统配置的虚拟仪器如示波器、逻辑分析仪等可以实时看到运行后的输入输出的效果。其主要特点如下:1.可以仿真、分析各种模拟器件和集成电路,其最大的特点是可以支持许多型号的单片机仿真,该软件的单片机仿真库里有51系列、PIC系列、AVR系列等,Proteus的仿真是基于SPICE3F5的,因此它也能像其它的EDA软件那样进行电路分析,如模拟分析、数字分析、混合信号分析、频率分析等等;2.提供了虚拟示波器、逻辑分析仪、信号发生器、计数器、电表等虚拟仪器仪表供选择使用;3.能够进行SHC原理图与PCB印制板的设计;3.能和KEIL C52等软件整合使用,以求达到更好的仿真效果。3.2 Proteus环境下的电路系统设计与仿真Proteus环境下的电路系统设计与仿真需要做好两个准备工作:电路原理图和HEX文件。其中电路原理图在Proteus_ISIS中完成,HEX已经在系统软件设计中完成。1. 准备工作电路原理图的设计:Proteus和PROTEL,EWB等软件相似,绘制原理图都要先从软件包的器件库里取出所需的元件符号并在绘图区布局好,同时编辑好元件的参数,接着进行连线,添加必要的网络标号等步骤。具体方法不再赘述,其电路原理图见附录一。程序的编制。由于在以上工作中,程序已经编写,所需要的HEX文件也已经生成。故这一步可以省去。2. 仿真在准备工作做好后,我们就可以使用Proteus进行仿真了。双击电路原理图中的AT89S52,在Program File中选择准备好的HEX文件。单击开始调试按钮,系统就开始运行了。在调试过程中,可以工具需要添加一些调试工具,如示波器,电压表等等。3.3 仿真结果经过仿真可以看到LCD已经可以正常工作了,其工作画面如图3-1至图3-5所示:第4章 系统操作说明4.1 下位机操作说明1开机。正确接入电源,系统则进入开机画面(如图3-1所示:“显示波形 回车确认” )系统进入等待按键状态,按回车键进入主菜单(如图3-2所示)。2. 采集。 把听筒放在听诊部位,选择采集命令,回车确认,进入采集画面(如图3-3所示)。图4-1:开机画面图4-2:主菜单画面 3显示。采集完毕后,自动返回主菜单,选择显示命令,回车确认,进入显示画面(如图3-4所示)。这时可以在LCD上看到心音波形。图4-4:显示画面图4-3:采集画面 4通讯。显示波形时,按返回键进入主菜单程序,选择通讯命令,进入通讯画面(如图3-5所示),如果已经把可视电子听诊器与电脑相连,而且上位机分析软件开着,则把心音数据通过串口向上位机传送数据,同时在上位机上运行VB通讯程序。图4-5:通讯画面5关机。使用完毕按关闭电源。4.2 上位机操作说明1选择开始菜单中的电子听诊器程序。进入启动界面(如4-6所示)。单击进入按钮进入上位机分析软件。单击退出按钮键退出软件。图4-6:程序启动界面2 单击进入按钮进入后,显示界面如图4-7所示。图4-7:程序主界面1) 选择仪器同计算机连接的串口。单击打开串口按钮选择打开串口。当串口打开后。圆形表示显示为红色。2) 当仪器有数据传输,并达到要求的数目,按键保存数据可以点击。单击保存数据按钮保存数据。3) 选择画图按钮可以选择保存的数据文件,然后把图形在中央区域画出。可以选择画笔颜色和背景颜色。3,操作结束后,选择退出按钮。第5章 全文总结在指导老师的指导下,毕业设计小组经过一个多月的努力,终于完成了本次毕业设计。通过毕业设计,加强了我们动手、思考和解决问题的能力。在做毕业设计的同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时的学习并不能很好的理解和运用各种知识,而且考试内容有限,所以在这次毕业设计过程中,我们复习了很多知识点,并且对其的认识更加深刻。在毕业设计中,我们还用到了几个平常没用过的芯片,这考验了我们学习新事物和查找资料的能力。平时看课本时,有时问题老是弄不懂,做完毕业设计,那些问题就迎刃而解了。而且还可以记住很多东西。比如一些芯片的功能,平时看课本,这次看了,下次就忘了,通过动手实践让我们对各个知识映象深刻。在这次毕业设计中,除了对学过的知识加深映像外,我还有有很大的收获。在毕业设计中我们遇到了很多问题,在本次毕业设计中遇到了以下几
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版卫星通信系统建设项目合同
- 2025版工业自动化控制系统设备监造与维护合同
- 2025年度网络安全产品保密协议范本
- 2025建筑工程劳务合同样本
- 2025年私人住宅渗水修复合同协议
- 2025企业合同管理指南合同履行与监督实施细则文档模板
- 语文专业知识培训心得
- 红色船员基础知识培训课件
- 红色家书课件带稿
- 企业资产保理融资合同
- GB/T 5907.4-2015消防词汇第4部分:火灾调查
- GB 31701-2015婴幼儿及儿童纺织产品安全技术规范
- 健身理论与指导课件讲义
- 浙江省科学作业本2022版四年级上册作业本参考答案
- 2023年中远海运船员管理有限公司招聘笔试题库及答案解析
- 美国共同基金SmartBeta布局及借鉴
- 企业劳动用工法律风险与防范
- 普通逻辑ppt课件(完整版)
- 2022年08月安徽省芜湖市招考大学生科技特派员岗位冲刺题(带答案)
- 国家城镇救援队伍能力建设与分级测评指南
- DB32∕T 4065-2021 建筑幕墙工程技术标准
评论
0/150
提交评论