• 大小: 9.28MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-18
  • 语言: 其他
  • 标签:

资源简介

单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器

资源截图

代码片段和文件信息

#include 	         //调用单片机头文件
#define uchar unsigned char  //无符号字符型 宏定义 变量范围0~255
#define uint  unsigned int  //无符号整型 宏定义 变量范围0~65535
#include 


bit flag_300ms ;

uchar menu_1;           //菜单设计的变量
uchar smg_i = 3;    //显示数码管的个位数


uchar code table_num[]=“0123456789abcdefg“;

      //数码管段选定义 0     1    2    3    4    5 6  7   8    9
uchar code smg_du[]={0x140x770x4c0x440x270x820x840x870x040x05
//    A B  C   D    E   F 不显示
     0x060xa40x9c0x640x8c0x8e0xff};  //断码
uchar dis_smg[8]   ={0};

//数码管位选定义
sbit smg_we1 = P2^4;     //数码管位选定义
sbit smg_we2 = P2^5;
sbit smg_we3 = P2^6;
sbit smg_we4 = P2^7;

unsigned char i=0timecount=0displayOK=0rate=0aa=0;
unsigned int time[6]={0};


/***********************1ms延时函数*****************************/
void delay_1ms(uint q)
{
uint ij;
for(i=0;i for(j=0;j<110;j++);
}


/***********************数码位选函数*****************************/
void smg_we_switch(uchar i)
{
switch(i)
{
case 0: smg_we1 = 0;  smg_we2 = 1; smg_we3 = 1;  smg_we4 = 1; break;
case 1: smg_we1 = 1;  smg_we2 = 0; smg_we3 = 1;  smg_we4 = 1; break;
case 2: smg_we1 = 1;  smg_we2 = 1; smg_we3 = 0;  smg_we4 = 1; break;
case 3: smg_we1 = 1;  smg_we2 = 1; smg_we3 = 1;  smg_we4 = 0; break;
}
}

/***********************数码显示函数*****************************/
void display()
{
static uchar i;   
i++;
if(i >= smg_i)
i = 0;
P0 = 0xff;  //段选         
smg_we_switch(i);  //位选
P0 = dis_smg[i];  //段选         
}


/*************定时器0初始化程序***************/
void time_init()   
{
EA   = 1;     //开总中断
TMOD = 0X01;   //定时器0、定时器1工作方式1
ET0  = 1;   //开定时器0中断 
TR0  = 1;   //允许定时器0定时
}


/***********外部中断0初始化程序****************/
void init_int0()   //外部中断0初始化程序
{
EX0=1;   //允许外部中断0中断
EA=1;     //开总中断
IT0 = 1;    //外部中断0负跳变中断
}

/****************主函数***************/
void main()
{
static uint value;
time_init();                    //初始化定时器 
init_int0();   //外部中断0初始化程序
while(1)
{
value ++;
if(value >= 300)  //300ms
{
value = 0;
if(displayOK==0)//如果显示关
{
  rate = 0;
}
else//如果显示开
{
rate=60000/(time[1]+time[2]+time[3]+time[4]+time[5])/5;
}
dis_smg[0] = smg_du[rate % 10];  //显示
dis_smg[1] = smg_du[rate / 10 % 10];
dis_smg[2] = smg_du[rate / 100 % 10]; 

}
display();    //数码管显示函数
delay_1ms(1);
}
}

void int0() interrupt 0
{
EX0=0;//暂时关外部中断
if(timecount<8)   //当连续两次检测时间间隔小于8*50ms=400ms不处理
{
TR0=1;//开定时器
}
else
{
time[i]=timecount+TH0+TL0;//算出间隔时间
TH0 = 0x3c;
TL0 = 0xb0;     // 50ms  12M
timecount=0;//50ms计数清零
i++;
if(i==6)//记录到超过等于6次时间
{
i=1;//计数从1开始
}
}
EX0=1;
}

/*************定时器0中断服务程序***************/
void time0_int() interrupt 1
{
TH0 = 0x3c;
TL0 = 0xb0;     // 50ms  12M
timecount++;//每50ms一次计数
if(timecount>25)     //当超过25*50ms=1.5s没有检测到信号停止显

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    .......       180  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\Altium Designer Sunner画图软件学习视频\Altium Designer Sunner画图软件学习视频.txt

    .......       182  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\Altium Designer Sunner画图软件安装视频\Altium Designer Sunner画图软件安装视频.txt

    .......       182  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\AltiumDesignerSummer9 画图软件安装包\AltiumDesignerSummer9 画图软件.txt

    .......       157  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\C语言视频教程\C语言视频教程.txt

    .......       161  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\KEIL 软件安装视频\KEIL 软件安装视频.txt

    .......      9728  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\KEIL 软件安装视频\脉搏计  数码管.xls

    .......       173  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\keil4软件安装包 开发工具地址\开发工具.txt

    .......   2697759  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\MCU 单片机芯片资料\STC89C52RC.pdf

    .......       151  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\MCU 单片机芯片资料\单片机所有芯片51、52资料.txt

    .......     39394  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\PCB图\PCB图.png

    .......       168  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\Protel 99 软件安装包\Protel 99 软件安装包.txt

    .......       170  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\Protel 99 软件安装视频\Protel 99 软件安装视频.txt

    .......       242  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\Protel 99画图软件学习视频\Protel 99画图软件学习视频.txt

    .......       165  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\Proteus ISIS  仿真软件学习视频\Proteus仿真软件学习视频.txt

    .......       174  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\Proteus 软件安装包\Proteus 软件安装包.txt

    .......       167  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\PROTEUS仿真软件的安装方法\PROTEUS仿真软件的安装方法.txt

    .......     39424  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\任务书.doc

    .......     12800  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\使用前必读.doc

    .......       584  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\使用说明.txt

    .......      9971  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\元件清单\元件清单 脉搏计  数码管.xls

    .......     50682  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\制作过程\ST188 光电传感器\ST188光电传感器 (2).jpg

    .......     78068  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\制作过程\ST188 光电传感器\ST188光电传感器.jpg

    .......     16626  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\制作过程\三极管\NPN型原理图.jpg

    .......     10402  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\制作过程\三极管\PNP型原理图.jpg

    .......      8192  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\制作过程\三极管\Thumbs.db

    .......      3296  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\制作过程\三极管\三极管介绍.txt

    .......     19552  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\制作过程\三极管\三极管介绍说明.jpg

    .......     17239  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\制作过程\三极管\三极管引脚介绍.jpg

    .......     16763  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\制作过程\发光二极管\发光二极管.jpg

    .......      9193  2017-11-03 17:41  ##单片机脉搏计 数码管 SMG\##单片机脉搏计 数码管 SMG\制作过程\发光二极管\发光二极管1.jpg

............此处省略106个文件信息

评论

共有 条评论

相关资源