📄 74hc164.lst
字号:
C51 COMPILER V8.02 74HC164 08/27/2008 16:58:18 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE 74HC164
OBJECT MODULE PLACED IN .\obj\74hc164.obj
COMPILER INVOKED BY: f:\Keil\C51\BIN\C51.EXE Source\74hc164.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\74hc164.lst) O
-BJECT(.\obj\74hc164.obj)
line level source
1 #include <reg52.h>
2
3
4 sbit CLR=P3^0; //用P3^0控制CLR
5 sbit CLK=P3^1;
6 sbit DAT=P3^0;
7
8 unsigned char code tab[17]={0x11,0x7d,0x23,0x29,0x4d,0x89,0x81,0x3d,
9 //0,1,2,3,4,5,6,7,
10 0x01,0x09,0x05,0xc1,0xe3,0x61,0x83,0x87,0xff};
11 //8,9a,b,c,d,e,f,灭
12
13 //----------------------------------------------------------------------
14 // 函数名称:UART_init()
15 // 功能说明:串口初始化,设定串口工作在方式0
16 //----------------------------------------------------------------------
17 void UART_Init(void)
18 {
19 1 SCON =0x00; //没串行口方式0,允许发送,启动发送过程
20 1 EA=0; // 禁止中断
21 1 }
22 //---------------------------------------------------------------------
23 // 函数名称:out()
24 // 输入参数:dat,需要从74LS164并行口输出的数据
25 // dat:要高位在前的传输
26 // 输出参数:无
27 // 功能说明:发送八位串行数据至并口
28 //---------------------------------------------------------------------
29 void HC164_Out(unsigned char dat)
30 {
31 1 CLR =0; //并口输出清零
32 1 CLR =1; //开始串行移位
33 1 UART_Init(); //74LS164工作在时钟控制下的串行移位状态
34 1 while(TI!=0); //循环等待
35 1 TI=0;
36 1 SBUF=dat;
37 1 }
38 //不是用串口
39 void SendData(unsigned char dat)
40 {
41 1 unsigned char num,i;
42 1 num=(tab[dat]|0x01);
43 1 for(i=0;i<8;i++)
44 1 {
45 2 CLK=0;
46 2 DAT=num&0x01;
47 2 CLK=1;
48 2 num>>=1;
49 2 }
50 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 49 ----
C51 COMPILER V8.02 74HC164 08/27/2008 16:58:18 PAGE 2
CONSTANT SIZE = 17 ----
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 + -