?? send.lst
字號(hào):
C51 COMPILER V7.50 SEND 01/20/2007 10:36:05 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE SEND
OBJECT MODULE PLACED IN send.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE send.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg760.h>
2
3 #define uchar unsigned char
4 #define uint unsigned int
5
6 unsigned char code key[4][4]={{0xff,0xff,0x33,0xcc},{0xff,0xff,0xcc,0x33},{0xff,0xff,0x66,0x99},{0xff,0xff
-,0x99,0x66}}; /*串口發(fā)送的代碼*/
7
8 void init_sys(void);
9 void delay(uint);
10 void function(void);
11 void send(uchar);
12
13 uchar get_key();
14
15 /*********************************************************************************************************
-**********
16 *
17 * 函數(shù)原型 : void main(void);
18 * 功能 : 主函數(shù),每次執(zhí)行是先初始化單片機(jī),然后取得按鍵信息代碼,取完代碼單片機(jī)循環(huán)發(fā)送代碼并為單片
-機(jī)清看門狗
19 *
20 **********************************************************************************************************
-*********/
21
22 void main(void)
23 {
24 1 init_sys();
25 1 while(1)
26 1 {
27 2 delay(1000);
28 2 function();
29 2
30 2
31 2 }
32 1 }
33
34 /*********************************************************************************************************
-**********
35 *
36 * 函數(shù)原型 : void init_sys(void);
37 * 功能 : 初始化函數(shù),每次執(zhí)行是先清看門狗, 然后設(shè)置相應(yīng)的功能寄存器
38 *
39 **********************************************************************************************************
-*********/
40
41 void init_sys(void)
42 {
43 1 WDCON=0x00;
44 1 AUXR1=0x50; /*設(shè)置關(guān)掉電檢測(cè)功能*/
45 1
46 1 PCON =0x00;
47 1
48 1 P0M1 =0x78; /*設(shè)置P0.1,P0.3,P0.4,P0.5,P0.6為高阻輸入模式*/
49 1 P1M2 =0x01; /*設(shè)置P1.0位推挽強(qiáng)上來(lái)模式*/
C51 COMPILER V7.50 SEND 01/20/2007 10:36:05 PAGE 2
50 1
51 1 SCON =0x40; /*設(shè)置串口發(fā)送模式1*/
52 1 TMOD =0x20;
53 1
54 1 TH1 =0xf3; /*波特率為1250BIT/S*/
55 1 TL1 =0xf3;
56 1 TR1 =1; /*打開定時(shí)器1*/
57 1 }
58
59 /*********************************************************************************************************
-**********
60 *
61 * 函數(shù)原型 : unsigned char get_key(void);
62 * 功能 : 獲取檢值函數(shù)
63 *
64 **********************************************************************************************************
-*********/
65
66 unsigned char get_key()
67 {
68 1 uchar key=0;
69 1 key=P0&0x78; /*延時(shí)1MS然后由函數(shù)返回鍵值*/
70 1 return key;
71 1 }
72
73 /*********************************************************************************************************
-**********
74 *
75 * 函數(shù)原型 : void delay(uint i);
76 * 功能 : 延時(shí)函數(shù)
77 *
78 **********************************************************************************************************
-*********/
79
80 void delay(uint i)
81 {
82 1 while(i--); /*延時(shí)函數(shù)*/
83 1 }
84
85 /*********************************************************************************************************
-**********
86 *
87 * 函數(shù)原型 : void function(void) (uint i);
88 * 功能 : 功能函數(shù)
89 *
90 **********************************************************************************************************
-*********/
91
92 void function(void)
93 {
94 1 switch(get_key())
95 1 {
96 2 case 0x08: send(0); /*當(dāng)鍵值為key1時(shí)發(fā)送代碼1*/
97 2 break;
98 2 case 0x10: send(1); /*當(dāng)鍵值為key2時(shí)發(fā)送代碼2*/
99 2 break;
100 2 case 0x20: send(2); /*當(dāng)鍵值為key3時(shí)發(fā)送代碼3*/
101 2 break;
102 2 case 0x40: send(3); /*當(dāng)鍵值為key4時(shí)發(fā)送代碼4*/
103 2 break;
104 2 default: break;
105 2 }
C51 COMPILER V7.50 SEND 01/20/2007 10:36:05 PAGE 3
106 1 }
107
108 /*********************************************************************************************************
-**********
109 *
110 * 函數(shù)原型 : void send(uchar j);
111 * 功能 : 串口發(fā)送函數(shù)
112 *
113 **********************************************************************************************************
-*********/
114 void send(uchar j)
115 {
116 1
117 1 uchar zz;
118 1 uchar i;
119 1 for(i=0;i<=3;i++)
120 1 {
121 2 zz=key[j][i];
122 2 SBUF=key[j][i]; /*串口發(fā)送數(shù)據(jù)*/
123 2 while(TI==0);
124 2 TI=0; /*清串口中斷標(biāo)志位為0*/
125 2 delay(100);
126 2
127 2
128 2 }
129 1 }
130
131
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 150 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -