📄 osd.lst
字号:
166 =1 sbit P40oe=padmodc^0;
167 =1
168 =1 sbit P57oe=padmodd^7;
169 =1 sbit P56oe=padmodd^6;
170 =1 sbit P55oe=padmodd^5;
171 =1 sbit P54oe=padmodd^4;
172 =1 sbit P53oe=padmodd^3;
173 =1 sbit P52oe=padmodd^2;
174 =1 sbit P51oe=padmodd^1;
175 =1 sbit P50oe=padmodd^0;
176 =1
177 =1 sbit PWMF=optiona^7;
178 =1 sbit DIV253=optiona^6;
179 =1 sbit SivAbs1=optiona^5;
180 =1 sbit SivAbs0=optiona^4;
181 =1 sbit ENSCL=optiona^3;
182 =1 sbit Msel=optiona^2;
183 =1 sbit MIICF1=optiona^1;
184 =1 sbit MIICF0=optiona^0;
185 =1
186 =1 */
3 #include <reg51.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 REG51.H
3 =1
4 =1 Header file for generic 80C51 and 80C31 microcontroller.
5 =1 Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 /* BYTE Register */
10 =1 sfr P0 = 0x80;
11 =1 sfr P1 = 0x90;
12 =1 sfr P2 = 0xA0;
13 =1 sfr P3 = 0xB0;
14 =1 sfr PSW = 0xD0;
15 =1 sfr ACC = 0xE0;
16 =1 sfr B = 0xF0;
17 =1 sfr SP = 0x81;
18 =1 sfr DPL = 0x82;
19 =1 sfr DPH = 0x83;
20 =1 sfr PCON = 0x87;
21 =1 sfr TCON = 0x88;
22 =1 sfr TMOD = 0x89;
23 =1 sfr TL0 = 0x8A;
24 =1 sfr TL1 = 0x8B;
C51 COMPILER V7.01 OSD 06/10/2003 09:42:41 PAGE 5
25 =1 sfr TH0 = 0x8C;
26 =1 sfr TH1 = 0x8D;
27 =1 sfr IE = 0xA8;
28 =1 sfr IP = 0xB8;
29 =1 sfr SCON = 0x98;
30 =1 sfr SBUF = 0x99;
31 =1
32 =1
33 =1 /* BIT Register */
34 =1 /* PSW */
35 =1 sbit CY = 0xD7;
36 =1 sbit AC = 0xD6;
37 =1 sbit F0 = 0xD5;
38 =1 sbit RS1 = 0xD4;
39 =1 sbit RS0 = 0xD3;
40 =1 sbit OV = 0xD2;
41 =1 sbit P = 0xD0;
42 =1
43 =1 /* TCON */
44 =1 sbit TF1 = 0x8F;
45 =1 sbit TR1 = 0x8E;
46 =1 sbit TF0 = 0x8D;
47 =1 sbit TR0 = 0x8C;
48 =1 sbit IE1 = 0x8B;
49 =1 sbit IT1 = 0x8A;
50 =1 sbit IE0 = 0x89;
51 =1 sbit IT0 = 0x88;
52 =1
53 =1 /* IE */
54 =1 sbit EA = 0xAF;
55 =1 sbit ES = 0xAC;
56 =1 sbit ET1 = 0xAB;
57 =1 sbit EX1 = 0xAA;
58 =1 sbit ET0 = 0xA9;
59 =1 sbit EX0 = 0xA8;
60 =1
61 =1 /* IP */
62 =1 sbit PS = 0xBC;
63 =1 sbit PT1 = 0xBB;
64 =1 sbit PX1 = 0xBA;
65 =1 sbit PT0 = 0xB9;
66 =1 sbit PX0 = 0xB8;
67 =1
68 =1 /* P3 */
69 =1 sbit RD = 0xB7;
70 =1 sbit WR = 0xB6;
71 =1 sbit T1 = 0xB5;
72 =1 sbit T0 = 0xB4;
73 =1 sbit INT1 = 0xB3;
74 =1 sbit INT0 = 0xB2;
75 =1 sbit TXD = 0xB1;
76 =1 sbit RXD = 0xB0;
77 =1
78 =1 /* SCON */
79 =1 sbit SM0 = 0x9F;
80 =1 sbit SM1 = 0x9E;
81 =1 sbit SM2 = 0x9D;
82 =1 sbit REN = 0x9C;
83 =1 sbit TB8 = 0x9B;
84 =1 sbit RB8 = 0x9A;
85 =1 sbit TI = 0x99;
86 =1 sbit RI = 0x98;
C51 COMPILER V7.01 OSD 06/10/2003 09:42:41 PAGE 6
4 #include <intrins.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 INTRINS.H
3 =1
4 =1 Intrinsic functions for C51.
5 =1 Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 extern void _nop_ (void);
10 =1 extern bit _testbit_ (bit);
11 =1 extern unsigned char _cror_ (unsigned char, unsigned char);
12 =1 extern unsigned int _iror_ (unsigned int, unsigned char);
13 =1 extern unsigned long _lror_ (unsigned long, unsigned char);
14 =1 extern unsigned char _crol_ (unsigned char, unsigned char);
15 =1 extern unsigned int _irol_ (unsigned int, unsigned char);
16 =1 extern unsigned long _lrol_ (unsigned long, unsigned char);
17 =1 extern unsigned char _chkfloat_(float);
5 #define background_color 0x00
6 #define biue 0x01
7 #define green 0x02
8 #define cyan 0x03
9 #define red 0x04
10 #define magenta 0x05
11 #define yellow 0x06
12 #define white 0x07
13
14 sbit l16=P1^6;
15 sbit l17=P1^7;
16 /**************************************/
17 unsigned char bdata win_sw;//窗口阴影宽度
18 unsigned char bdata win_sh;//窗口阴影高度
19 unsigned char bdata win_sc1;//窗口阴影颜色
20 unsigned char bdata win_sc2;
21 sbit ww41=win_sw^7;
22 sbit ww40=win_sw^6;
23 sbit ww31=win_sw^5;
24 sbit ww30=win_sw^4;
25 sbit ww21=win_sw^3;
26 sbit ww20=win_sw^2;
27 sbit ww11=win_sw^1;
28 sbit ww10=win_sw^0;
29 sbit wh41=win_sh^7;
30 sbit wh40=win_sh^6;
31 sbit wh31=win_sh^5;
32 sbit wh30=win_sh^4;
33 sbit wh21=win_sh^3;
34 sbit wh20=win_sh^2;
35 sbit wh11=win_sh^1;
36 sbit wh10=win_sh^0;
37 sbit r1=win_sc1^6;
38 sbit g1=win_sc1^5;
39 sbit b1=win_sc1^4;
40 sbit r2=win_sc1^2;
41 sbit g2=win_sc1^1;
42 sbit b2=win_sc1^0;
43 sbit r3=win_sc2^6;
44 sbit g3=win_sc2^5;
45 sbit b3=win_sc2^4;
46 sbit r4=win_sc2^2;
47 sbit g4=win_sc2^1;
48 sbit b4=win_sc2^0;
C51 COMPILER V7.01 OSD 06/10/2003 09:42:41 PAGE 7
49 /*
50
51 unsigned char bdata osd_con1;
52 unsigned char bdata osd_con2;
53
54 sbit osden=osd_con1^7;//使能OSD
55 sbit bsen=osd_con1^6;//使能字符镶边或有阴影
56 sbit shadow=osd_con1^5;//=1选择字符有阴影效果,=0选择字符有镶边效果,BSEN必需=1时有效
57 sbit fben=osd_con1^4;//使能淡入淡出或混色入-出效果
58 sbit blend=osd_con1^3;//=1选择混色,=0选择淡入淡出
59 sbit wen_clr=osd_con1^2;//=1清除全部窗口的WEN位,即关闭全窗口
60 sbit ram_clr=osd_con1^1;//=1清除全部显示RAM的地址(即字),BGR,BGG,BGB(背景色),和BLINK位
61 sbit fbkgc=osd_con1^0;//=1显示字符时消隐脚PBKGC为高平,=0显示字符或窗口时消隐脚PBKGC为高电平
62 sbit dwe=osd_con2^4;//使能双倍高度
63 sbit hsp=osd_con2^3;//设置OSDHS脚输入电平
64 sbit vsp=osd_con2^2;//设置OSDVS脚输入电平
65 */
66 unsigned char bdata k;
67 sbit rinta=k^2;
68 sbit chsa=k^1;
69 sbit cwsa=k^0;
70 /********************************************************************************/
71
72
73
74
75 void osd_char_a(unsigned char row,unsigned char column,//单字符-格式(a)
76 unsigned int char_rom_address, unsigned char color,
77 unsigned char background,unsigned char blink);//字符颜色,背景颜色,是否闪烁
78
79
80
81 void osd_at(unsigned char row,bit rint,bit chs,//亮度,双倍字符宽度,双倍字符高度,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -