📄 62256tiao.c
字号:
/************************************************************************
该程序是所有的并行器件挂在PC口上面,由8255负责给62256写地址
该程序是测试单片机最小开发系统的小工具,里面包含8255,62256,串口,液晶
,还能将62256的数据送到PC机,对AD进行采样等,常用器件及常用调试工具和方法
**************************************************************************/
#include"mega16.h"
#include"delay.h"
#include"8255.c"
#include"chuankou.c"
#include"62256.c"
#include"avryejing.c"
#include"pc_link.c"
#include"math.h"
unsigned int jh3=0;
unsigned int dress=0;
unsigned char temp=0;
unsigned int readadc(unsigned char channel)
{ADMUX=channel;
ADMUX|= 0x40;
ADCSRA|=0x40; //注意选择手动转换,那么必须在每次转换完成之后再将ADSC=1 启动一下
while((ADCSRA&0x10)!=0x10);
return ADCW;
}
main()
{unsigned int k=0;
unsigned int w=0;
unsigned int temp=0;
unsigned char i=0;
unsigned char x=0;
unsigned char y=0;
unsigned char x1=0;
unsigned char y1=0;
unsigned long rubbish=12;
float jh=1.2254;
xianshi(12345678,0);
DDRA=0x00;
PORTA=0x00;
DDRD=0xff;
PORTA.6=1;
ADMUX=0x40;
ADCSRA=192;
CS_ram_en=1;
CS_ram=1;
delay_ms(200);
init_8803();
#asm("sei")
rest8255(0x80);
usart();
send8255(0xff,0);
send8255(0xff,1);
send8255(0xff,2);
chinese(0,6,"三峡大学电子创新实验室");
chinese(2,0,"童江");
next:
temp=0;
x=12;
k=13;
TCCR1A=0x00;
TCCR1B=0x02;
//jh=sin(jh);
//jh=jh*2.35689;
//k=k+87;
//k=k+87;
//k=k+87;
//k=k+87;
//jh=sqrt(28.5);
//x=x*6;
//xianshi(2345678,0);
//rubbish=rubbish/20;
//x1=readadc(0);
//x1=readadc(0);
//xianshi(k,2);
//chinese(2,2,8);
k=TCNT1;
//k=12345;
xianshi(k,0);
/**/
//开始接收数据
k=0;
while(PINA.6);
/* {//x1=receive();
//writeram(k,x1);
if(jh3!=0)
{xianshi(1314584,0);
jh3=0;
k=UDR;
}
//delay_ms(1000);
k++;
}
xianshi(0xf0,0);
while(PINA.6);
xianshi(dress,0);
delay_ms(3000);
k=0;
while(1)
{
y1=readram(k);
xianshi(y1,0);
k++;
delay_ms(1000);
}
//接收数据完毕
while(PINA.6);
xianshi(jh*1000000,6);
delay_ms(1000);
while(PINA.6);
*/
while(temp<10000)
{k=readadc(0);//0xaabb;
i=k;
writeram(temp,i);
i=k>>8;
writeram(temp+1,i);
temp+=2;
}
temp=0;
xianshi(87654321,0);
point(0,2,1);
//开始画图
while(temp<481)
{k=readram(temp+1);
k=k<<8;
k=k+readram(temp);
xianshi(k,0);
//delay_ms(300);
temp+=2;
if(k!=0)
{x=128-k/8;
point(x,y,1);
xianshi(k,0);
delay_ms(50);
}
if(y==240)
{
while(PINA.6);
y=0;
}
else x=128;
temp+=2;
y++;
}
/*
temp=0;
while(temp<10000)
{k=readram(temp+1);
k=k<<8;
k=k+readram(temp);
if(k!=0)
{x=128-k/8;
point(x,y);
xianshi(k,0);
delay_ms(50);
}
if(y==240)
{
while(PINA.6);
y=0;
}
else x=128;
temp+=2;
y++;
}
temp=0;
while(1);
while(temp<32000)
{k=readram(temp);
xianshi((long)temp*1000+k,0);
fasong(k);
if(k!=0x25)
{
w++;
}
//xianshi(k,0);
temp++;
delay_ms(100);
}
*/
xianshi(w,0);
w=0;
delay_ms(100);
goto next;
while(1);
}
interrupt [12] RXINT() //接受数据完毕中断
{temp=UDR;
writeram(dress,temp);
dress++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -