菜鸟刚学单片机,请问用C如何让数码管显示12345678,静态的哦,应该不难吧?
菜鸟刚学单片机,请问用C如何让数码管显示12345678,静态的哦,应该不难吧?
[解决办法]
不难
呵呵,
LZ首先先要明确,数码管也只不过是多个分立的LED
只要你的电路接法正确,给正确的信号,那就会亮
再有一个:
再复杂的图案都是由简单的元素有序构成
这明白了吗?
只要LZ能点亮单个的LED,然后,有序地输出各个元素,那么就能取得你理想的效果
如两个特例(假设,输出1时,LED点亮)
输出0000 0000 这时候全灭
输出1111 1111 这时候显示8
呵呵,就这么回事.要不LZ你试试...
[解决办法]
要有原理图啊,不同的接法,不同的心片都不一样
[解决办法]
数码管是什么样的,是点阵的还是七段的?
七段的就只要一个字节对应一位数字,要是点阵的可要多个字节对应一位数字.
[解决办法]
七段数码管对应七个IO点输出,然后做个数组把每个数字的排法排一下输出就oK了。
[解决办法]
假设是c51,假设是共阳,假设是P1口,假设是一个数码管,假设12345678的段译码为trcod1,trcod2,trcod3,trcod4,trcod5,trcod6,trcod7,trcod8
显示从1到8的程序如下:
include <reg51.h>
digitdata[8]={trcod1,trcod2,trcod3,trcod4,trcod5,trcod6,trcod7,trcod8};
main()
{
for (uchar i=0;i<8;i++)
{
P1=digitdata[i];
delay(至少20ms);
}
}
[解决办法]
数电啊!用74LS138就可以轻松实现了
[解决办法]
看此帖,里面有电路原理图和简易程序。。。。。
http://topic.csdn.net/u/20080106/13/f8334ad2-1c26-436e-8d1a-60f63bab884c.html
[解决办法]
用一个74HC595来驱动,如果要静态显示多位的话可以设置一个4KHz的中断来进行动态刷新.