?? a.lst
字號:
C51 COMPILER V8.05a A 04/09/2008 19:51:14 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE A
OBJECT MODULE PLACED IN A.OBJ
COMPILER INVOKED BY: D:\program\Keil\C51\BIN\C51.EXE A.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /* ***************** 寫程序者 *********************
2
3 姜帥
4 QQ:18861678
5 Email:jish0709@163.com
6 手機:13459307091
7 歡迎和我聯系,溝通交流
8 ***************************************************/
9
10 # include <at89x51.h>
11
12 unsigned char codes[2][8]={{0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03}, //9,18,36,45,54,63,72,81度 順時針
13 {0x0b,0x09,0x0d,0x0c,0x0e,0x06,0x07,0x03}}; //9,18,36,45,54,63,72,81度 逆時針
14 unsigned char counts,flag,t;
15 // 度數,正/反轉,速度控制
16 delay(unsigned char x) //延時
17 {
18 1 unsigned char i;
19 1 for( i=0;i<x;i++);
20 1 }
21 main()
22 {
23 1 TMOD=0x01; //定時器初始化
24 1 TH0=(65536-5000)/256;
25 1 TL0=(65536-5000)%256;
26 1 EA=1;
27 1 ET0=1;
28 1 TR0=1;
29 1 while(1)
30 1 {
31 2 if(P0_0==0) //判斷正轉按鍵是否按下
32 2 {
33 3 delay(5);
34 3 if(P0_0==0) flag=0; //判斷是否真正按下
35 3 }
36 2 if(P0_1==0) //判斷反轉按鍵是否按下
37 2 {
38 3 delay(5);
39 3 if(P0_1==0) flag=1; //判斷是否真正按下
40 3 }
41 2
42 2 }
43 1 }
44
45 void motor() interrupt 1
46 {
47 1 t++; //控制速度
48 1 if(t==8)
49 1 {
50 2 t=0;
51 2 P1=codes[flag][counts]; //轉動
52 2 counts++;
53 2 if (counts==8) counts=0; //角度重置
54 2 }
55 1 TF0=0; //重新計時
C51 COMPILER V8.05a A 04/09/2008 19:51:14 PAGE 2
56 1 TH0=(65536-5000)/256;
57 1 TL0=(65536-5000)%256;
58 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 118 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 19 ----
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 + -