?? da_tlv5614.h
字號:
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit LDAC=P2^4; //控制DAC刷新
sbit DIN=P3^0; //數據線
sbit SCLK=P3^1; //時鐘線
sbit FS=P2^3; //控制幀同步
sbit P2_0=P2^0;
sbit P2_1=P2^1;
sbit P2_2=P2^2;
unsigned char bdata buffer;
unsigned char bdata buffer1;
sbit buffer_0=buffer^0;
sbit buffer_1=buffer^1;
sbit buffer_2=buffer^2;
sbit buffer_3=buffer^3;
sbit buffer_4=buffer^4;
sbit buffer_5=buffer^5;
sbit buffer_6=buffer^6;
sbit buffer_7=buffer^7;
sbit buffer1_0=buffer1^0;
sbit buffer1_1=buffer1^1;
sbit buffer1_2=buffer1^2;
sbit buffer1_3=buffer1^3;
sbit buffer1_4=buffer1^4;
sbit buffer1_5=buffer1^5;
sbit buffer1_6=buffer1^6;
sbit buffer1_7=buffer1^7;
void TLV_5614(uchar channel,uint da_value)
{
bit bit_buffer;
uint COM;
switch(channel)
{
case 0: COM=da_value|0x1000; break;
case 1: COM=da_value|0x5000; break;
case 2: COM=da_value|0x9000; break;
case 3: COM=da_value|0xd000; break; // 注意|與||的區別
default: break;
}
buffer=(uchar)(COM>>8); //高八位數據反轉處理
bit_buffer=buffer_0;
buffer_0=buffer_7;
buffer_7=bit_buffer;
bit_buffer=buffer_1;
buffer_1=buffer_6;
buffer_6=bit_buffer;
bit_buffer=buffer_2;
buffer_2=buffer_5;
buffer_5=bit_buffer;
bit_buffer=buffer_3;
buffer_3=buffer_4;
buffer_4=bit_buffer;
buffer1=(uchar)(COM&0x00ff); //低八位數據反轉處理
bit_buffer=buffer1_0;
buffer1_0=buffer1_7;
buffer1_7=bit_buffer;
bit_buffer=buffer1_1;
buffer1_1=buffer1_6;
buffer1_6=bit_buffer;
bit_buffer=buffer1_2;
buffer1_2=buffer1_5;
buffer1_5=bit_buffer;
bit_buffer=buffer1_3;
buffer1_3=buffer1_4;
buffer1_4=bit_buffer;
P2_0=1;
P2_1=0;
P2_2=0; //控制片選選通
LDAC=0; //數據刷新
FS=1;
FS=0; //下降沿幀同步
SBUF=buffer;
while(!TI);
TI=0;
SBUF=buffer1;
while(!TI);
TI=0;
LDAC=1; //停止刷新
FS=1;
}
//用IO口模擬SCLK傳送數據,速度慢,故采用串口TXD,RXD通信
// for(i=16;i>0;i--)
// {
// DIN=(bit)(COM&0x8000);
// SCLK=1;
// COM=COM<<1;
// SCLK=0;
// }
// SCON=0X10;
/*
void TLV_5614(uchar channel,uint da_value)
{
uchar i;
uint COM;
switch(channel)
{
case 0: COM=da_value|0x1000; break;
case 1: COM=da_value|0x5000; break;
case 2: COM=da_value|0x9000; break;
case 3: COM=da_value|0xd000; break;
default: break;
}
P2_0=1;
P2_1=0;
P2_2=0; //控制片選選通
LDAC=0; //數據刷新
FS=1;
FS=0; //下降沿幀同步
for(i=16;i>0;i--)
{
DIN=(bit)(COM&0x8000);
SCLK=1;
COM=COM<<1;
SCLK=0;
}
//LDAC=1; //停止刷新
DIN=1;
SCLK=1;
FS=1;
}
*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -