家用智能心率检测仪

更新时间:2023-07-19 09:46:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单片机课设,运用AT89s52,

辽 宁 工 业 大 学

单片机原理及接口技术课程设计(论文)

题目:家用智能心率检测仪

院 (系): 电气工程学院 专业班级: 学 号: 学生姓名: 指导教师: 起止时间: 2012.6.18 -2012.6.29

单片机课设,运用AT89s52,

课程设计(论文)任务及评语

院(系):电气工程学院 教研室:测控技术与仪器 注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算

单片机课设,运用AT89s52,

摘要

随着电子产业的飞速发展,电子技术产物已经涉及到各个行业,为社会的发展提供的不可磨没的贡献。当今医疗技术的发展,无疑也离不开电子技术的应用。将人体的各种信号转变为电信号,得到人体健康程度的信息。

本文介绍了以AT89S52为控制核心、压电陶瓷为传感器元件的数字人体心率检测仪的系统组成及工作原理,给出了系统硬件设计方法与软件编写程序。该检测仪能够精确完成1 min定时测量两种测量方式,并且可以以身体的不同不用进行测量,同时具有实时显示、报警、掉电存储等功能。实际应用结果表明,该检测仪具有使用方便、测量准确、成本低等优点, 为家庭医疗提供了便捷的途径,有广阔的应用前景。

关键词:心率;检测仪;压电陶瓷;单片机;

单片机课设,运用AT89s52,

目 录

第一章 绪论 ................................................................................................................................... 1 第二章 课程设计的方案 ............................................................................................................... 2

2.1概论 ............................................................................................................................... 2 2.2系统组成的整体结构 ................................................................................................... 2

2.2.1 单片机的选型 ................................................................................................... 3 2.2.2 传感器的选型 ................................................................................................... 3 2.2.3 数码管显示的选型 ........................................................................................... 3 2.2.4 键盘电路方式的选型 ....................................................................................... 3

第三章 硬件设计 ........................................................................................................................... 4

3.1整体系统硬件电路设计 ............................................................................................... 4 3.2 硬件电路系统各个单元设计 ...................................................................................... 4

3.2.1单片机的选择 .................................................................................................... 4 3.2.2 单片机最小系统设计 ....................................................................................... 5 3.2.2 传感器及信号处理硬件电路 ........................................................................... 6 3.2.3 记忆电路(AT24C02) .................................................................................... 7 3.2.4键盘电路 ............................................................................................................ 8 3.2.5报警电路 ............................................................................................................ 8 3.2.6显示电路 ............................................................................................................ 9

第四章 软件设计 ......................................................................................................................... 11

4.1 软件总体设计 ............................................................................................................ 11 4.2 部分软件程序设计 .................................................................................................... 12

4.2.1外部事件计数器程序设计 .............................................................................. 12 4.2.2 定时中断程序设计 ......................................................................................... 12 4.2.3 数码管驱动软件实现 ..................................................................................... 13 4.2.4心率程序设计流程 .......................................................................................... 13 4.2.5 键盘软件设计 ................................................................................................. 14

第五章 测 试 ................................................................................................................................ 15

5.1 误差分析 .................................................................................................................... 15

5.1.1模拟部分误差分析 .......................................................................................... 15 5.1.2 数字部分误差分析 ......................................................................................... 15

单片机课设,运用AT89s52,

第六章 总结 ................................................................................................................................. 18 参考文献 ....................................................................................................................................... 19 附 录 Ⅰ ...................................................................................................................................... 20 附 录 Ⅱ ...................................................................................................................................... 21

单片机课设,运用AT89s52,

第一章 绪论

本文介绍心率检测(人体的手部等位均能准确测量出心跳次数),再采用LED模块进行显示,同时还具有掉电存储,以AT89S52单片机,压电陶瓷片传感器为核心。

随着微电子技术的发展、计算机技术的成熟,出现了以计算机为核心的数字检测装置。这样的测量装置测量范围宽、工作方式灵活多变、适应面广。从方便快捷和经济条件许可等因素综合来看,数字电路具体很高的优越性,所以数字电子技术的发展是未来信息时代的第一选择。

心脏跳动的频率称为心率(次/分钟),心脏在周期性波动中挤压血管引起动脉管壁的弹性形变,在血管处测量此应力波得到的就是脉搏波。因为心脏通过动脉血管、毛细血管向全身供血,所以离心脏越近测得的脉搏波强度越大,反之则相反。在脉搏波最强的血管处,用手指在体外就能感应到脉搏波。随着电子技术与计算机技术的发展,脉搏测量不再局限于传统的人工测量法或听诊器测量法。利用压阻传感器对脉搏信号进行检测,并通过单片机技术进行数据处理,实现智能化的脉搏测试,同时可通过示波器对检测到的脉搏波进行观察,通过脉搏波形的对比来进行心脏的健康诊断。这种技术具有先进性、实用性和稳定性,同时也是生物医学工程领域的发展方向。考虑到脉搏波(PPG)不仅有脉搏频率参数,其中更有间接的血压、血氧饱和度等等参数,所以脉搏波的观察在医学诊断中非常重要。

但是一些大型的检测器材过于昂贵,普通老百姓也不能常常去医院检测心率,因此电子技术又开放家庭医疗市场,方便便捷了日常生活,可以坐在家里进行身体检测,一但出现问题可以及时进行处理。

本设计以单片机为主控信号,外辅少量硬件电路,完成心率测量、记忆、显示、报警等功能。首先,在系统开机时通过键盘设定系统的工作方式,然后,将压电陶瓷片检测到人体心跳信号经过放大、滤波及整形处理后输入给单片机,单片机对测量的数据进行处理,送显示电路显示。

单片机课设,运用AT89s52,

第二章 课程设计的方案

2.1概论

本次设计主要是综合应用所学知识,设计家用智能心率检测仪,并在实践的基本技能方面进行一次系统的训练。能够较全面地巩固和应用“单片机”课程中所学的基本理论和基本方法,并初步掌握小型单片机系统设计的基本方法。

应用场合: 应用于家庭与个人。

系统功能介绍: 以单片机为主控信号,外辅少量硬件电路,完成心率测量、记忆、显示、报警等功能。

技术参数:

1、心率检测范围为0~150次/min; 2、心率检测误差为1次/min;

3、心率下限为40次/min;上限为120次/min;

2.2系统组成的整体结构

图2.1 整体系统

单片机课设,运用AT89s52,

2.2.1 单片机的选型

单片机作为整个系统的控制端,选择合适的单片机是很重要的,考虑到目前单片机市场情况与应用场合的配置来看,目前Atmel公司生产单片机嵌入式控制应用系统中得到广泛应用。主要的型号为AT89C系列和AT89S系列,两款的性价比都很高并且软件程序上完全兼容,S系列的性能高于C系列,但目前C系列的单片机已经停产,所以本设计选用AT89S系列,目前广泛应用的S系列包括S51与S52,对于本设计的实际情况来说,AT89S51完全可以使用,但是为了追求高性能使用,本设计选用AT89S52.

2.2.2 传感器的选型

目前对于市场上对于心率的测量的传感器有两种:光电式传感器;压电陶瓷式传感器。相比较压电陶瓷式的传感器的测量误差小,精度高,测量方便的优点,并且目前市场上很多心率测量都选用光电式传感器,所以本系统采集更好的传感器来开辟新的市场,因此采用压电陶瓷传感器来设计。

2.2.3 数码管显示的选型

数码管显示的方式有两种:动态显示;静态显示。

静态显示就是当显示某一字符时,相应段的发光二极管恒定的导通或截止,并且显示器的各位可同时显示,静态显示时,较小的驱动电流就能得到较高的显示亮度。但是静态显示会占据很多I/O口,浪费资源。

动态显示就是一位一位的轮流点亮显示器的各个位(扫描),显示器的亮度即与导通电流有关,也与点亮时间和间隔时间的比例有关,但是只许总线I/O口,节省I/O口的资源。

对于本设计的要求,需要使用I/O口,尽量要合理安排I/O口的使用,所以本设计选用动态显示。

2.2.4 键盘电路方式的选型

键盘电路的方式有两种:独立式按键结构;矩阵式按键结构。独立式按键结构电路配置灵活,软件设计简单,在按键数量少的时候才选用此种方法;而矩阵式按键结构常使用在按键多的情况下。本设计的按键数量为四个,所以采用独立式按键结构。

单片机课设,运用AT89s52,

第三章 硬件设计

3.1整体系统硬件电路设计

硬件电路主要是心率信号检测及处理。心率信号检测及处理部分包含压电陶瓷片、放大器、滤波电路、整形电路。对待测信号进行放大的目的是降低对待测信号的幅度要求;波形变换和波形整形电路则用来将放大的信号转换成可与单片机相连的TTL信号;通过单片机的设置可使内部定时器T1对脉冲输入引脚T0进行控制,这样能精确地算出加到T0引脚的单位时间内检测到的脉冲数。硬件整体结构如图2.1所示。

将压电陶瓷片检测到人体心跳信号经过放大、滤波及整形处理后输入给单片机,单片机对测量的数据进行处理,记忆电路主要用来存储测量数据,实现掉电存储功能,送显示电路显示。本设计以单片机为主控信号,外辅少量硬件电路,完成数据处理、记忆、显示、

等功能。

3.2 硬件电路系统各个单元设计

3.2.1单片机的选择

单片机作为整个系统的控制中心,选择正确的单片机尤为重要,经过考虑本系统选择Atmel公司生产的AT89S52单片机作为控制中心,AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,这些优点使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。

图3.1 实体图

单片机课设,运用AT89s52,

图3.2 封装图

3.2.2 单片机最小系统设计

1.复位电路

复位电路是由外部的复位电路(电容串联电阻)来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路,如图所示。当时钟频率选用6MHz时,C取22μF,Rk约为1K。由图并结合"电容电压不能突变"的性质,可以知道,典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。

2.时钟电路

系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C3和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22μF。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠

单片机课设,运用AT89s52,

地工作。

图3.3 单片机最小系统

3.2.2 传感器及信号处理硬件电路

1.压电陶瓷相关知识

某些材料在机械应力作用下,引起内部正负电荷中心相对位移而发生极化,导致材料两端表面出现符号相反的束缚电荷的现象,称为压电效应。具有这种性能的陶瓷成为压电陶瓷。压电陶瓷是人制备的压电材料,它需要外加电场极化处理后才具有很强的压电效应。他的表面电荷的密度与所受的机械应力成正比。

2.心率检测处理电路

心率检测处理硬件包括前端传感器、信号放大电路、滤波电路、整形电路。将压电陶瓷片检测到人体心跳信号经过放大、滤波及整形处理后输入给单片机,单片机对测量的数据进行处理,记忆电路主要用来存储测量数据,实现掉电存储功能,并送到数码管显示电路显示。本设计以单片机为主控信号,外辅少量硬件电路,完成数据处理、记忆、显示等功能。

基于单片机的心率计的设计,它解决了传统测量方法的不准确性和随机性,能够准确的测量出人体的心率,并以数字的方式显示测量结果。文章的核心是硬件电路的设计,对选择的各芯片介绍了其主要工作原理。设计中选用压电陶瓷片将人体的脉搏信号转换为可处理的电信号,经过电路的放大、整形、滤波和变频,再输入到AT89S52单片机中,

单片机课设,运用AT89s52,

利用其定时/计数功能进行处理,从而实现人体心率的测量和数码管的显示。具体电路如下图。

图3.4 心率检测处理

检测心率脉冲信号的传感器采用压电陶瓷(在压电陶瓷片上安装一海面垫以传递脉冲信号);将采集到的心率信号经过由CD4069的3个非门组成3级放大电路进行放大,然后通过由R4、R5、C5及R7、R8、C6构成的2级梯形滤波电路进行滤波处理,即可获得人体心率范围的信号(约在0.66Hz- 3.33Hz之间);再通过由二极管D1、D2和R6构成的检测电路以及由U1F、U1D、U1E这3个非门构成的整形电路处理后,就可得到单片机所需要的标准的0-5V脉冲信号。

3.2.3 记忆电路(AT24C02)

记忆电路的功能主要储存测量数据的,实现掉电储存功能。本设计采用AT24C02芯片进行设计。AT24C02是CMOS 2048位串行E2PROM,在内部组织成256×8位。AT24C02的特点是具有允许在简单的二线总线上工作的串行接口和软件协议。

记忆存储电路见图3.6。存储芯片采用AT24C02。SDA为串行数据输入/输出引脚; SCL为串行同步时钟输入端;A0、A1及A2是片选信号输入端;TEST引脚是写保护,接地时表示不保护,测量完心率数据后想要保存时就按一下存储按键K3,单片机就给AT24C02提供合适的时钟,然后将数据存入指定地址。当然,控制字、地址和数据是分3次输入的,并且在每段之间要求AT24C02提供给单片机一个应答信号。此外,在读写数据前后要加开始和停止位。

单片机课设,运用AT89s52,

图3.5 记忆电路原理图

3.2.4键盘电路

因为I/O口够用,所以4个按键分别接到单片机的P1.2、P1.3、P1.4、P1.5 上,采用查询方式进行工作。K1、K2、K3及K4依次分别完成开始测量、查询、存测量结果及清除记忆数据等操作。键盘电路如图3.7所示。

图3.7键盘电路

3.2.5报警电路

报警电路的主要功能在于当测量值跳出正常范围,电路将实现提醒用户模式,显示一些情况告知用户出现什么状况。

对于报警电路设计比较简单,当心率低于下限和高于上限时,红灯亮,当心率在正

单片机课设,运用AT89s52,

常范围内,绿灯亮;有两种设计方案,单片机接口有限,为了节省单片机的I/O口,可以使用一个端口(使用一个口的方法有很多种),如图3.8;单片机I/O宽裕,使用两个I/O如图3.9。

图3.8 报警电路 图3.9 报警电路

3.2.6显示电路

数码管显示有两种方式:静态显示与动态显示;由于设计为了简化电路,降低成本,以此选用动态显示方式。如图3.10所示。

图3.10 数码管显示

单片机课设,运用AT89s52,

2片74LS373(锁存器)的数据输入端均接在单片机的P0口上,单片机通过P1.0和P1.1给2片74LS373提供片选信号,从而实现分时选择2片74LS373工作,分别传送段码和位码。图中3数码管个用来显示每分钟心跳次数;ULN2803是8反相驱动器,作为位增强驱动器。

如何动态显示就要使用动态扫描了,在程序中,首先显示一个数,然后关掉;然后显示第二个数,又关掉,显示第三个数,又关掉。。。直到所有要显示的个数完成,再从头开始扫描。轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

单片机课设,运用AT89s52,

第四章 软件设计

4.1 软件总体设计

软件的编写对一个系统的控制至关重要,它将教授控制芯片怎么去进行相应的动作。这是数字电子计数的一大提点。

软件的设计主要在于单片机的控制程序编写,本设计涉及到单片机内部模块有:时钟定时、事件计数、内部中断、数码管驱动显示、键盘软件编写等程序的编写。程序的功能是控制整个系统的工作,通过单片机内部的定时/计数来设置定时事件与计数数值,通过时间与数值来进行相应的动作。

图4.1 软件流程图

单片机课设,运用AT89s52,

4.2 部分软件程序设计 4.2.1外部事件计数器程序设计

前端信号(即心率检测处理信号)为0~~5V的数字脉冲信号,单片机可以识别此类信号,AT89S52内部拥有三个16为的定时/计数器,T0、T1与AT89C51完全相同,故选择T0模式2事件计数模式,模式2为八位计数模式,计数上线为256,完全满足使用范围,初始化时设置为边沿触发模式。程序流程图如下。

图4.2 计数过程

4.2.2 定时中断程序设计

心脏跳动的频率称为心率(次/分钟),根据每分钟心脏跳动的次数来判断人体的健康程度,所以需要当时间到达时候,计数器将不再工作,因此,系统需要进行一分钟的定时时间,当一分钟的时间到达后,执行中断,禁止计数器工作,心跳次数显示为恒定值不变。

图4.3 定时中断流程图

单片机课设,运用AT89s52,

4.2.3 数码管驱动软件实现

数码管的驱动方式为动态驱动,程序上的编写实现要按照扫描形式进行,先打开一个,然后关掉,在打开第二个,在关掉,依次进行,每次点亮时间很短,并且需要进行延迟一点时间。

4.2.4心率程序设计流程

测量心率有模拟和数字两种方法。模拟方法是在给定的时间间隔内计算R波(或脉搏波)的脉冲个数,然后将脉冲计数乘以一个适当的常数测量心率的。这种方法的缺点是测量误差较大、元件参数调试困难、可靠性差。数字方法是先测量相邻R波之间的时间,再将这个时间转换为每分钟的心跳数测量心率的。这种方法的优点是测量精度高、可靠性好,并且能同时测量瞬时心率和平均心率。用数字方法测量心率的电路又分为两种类型:一种是使用一个可预置的计数器实现现除法电路;另一种是通过自动下降的时钟频率测量相邻R波之间的时间。

本次设计我们采用数字方法测量瞬时心率(Intantaneous Heart Rate,IHR)时,只要测出两相邻R波之间的时间(即心率周期),再将这个心率周期转换为每分钟的心跳数。如图所示,设心率周期为T秒,则瞬时心率的计算公式为

IHR=60/T (1-1)

如果用频率为f0的时钟脉冲作为测量时间基准,在R波由高电平变成低电平的瞬间触发外部中断INT0,开始对时钟脉冲计数,当R波再由高电平变成低电平的瞬间停止记数。设计数值为N,则T=N/f0秒,故瞬时心率的计算公式为

IHR=60f0/N (1-2)

我们用的单片机的时钟频率f0=12MHz时,IHR=60×12M/N=720M/N。平均心率(Average Heart Rate)的测量是将一定时间内测得的各个瞬时心率求平均值。设测得的瞬时心率为IHR1,IHR2, ,IHRn,则平均心率的计算公式为:

AHR=(IHR1+IHR2+ + IHRn)/n (1-3)

图4.4 心率处理波形

根据瞬时心率计算公式及图4.4,瞬时心率的计算应以12MHz的时钟频率作为时间基准,测量相邻两次心跳之间的时间,然后做除法运算。因此,瞬时心率计算电路应包

单片机课设,运用AT89s52,

括一个12位的二进制计数器和一个16位的二进制除法电路。平均心率的计算应根据测量结束前最后测得的16次心率值求平均,因此心率计算电路还应包括一个能完成12位二时制数加法的电路和一个能完成12位二进制数除法的电路,这个除法运算可通过移位寄存器右移四次来实现。计数器、加法器和移位寄存器也容易实现。下面主要讨论测量的实现方法。

瞬时心率计算公式是一个抛物线函数,分母中计数值N是一个变量,这个除法运算不能通过简单的移位寄存器来实现;而设计16位二进制除法运算电路,无论采用组合电路还是采用时序电路,都将耗费很多的芯片资源。另一方面,人的正常心率为60~120跳/分钟,即使心率出现异常,也不会超过20~200跳/分钟,因此所测量的心率值只有有限个数据。这样,可根据每一个可能出现的心率值,预先求出N的变化范围,制作一张表,存入ROM中。实际测量时,再根据测到的N值,选择相应的心率数据。假设心率的变化范围为20~200,则N的变化范围为3077~300。具体情况如下表。

表1瞬时心率值IHR与计数值N的关系

4.2.5 键盘软件设计

本系统含有五个按键键钮设置,每个按钮实现不同动作,即单片机复位、开始测量、查询、存测量结果及清除记忆数据等操作。

图4.5 键盘流程图

单片机课设,运用AT89s52,

第五章 测 试

5.1 误差分析

一个系统误差的存在是并不可少的,同时误差是很难消除的,更多的是需要使误差降低到最小,以符合系统的最初设计思想,符合用户使用的需求。因此对一个系统误差的分析贵为重要。误差分析的目的就是要找出引起测量的主要原因,从而有针对性的采取措施,减少测量误差,提高测量的精确度。下面将对此系统进行误差分析。

本系统主要的误差存在模拟部分与数字部分,模拟部分包括传感器自身的误差,前端处理电路产生的误差;数字方面包括测量心率误差、软件编写定时程序、延时程序等。

5.1.1模拟部分误差分析

传感器自身误差属于系统误差,只能在硬件上尽量减低,另外也可以再后面的电路上与软件上进行修复。前端心率检测处理电路对整个系统的误差影响比较微弱,不是本系统主要误差。

5.1.2 数字部分误差分析

数字部分误差主要来源于软件程序上的编写与算法,主要分析下心率检测软件编写误差与定时/计数带来的误差。

1.心率程序误差分析

数字方法测量瞬时心率属于时域测量的测频原理,误差来源于计数器计数脉冲相对误差和标准时间相对误差两部分。

误差的传递公式

(1-4)

有误差的传递公式、(1-1)、(1-2)得

f N T (1-5)

f

N

T

1)量化误差--±误差

由前述频率测量fx=N/Ts=Nfs和周期测量Tx=NT0,可见,由于计数值N为整数,fx和Tx必然产生“截断误差”,该误差即为“量化误差”。也称为“±1误差”,它是所有数字化仪器都存在的误差。

单片机课设,运用AT89s52,

量化误差产生的原因并非由于计数值N的不准确(也并非标准频率源fs或时标T0的不准确)造成。而是由于闸门开启和关闭的时间与被测信号不同步引起(亦即开门和关门时刻与被测信号出现的时刻是随机的),使得在闸门开始和结束时刻有一部分时间零头没有被计算在内而造成的测量误差。

图 5.1 误差分析

如图,对同一被测信号,在相同的闸门时间内,计数结果不同。根据频率定义,准确的fx应为

N (1-6) f

x

T

s

t1 t2

式中,即 N 1 TX TS t1 t2 (N 1)TX

或N 1 S

t1 t2

T

N 1

x

因此,量化误差的影响相当于计数值N的“±”个字,Δt1,Δt2是随机的它们服从均匀分布,其差值Δt1-Δt2则服从三角分布。

2)闸门时间误差

机内时基(闸门时间)和时标是频率和时间间隔测量的参考基准,它们由内部晶体振荡器(标准频率源)分频或倍频后产生。因此,其准确度和测量时间之内的短期稳定度将直接影响测量结果。通常,要求标准频率误差小于测量误差的一个数量级。因此,内部晶振要求较高稳定性。若不能满足测量要求,还可外接更高准确度的外部基准源

3)表达式

由频率测量表达式:fx=N/Ts=Nfs,计数器直接测频的误差主要由两项组成:即量化误差(±1误差)和标准频率误差。总误差采用分项误差绝对值合成,即

本文来源:https://www.bwwdw.com/article/brg1.html

Top