?? ti 8位da tlc5620的驅動程序.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>無標題文檔</title>
</head>
<body>
<table cellspacing="0" cellpadding="0">
<tr>
<td><p align="center"><strong>TI 8</strong><strong>位</strong><strong>DA TLC5620</strong><strong>的驅動程序</strong></p></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td valign="top"><table cellspacing="0" cellpadding="0">
<tr>
<td width="22"></td>
<td></td>
<td width="10" rowspan="3"></td>
</tr>
<tr>
<td width="22"></td>
<td></td>
</tr>
<tr>
<td></td>
<td><table cellpadding="0">
<tr>
<td width="100%"><p>/*————————————————————<br>
〖說明〗TI 8位DA TLC5620的驅動程序<br>
—————————————————————*/<br>
<br>
<br>
/*------------------------------------------------------------------------------<br>
調用方式:void da5620(uchar da) ﹫2001/03/23<br>
函數說明:往固定端口送da值完成DA輸出,該函數沒有輸出端口選擇功能,盡管5620有4個<br>
輸出口。<br>
改變程序中的command可以改變默認端口。<br>
------------------------------------------------------------------------------*/<br>
#define SPI_CLK P3_3<br>
#define SPI_DATA P3_4<br>
#define CS_DA P1_2<br>
<br>
void da5620(uchar da)<br>
{<br>
uchar command=B0010_0000;<br>
uchar i;<br>
CS_DA=1;<br>
for (i=0;i<3;i++)<br>
{<br>
SPI_DATA=(bit)(command&0x80);<br>
SPI_CLK=1;<br>
command<<=1;<br>
SPI_CLK=0;<br>
}<br>
<br>
for (i=0;i<8;i++)<br>
{<br>
SPI_DATA=(bit)(da&0x80);<br>
SPI_CLK=1;<br>
da<<=1;<br>
SPI_CLK=0;<br>
}<br>
<br>
CS_DA=0;<br>
_nop_();_nop_();<br>
CS_DA=1;<br>
} <br>
<br>
這樣改更快更短 [小師⊕] [56次] 01-3-26 下午 01:31:07 <br>
sbit SPI_CLK=P3^3;<br>
sbit SPI_DATA=P3^4;<br>
sbit CS_DA=P1^2;<br>
<br>
void da5620(uchar da)<br>
{<br>
uchar i;<br>
<br>
ACC=B0010_0000;<br>
CS_DA=1;<br>
for (i=3;i>0;i--)<br>
{<br>
ACC+=ACC; //CY=ACC。7<br>
SPI_DATA=CY;<br>
SPI_CLK=1;<br>
/*根據晶體加_nop()_*/<br>
SPI_CLK=0;<br>
}<br>
<br>
ACC=da;<br>
for (i=8;i>0;i--)<br>
{<br>
ACC+=ACC; //CY=ACC。7<br>
SPI_DATA=CY;<br>
SPI_CLK=1;<br>
/*根據晶體加_nop()_*/<br>
SPI_CLK=0;<br>
}<br>
<br>
CS_DA=0;<br>
_nop_();_nop_();<br>
CS_DA=1;<br>
} <br>
<br>
**注意,i一定要用減量,這樣匯編才能升成DJNZ Rx,XXX類的代碼<br>
全部都是寄存器操作。 <br>
</p></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -