📄 51
字号:
C51 COMPILER V8.18 WXMKTEST 01/04/2010 16:33:34 PAGE 1
C51 COMPILER V8.18, COMPILATION OF MODULE WXMKTEST
OBJECT MODULE PLACED IN WXMKTEST.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE WXMKTEST.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "reg52.h"
2 #include <intrins.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5 uchar i,j;
6 sbit P2_7=P2^7;
7 sbit fmq=P3^6;
8 sbit P3_7=P3^7;
9
10 void delay1ms(unsigned int i)
11 {
12 1
13 1 unsigned char j;
14 1 while(i--)
15 1 {
16 2 for(j=0;j<115;j++) //1ms基准延时程序
17 2 {
18 3 ;
19 3 }
20 2
21 2
22 2 }
23 1
24 1 }
25
26 void delay500us()
27 {
28 1
29 1 unsigned char j;
30 1
31 1 for(j=0;j<57;j++) //500us基准延时程序
32 1 {
33 2 ;
34 2 }
35 1 }
36
37 void beep() //产生1KHZ频率声音的函数
38 {
39 1 fmq=0;
40 1 delay500us();
41 1 fmq=1;
42 1 delay500us();
43 1
44 1 }
45 void beep1()
46 {
47 1 uint k;
48 1 for(k=0;k<500;k++)
49 1 {
50 2 beep();
51 2
52 2 }
53 1 fmq=1;
54 1 delay1ms(500);
55 1
C51 COMPILER V8.18 WXMKTEST 01/04/2010 16:33:34 PAGE 2
56 1 }
57
58
59
60
61
62 void main(void)
63 {
64 1 P2_7=0;//开数码管显示 选通左右侧的数码管
65 1 P0=0xc0; //初始显示数字0
66 1 while(1){
67 2 P1=0xff; //P1口设置为输入状态 先全部写1
68 2 i=P1;//赋值给临时存贮变量
69 2
70 2 i=i&0x0f; //和0x0f相与 屏蔽高四位,读取无线遥控码
71 2
72 2 if (i==0x04)//如果是0x04,则代表无线遥控器的按键A按下,执行显示
73 2 {
74 3 P0=0x88; //字母A的字型码
75 3 beep1();
76 3 }
77 2 if (i==0x01)//如果是0x01,则代表无线遥控器的按键b按下,执行显示
78 2 {
79 3 P0=0x83;//字母b的字型码
80 3 fmq=1;
81 3 }
82 2 if (i==0x08)//如果是0x08,则代表无线遥控器的按键C按下,执行显示
83 2 {
84 3 P0=0xc6;//字母C的字型码
85 3 P3_7=1;//继电器吸合
86 3 }
87 2 if (i==0x02)//如果是0x02,则代表无线遥控器的按键d按下,执行显示
88 2 {
89 3 P0=0xa1;//字母d的字型码
90 3 P3_7=0; //继电器释放
91 3 }
92 2 }
93 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 122 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
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 + -