📄 tlc5620_t.lst
字号:
C51 COMPILER V7.07 TLC5620_T 09/16/2006 15:16:49 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE TLC5620_T
OBJECT MODULE PLACED IN TLC5620_t.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE TLC5620_t.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1
2 /*------------------------------------------------------------------------------
3 调用方式:void da5620(uchar da) ﹫2001/03/23
4 函数说明:往固定端口送da值完成DA输出,该函数没有输出端口选择功能,尽管5620有4个
5 输出口。
6 改变程序中的command可以改变默认端口。
7 ------------------------------------------------------------------------------*/
8 #include"reg51.h"
9 #include<intrins.h>
10 #define uchar unsigned char
11 #define uint unsigned int
12 #define nop _nop_()
13 sbit SPI_CLK=P1^2;
14 sbit SPI_DATA=P1^1;
15 sbit CS_DA=P1^3;
16
17 void del(uint v)
18 {
19 1 while(v!=0)v--;
20 1 }
21
22 void da5620(uchar da)
23 {
24 1 uchar i;
25 1 ACC=01100000; //d7=a1;d6=a0;d6=rng;(while rng=1 2倍out);(a0,a1是ch选择)
26 1 CS_DA=1;
27 1 for (i=3;i>0;i--) //写D/A命令字(通道数的选择)
28 1 {
29 2 ACC+=ACC; //CY=ACC。7
30 2 SPI_DATA=CY;
31 2 SPI_CLK=1;
32 2 nop;
33 2 nop;
34 2 nop;
35 2 nop;
36 2 SPI_CLK=0;
37 2 }
38 1
39 1 ACC=da; //写D/A数据
40 1 for (i=8;i>0;i--)
41 1 {
42 2 ACC+=ACC; //CY=ACC。7
43 2 SPI_DATA=CY;
44 2 SPI_CLK=1;
45 2 nop;
46 2 nop;
47 2 nop;
48 2 nop;
49 2 SPI_CLK=0;
50 2 }
51 1
52 1 CS_DA=0;
53 1 nop;
54 1 nop;
55 1 CS_DA=1;
C51 COMPILER V7.07 TLC5620_T 09/16/2006 15:16:49 PAGE 2
56 1 }
57
58 void main(void) //主程序处理
59 {
60 1 uchar j;
61 1 while(1)
62 1 {
63 2 for(j=0xff;j>=0x01;j--)
64 2 {da5620(j);del(2000);}
65 2 for(j=0x00;j<=0xfe;j++)
66 2 {da5620(j);del(2000);}
67 2 }
68 1 }
69
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 85 ----
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 + -