完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
4个回答
|
|
本帖最后由 wulinwl 于 2017-4-18 08:54 编辑
//8位数码管同时显示0~F,你自己根据电路图修改管脚定义。 #include #include #define uint unsigned int //宏定义 #define uchar unsigned char //宏定义 ***it dula=P2^6; //数码管段选锁存端 ***it wela=P2^7; //数码管位选锁存端 uchar num; //显示数字变量 uchar tt; //计数变量 uchar code table[]={ //0~F数组,共阳数码管 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void main() { num=0; //显示数字初始0 tt=0; //计数变量初始0 TMOD=0x01; //设置定时器0为工作方式1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; //开总中断 ET0=1; //开定时器0中断 TR0=1; //启动定时器0 dula=1; //开启段选锁存端 P0=0x3f; //给段开始送显示0。 dula=0; //关闭段选锁存端,防止开始时出现乱码。 wela=1; //开启位选锁存端 P0=0x00; //打开8个数码管位选 wela=0; //关闭位选锁存端 while(1) { if(tt==20) //每进入20次中断即为1000ms,执行一次显示变化。 { tt=0; num++; if(num==16) num=0; dula=1; P0=table[num]; dula=0; } } } void exter0() interrupt 1 // 定时器0中断 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; tt++; } |
|
|
|
1 0 0 2 9 2 5 0 9 4
|
|
|
|
一个555加8个4026试试。PDF打不开
|
|
|
|
lz跟我用的开发板一样,呵呵。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
277 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
368 浏览 0 评论
766 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
592 浏览 0 评论
879 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12035 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 00:18 , Processed in 0.507702 second(s), Total 49, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号