?? wqq.lst
字號:
C51 COMPILER V8.02 WQQ 02/25/2008 15:32:29 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE WQQ
OBJECT MODULE PLACED IN wqq.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE wqq.c BROWSE DEBUG OBJECTEXTEND
line level source
1 ***********************************************************************
2 // 無刷電機轉速顯示程序
3 //AT89C51單片機,12M晶振,P0口輸出段碼口,P2口輸出列掃描,4個共陽LED數碼管
4 //T0為16位20ms定時模式,T1為計數模式
5 //電機轉速rpm=計數器1s計數值count()*20
6 /************************************************************************/
7 #include <reg51.h>
*** ERROR C141 IN LINE 13 OF C:\KEIL\C51\INC\ATMEL\REG51.H: syntax error near 'sfr'
8 #define uint unsigned int
9 #define uchar unsigned char
10 uchar code dispbit[]={0x01,0x02,0x04,0x08}; //列掃描控制字
11 uchar code dispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xFF};
12 uchar dispbuf[4]={0,0,0,0};
13 uint N; //定時中斷的次數
14 unsigned long f,rpm; //電機的頻率、轉速
15 void scan(void);
16 uint count(void);
17 void delay1ms(uint t);
18
19 void main(void)
20 {
21 1 uint i;
22 1 uchar temp[4];
23 1 EA=1;ET0=1;
24 1 TH0=(65536-20000)/256;
25 1 TL0=(65536-20000)%256;
26 1 TH1=0x00;TL1=0x00;
27 1 TMOD=0x51;
28 1 TR0=1;TR1=1;
29 1
30 1 while(1)
31 1 {
32 2 rpm=20*f; //電機轉速=電機的頻率f×20
33 2 for(i=0;i<4;i++)
34 2 {
35 3 temp[i]=0;
36 3 }
37 2 i=0;
38 2 while(rpm/10)
39 2 {
40 3 temp[i]=rpm%10;
41 3 rpm=rpm/10;
42 3 i++;
43 3 }
44 2 temp[i]=rpm;
45 2 for(i=0;i<4;i++)
46 2 {
47 3 dispbuf[i]=temp[i];
48 3 }
49 2 scan();
50 2 }
51 1 }
52
53 /*tms延時*/
54 void delay1ms(uint t)
C51 COMPILER V8.02 WQQ 02/25/2008 15:32:29 PAGE 2
55 {
56 1 int m,j;
57 1 for(m=0;m<t;m++)
58 1 for(j=0;j<150;j++);
59 1 }
60
61
62 /*20ms定時中斷程序*/
63 void timer0(void) interrupt 1 using 1
64 {
65 1
66 1 TH0=(65536-20000)/256;
67 1 TL0=(65536-20000)%256;
68 1 N++;
69 1 if(N==50)
70 1 {
71 2 N=0;
72 2 f=TH1*256+TL1;
73 2 TH1=0;
74 2 TL1=0;
75 2 TR1=1;
76 2 }
77 1 TR0=1;
78 1 scan();
79 1 }
80
81 /*顯示程序*/
82 void scan(void)
83 {
84 1 uchar k;
85 1 for(k=0;k<4;k++)
86 1 {
87 2 P0=dispcode[dispbuf[k]];
88 2 P2=dispbit[k];
89 2 delay1ms(4);
90 2 P2=0x00;
91 2 }
92 1 }
C51 COMPILATION COMPLETE. 0 WARNING(S), 1 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -