完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
现在在弄51 驱动数码管
用P0口控制6个数码管的显示。想简单些: 1:位选:将六个数码管都打开,即位选选中所有数码管 后不再位选 即每次显示都是6个数码管一起显示 2:段选:将所有数码管从0——F显示(共阴数码管)。 编译下载后:出现的现象是,显示的数字是正确的,但不是每个数码管都亮 数量不定 位置不定 经分析是因为位选没有锁存住。。但是明明根据74HC537真值表。。做了相关操作啊??弄了两天,实在没得头绪了。。求教大家了。。。 代码如下: #include typedef unsigned char uint8; typedef unsigned int uint16; uint8 numeber[]={0x3f,0x06,0x58,0x4f, //共阴极数码管 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0X77,0x7c, 0x58,0x5e,0x79,0x71}; ***it DU=P2^6; ***it WE=P2^7; main() { uint8 counter, i; TMOD=0x01; //工作在01模式 WE=1; //WE==1时候,表示输入和输出一样,数据不锁存。 0=0xc0; //送入位选信号 应该是全部位都选通(应该全部亮) WE=0; //WE==0时候,表示输入不改变输出,数据锁存。 0=0xff;(消影) TH0=0xB8;//设定20MS延时 TL0=0X00; TR0=1; while(1) { if(TF0==1) { TF0=0; TH0=0xB8; TL0=0x00; counter++; } if(counter==50) //延时50次 刚好1S { DU=1; //每次延时一秒后,不锁存数据,即改变数据输入。 0=numeber[i++];//改变输入数据 DU=0; //改变后锁存数据 counter=0; //计数变量变为0 } if(i==16) //如果现实完F返回从0开始显示 { i=0; } } } HL-1 V8.0电路图.pdf (70.79 KB ) |
|
相关推荐
3个回答
|
|
时间停留长一点看看
|
|
|
|
这里建议楼主 看看 郭天翔的 教程,会有你需要的!
|
|
|
|
考虑一下会不会是驱动不了了呀
|
|
|
|
只有小组成员才能发言,加入小组>>
2947 浏览 9 评论
2667 浏览 16 评论
3197 浏览 1 评论
8388 浏览 16 评论
3751 浏览 18 评论
6909浏览 6评论
求助,请问MS51FB9AE带隙电压能作为侦测的基准电压吗?
7430浏览 3评论
6937浏览 3评论
支持UART-to-BLE透传的新唐NuTool – BLE ATCMD开发工具推荐
5784浏览 3评论
9351浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-3-28 18:55 , Processed in 0.684500 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号