資源簡介
論文加上程序都挺有,稍微修改一下就業應用了。

代碼片段和文件信息
#include
#define?uchar?unsigned?char
#define?uint?unsigned?int
#define?tube?P2?
sbit?pulse=P3^4;
sbit?led_r=P3^7;
uchar?code?led[]={0xC00xF90xA40xB00x990x920x820xF80x800x90};??//??0~9 共陽
uchar?data?sec;????// ?索引值0——>led[0]
uchar?count;
static?uchar?temp;
static?uchar?last;
uchar?time=60;?//60s?一分鐘測脈搏
uchar?cntiflag;
void?Delay(uint?i)//小于中斷時間間隔50ms
{
??uchar?abc;
???for(a=0;a????for(b=0;b<10;b++)
?????for(c=0;c<248;c++);??
}
void?LedScan(uint?t) ??//數碼管顯示
{
?? tube=0x80; ??//1管
??? P0=led[last/10]?;
????Delay(t);
tube=0;
????tube=0x40;??????????//2管
P0=led[last%10]?;
????Delay(t);
tube=0;
tube=0x10; ??//4管
??? P0=led[temp/10]?;
????Delay(t);
tube=0;
????tube=0x08;??????????//5管
P0=led[temp%10]?;
????Delay(t);
tube=0;
???
????tube=0x02; //7管
??? P0=led[sec/10]?;
????Delay(t);
tube=0;
????tube=0x01;????????//8管
P0=led[sec%10]?;
????Delay(t);
tube=0;
}
void?Freq() ?//顯示脈搏
{
last=temp;
temp=P1;
TL0=0;
}
void?Int0()interrupt?1
{
?sec=0;
?count=0;
?cnt=0;?
?led_r=1;
?TL0=0;
?TR0=1;?????//啟動定時器T0?
?TR1=1;?????//啟動定時器T???
?flag=1;
}
void?Time1Int()interrupt?3 using?2
{
??if(flag)
??{
??count++;
??LedScan(1);
??if(count==20)
??{
??? sec++;???
if(sec==time)
?{
Freq();
flag=0;
led_r=0;
? TR0=0;
?}
? count=0;
}
??}
??else LedScan(1);?
?????
}
void?main()
{???
????EA=1;? ???//打開總中斷允許
?
EX0=1;?//允許使用外中斷
IT0=1;?//選擇負跳變來觸發外中斷
????TMOD=0x17;?//T1定時器??T0計數器 ???//TMOD?D7??D6??D5??D4??D3??D2??D1??D0
TH0=0;?????//定時器T0的高8位賦初值 ?//?GATE?C/T??M1??M0?GATE?C/T?M1??M0
????TL0=0;?????//定時器T0的高8位賦初值 ?//???0????0???0??1????0???1??1???0
IP=0x01;?
ET1=1;?????//定時器T1中斷允許
? TH1=0x3c;??//定時器T1的高8位賦初值 ??裝載50ms
TL1=0xb0;??//定時器T1的高8位賦初值
????while(1)????????????//無限循環等待查詢
{ ?????
while(TF0==0)?//如果未計滿就等待
????{
????? ?if(pulse==0)??//電平為0;
??????P1=TL0;???????//計數器TL0加1后送P1口顯示
}?
TF0=0;????????//計數器溢出后,將TF0清0 ?? ?????
?
?? }
?}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-12-09?22:54??課程設計\
?????目錄???????????0??2014-11-18?13:47??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\
?????文件??????118468??2012-12-31?18:52??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\Last?Loaded?TimeCounter?.DBK
?????文件????????6419??2012-12-31?22:19??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter
?????文件??????129947??2012-12-31?22:14??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter?.DSN
?????文件????????5597??2012-12-31?22:19??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter?.LST
?????文件????????7182??2012-12-31?22:19??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter?.OBJ
?????文件?????????846??2014-11-18?13:46??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter?.PWI
?????文件????????2226??2012-12-31?22:19??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter?.c
?????文件????????8861??2012-12-31?22:19??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter.M51
?????文件????????1341??2012-12-31?22:19??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter.hex
?????文件??????????40??2012-12-31?22:19??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter.lnp
?????文件????????6706??2012-12-31?22:33??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter.plg
?????文件??????104004??2012-12-31?22:33??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter.uvgui.Administrator
?????文件??????100694??2012-12-31?21:30??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter.uvgui_Administrator.bak
?????文件????????5603??2012-12-31?22:33??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter.uvopt
?????文件???????13246??2012-04-16?18:29??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter.uvproj
?????文件????????5599??2012-12-31?21:30??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter_uvopt.bak
?????文件???????13027??2012-04-16?13:53??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\TimeCounter_uvproj.bak
?????文件?????1753434??2012-12-31?22:30??課程設計\基于AT89C51單片機的智能脈搏測試儀設計\說明.bmp
?????文件??????489046??2014-12-09?22:54??課程設計\基于AT89C51單片機的智能脈搏測試儀設計.doc
- 上一篇:VHDL習題及答案
- 下一篇:王道2019數據結構視頻鏈接.txt
評論
共有 條評論