找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1617|回复: 4
打印 上一主题 下一主题
收起左侧

单片机+lcd12864打开两个通道之后,为什么有一个通道的数据显示过程中一直在跳动.

[复制链接]
跳转到指定楼层
楼主
本帖最后由 wlqqc123 于 2019-4-28 21:18 编辑

用Proteus做一个仿真,用了ad0808的双通道,通道1能够正常显示,通道0显示的数字一直在跳动,刚才发帖以为是ad的问题,后来我自己改了改发现在显示时候出了一点问题,程序中dat【】如果【】中数字大于4,在12864上的显示就会是两个数值在不停的跳。
程序和代码在下边,希望大神能够指教一下,谢谢!


电路原理图如下:

void main()
{
InitLCD();
InitDingshi();
while(1)
{
Key_Scan();
ST=0;
ST=1;
ST=0;//??????
while(EOC==0);    //?????????      
OE=1;   //???????
adc=P1;
OE=0;
if(adc>199)  
{
Reverse_dianji();
}
tmp=(4.3478261*adc)+93;
  {
  if(A==0)
{
dat[0]=tmp%10;   
dat[1]=tmp/10%10;
dat[2]=tmp/100%10;
dat[3]=tmp/1000;
}
else
{
dat[4]=tmp%10;   
dat[5]=tmp/10%10;
dat[6]=tmp/100%10;
dat[7]=tmp/1000;
}
A=!A;
}
Display(1,2,0,0);
Display(1,2,16,1);
Display(1,2,32,2);
Display(1,2,48,5);
Display(1,4,0,3);
Display(1,4,16,4);
Display(1,4,32,2);
Display(1,4,48,5);
Display(2,4,32,6);
Display(2,4,48,7);
Display(2,2,32,6);
Display(2,2,48,7);
Displayen(2,4,24,dat[0]);
Displayen(2,4,16,dat[1]);
Displayen(2,4,8,dat[2]);
Displayen(2,4,0,dat[3]);
Displayen(2,2,24,dat[4]);
Displayen(2,2,16,dat[5]);
Displayen(2,2,8,dat[6]);
Displayen(2,2,0,dat[7]);
}  



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:96682 发表于 2019-4-28 20:16 | 只看该作者
只见一个哪有两个?短接非独立的能算两个么?
回复

使用道具 举报

板凳
ID:462827 发表于 2019-4-29 08:24 | 只看该作者
程序连同仿真图打包上传啊,不然别人帮你试得自己画一遍图?
回复

使用道具 举报

地板
ID:393114 发表于 2019-4-30 13:08 来自手机 | 只看该作者
wc86110 发表于 2019-4-28 20:16
只见一个哪有两个?短接非独立的能算两个么?

不好意思,图忘了改回来了,in1本来是接在旁边的滑动变阻器上
回复

使用道具 举报

5#
ID:393114 发表于 2019-4-30 13:09 来自手机 | 只看该作者
hantu 发表于 2019-4-29 08:24
程序连同仿真图打包上传啊,不然别人帮你试得自己画一遍图?

谢谢提醒,新手第一次发帖,没经验,下午会上传的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表