1. 關於用一個51單片機對脈沖計數的程序
這是剛編的程序!你相應的把計數按鈕換成紅外接收對管來作為計數按鈕,低電頻計一次數!就是說平、P3.0要從高變為地就記一次數!我沒有用過紅外對管所以只能說這么多了!我用的是8951,引腳一樣的!PROTEUS已經模擬過了!
start:mov 50h,#00h
mov 51h,#00h
mov 52h,#00h
mov r1,#00h
acall main
jnb p3.1,aa
sjmp start
aa:jNb p3.0,bb
jnb p3.2,ll
acall main
sjmp aa
bb:acall nbcd
acall main
inc r1
cjne r1,#100,ww
sjmp mm
WW:jb p3.0,aa
acall main
sjmp ww
ll: jnb p3.1,aa
call main
sjmp ll
mm:mov a,#0feh
mov p1,a
sjmp start
nbcd:mov a,52h
add a,#1
da a
mov 52h,a
anl a,#0fh
mov 51h,a
mov a,52h
swap a
anl a,#0fh
mov 50h,a
ret
main:mov r0,#50h
mov r3,#01h
cc :mov a,r3
mov p2,a
mov a,@r0
mov dptr,#tab
movc a,@a+dptr
mov p0,a
mov a,r3
acall delay
jb acc.1,dd
rl a
mov r3,a
inc r0
ljmp cc
dd:ret
tab: db 0c0h,0f9h,0a4h,0b0h,99h
db 92h,82h,0f8h,80h,90h
ret
delay:mov r7,#0fh
d1:mov r6,#0fh
dl6:djnz r6,dl6
djnz r7,d1
ret
end
2. 求51單片機1秒鍾脈沖計數C語言程序
單片機的系統時間為晶振頻率的12分之一,如果晶振是12兆赫茲,那麼單片機最小系統時間就是1us,所以可以用_nop_();指令達到精確延時,這條語句執行1次系統時間,具體的網路下就行了。
至於你說的1s,時間比較長,不適合用定時器,那麼可以用嵌套循環語句,for、while、do while,要注意循環時使用不同的變數類型,所消耗的時間也不同。網路下proteus,這個是能將keil生成的c工程文件進行軟體模擬的一個軟體,和multisim一樣很簡單,裡面有示波器,用示波器看模擬時間,自己用循環和_nop_()指令湊1秒出來就行了
3. 脈搏計數器的程序(用C語言編寫程序)
#include <reg51.h>
unsigned char i,j,t,m,DelayTime,DispBuf[3];
unsigned int n,mb;
unsigned char code
BitTab[3]={0xf7,0xef,0xdf};//位驅動碼
unsigned char code
DispTab[10]={0x81,0xcf,0x92,0x86,0xcc,0xa4,0xa0,0x8f,0x80,0x84};//字形碼
sbit P3_0=P3^0;
void delay(DelayTime);
main() //主程序
{
TMOD=0x01; //定時器T0工作於方式1
TH0=0xec;
TL0=0x78; //T0定時時間為5ms
IE=0X83; //開中斷
IT0=1; //外部中斷0為邊沿觸發方式
TR0=1; //開定時器T0
for(;;) //脈搏指示燈控制
{
if(P3_0==0)
{
delay(200);
P3_0=1;
}
}
}
external0() interrupt 0//外部中斷服務程序
{
P3_0=0; //點亮指示燈
if(n==0)
mb=0;
else
mb=12000/n; //計算每分鍾脈搏數
DispBuf[2]=mb%10;//取個位數
mb=mb/10;
DispBuf[1]=mb%10;//取十位數
DispBuf[0]=mb/10;//取百位數
n=0;
}
Timer0() interrupt 1//定時中斷服務程序
{
TH0=0xec;
TL0=0x78;
t=BitTab[j];//取位值
P3=P3|0x38;//P3.3-P3.5送1
P3=P3&t; //P3.3-P3.5輸出取出的位值
t=DispBuf[j];//取出待顯示的數
t=DispTab[t];//取字形碼
P1=t; //字型碼由P3輸出顯示
j++; //j作為數碼管的計數器,取值0-2,顯示程序通過它確認顯示哪個數碼管
if(j==3)
j=0;
n++;
if(n==2000)//10秒鍾測不到心率,n復位
n=0;
}
void delay(DelayTime)//延時子程序
{
for(;DelayTime>0;DelayTime--)
{
for(i=0;i<250;i++)
;
}
}
4. 哪位大神有Pulse Sensor脈搏感測器51單片機的程序,有的請發我一份,[email protected],不勝感激!!
1、節氣門位置感測器
作用:節氣門位置感測器是監測節氣門開啟角度的大小,確定怠速,全負荷及加減速工況,以實施與節氣門開度狀態
相對應的各種噴油量控制。失效影響:怠速忽高忽低,或造成飛車現象。
2、進氣門壓力感測器
作用:進氣壓力感測器是提供發動機負荷信息,即通
遇對進氣管的壓力測量,間接測量進入發動機的進氣量,再通過內部電路使進氣量轉化成電信號提供給電腦。失效影響:造成發動機不易起動,或怠速不穩。
3、進氣溫度感測器
作用:提供空氣溫度信息用於修正噴油量和點火正時。 失效影響:怠速偏低,易熄火。
4、曲軸轉角感測器
作用:是提供轉速和曲軸相位信息,為噴油正時和點火正時提供參照點。失效影響:發動機不能起動或起動後發動機突然熄火。
5、冷卻液溫度感測器
作用:是監測發動機冷卻液溫度,將之轉換為電壓信號傳送到電腦,ECU根據此信號來控制噴油量,點火正時和怠速控制。 失效影響:怠速偏低。
6、氧感測器
作用:是提供混合器濃度信息,用於修正噴油量,實現對空燃比的閉環控制,保證發動機實際的空燃比接近理論空燃比的主要元件。 失效影響:怠速不穩,耗量過大。
7、爆震感測器
作用:是提供爆震信息,用於修正點火正時,實引爆震閉環控制。 失效影響:當爆震將要發生前無法提供爆震信點,電腦接收不到信號「峰值」不能減少點火提前角,而發生爆震。
8、三元催化器
作用:三元催化器裝在排氣管中的消聲器前,可同時降低尾氣中三種污染物(一氧化碳CO、未燃碳氧化合物HC和氧化物Nox的含量,發動機的空燃比接近理論空燃比時,三元催化器轉化效率最高,當有害氣體的300℃~800℃的高溫通過三元催化器中心經附在陶瓷單體上的貴重催化發生氧化和還原反應,轉化為無害氣體。 失效影響:排出的廢氣不能達標。
5. 求單片機,c語言大神,用51單片機計一分鍾的脈沖數(用於測量一分鍾脈搏)的單片機c語言程序
模擬實例,數字頻率計(是一秒計頻率) ,改成一分鍾 就可以了。
6. 單片機的主程序,關於脈搏測量計數的,有人可以幫我解釋下這段程序么。
主函數首先初始化定時器,然後調用計數程序,然後顯示屏輸出,你應該是做畢業設計的吧
7. 求用壓電感測器和51單片機做脈搏測量計數的電路51點偏激
測脈搏的話,是中醫的設備,哈哈,中醫早該全面電子診斷了
應該是尺寸關3個點,是不?選用合適的感測器,注意三點的位置和空間大小,經過放大,輸入到單片。
看醫生把脈都沒等一分鍾這么久吧,估計是測瞬時脈搏,建議脈搏數除以時間
顯示的話,三位數顯示脈搏應該沒問題。
--------------------------------------
設計了一種基於壓電感測器以AT89S51單片機為核心構成的簡易攜帶型電子脈搏計。其設計思路是用壓電感測器把待檢測對象的脈搏跳動轉變成電信號,但是由於信號比較微弱,需要經過放大整形後才可以得到規則的脈沖波形。放大電路採用三運放高共模抑制比放大電路,將感測器的微弱信號放大。放大後的信號採用一階低通濾波電路進行整形除去雜散信號,然後經過單片機定時計數後通過解碼電路就可以從數碼管直接讀出被測對象的脈搏數了。定時由基準時間產生電路完成,它是通過555集成電路構成一個單穩觸發器來實現的。AT89S51單片機構成的控制電路在軟體的作用下控制脈搏信號放大、整形和倍頻後進入計數器的時間。該攜帶型電子脈搏計優點是製作簡單,使用元器件少,工作穩定可靠,顯示直觀,誤差不大於1%,成本低廉且能節電。
-------------------------------
以上引用《攜帶型電子脈搏計的設計》,你可以網上查查
8. 關於51單片機脈搏的編程語言
不是寫的很清楚么? timecount 是50ms計數(如果timecount = 1 總時間間隔就是1*50 =50ms timecount = 2 總時間間隔就是 2*50 = 100ms 依次類推),每隔50ms timecount 加1。 TH0 TL0是定時器的得計數寄存器的高8位和低8位,你要結合具體mcu的硬體來看了。
9. 基於51單片機的脈搏測量儀有人做過嗎
[3]單片機pulse sensor 測脈搏心率測體溫系統
實現功能:
1、通過pulse sensor 測試脈搏(其他團隊用紅外反射管方案設計的比較多)
本人掐表測試結果為74,感測器穩定情況下測試結果為73、72、74 等。
2、金屬DS18B20 溫度感測器測體溫精確到0.1 度
3、(擴展功能)如需電腦上位機將心跳圖顯示以及BMP 顯示方案的
☆已作出的實物優酷視頻演示地址:
單機版:http://v.youku.com/v_show/id_XMTUyMzIxMjMyOA==.html
無線版:http://v.youku.com/v_show/id_XMjUzNDIwNTg0MA==.html
PCB 板+安卓藍牙接收:http://v.youku.com/v_show/id_XMjY4NTc5NDc0NA==.html
10. 51單片機c語言脈沖計數並顯示程序
TMOD=0x05;
TH0=0;TL0=0;
TR0=1;
while(1)
{
a=TH0*256+TL0;
display(a);
}