-
跪求下载
-
新手报名,可以带我吗
-
看看
-
那个程序还是不行啊,和我的程序运行效果一样的,都不能调节时钟,教我下怎么改吧 ,谢谢
-
现在主要是按键时,不能达到我所要的效果,不能调节时钟,改怎么解决呢?
-
确实是那个地方的变量定义错了,谢谢:victory:
-
dddddddddddddd
-
电路图上是这样的,但不知道为什么
-
参考了啊,有些就是模仿人家写的,难道是因为proteus的问题,我用那个虚拟示波器抓得波形不对,而且用灯来模拟的也不对
-
这个两种方法开始就试过了,都不行啊,AD没有问题 我是在原有的电路上加虚拟终端来进行串口显示的。网上也百度不到。怎么办呢?:Cry:
-
波特率和晶振频率设置正确,主要是不能显示AD采集转化的二进制值。
-
我开始的数据类型就是unsigned int 型,那个是溢出了 ,但是我修改数据类型long 后还是不行,我参考网上的列子,别人乘以的是50000,但是结果也显示正常,想问下改怎么修改,麻烦知道下,谢谢!
显示部分的函数是:
b=(m*500/255)/100;
s=(m*500/255)%100/10;
g=(m*500/255)%10;
wdata(b+'0');
wdata('.');
wdata(s+'0');
wdata(g+'0');
-
用的是ADC0804,是8位的啊 ,怎么回事呢?
-
是的,但是1602只能用数组的方式显示吗?我直接给PO口赋值怎么不显示啊
-
确实可以跑了 ,谢谢啊
-
其实我参考人家写的,别人最后一行加while(1);让单片机原地踏步,1602里的DDRAM里的值也没有不变,所以应该显示的 。 而且以前写的都是加while(1)的 ,而且都正确的 这次加,就不正确了 ,不知道哪里出了问题 ,关键是别人写的加了while(1)都显示 就我自己写的不显示 郁闷
-
#include
#include
char code table[]={"hello"} ;
sbit RS=P2^5;
sbit RW=P2^6;
sbit E=P2^7;
#define DP P0
#define BF 0x80
void checkby();
void writecmd(char cmd,char b);
void writedata(char *a);
void lcdreset();
void delay();
void main()
{
char *ap ;
ap=table;
lcdreset();
delay();
writecmd(0x84,0);
while(*ap!='\0')
{
writedata(ap);
ap++;
delay();
}
while(1);
}
void lcdreset()
{
writecmd(0x01,1);
writecmd(0x0c,1);
writecmd(0x06,1);
writecmd(0x38,1);
}
void writecmd(char cmd,char b)
{
if(b==1)checkby();
RS=0;
RW=0;
_nop_();
DP=cmd;
_nop_();
E=1;
_nop_();
E=0;
}
void checkby()
{
DP=0xff;
RS=0;
RW=1;
E=1;
_nop_();
if(DP&BF)delay();
E=0;
}
void delay()
{
char i,j;
i=100;
for(;i>0;i--)
for(;j
-
好东西哇
-
其实我这个程序的目的就是,开始定时器计数等溢出后转向中断,8个灯开始从左到又闪烁,遇到外部中断时,8个灯全部闪下,但是我这个程序跑到,sjmp s 时就不往下走了,我把这句删了 ,但是 灯不是按我要求的情况亮,所以想请教下,改怎么修改这个程序,谢谢!