📄 main.lst
字号:
C51 COMPILER V7.01 MAIN 06/06/2004 20:06:38 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //**********************************************************************
2 //功能 : BCD码转十六进制,十六进制转BCD码
3 //作者 : lihj
4 //创建日期 : 2004-06-05
5 //版本 : V1.0
6 //修改记录 :
7 //***********************************************************************
8
9 //函数声明
10 char Hex2BCD(char); //十六进制转BCD
11 char BCD2Hex(char); //BCD转十六进制
12
13 //主程序
14 void main(void) //不修改启动代码的情况下,主程序必须命名为main
15 {
16 1 //定义变量,注意变量名尽可能取的有意义,以增强程序可读性
17 1 char HexTypeData; //十六进制变量
18 1 char BcdTypeData; //BCD码
19 1 char TestResult1; //转换结果1
20 1 char TestResult2; //转换结果2
21 1
22 1 HexTypeData = 0x0c; //这条语句等价于HexTypeData = 12;
23 1 //十六进制0x0c,相当于BCD码1 2
24 1 BcdTypeData = 0x12; //BCD码12,对应于十六进制0x0c
25 1
26 1 //通过调用函数(子程序)来获取转换结果
27 1 TestResult1 = Hex2BCD(HexTypeData); //将变量HexTypeData中的值转换成BCD码存储
28 1
29 1 TestResult2 = BCD2Hex(BcdTypeData); //将变量BcdTypeData转换成十六进制
30 1
31 1 while(1); //结束测试,在此死循环等待
32 1 }
33
34 //十六进制转BCD
35 char Hex2BCD(char a)
36 {
37 1 unsigned char t_h,t_l;
38 1
39 1 t_h = a/10;
40 1 t_l = a - t_h*10;
41 1
42 1 a = (t_h<<4) + t_l;
43 1
44 1 return(a);
45 1 }
46
47 //BCD转十六进制
48 char BCD2Hex(char a)
49 {
50 1 unsigned char t_h,t_l;
51 1
52 1 t_h = (a&0xf0)>>4;
53 1 t_l = a&0x0f;
54 1
55 1 a = t_h*10 + t_l;
C51 COMPILER V7.01 MAIN 06/06/2004 20:06:38 PAGE 2
56 1
57 1 return(a);
58 1 }
59
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 77 ----
CONSTANT SIZE = ---- ----
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 + -