📄 jdxsc.lst
字号:
C51 COMPILER V7.20 JDXSC 01/29/2005 20:05:26 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE JDXSC
OBJECT MODULE PLACED IN jdxsc.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE jdxsc.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************************
2 四位静态数码管演示程序
3 作者:郑州远博科技 王兴民
4 *********************************************************************************/
5 #include <AT89X51.H>
6 #include <Delay.h>
7 #define uchar unsigned char
8 #define Uint unsigned int
9 #define SDA0 P0_0 //74LS164 SAD
10 #define SCK0 P0_1 //74LS164 SCK
11 #define SDA1 P0_2
12 #define SCK1 P0_3
13 #define SDA2 P0_4
14 #define SCK2 P0_5
15 #define SDA3 P0_6
16 #define SCK3 P0_7
17 #define SMGPOW P1_2 //数码管总电源
18 void senddata0(uchar dd);
19 void senddata1(uchar dd);
20 void senddata2(uchar dd);
21 void senddata3(uchar dd);
22 code uchar szdm[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xff,0x00}; //0-9,熄灭,全亮(含小数点
-) 共阳数字数码管代码
23 data uchar displaybuff[]={0x01,0x02,0x03,0x04,0x0b,0x0a}; //0x0a 表示熄灭状态,0x0b表示全亮
24 void main() {
25 1 P1=0XFF;
26 1 P2=0XFF;
27 1 P3=0XFF;
28 1 DelayMs(5000); //延时一段时间保证板子上74HC164复位。
29 1 P0=0; //SDA SCK 置零
30 1 SMGPOW=0; //打开显示板电源
31 1 senddata0(szdm[displaybuff[4]]); //以下四条语句使四个数码管全亮(含小数点),测试数码管的每一段是否全部正常
-
32 1 senddata1(szdm[displaybuff[4]]);
33 1 senddata2(szdm[displaybuff[4]]);
34 1 senddata3(szdm[displaybuff[4]]);
35 1 DelayMs(3000);
36 1 senddata0(szdm[displaybuff[0]]); //第一位数码管显示1
37 1 senddata1(szdm[displaybuff[1]]); //第二位数码管显示2
38 1 senddata2(szdm[displaybuff[2]]); //第三位数码管显示3
39 1 senddata3(szdm[displaybuff[3]]);//第四位数码管显示4
40 1 while(1); //无限循环
41 1 }
42 void senddata0(uchar dd) { //第一位数码管显示函数
43 1 uchar j;
44 1 for (j=0;j<8;j++) {
45 2 SDA0=(bit)(dd&0x01);
46 2 SCK0=1; SCK0=0;
47 2 dd=dd>>1;
48 2 }
49 1 }
50 void senddata1(uchar dd) { //第二位数码管显示函数
51 1 uchar j;
52 1 for (j=0;j<8;j++) {
53 2 SDA1=(bit)(dd&0x01);
C51 COMPILER V7.20 JDXSC 01/29/2005 20:05:26 PAGE 2
54 2 SCK1=1; SCK1=0;
55 2 dd=dd>>1;
56 2 }
57 1 }
58 void senddata2(uchar dd) { //第三位数码管显示函数
59 1 uchar j;
60 1 for (j=0;j<8;j++) {
61 2 SDA2=(bit)(dd&0x01);
62 2 SCK2=1; SCK2=0;
63 2 dd=dd>>1;
64 2 }
65 1 }
66 void senddata3(uchar dd) { //第四位数码管显示函数
67 1 uchar j;
68 1 for (j=0;j<8;j++) {
69 2 SDA3=(bit)(dd&0x01);
70 2 SCK3=1; SCK3=0;
71 2 dd=dd>>1;
72 2 }
73 1 }
74
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 253 ----
CONSTANT SIZE = 12 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 ----
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 + -