📄 ts_led.lst
字号:
C51 COMPILER V7.07 TS_LED 12/25/2007 21:27:14 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE TS_LED
OBJECT MODULE PLACED IN ts_led.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ts_led.c BROWSE DEBUG OBJECTEXTEND TABS(8)
stmt level source
1 #include"reg51.h"
2 #include"intrins.h"
3 #define uchar unsigned char
4 #define uint unsigned int
5 #define nop _nop_() /* 定义空操作指令 */
6 sbit en =P1^7; /*DTLED-6显示芯片使能端*/
7 sbit dout=P1^6; /*DTLED-6显示芯片数据读入端*/
8 sbit clk=P1^3; /*DTLED-6显示芯片/时钟芯片DS1302时钟输入端*/
9 uchar dispbuf[9]; /*显示值存放阵列*/
10 void delay (uint value) /*延时副程式*/
11 {
12 1 while (value!=0) value--; /*10US延时*/
13 1 }
14
15 /*********************************************************************/
16
17 //串行发送DTLED-6显示
18 //dispbuf0-dispbuf1-dispbuf2-dispbuf3-dispbuf4-dispbuf5-dispbuf6-dispbuf7-dispbuf8
19 // 小数点 - 数码管1- 数码管2- 数码管3- 数码管4- 数码管5- 数码管6-ID识别码-BZ识别码
20 //00000xxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx
21 //小数点=1~6,其它为不显示
22 //数码管1-6=0~15,
23 //ID识别码=0~15
24 //BZ识别码=BZ.3为蜂鸣输出控制位,0=关闭,1=打开
25 // BZ0~2为蜂鸣频率输出设定为,000=不分频, 最高频率输出=4800Hz;
26 // 001=一次分频,频率输出=4800/ 2 =2400Hz;
27 // 010=二次分频,频率输出=4800/ 4 =1200Hz;
28 // 011=三次分频,频率输出=4800/ 8 =600Hz;
29 // 100=四次分频,频率输出=4800/ 16=300Hz;
30 // 101=五次分频,频率输出=4800/ 32=150Hz;
31 // 110=六次分频,频率输出=4800/ 64=75Hz;
32 // 111=七次分频,频率输出=4800/128=38Hz;
33 //======================================================================
34 void tsled(void) /*串行发送DTLED-6显示副程式*/
35 {
36 1 char ts0,i,j;
37 1 clk=0;
38 1 en=0;
39 1 delay(10);
40 1 for(j=0;j<9;j++)
41 1 { ts0=dispbuf[j];
42 2 for(i=0;i<4;i++) /*发小数点码8,4,2,1*/
43 2 {
44 3 clk=1;
45 3 ts0=ts0<<1;
46 3 if(AC==1)
47 3 dout=1;
48 3 else dout=0;
49 3 clk=0;
50 3 nop;
51 3 delay(3);
52 3 }
53 2 }
54 1 en=1;
55 1 } /*返回主程式*/
C51 COMPILER V7.07 TS_LED 12/25/2007 21:27:14 PAGE 2
56
57 void main(void)
58 {
59 1 uchar i,j,dat=0;
60 1 dispbuf[7]=0x01; /*ID号码*/
61 1 dispbuf[8]=0x00; /*蜂鸣器关闭*/
62 1 while(1)
63 1 {
64 2 for(i=1;i<=6;i++)
65 2 {
66 3 dispbuf[0]=i; /*小数点位显示*/
67 3 tsled();
68 3 delay(50000);
69 3 }
70 2 dispbuf[0]=0x00; /*关闭小数点位显示*/
71 2 for(i=0;i<3;i++) /*数据显示*/
72 2 for(j=1;j<=6;j++)
73 2 {
74 3 dispbuf[j]=dat++;
75 3 tsled();
76 3 delay(50000);
77 3 }
78 2 }
79 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 127 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 1
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 + -