📄 io_in_out.lst
字号:
C51 COMPILER V7.06 IO_IN_OUT 06/26/2006 22:51:02 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE IO_IN_OUT
OBJECT MODULE PLACED IN io_in_out.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE io_in_out.c ROM(COMPACT) OPTIMIZE(9,SPEED) REGFILE(.\rxr_cs.ORC) BROWSE DEB
-UG OBJECTEXTEND
stmt level source
1 #include "STC89C51RC_RD_PLUS.h"
2 #include "math.h"
3 #include "intrins.h"
4
5 #define uchar unsigned char
6 #define uint unsigned int
7 #define ulong unsigned long
8
9 void input_io(void); //数字量输入处理函数
10 void jd_on(uchar x); //继电器吸合函数
11 void jd_off(uchar x); //继电器断开函数
12 extern void delay(uchar x); //短延时函数
13
14
15
16 /*以下定义开关量输出*/
17 sbit JD1=P4^0;
18 sbit JD2=P2^0;
19 sbit JD3=P2^1;
20 sbit JD4=P2^2;
21 sbit JD5=P2^3;
22 sbit JD6=P2^4;
23
24 volatile uchar OUT_IO; //输出映射寄存器
25 volatile uchar IN_IO; //输入映射寄存器
26
27 /*=====继电器线圈吸合函数=====*/
28 /* uchar x:二进制数值,位7、6*/
29 /* 未用,对应位为1时相应继电器*/
30 /* 吸合,为0时无效 */
31 /*============================*/
32 void jd_on(uchar x)
33 {
34 1 uchar i;
35 1 x=x<<2;
36 1 for(i=1;i<7;i++)
37 1 {
38 2 if(((bit)(x&0x80)))
39 2 {
40 3 switch (i)
41 3 {
42 4 case 1:{JD1=1;OUT_IO=OUT_IO|0x20;break;}
43 4 case 2:{JD2=1;OUT_IO=OUT_IO|0x10;break;}
44 4 case 3:{JD3=1;OUT_IO=OUT_IO|0x08;break;}
45 4 case 4:{JD4=1;OUT_IO=OUT_IO|0x04;break;}
46 4 case 5:{JD5=1;OUT_IO=OUT_IO|0x02;break;}
47 4 case 6:{JD6=1;OUT_IO=OUT_IO|0x01;break;}
48 4 default:{break;}
49 4 }
50 3 }
51 2 x=x<<1;
52 2 }
53 1 }
54
C51 COMPILER V7.06 IO_IN_OUT 06/26/2006 22:51:02 PAGE 2
55 /*=====继电器线圈断开函数=====*/
56 /* uchar x:二进制数值,位7、6*/
57 /* 未用,对应位为1时相应继电器*/
58 /* 断开,为0时无效 */
59 /*============================*/
60 void jd_off(uchar x)
61 {
62 1 uchar i;
63 1 x=x<<2;
64 1 for(i=1;i<7;i++)
65 1 {
66 2 if(((bit)(x&0x80)))
67 2 {
68 3 switch (i)
69 3 {
70 4 case 1:{JD1=0;OUT_IO=OUT_IO&0xdf;break;}
71 4 case 2:{JD2=0;OUT_IO=OUT_IO&0xef;break;}
72 4 case 3:{JD3=0;OUT_IO=OUT_IO&0xF7;break;}
73 4 case 4:{JD4=0;OUT_IO=OUT_IO&0xFb;break;}
74 4 case 5:{JD5=0;OUT_IO=OUT_IO&0xfd;break;}
75 4 case 6:{JD6=0;OUT_IO=OUT_IO&0xfe;break;}
76 4 default:{break;}
77 4 }
78 3 }
79 2 x=x<<1;
80 2 }
81 1 }
82
83
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 164 ----
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 + -