完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
能不能不要打击我的信心。。
(1)使用三个按键控制最后两位数码管设置一个二位数字,其中一个按键控制加数字,一个按键控制减数字,一个按键控制切换所控制的数码管。 (2)设定好数字后,利用定时器使这个数字以一秒为间隔倒计数到0,后再从0以一秒为间隔正计数到该数字。 (3)整个计数过程中,令LED小灯随数字的改变而亮灭。 求指点,能加我*** |
|
相关推荐
6个回答
|
|
|
|
|
|
|
|
|
|
一个定时程序,如果感觉无所下手,可以考虑一步一步的去实现。或者说一个一个模块的去实现。一个是数码管显示模块,电路设计是静态显示还是动态显示,不一样的设计需要不一样的程式算法;一个是按键检测模块;一个是定时模块,可以考虑用中断产生一个时基;最后就是把模块整合,实现功能要求。学习还是要慢慢来,一个一个功能模块的去学习。
|
|
|
|
#include
#include #define uint unsigned int #define uchar unsigned char uchar code table[]= //数模 { 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x67,0x77,0x7c, 0x39,0x5e,0x79,0x71 }; int count=20; //要设定的数(0~99) int number=0; uchar a=0xfe; //位选 uchar b=0xfd; uchar flag=1; //顺加和逆减的标志 ***it key1=P1^0; //加数 ***it key2=P1^1; //减数 ***it key3=P1^2; //改位选 ***it led=P1^3; //led void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void Init_time0() { TMOD=0x01; EA=1; ET0=1; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; } void keyscan() { TR0=0; if(key1==0) { delay(2); if(key1==0) { number++; if(number==100) number=0; } while(!key1); delay(2); while(!key1); } if(key2==0) { delay(2); if(key2==0) { number--; if(number<0) number=99; } while(!key2); delay(2); while(!key2); } if(key3==0) { delay(2); if(key3==0) { a=_crol_(a,1); b=_crol_(b,1); } while(!key3); delay(2); while(!key3); } TR0=1; } void display() { P2=a; //位选 P0=table[number/10]; //段选 delay(2); P2=b; P0=table[number%10]; delay(2); } int main(void) { Init_time0(); while(1) { keyscan(); display(); } return 0; } void exter0() interrupt 1 { static uint t=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; t++; if(t==20) { t=0; led=~led; if(flag) { number++; if(number==100) number=0; if(number==count) flag=0; } else { number--; if(number==0) flag=1; } } } 基本可以这样写。。具体的你可以完善下 |
|
|
|
亲,我运行没错,可是仿真上就有错误了 |
|
|
|
我想问一下,用定时器倒数那个应该有个按键触发吧。。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
imx6ull裸机编程,使用宏定义无法驱动,使用指针就可以驱动
227 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第三十二章 音频FFT实验
186 浏览 0 评论
飞凌嵌入式ElfBoard EL 1板卡-i2c与从设备通讯编程示例之i2c-tools工具使用
1243 浏览 0 评论
stc15f2k60s2利用串口传输字模存储到eeprom并进行点阵显示
1567 浏览 1 评论
1540 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11614 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 09:56 , Processed in 0.592883 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号