资源简介
单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器 单片机脉搏测量器
代码片段和文件信息
#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个文件信息
- 上一篇:市边界数据shp
- 下一篇:安卓,画图、涂鸦板app
评论
共有 条评论