标题:
为什么单片机+adc0808仿真st始终为低电平,eoc始终为高电平?
[打印本页]
作者:
曾经的你
时间:
2019-11-14 10:59
标题:
为什么单片机+adc0808仿真st始终为低电平,eoc始终为高电平?
为什么adc0808仿真st始终为低电平,eoc始终为高电平?
51hei.png
(23.45 KB, 下载次数: 30)
下载附件
2019-11-14 12:24 上传
单片机源程序如下:
#include <reg52.h>
#include<intrins.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define COM0808 XBYTE[0XEFF8]
int X;
char code dis_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
char find_code[4];
char seg_wei[]={0x01,0x02,0x04,0x08};
void Delay1ms(uint count);
void disp();
void Int_Init();
void main()
{
Int_Init();
COM0808 = 0X00; //启动adc0809
while(1)
{
find_code[0]=X%1000%100%10;
find_code[1]=X%1000%100/10;
find_code[2]=X%1000/100;
find_code[3]=X/1000;
disp();
}
}
//延时函数
void Delay1ms(uint count)
{
uint j;
while(count--!=0)
{
for(j=0;j<80;j++);
}
}
//数码管显示处理
void disp()
{
uchar i;
for(i=0;i<4;i++)
{
P2=seg_wei[i];
P1=dis_code[find_code[i]];
Delay1ms(1);
}
}
void Int_Init()
{
IT1 = 1;
EA = 1;
EX1 = 1;
}
void Int1() interrupt 1 //外部中断1的中断函数
{
X = COM0808;
COM0808 = 0X00;//启动
}
复制代码
所有资料51hei提供下载:
adc0809外部中断调试.zip
(20.53 KB, 下载次数: 8)
2019-11-14 10:59 上传
点击文件名下载附件
仿真.zip
(30.93 KB, 下载次数: 8)
2019-11-14 10:59 上传
点击文件名下载附件
作者:
曾经的你
时间:
2019-11-15 20:47
中断向量号打错,应该是interrupt 2
作者:
pcbboy
时间:
2019-11-16 08:11
//-----------------------------------------
//中断服务程序
void exint1() interrupt 2 //INT1中断入口
{
X = COM0808;
COM0808 = 0X00;//启动
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1