?? 123456.lst
字號:
C51 COMPILER V8.05a 123456 03/21/2008 08:15:32 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE 123456
OBJECT MODULE PLACED IN 123456.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE 123456.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //單片機脈搏測量儀源程序
2 #include <reg51.h>
3 unsigned char i,j,m,t,DelayTime,DispBuf[3];
4 unsigned int n,mb;
5 unsigned char code DispTab[10]={0x81,0xcf,0x92,0x86,0xcc,0xa4,0xa0,0x8f,0x80,0x84};//字形碼0~9
6 sbit P3_0=P3^0;
7 sbit P3_3=P3^3;
8 sbit P3_4=P3^4;
9 sbit P3_5=P3^5;
10 void delay(DelayTime);
11
12 void Timer0Init(void) //定時器初始化
13 {
14 1 TMOD=0x01; //定時器T0工作于方式1
15 1 TH0=0xec;
16 1 TL0=0x78; //T0定時時間為5ms
17 1 IE=0X83; //開中斷
18 1 IT0=1; //外部中斷0為邊沿觸發方式
19 1 TR0=1; //開定時器T0
20 1 }
21
22 void delay(DelayTime)//延時子程序
23 {
24 1 for(;DelayTime>0;DelayTime--)
25 1 {
26 2 for(i=0;i<250;i++)
27 2 ;
28 2 }
29 1 }
30
31 external0() interrupt 0//外部中斷服務程序
32 {
33 1 P3_0=0; //點亮指示燈
34 1 if(n==0)
35 1 mb=0;
36 1 else
37 1 mb=12000/n; //計算每分鐘脈搏數
38 1 DispBuf[2]=mb%10;//取個位數
39 1 mb=mb/10;
40 1 DispBuf[1]=mb%10;//取十位數
41 1 DispBuf[0]=mb/10;//取百位數
42 1 n=0;
43 1 //j=1;
44 1 //P3=P3|0x38;
45 1 //P3_0=1;
46 1 }
47 Timer0() interrupt 1//定時中斷服務程序
48 {
49 1 TH0=0xec;
50 1 TL0=0x78;
51 1 n++;
52 1 if(n==2000)//10秒鐘測不到心率,n復位
53 1 n=0;
54 1 }
55
C51 COMPILER V8.05a 123456 03/21/2008 08:15:32 PAGE 2
56
57 void Disp(void)//數碼管顯示函數
58 {
59 1 t=DispBuf[2];
60 1 m=DispTab[t];
61 1 P1=m;
62 1 P3_3=0 ;
63 1 delay(2);
64 1 P3_3=1;
65 1
66 1 t=DispBuf[1];
67 1 m=DispTab[t];
68 1 P1=m;
69 1 P3_4=0;
70 1 delay(2);
71 1 P3_4=1;
72 1
73 1 t=DispBuf[0];
74 1 m=DispTab[t];
75 1 P1=m;
76 1 P3_5=0;
77 1 delay(2);
78 1 P3_5=1;
79 1 }
80
81 void main(void) //主程序
82 {
83 1 Timer0Init();
84 1 while(1)
85 1 {
86 2 if(P3_0==0)
87 2 {
88 3 delay(100);
89 3 P3_0=1;
90 3 }
91 2 Disp();
92 2 }
93 1 }
94
95
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 283 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -