📄 main.lst
字号:
C51 COMPILER V7.20 MAIN 09/22/2005 23:42:15 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2
3 #include <C8051F000.h>
4 #include <intrins.h>
5 #include "ch452.h"
6 #include "ch452cmd.h" //常用命令头文件
7 #include "pin.h"
8 /******************初始化子程序****************/
9 /*时钟初始化*/
10 void SYSCLK_Init (void)
11 {
12 1 //晶振配置,采用内部晶振,默认为16MHz,八分频为2MHz
13 1 //允许时钟丢失监测器
14 1 OSCICN = 0x94;
15 1 OSCXCN = 0x00;
16 1
17 1 //外部晶振
18 1 // int i; // delay counter
19 1 // OSCXCN = 0x67; // start external oscillator with
20 1 // 18.432MHz crystal
21 1 // for (i=0; i < 256; i++) ; // Wait for osc. to start up
22 1 // while (!(OSCXCN & 0x80)) ; // Wait for crystal osc. to settle
23 1 // OSCICN = 0x88; // select external oscillator as SYSCLK
24 1 // source and enable missing clock
25 1 // detector
26 1 }
27
28 /*端口初始化*/
29 void PORT_Init (void)
30 {
31 1 //交叉开关使能,但没有进行外围设备配置
32 1 XBR0 = 0x00;
33 1 XBR1 = 0x00;
34 1 XBR2 = 0x40;
35 1
36 1
37 1 //均配置为开漏输出
38 1 PRT0CF |= 0x00;
39 1 PRT1CF |= 0x00;
40 1 PRT2CF |= 0x00;
41 1 PRT3CF |= 0x00;
42 1 }
43 void delayms(unsigned int i) //1ms
44 { unsigned int j;
45 1 do{ for(j=0;j!=200;j++)
46 2 {;}
47 2 }while(--i);
48 1 }
49
50 main()
51 {
52 1 unsigned char cmd,dat;
53 1 // unsigned short command;
54 1 unsigned char counter;
55 1 WDTCN = 0xDE; //禁止看门狗
C51 COMPILER V7.20 MAIN 09/22/2005 23:42:15 PAGE 2
56 1 WDTCN = 0xAD;
57 1
58 1 SYSCLK_Init(); //初始化时钟
59 1 PORT_Init(); //初始化端口
60 1
61 1 delayms(10);
62 1
63 1 // dat=CH452_Read(); //读取CH452的版本号,正式应用时不需要。
64 1
65 1 CH452_Write(CH452_SYSON2); //两线制方式,如果SDA用做按键中断输出,那么命令应该为(0x04,0x23)
66 1 CH452_Write(CH452_BCD); // BCD译码,8个数码管
67 1 CH452_Write(CH452_DIG0 | 0); // 显示字符8
68 1 CH452_Write(CH452_DIG1 | 2);
69 1 CH452_Write(CH452_DIG2 | 8);
70 1 CH452_Write(CH452_DIG3 | 8);
71 1 CH452_Write(CH452_DIG4 | 8);
72 1 CH452_Write(CH452_DIG5 | 8);
73 1 CH452_Write(CH452_DIG6 | 8);
74 1 // CH452_Write(CH452_DIG7 | 0x1a);
75 1 delayms(50);
76 1 // LED=!LED;
77 1 while ( 1 ){ // PC机串口通讯单片机,再控制CH452演示
78 2
79 2 // while(CH452_DOUT);
80 2 delayms(20);
81 2 // CH452_Write(CH452_GET_KEY);
82 2
83 2 dat=CH452_Read();
84 2 delayms(20);
85 2 // for(counter=0;counter<9;counter++)
86 2 // {
87 2 // CH452_Write(CH452_DIG4 | counter);
88 2 // delayms(10);
89 2 // }
90 2 // PCON |=0x01;
91 2 }
92 1 }
*** WARNING C280 IN LINE 52 OF MAIN.C: 'cmd': unreferenced local variable
*** WARNING C280 IN LINE 54 OF MAIN.C: 'counter': unreferenced local variable
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 150 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -