VCC,16脚背光负极就接地。 LCD1602与单片机接口电路如图3-7所示。
图3-7 LCD显示电路
3.4 键盘电路模块
因为I/O口足够用,键盘设计采用线性键盘,三个引脚通过按键接地,有程序控制扫描。K2、K3、K4按键分别接到单片机的P10、P11、P12上;K2是设置上下限,按一次显示设置下限,按第二次显示设置上限,按K3进行数值加,按K4进行数值减,以便在超出限制时有报警提示。键盘电路如图3-8所示。
图3-8 键盘电路
3.5 时钟电路
时钟电路如图3-9所示,时钟电路就是振荡电路,在单片机系统的第18、19引脚上外接一个12MHz的晶振,是为了给单片机系统提供工作频率[11]。振荡电路是由两个30pF的电容和一个12MHz的晶振组成,单片机系统的工作周期通过计算是1us。
11
图3-9时钟电路
3.6 复位电路
系统上电后单片机进入工作状态,开始的=测量工作,如果需要复位,那么按下弹片K1开关,系统再次进入稳定的工作状态,重新开始测量。如果在测量时手指离开过传感器,那么就需要进行复位。C1电容的作用是:上电自动复位作用。复位电路如图3-10所示。
图3-10 复位电路
3.7 报警电路
在单片机的24引脚连接一个蜂鸣器,在测量脉搏的过程中,根据设置的上下限,当脉搏大于上限M次/分钟或小于下限N次/分钟[12],蜂鸣器进行报警。有时候会因为干扰导致蜂鸣器长时间报警,加一个开关进行控制。三极管的作用:因为从单片机端口输出的信号较小,如果直接接上蜂鸣器,可能会由于电流能力太小,蜂鸣器并不能正常工作,且会不发出声响,所以增加一个三极管对输出信号进行放大,增大功率来驱动蜂鸣器[13]。如图3-11所示。
12
图3-11报警电路
3.8 电源模块
VCC接一个DC插座,和一个自锁开关S1,使用时用USB电源线接入USB端口,DC插头插入DC插座进行供电。STC89C52RC的工作电压在5V电压下,电源电路图如图3-12所示。
图3-12 电源电路
13
4 系统软件部分设计 4.1主程序设计
主程序是程序的中心部分,能够调用子程序,系统主程序控制单片机系统按预定的运行,它是单片机系统程序的框架。系统上电后,对系统进行初始化,LCD显示并打开定时器,进入循环,开始扫描按键程序,再显示出来,再次扫描按键程序,结束程序。程序流程图如图4-1所示。
图4-1 主程序流程图
主程序:
void main() //主函数 {
InitLcd(); Tim_Init();
lcd_1602_word(0x80,16,\ //初始化显示 TR0=1;
TR1=1; //打开定时器
14
while(1) //进入循环 {
if(Key_Change) //有按键按下并已经得出键值 {
Key_Change=0; //将按键使能变量清零,等待下次按键按下 View_Change=1;
switch(Key_Value) //判断键值 }
if(View_Change)//?显示变量 {
View_Change=0;//变量清零
if(stop==0) //脉搏正常时 {
if(View_Data[0]==0x30) //最高位为0时不显示 View_Data[0]=' '; }
else //脉搏不正常(计数超过5000,也就是两次信号时间超过5s)不显示数据 {
View_Data[0]=' '; View_Data[1]=' '; View_Data[2]=' '; }
switch(View_Con) //显示函数 } } }
4.2 中断程序
定时器服务程序,定时器中初始化,定时10ms;有定时中断产生,无信号时返回到定时中断;有信号输入时,Maibo_Con就+1,当Maibo_Con不是大于等于3时,返回到定时中断;当Maibo_Con是大于等于3时,信号输入就保持了30ms,说明是脉搏信号;如果是第一个脉搏信号那么返回到定时中断继续检测第二个脉冲信号;是第二次脉冲信号是就计算两次脉冲信号的时间差,从而得到1分钟的脉搏数;在显示模块上进行显示出来。流程如图4-2所示。
15
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高中教育基于51单片机人体脉搏测量仪的设计与实现 (3)全文阅读和word下载服务。
相关推荐: