?? 打印機.lst
字號:
C51 COMPILER V7.06 _蠐_籣 01/02/2008 09:59:44 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE _蠐_籣
OBJECT MODULE PLACED IN 打印機.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 打印機.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg52.h>
2 #include <stdio.h>
3 #include <absacc.h>
4
5 #define PRINTER XBYTE[0X6200]
6 #define uchar unsigned char
7
8 typedef unsigned char uint8;
9 typedef unsigned int uint16;
10 /*********************************
11 延時子程序
12 *********************************/
13 void delay(uint16 time)
14 {
15 1 while(time--);
16 1 }
17
18 /*********************************
19 打印機忙狀態檢測,這里我們直接用
20 延時等待打印機
21 *********************************/
22 void check_printer()
23 {
24 1 delay(1000);
25 1 }
26
27
28 /*********************************
29 打印機寫命令字
30 *********************************/
31 void write_printer(uint8 dat)
32 {
33 1 check_printer();
34 1 PRINTER=dat;
35 1 }
36
37 /*********************************
38 打印機初始化
39 *********************************/
40 void initial_printer(void)
41 {
42 1 //打印機初始化
43 1 write_printer(0x1b);
44 1 write_printer(0x40);
45 1 //反向打印
46 1 write_printer(0x1b);
47 1 write_printer(0x63);
48 1 write_printer(0x01);
49 1 }
50 /*********************************
51 打印一個漢字
52 *********************************/
53 void PrintChinese(uint8 *dat)
54 {
55 1 write_printer(0x1c);
C51 COMPILER V7.06 _蠐_籣 01/02/2008 09:59:44 PAGE 2
56 1 write_printer(0x26);
57 1 write_printer(*dat);
58 1 write_printer(*(dat+1));
59 1 write_printer(0x1c);
60 1 write_printer(0x2E);
61 1 }
62
63 /*********************************
64 打印一個字符
65 *********************************/
66 void PrintChar(uint8 dat)
67 {
68 1 write_printer(dat);
69 1 }
70
71 /*********************************
72 打印一個字符串
73 *********************************/
74 void PrintStr(uint8 *str)
75 {
76 1 while(1)
77 1 {
78 2 if( (*str)=='\0' ) break;
79 2 PrintChar(*str++);
80 2 }
81 1 }
82
83 int main()
84 {
85 1 initial_printer();
86 1 PrintChinese("西");
87 1 PrintChinese("安");
88 1 PrintChinese("交");
89 1 PrintChinese("通");
90 1 PrintChinese("大");
91 1 PrintChinese("學");
92 1 PrintChinese("城");
93 1 PrintChinese("市");
94 1 PrintChinese("學");
95 1 PrintChinese("院");
96 1 write_printer(0x0d);
97 1 delay(10000);
98 1 PrintStr("SIUPO MICRO-PRINTER TEST");
99 1 write_printer(0x0d);
100 1 while(1);
101 1 }
102
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 229 ----
CONSTANT SIZE = 52 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
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 + -