📄 x5045.lst
字号:
C51 COMPILER V7.50 X5045 11/02/2007 10:51:41 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE X5045
OBJECT MODULE PLACED IN C:\Documents and Settings\Administrator\桌面\chengxu\x5045.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE x5045.c BROWSE DEBUG OBJECTEXTEND OBJECT(C:\Documents and Settings\Administ
-rator\桌面\chengxu\x5045.obj)
line level source
1 #include"main.h"
2 #include"x5045.h"
3
4
5 /*
6 void eeprom(void)
7
8 {
9
10 wr_sr(0) ;
11 }
12
13 */
14 uchar rd_sr(void)
15 {
16 1 uchar sr;
17 1 SCK=0;
18 1 CS=0; /*时钟输入变低,CS片选为低电平*/
19 1 write_byte(0x05); /*写读状态寄存器命令*/
20 1 sr=read_byte(); /*读取状态字节*/
21 1 SCK=0;
22 1 CS=1; /*时钟输入变低,CS片选为低电平*/
23 1 return sr;
24 1 }
25
26
27
28 /*x5045写状态寄存器函数~~~~~~~~~~~~~~~~~~~~~~*/
29 void wr_sr(uchar sr)
30 {
31 1 //WP=1;
32 1 wren(); /*调写允许函数*/
33 1 SCK=0; /*SCK为时钟输入*/
34 1 CS=0; /*CS片选*/
35 1 write_byte(0x01); /*写状态寄存器命令*/
36 1 write_byte(sr); /*设置1.4秒的看门狗,不保护数据*/
37 1 SCK=0;
38 1 CS=1;
39 1 wipchk();
40 1 }
41
42
43
44 /* x5045写一个字节数据函数~~~~~~~~~~~~*/
45 void write_byte(uchar dt)
46 {
47 1 uchar i;
48 1 for(i=0;i<8;i++)
49 1 {
50 2
51 2 SCK=0;
52 2 SI = dt & 0x80;
53 2
54 2 // if(dt&0x80)
C51 COMPILER V7.50 X5045 11/02/2007 10:51:41 PAGE 2
55 2 // SI=1;
56 2 //else
57 2 // SI=0;
58 2 SCK=1; // SCK时钟输入,时钟上升沿锁存数据;
59 2 dt=dt<<1;
60 2 }
61 1 SI=0;
62 1 }
63
64
65 /* x5045读一个字节函数~~~~~~~~~~~*/
66 uchar read_byte(void)
67 {
68 1 uchar i,byte=0;
69 1 for(i=0;i<9;i++) //这里很怪,要循环9次
70 1 {
71 2
72 2 byte=byte<<1;
73 2 SCK=1;
74 2
75 2 // SCK时钟输入,时钟下降沿锁存数据
76 2 if(SO==1)
77 2 byte+=1;
78 2
79 2 SCK=0;
80 2
81 2
82 2
83 2 }
84 1 return byte;
85 1
86 1 }
87
88 /*x5045置位写允许函数~~~~~~~*/
89 void wren(void)
90 {
91 1 SCK=0;
92 1 CS=0;
93 1 write_byte(0x06); //写允许命令
94 1 SCK=0;
95 1 CS=1;
96 1 }
97
98
99 //x25045标志忙查询函数~~~~~~~~~~~~~~~~~~~~~~~~
100 /*
101 void sr_busy(void)
102 {
103 uchar i,j;
104 i=1;j=0;
105 while (i)
106 {
107 i=rd_sr();
108 if(!(i&0x01))
109 i=0;
110 j++;
111 if(j>=230)
112 i=0; //如果延时到,强行退出,2005年5月9日---防止出现死机,导致通信中
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -