LED是由发光二极管构成的,也称数码显示管。在单片机系统中一般7段LED使用的较多。它有共阴极和共阳极两种连接方法,本文采用的是共阳极。共阳极LED的发光二极管阳极并接[12]。当某个发光二极管的阴极为低电平时,二极管就被点亮。
其对应关系如表1下:
表1引脚说明
D7 D6 D5 D4 D3 D2 D1 D0
dp g f e d c b a
LED显示块与单片机接口非常容易,只要将一个8位并行输出口与显示块的发光二极管引脚相连即可。8位并行输出口输出不同的字数据可显示不同的数字或字符。通常将控制发光二极管的8位字节数据称为段选码或称字形代码,公共极称为位选线。共阳极与共阴极的段选码互为补数[10]。
引脚图 共阴极 共阳极
图7 数码管及其接法
3.2.3 ADC0809与单片机的连接
图8 数模转化电路的仿真电路图
模拟信号输入通道的选择如图8所示,用单片机AT89C51的P2.0、P2.1、P2.2端口与ADC0809芯片的A、B、C相连接就可以完成模拟信号通道的选择。同时P2.6端口与ADC0809的ALE引脚相连,当P2.6输出高电平时ALE有效,此时模拟信号的通道被选中,模拟通道的地址也就随之确定。
提供有效的START信号,上图中的ADC0809芯片的START引脚与单片机的P2.3口相连接。因此只要P2.3口输出高电平,ADC0809就会开始工作。
3.2.4 报警电路
图9 报警电路图
当监测到的睡眠呼吸信号出现暂停时,且暂停的时间超过10秒时也就是说呼吸信号出现异常,此时报警电路就开始工作,就会发出报警来提醒人们通过一定的方式改善我们的睡眠,从而提高睡眠质量。
4. 系统软件设计
4.1 系统的整体流图
主程序主要进行各个中断服务子程序。首先设置看门狗定时器、关中断,单片机初始化用于每个模块,然后打开中断允许微控制器响应各种中断和报警处理,进而使微控制器进入低功耗状态等待中断。
对系统的初始化将直接关系到单片机内部资源的有效利用和系统的正常运行。睡眠呼吸暂停报警监护仪初始化模块的主要功能是完成对51单片机和各个外围模块的初始化,包括单片机的时钟振荡器设置、ADC0809初始化、定时器B初始化、液晶初始化、时钟芯片初始化等。
图10 系统流程图
4.2 呼吸信号提取
信号经过预处理之后从P6.0端口输入到单片机中,首先经过ADC0809进行A/D转换,采用单通道连续转换模式,转换后的数据经过10次平均以达到平滑波形以及减小数据量的作用。经过平均后的数据与设定的阈值进行比较,当大于阈值(1638,即1V)时,通过P1.2引脚输出低电平,表示处于不呼吸状态;当小于阈值时,P1.2引脚输出高电平,表示处于呼吸状态。通过这种方式,即可得到呼吸状态的波形,据此可以判断呼吸是否异常,异常则报警。其流程图11如下:
图11 呼吸信号的提取
4.3 时钟处理模块
本设计采用DS1302来实现实时时钟的功能,DS1302是DALLAS公司推出的串行接口实时时钟芯片。其提供了实时时钟和关键数据存储在RAM中。芯片简单易用,更少的外部连线,具有广泛的应用领域。主要功能有: 51单片机的睡眠呼吸监护控制电路设计+电路图+流程图(5):http://www.751com.cn/zidonghua/lunwen_1041.html