发个电路图过来 |
哦 好像弄错了 好像没有啊 |
这两个之间貌似连了锁存器 可以通过设置锁存器来关闭数码管吗 |
有个软件叫单片机小精灵,里面你要延时多长它自动帮你算,形成C代码,复制过来就可以了。数码管会变应该是共用了P0口,开发板单片机IO都是共用的。你看一下你的板电原理图就清楚了。 |
这个延时函数 我不是很明白 他没运行一次是多少时间 另外就是那个由亮到暗这个功能是实现了 但数码管却也在变化 我不太理解 难道这两个是连在一块的 ? |
我去试试 |
是延时函数 |
#include<reg52.h> #define uchar unsigned char #define uint unsigned int uchar num; sbit csda=P3^2; sbit wr=P3^6; void delay7ms800us(void) //误差 0us 12m晶振 { unsigned char a,b,c; for(c=5;c>0;c--) for(b=4;b>0;b--) for(a=193;a>0;a--); } void main() { csda=0; wr=0; num=0xff; while(1) { P0=num; delay7ms800us(); num--; if(num==0) { num=0xff; } } } |
我编译了一下 貌似有错误啊 大神 对了 我用的是ATM89C52 单片机 还有就是void delay7ms800us(void) //误差 0us 12m晶振 { unsigned char a,b,c; for(c=5;c>0;c--) for(b=4;b>0;b--) for(a=193;a>0;a--); }这个我没看懂 就是个延时函数还是什么 |
本帖最后由 dgahz 于 2014-11-5 09:44 编辑 试试: #include<reg52.h> #define uchar unsigned char #define uint unsigned int uchar num; sbit csda=P3^2; sbit wr=P3^6; void delay7ms800us(void) //误差 0us 12m晶振 { unsigned char a,b,c; for(c=5;c>0;c--) for(b=4;b>0;b--) for(a=193;a>0;a--); } void main() { csda=0; wr=0; num=0xff; while(1) { P0=num; delay7ms800us(); num--; if(num==0) { num=0xff; } |
可程序要实现的功能却没有实现 我是想让上面发的电路图中的最右边的D12灯实现从亮到暗变换 。。不知道程序哪里错了 大神给点意见呗 |
这段程序这样表示可以吗:num=0xff;num=--num 可以,先减可以,后减不行 |
本帖最后由 dgahz 于 2014-11-4 22:12 编辑 如P1=0xFF和P1=255效果一样 |
可以。编程可以用十进制和十六进制,不可用二进制。十进制和十六进制都能运算 |
还有一个问题 :这段程序这样表示可以吗:num=0xff;num=--num 就是我上面说的 能对16进制进行运算吗 |
while(1) 改成 while(1) { num--; if(num==0) { |
dgahz 发表于 2014-11-2 15:51 受教了 多谢大神 我去试试 |
dgahz 发表于 2014-11-2 15:51 受教了 多谢大神 我去试试 |
要搞清--num和num--的区别;num=num--则num的值就永远不会变。 public class Test { public static void main(String[] args) { int i = 1; i = i++; System.out.println(i); } } 先想一想,这个程序会输出什么?是1还是2?按照我最初的想法,输出应该是2,因为把i赋值给i相当于没做什么操作,然后对i进行自加操作,所以变量i的值变为2了。但实际输出结果却是1! 跟David讨论了一下,他说这个i = i++;的操作可能相当于以下三步操作:①把变量i的值取出来,放在一个临时变量里(我们先记作temp);②把变量i的值进行自加操作;③把临时变量temp的值作为自增运算前i的值使用,在本题中就是给变量i赋值。因此,经过以上三步操作以后,虽然变量i在第②步操作中进行了自增运算,但第三步操作以后又把原来的值赋给了它,故最后输出结果为1。虽然我不确定这种解释是否正确,毕竟对底层实现细节不是太了解,但这种解释至少跟结果是符合的。 |
没看到驱动部分,是不是驱动的问题 |
本帖最后由 T29 于 2014-10-31 16:09 编辑 很好 学习 谢谢 |