专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
PIC单片机
请问里面做触摸屏的朋友们是如何效准的。。我的触摸屏不知道如何自动效准。。如果想
2020-02-10 08:54
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
51单片机
4017
11
11
请问里面做触摸屏的朋友们是如何效准的。。我的触摸屏不知道如何自动效准。。批量生产很不方便
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
our_avr
2020-02-11 19:01
ClrLCD();
for(t= 0xffff;t!=0;t--){_nop();_nop();}
Writeline(13,112,xiaozhun1);
Writeline(7,130,xiaozhun2);
Writeline(1,16,"●");//效准X的最小值和Y的最大值
while(Z_var < 3500);//排除误动作
for(;;){
if(Z_var < 3500){
Y_max = temp_var_y;
X_min = temp_var_x;
if((Y_max < 4070)&(Y_max > 3000)&(X_min >300)&(X_min < 1500)){
break;
}
}
}
ClrLCD();
for(t= 0xffff;t!=0;t--){_nop();_nop();}
Writeline(13,112,xiaozhun1);
Writeline(7,130,xiaozhun2);
Writeline(36,214,"●");//效准X的最大值和Y的最大小值
while(Z_var < 3500);//等到按键放开
for(;;){
if(Z_var < 3500){
Y_min = temp_var_y;
X_max = temp_var_x;
if((Y_min < 1000)&(Y_min > 300)&(X_max >3300)&(X_max < 4070)){
break;
}
}
}
ClrLCD();
for(t= 0xffff;t!=0;t--){_nop();_nop();}
Writeline(13,112,xiaozhun1);
Writeline(7,130,xiaozhun2);
Writeline(30,100,"●");//效准一个点的位置
while(Z_var < 3500);//等到按键放开
for(;;){
if(Z_var < 3500){
Y_base = Y_max - Y_min;
Y_base_float = 198.0 / Y_base;
X_base = X_max - X_min;
X_base_float = 36.0 / X_base;
Y_address = (temp_var_y - Y_min)*Y_base_float - 140;
X_address = (temp_var_x - X_min)*X_base_float - 30;
state_menu = 1;
break;
}
}
的确是三点的办法去效验。。上面是我效验的具体程序段落。。
不过里面还是有问题。因为AD到的值变化很大,所以不是很准确,可能跟我的布局有一定的关系。希望对其他的朋友有个参考的目的。。
加载中...
查看其它11个回答
一周热门
更多
>
相关问题
PIC单片机不同的IO口驱动74HC573驱动共阴极的数码管,有的段不亮
1 个回答
一种简单精确的pic延时方法
21 个回答
谁熟悉PIC的产品发布时间的,帮看看PIC18F47K40啥版本IDE能开发
12 个回答
求AN1078对应的源代码下载地址
5 个回答
PIC单片机应用技巧
4 个回答
相关文章
一种用PIC单片机主时钟驱动的老式挂钟
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
PIC单片机
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
for(t= 0xffff;t!=0;t--){_nop();_nop();}
Writeline(13,112,xiaozhun1);
Writeline(7,130,xiaozhun2);
Writeline(1,16,"●");//效准X的最小值和Y的最大值
while(Z_var < 3500);//排除误动作
for(;;){
if(Z_var < 3500){
Y_max = temp_var_y;
X_min = temp_var_x;
if((Y_max < 4070)&(Y_max > 3000)&(X_min >300)&(X_min < 1500)){
break;
}
}
}
ClrLCD();
for(t= 0xffff;t!=0;t--){_nop();_nop();}
Writeline(13,112,xiaozhun1);
Writeline(7,130,xiaozhun2);
Writeline(36,214,"●");//效准X的最大值和Y的最大小值
while(Z_var < 3500);//等到按键放开
for(;;){
if(Z_var < 3500){
Y_min = temp_var_y;
X_max = temp_var_x;
if((Y_min < 1000)&(Y_min > 300)&(X_max >3300)&(X_max < 4070)){
break;
}
}
}
ClrLCD();
for(t= 0xffff;t!=0;t--){_nop();_nop();}
Writeline(13,112,xiaozhun1);
Writeline(7,130,xiaozhun2);
Writeline(30,100,"●");//效准一个点的位置
while(Z_var < 3500);//等到按键放开
for(;;){
if(Z_var < 3500){
Y_base = Y_max - Y_min;
Y_base_float = 198.0 / Y_base;
X_base = X_max - X_min;
X_base_float = 36.0 / X_base;
Y_address = (temp_var_y - Y_min)*Y_base_float - 140;
X_address = (temp_var_x - X_min)*X_base_float - 30;
state_menu = 1;
break;
}
}
的确是三点的办法去效验。。上面是我效验的具体程序段落。。
不过里面还是有问题。因为AD到的值变化很大,所以不是很准确,可能跟我的布局有一定的关系。希望对其他的朋友有个参考的目的。。
一周热门 更多>