📄 锯齿波发生器.lst
字号:
C51 COMPILER V7.06 _鈅莶___蒧器 06/09/2008 11:13:44 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE _鈅莶___蒧器
OBJECT MODULE PLACED IN 锯齿波发生器.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 锯齿波发生器.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "reg52.h"
2 #include "absacc.h"
3 #define uchar unsigned char
4 #define uint unsigned int
5 uchar bpq=0;
6 uchar bdata bpqh; //高地址
7 sbit m7 = bpqh^7; //高地址位
8 uchar bdata bpql; //底地址
9 sbit l7 = bpql^7; //地地址位
10 sbit SDA= P1^4; //数据
11 sbit SCL=P1^5; //时序脉冲
12 sbit CS=P1^6; //选通
13 void TLC5615()
14 {
15 1 uchar i;
16 1 SCL = 0; //置零SCL,为写bit做准备:芯片规定要开始为底电平,上升沿有效
17 1 CS = 0; //选通
18 1 for(i=0;i<2;i++)//循2次,发送高两位;
19 1 {
20 2 if(m7) //高位先发;
21 2 {
22 3 SDA = 1; //将数据送出;
23 3 SCL = 1; //提升时钟,写操作在时钟上升沿触发;
24 3 SCL = 0; //结束该位传送,为下次写作准备;
25 3 }
26 2 else
27 2 {
28 3 SDA = 0;
29 3 SCL = 1;
30 3 SCL = 0;
31 3 }
32 2 bpqh <<= 1;
33 2 }
34 1
35 1 for(i=0;i<8;i++)//循环八次,发送低八位;
36 1 {
37 2 if(l7)
38 2 {
39 3 SDA = 1; //将数据送出;
40 3 SCL = 1; //提升时钟,写操作在时钟上升沿触发;
41 3 SCL = 0; //结束该位传送,为下次写作准备;
42 3 }
43 2 else
44 2 {
45 3 SDA = 0;
46 3 SCL = 1;
47 3 SCL = 0;
48 3 }
49 2 bpql <<= 1;
50 2 }
51 1 for(i=0;i<2;i++)//循环2次,发送两个虚拟位;
52 1 {
53 2 SDA = 0;
54 2 SCL = 1;
55 2 SCL = 0;
C51 COMPILER V7.06 _鈅莶___蒧器 06/09/2008 11:13:44 PAGE 2
56 2 }
57 1 CS = 1;
58 1 SCL = 0;
59 1 }
60 void delay(void)
61 { uchar i;
62 1 for(i=0;i<222;i++);
63 1 for(i=0;i<222;i++);
64 1 }
65 void main(void)
66 {
67 1 uint i;
68 1 while(1)
69 1 for(i=0;i<1024;i++)
70 1 { bpqh=i/bpq;
71 2 bpql=i%bpq;
72 2 bpqh<<= 6;
73 2 TLC5615();//这个软件要7.1版本菜可以
74 2 delay();
75 2 }
76 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 145 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 ----
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 + -