?? 從機(jī).lst
字號:
C51 COMPILER V8.05a 從籣 04/29/2009 14:33:20 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE 從籣
OBJECT MODULE PLACED IN 從機(jī).OBJ
COMPILER INVOKED BY: D:\新建文件夾\keil\C51\BIN\C51.EXE 從機(jī).c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 #include<intrins.h>
3 #define uchar unsigned char
4 #define uint unsigned char
5 uchar shou;
6
7 sbit mi=P1^0; //從機(jī)接收主機(jī)發(fā)送接口
8 sbit mo=P1^1; //從機(jī)發(fā)送主機(jī)接收接口
9 sbit sclk=P1^2; //主從機(jī)時鐘同步時鐘信號
10 sbit ss=P1^3; //從機(jī)選擇控制位
11
12
13
14 /**********簡單的延時函數(shù)***************/
15 void delay(uchar z)
16 {
17 1 uchar a;
18 1 for(;z>0;z--)
19 1 for(a=5;a>0;a--);
20 1
21 1 }
22
23 /**********從機(jī)接收數(shù)據(jù)并發(fā)送數(shù)據(jù)函數(shù)************/
24 void shoufa(uchar date)
25 {
26 1
27 1 uchar a,b;
28 1 while(ss==0) //檢測是否有數(shù)據(jù)的傳輸
29 1 {
30 2 /*確認(rèn)主機(jī)要發(fā)送數(shù)據(jù)后進(jìn)行接收****/
31 2 while(sclk==1); //檢測同步時鐘信號
32 2 //確定時鐘信號置低
33 2 for(a=0;a<8;a++)
34 2 {
35 3 while(sclk==0) //時鐘置低,準(zhǔn)備發(fā)數(shù)據(jù)
36 3 {
37 4
38 4 delay(0); //等待數(shù)據(jù)的穩(wěn)定
39 4 b=mi;
40 4 P2=b;
41 4 if(b==1)
42 4 shou|=0x01;
43 4 while(sclk==0); //數(shù)據(jù)接收完成一位之后等待發(fā)送數(shù)據(jù)
44 4 }
45 3
46 3 if(a<7)
47 3 {
48 4 shou<<=1;
49 4 }
50 3
51 3 while(sclk==1)
52 3 {
53 4 date<<=1;
54 4 mo=CY; //輸出數(shù)據(jù)的高位
55 4 while(sclk==1);
C51 COMPILER V8.05a 從籣 04/29/2009 14:33:20 PAGE 2
56 4 }
57 3 }
58 2 }
59 1 }
60 /***********主程序**************/
61 void main()
62 {
63 1
64 1 P1=0xff;
65 1 while(1)
66 1 {
67 2 shoufa(0xff);
68 2 P3=shou;
69 2 }
70 1
71 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 99 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -