51单片机读7135 BUSY 仿真,差别2个字
申请了2片美信的7135,一直没玩起来,前几天在论坛搜索7135的帖子,拼凑下电路,修改了下程序,单片机可以显示7135的电压,差别2个字。参考这2个帖子
Protues仿真ICL7135
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4686786&bbs_page_no=1&search_mode=1&search_text=7135&bbs_id=9999
求助ICL7135做的20v/200v电压表驱动共阳数码管仿真成功,驱动共阴数码管不行有文件求解
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4890561&bbs_page_no=1&search_mode=4&search_text=411412&bbs_id=9999
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_666466Q49NVC.jpg
(原文件名:7135-2.jpg)
仿真文件ourdev_666467H7MHGJ.rar(文件大小:57K) (原文件名:7135 C51.rar) 这种AD不应该有差别的,用计数器门控计数方式一个字都不会差 仿真的话,是不会有差别的,你的程序有问题。 void main ()
{
TMOD=0x09;//T0 16位计数器,门控方式
TL0=0; //T0初值
TH0=0;
IT0=1;//int0 低电平触发
TR0=1;//开始计时
EX0=1;//int0 中断使能
//ET0=1;
EA=1;
while(1)
{
D = A;
dis_buff = D/10000;
D = D%10000;
dis_buff = D/1000;
D = D%1000;
dis_buff = D/100;
D = D%100;
dis_buff = D/10;
D = D%10;
dis_buff = D;
display();
}
}
void int0con(void)interrupt 1
{
TR0 = 0;
A = TH0; // A=TH0*256+TL0;
A << =8;
A |= TL0;
A >>= 1; // A/2-10001
A = A-10001;
TH0 = 0;
TL0 = 0;
TR0 = 1;
}
单片机时钟6M,7135时钟250K。
程序很简单,算法也没错,不知道怎么就差了2个字。 奇怪的很,输入电压是0.31968V,7135显示的是3.194。
http://cache.amobbs.com/bbs_upload782111/files_44/ourdev_666580FQDGJG.jpg
(原文件名:7135-3.jpg)
单片机计数的值是对的。
页:
[1]