📄 74hc595.lst
字号:
C51 COMPILER V8.08 74HC595 11/16/2007 18:23:56 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE 74HC595
OBJECT MODULE PLACED IN 74HC595.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 74HC595.c COMPACT BROWSE DEBUG OBJECTEXTEND
line level source
1 /*本程序实现74HC595的串-并输出
2 */
3 #include <STDIO.H>
4 #include <STC12C5410AD.H>
5 //定义单片机与74HC595相连的各脚
6 sbit HC595SI=P1^5;
7 sbit HC595RCLK=P1^3;
8 sbit HC595SCLK=P1^7;
9
10 void HC595Output(unsigned int outData); //发送数据函数
11
12 void HC595Output(unsigned int outData)
13 { unsigned char i; //用于移位的循环控制
14 1 unsigned int chkBit; //用于判断移位数据
15 1 SPCTL=SPCTL&(0xBF); //SPI功能禁止所有SPI端口作为普通I/O口
16 1 P1M0=P1M0&(0x57);
17 1 P1M1=P1M1|(0xA8); //P1口的3,5,7脚作为输出管脚
18 1 //HC595SI=0;
19 1 //HC595RCLK=0;
20 1 //HC595SCLK=0;
21 1 for(i=1;i<17;i++)
22 1 {
23 2 HC595RCLK=0;
24 2 HC595SCLK=0;
25 2 chkBit=outData&(0x8000);
26 2 if (chkBit==0)
27 2 HC595SI=0;
28 2 else
29 2 HC595SI=1;
30 2 outData=outData<<1;
31 2 HC595SCLK=1;
32 2 HC595RCLK=1;
33 2 }
34 1 SPCTL=SPCTL|(0x40); //SPI功能使能
35 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 46 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -