找回密码
 注册
关于网站域名变更的通知
查看: 258|回复: 1
打印 上一主题 下一主题

单片机脉搏测量仪仪仿真加程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-14 09:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
单片机脉搏测量仪仪仿真加程序
# j! j" @) B. S8 R" h$ Q& l) I
' C" Z! V: b4 C7 y, Z  B3 d" t
6 Y) R& O5 m5 p6 d" m- [, A3 R
51单片机座的脉搏测量仪proteus仿真加程序分享,带工程文件1 A# w' K* B, K& n$ f
, o0 `+ w$ X- x. g7 I" m( @1 K/ @
仿真原理图:
0 V6 z9 F! M; b/ n* S
1 C! j* W* y$ \  O ' z3 Y0 e# c/ @1 `9 \

% x+ f2 E: M3 Z* N* Q8 Z源程序:
4 d: u6 h9 ~: [6 K- Q1 v* F9 W
4 C+ T) E+ T9 q$ U. [- ?! E0 t
% m" o- n8 ?; Y0 B

' V' y( e% d  e
+ E3 ^, P) }( U! O$ e) {4 _. K
#include <reg51.h>
# {" U7 E/ }! c' sunsigned char i,j,t,m,DelayTime,DispBuf[3];3 L, D3 W! s" N2 y# q% Q9 |: I
//单片机脉搏测量仪源程序, {, I) n2 _( P& _5 x  ~
//作者:吴汉清 ntwhq@tom.com
  E/ ]8 D/ `# Q% N" B; Lunsigned int n,mb;" f' R* m9 @0 P. D# s
unsigned char code6 K2 d5 E; \( C/ P
BitTab[3]={0xf7,0xef,0xdf};//位驱动码
2 I/ X/ z' I0 G1 t2 Z+ Ounsigned char code/ s+ ]' N' |: B6 k  w
DispTab[10]={0x81,0xcf,0x92,0x86,0xcc,0xa4,0xa0,0x8f,0x80,0x84};//字形码
. R4 T4 ?6 Y1 msbit P3_0=P3^0;
. s1 s5 M5 @! K: N  {' U* rvoid delay(DelayTime);
2 |" @9 \8 i4 ^' `/ B9 emain()         //主程序6 A7 R4 T3 p% j) ]( S( L
{        6 _+ Y/ n' A! L+ E" C
        TMOD=0x01;        //定时器T0工作于方式1
. T# M+ g3 `( ]: [, |$ I5 c        TH0=0xec;
* X% X3 c! X; q, a7 K        TL0=0x78;        //T0定时时间为5ms: l4 g  Y3 Y1 c+ x: p' b$ l% D
        IE=0X83;         //开中断) [; I; l$ f, W/ t. M
        IT0=1;           //外部中断0为边沿触发方式
9 h0 |) ?5 P) w: E: C3 c6 j        TR0=1;           //开定时器T0& E) q1 ]1 {5 e+ Q  V7 h
        for(;;)          //脉搏指示灯控制
( A; w% T  D) o8 [# X+ [        {        + G+ i- a+ {6 ~& p+ V, Q
                if(P3_0==0)
: |2 s6 I2 E) O                {
& g+ _7 K0 o7 y& S' y& Y, F5 S- y                        delay(200);
/ c. V2 |7 A# R: F3 d                        P3_0=1;
7 Q# V& ?" Q$ R/ R; [, |                }2 t" Y( Y  h3 b% W8 W
        }4 Q, J6 R" h! b; T3 p5 S' \
}
6 _. L" r/ Z7 O+ A  A4 _external0() interrupt 0//外部中断服务程序
3 o/ i0 a4 s3 I* a; B+ g" y{
: a8 a% ]" I! z* k9 S! v* T. j, }        P3_0=0;          //点亮指示灯% W9 s1 M* \. N
        if(n==0)
6 e6 s$ R1 e1 K        mb=0;) `$ @, G, ~: k' h
        else
* m9 B8 O3 N- V        mb=12000/n;      //计算每分钟脉搏数
" E3 `4 E, x2 D) E1 w2 s        DispBuf[2]=mb%10;//取个位数- m2 ^* V( N! h1 ~
        mb=mb/10;! b8 x7 u+ ~' U' g- Q
        DispBuf[1]=mb%10;//取十位数0 p8 a' C7 G/ g# X* |0 h: E4 Q! \( _9 W% |, X
        DispBuf[0]=mb/10;//取百位数
' I% k" e7 T4 i7 E) v        n=0;
/ t/ \# ?7 f0 A- a}6 l0 U" j$ `9 E( u5 n/ U
Timer0() interrupt 1//定时中断服务程序
4 Y. N. ]/ v. x0 J7 m{        9 y  A& M9 }- ~2 N$ o5 z5 N
        TH0=0xec;
( t& f' U3 P; P# X5 _        TL0=0x78;; `* N9 r; V+ I* Y
        t=BitTab[j];//取位值0 X! o! k5 z; ^5 F5 |: q
        P3=P3|0x38;//P3.3-P3.5送1. A4 S8 ]- R9 J; C/ w* B( U8 h
        P3=P3&t;   //P3.3-P3.5输出取出的位值
, n* a+ M0 J. }5 r. P7 n: q2 D        t=DispBuf[j];//取出待显示的数
/ K& {6 S- R; k7 [        t=DispTab[t];//取字形码5 j; C2 ~& @/ O; v9 X( `
        P1=t; //字型码由P3输出显示# \# F6 ^  v  D3 |( R5 V, M& x
        j++;  //j作为数码管的计数器,取值0-2,显示程序通过它确认显示哪个数码管
6 h% D) i( s1 y; V        if(j==3)( o1 \1 Q# c3 Y/ d. e7 d  P
        j=0;( p9 y& F. G/ v7 k) V) P# p# Z+ ^
        n++;: ]2 R( {, ?& Q& C9 V
        if(n==2000)//10秒钟测不到心率,n复位6 b$ I9 H9 R, R6 \& v$ s1 m+ H2 L0 n
        n=0;2 _9 E, x: V6 w5 `
}( g8 m& g: b) ?
void delay(DelayTime)//延时子程序+ I  c3 D% [1 s/ `; J; G8 G1 g
{
; O$ V" M  K; I" |        for(;DelayTime>0;DelayTime--)
2 x' p; B! r9 M. t: A9 `        {3 I5 b: k5 Q. y8 j4 s+ |( q8 [
                for(i=0;i<250;i++)  E" i/ y3 Y2 i; Q
                        ;
- D3 k+ \& ?% l/ X        }
5 t/ a/ U! k5 ~. H( E}) _' g# q5 n5 _# I- S) |
游客,如果您要查看本帖隐藏内容请回复

3 v6 y! O2 i7 F3 n; V* M9 V
* H7 J. s5 {( i2 |8 _3 K

该用户从未签到

2#
发表于 2019-1-14 15:50 | 只看该作者
看看楼主的代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-22 03:07 , Processed in 0.125000 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表