📄 tlc1549.c
字号:
/*********************************************
example program for 51 download board
@11.0592MHz
test TLC1549
www.mcufan.com
将拨码开关S1的1、2、3拨到on,选择ADC0-电位器W1作为模拟输入(W1 下的跳线要插上)
TLC1549的10位转换结果,舍弃最低2位后,输出到P2 口的LED显示
*********************************************/
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit clk = P1^1; //ad_clk
sbit cs = P1^0; //ad_cs
sbit dout = P2^1; //ad_dout
uint adc(void); //ad convert
void delay(uchar us); //delay
uint result=0; //the result of ad convert
main()
{ uchar ad_8;
uint ad_10;
for(;;)
{float u1=0;
ad_10=adc();
ad_8 = ~(ad_10>>2);
P2=ad_8;
u1=adc();
result=(2480*(u1))/(1023);
_nop_();
}
}
uint adc(void)
{
uint u=0;
uchar i;
clk=0;
cs=1;
_nop_();
cs=0;
for(i=0;i<10;i++) //read data
{
clk=1;
u=(u<<1)|dout;
clk=0;
_nop_();
}
clk=1;
_nop_();
clk=0;
delay(2); //delay 25us
cs=1;
return(u); //return ad data
}
void delay(uchar us) //delay time
{while(us--);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -