📄 mcs_x51lib.lst
字号:
C51 COMPILER V7.50 MCS_X51LIB 06/08/2006 14:06:33 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MCS_X51LIB
OBJECT MODULE PLACED IN MCS_X51lib.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lib\MCS_X51lib.c BROWSE INCDIR(.\inc;.\inc;..\inc) DEBUG OBJECTEXTEND PRINT
-(.\MCS_X51lib.lst) OBJECT(MCS_X51lib.obj)
line level source
1 /****************************************************************
2 //MCS-51单片机自定义库函数。
3 //用户可以添加自己的操作
4
5 //create by changshengwuji
6 //email: netspider@163.com
7 //qq: 450353168
8 //2006.05.03
9 ****************************************************************/
10 #include<intrins.h>
11 #include "../inc/mcs_x51.h"
12 #include "../inc/hardmap.h"
13 /*延时机器周期为:8+x*7 */
14 /* STC89C52,工程设置为8级优化,small ram,large rom。速度优先*/
15 /* 经试验,优化等级不影响该函数的定时时间*/
16 void delay_7clk(UINT8 x)
17 {
18 1 while(x--);
19 1 }
20
21 /* STC89C52,工程设置为8级优化,small ram,large rom。速度优先*/
22 /* 延时函数,参数为16位整数*/
23 /* 延时机器周期为12+10*x */
24 void delay_10clk(UINT16 x)
25 {
26 1 while(x--);
27 1 }
28
29
30 //从串口读取一个字节
31 UINT8 uart_getc()
32 {
33 1 while(!RI);
34 1 UART_RIIF_CLR;
35 1 return(rd_uart());
36 1 }
37
38 //利用串口输出一个字节
39 void uart_putc(UINT8 x)
40 {
41 1 wr_uart(x);
42 1 while(!TI);
43 1 UART_TIIF_CLR;
44 1 }
45
46 /**********************************************************
47 SPI function
48 **********************************************************/
49 UINT8 spi_getb() //get a byte from spi bus
50 {
51 1 UINT8 i,val;
52 1 SCK = 0;
53 1 MOSI = 0;
54 1 val = 0;
C51 COMPILER V7.50 MCS_X51LIB 06/08/2006 14:06:33 PAGE 2
55 1 for(i = 0; i< 8 ;i++)
56 1 {
57 2 SCK = 1;
58 2 val = val << 1;
59 2 if(MISO)
60 2 val |= 0x01;
61 2 SCK = 0;
62 2 }
63 1 return(val);
64 1 }
65 /***************************************************************
66
67 ***************************************************************/
68 void spi_putb(UINT8 x) //put a byte to spi bus
69 {
70 1 UINT8 i;
71 1 for(i = 0;i < 8 ;i++)
72 1 {
73 2 SCK = 0;
74 2 //if(((x>>(7-i)) & 0x01) == 1)
75 2 if((x& (1 << (7-i))) == 1)
76 2 MOSI = 1;
77 2 else
78 2 MOSI = 0;
79 2 _nop_;
*** WARNING C275 IN LINE 79 OF LIB\MCS_X51LIB.C: expression with possibly no effect
80 2 SCK = 1;
81 2 _nop_;
*** WARNING C275 IN LINE 81 OF LIB\MCS_X51LIB.C: expression with possibly no effect
82 2 _nop_;
*** WARNING C275 IN LINE 82 OF LIB\MCS_X51LIB.C: expression with possibly no effect
83 2 _nop_;
*** WARNING C275 IN LINE 83 OF LIB\MCS_X51LIB.C: expression with possibly no effect
84 2 }
85 1 SCK = 0;
86 1 MOSI = 0;
87 1 }
88 /***************************************************************
89 ***************************************************************/
90 void spi_putw(UINT16 x)
91 {
92 1 UINT8 i;
93 1 SPI_EN = 0;
94 1 i = x>>8;
95 1 spi_putb(i);
96 1 i = x & 0x00ff;
97 1 spi_putb(i);
98 1 SPI_EN = 1;
99 1 }
100 /******************************************************************/
101
102 /******************************************************************
103 硬件SPI接口函数
104 向SPI端口写一个字。
105 *******************************************************************/
106 #if defined(STC_12X2052X)
void wrw_spi(UINT16 x)
{
SPI_EN = 0;
SPIF_CLR;
wrb_spi(x>>8);
while(SPIF == 0);
C51 COMPILER V7.50 MCS_X51LIB 06/08/2006 14:06:33 PAGE 3
SPIF_CLR;
wrb_spi(x & 0x00ff);
while(SPIF == 0);
SPIF_CLR;
SPI_EN = 1;
}
#endif
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 133 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 4 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -