- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TLC55110应用电路及AD转换程序
TLC5510电路外接图如图所示:
TLC5510时序图如图所示:
#includereg51.h
#define uchar unsigned char
#define NUM 22
sbit LCD_RS=P2^0;
sbit LCD_RW=P2^1;
sbit LCD_EN=P2^2;
sbit P24=P2^4;
sbit P37=P3^7;
sbit CLK=P3^4;
void delay(uchar m) //延时函数(多少毫秒)写前面,否则其他子函数调用时,说重定义
{ uchar i;
int l;
for(i=m;i0;i--)
for(l=992;l0;l--);
}
void delay0()//延时一分钟
{ int i,n;
for(i=55296;i0;i--)
for(n=1000;n0;n--);
}
bit lcd_busy()
{
bit result;
LCD_RS = 0;
LCD_RW = 1;
LCD_EN = 1;
delay(10);
result = (bit)(P10x80);
LCD_EN = 0;
return(result);
}
void lcd_wcmd(uchar cmd)
{
while(lcd_busy());
LCD_RS = 0;
LCD_RW = 0;
LCD_EN = 0;
P1 = cmd;
delay(10);
LCD_EN = 1;
delay(10);
LCD_EN = 0;
}
void lcd_wdat(uchar dat)
{
while(lcd_busy());
LCD_RS = 1;
LCD_RW = 0;
LCD_EN = 0;
P1 = dat;
delay(10);
LCD_EN = 1;
delay(10);
LCD_EN = 0;
}
void lcd_init()
{
delay(3);
lcd_wcmd(0x38); //扩充指令操作
delay(5);
lcd_wcmd(0x08); //基本指令操作
delay(5);
lcd_wcmd(0x06); //显示开,关光标
delay(5);
lcd_wcmd(0x01); //清除LCD的显示内容
delay(5);
}
//延时函数
void display(uchar ch)
{ int x,x1,b1,b2;
float y,y1;
y=(float)ch*30/256;
x=y;
y1=10*(y-x);
x1=y1;
if(0=xx10)
{ lcd_wcmd(0x01);delay(5);//清屏
lcd_wcmd(0x80+9);delay(5);//设起始写地址
lcd_wdat(0x30+x);delay(20);//写整数
lcd_wdat(0x2e);delay(20);//写小数点
lcd_wdat(0x30+x1);//写小数
delay0();
}
if(10=xx=40)
{b1=x/1;b2=x%10;
lcd_wcmd(0x01);delay(5);
lcd_wcmd(0x80+9);delay(5);
lcd_wdat(0x30+b1);delay(20); // 写十位
lcd_wdat(0x30+b2);delay(20);//写个位
lcd_wdat(0x2e);delay(20);
lcd_wdat(0x30+x1);
delay0();
}
}
//AD采集数据 ;
uchar get_ADC()
{ uchar date,i; //不要用data是关键字,会说符号错误
for(i=0;i3;i++)//在第一个脉冲下降沿开始
文档评论(0)