完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用3个数码管计数器,让计数器的累加过程在数码管上体现。
#include #define uchar unsigned char #define uint unsigned int ***it dula=P2^6; ***it wela=P2^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71, 0x76,0x79,0x38,0x3f,0}; uint num,tt; void delay(uint z) { uint y,x; for(x=z;x>0;x--) for(y=110;y>0;y--); } void init() { num=0; tt=0; wale=0; dula=0; TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1 ET0=1; TR0=1; } void main () { init(); while(1) { uint i; if(tt==10) tt=0; num++; for( i=0;i<3;i++) { dula=1; P0=table[num%10]; dula=0; wela=1; P0=~(1< wela=0; delay(10); num/=10; } } } void exter() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; tt++; } |
|
相关推荐
13个回答
|
|
把我的这段替换你的main函数
void main () { uint tmp; init(); while(1) { uint i; if(tt==10) { tt=0; num++; } tmp = num; for( i=0;i<3;i++) { dula=1; P0=table[tmp%10]; dula=0; wela=1; P0=~(1< wela=0; delay(10); tmp/=10; } } }
最佳答案
|
|
|
|
中断里的中断标志位没清除
|
|
|
|
楼上正解, 楼主试试看
|
|
|
|
|
|
|
|
你的数码管的内容是不是一直快速的变着?
|
|
|
|
|
|
|
|
|
|
|
|
你这样的话,程序将跳不出这个循环,系统一直停留在000上 |
|
|
|
单片机………………
|
|
|
|
|
|
|
|
一旦兴趣和雄心被唤起,一个人就能超越自己心中认定的极限!这句话很不错了。
|
|
|
|
|
|
|
|
你这是进了死循环啊,楼主C语言不行啊
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
751 浏览 0 评论
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
1330 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1184 浏览 0 评论
899 浏览 0 评论
947 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11866 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-3 22:41 , Processed in 1.037268 second(s), Total 100, Slave 82 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号