完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
用52单片机学习板上的2个按键,4个数码管,实现以下功能:
1. 不按按键,数码管灭; 2. 按下第1个按键,数码管显示“dlnu”;再按一下第1个按键,数码管显示“xtxy”;再按一下第1个按键,数码管显示“dzxx”;再按第1个键,显示“dlnu”.....,依次循环; 3.按下第2个按键,数码管灭。 |
|
相关推荐
18个回答
|
|
求大神们教教我
|
|
|
|
把你想显示的那三个字符串的编码变成三个数组,记住按下的次数,依次显示就ok了,很简单
|
|
|
|
编了 但是按下按键有显示但是松手就只有最后一个字母了,求大神帮解决 |
|
|
|
有两种可能,一种是按键发生了抖动,第二种是你按键状态没有记录OK,配套的程序也出了问题。 |
|
|
|
楼主上传你的程序看看
|
|
|
|
#include #define uint unsigned int #define uchar unsigned char ***it dula=P2^6; ***it wela=P2^7; ***it s1=P3^4; ***it s2=P3^5; uchar code u1[]={0x5e,0x38,0x37,0x3e}; uchar code u2[]={0x76,0x78,0x76,0x6e}; uchar code u3[]={0x5e,0x5b,0x76,0x76}; uchar code u4[]={0xfb,0xf7,0xef,0xdf}; uint i,j,x; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void display() { if(x==1) { for(i=0;i<4;i++) { wela=1; P0=0xff; wela=0; wela=1; P0=u4; wela=0; dula=1; P0=u1; dula=0; delay(5); } } if(x==2) { for(i=0;i<4;i++) { wela=1; P0=0xff; wela=0; wela=1; P0=u4; wela=0; dula=1; P0=u2; dula=0; delay(5); } } if(x==3) { for(i=0;i<4;i++) { wela=1; P0=0xff; wela=0; wela=1; P0=u4; wela=0; dula=1; P0=u3; dula=0; delay(5); } } if(x==4) { x=1; } } void main() { x=1; while(1) { if(s1==0) { delay(10); if(s1==0) { while(!s1) display(); x++; } } if(s2==0) { delay(10); if(s2==0) { while(!s2) wela=1; P0=0xff; wela=0; } } } } |
|
|
|
这是要给你写出来吗?
|
|
|
|
大致上扫了一眼,是主程序的问题!没仔细看,明日来答。
|
|
|
|
|
|
|
|
我也是来学习的
|
|
|
|
把显示函数从读键程序中移出来。
|
|
|
|
|
|
|
|
|
|
|
|
void main()
{ x=1; while(1) { display(); if(s1==0) { delay(10); if(s1==0) { while(!s1) x++; } } if(s2==0) { delay(10); if(s2==0) { while(!s2) wela=1; P0=0xff; wela=0; } } } } |
|
|
|
|
|
|
|
|
|
|
|
#include
#define uint unsigned int #define uchar unsigned char ***it dula=P2^6; ***it wela=P2^7; ***it s1=P3^4; ***it s2=P3^5; uchar code u1[]={0x5e,0x38,0x37,0x3e}; uchar code u2[]={0x76,0x78,0x76,0x6e}; uchar code u3[]={0x5e,0x5b,0x76,0x76}; uchar code u4[]={0xfb,0xf7,0xef,0xdf}; uint i,j,x; bit biaozhi=0; //设一个标志 void delay(uint z) { uint a,y;//避免与全局变量重名,否则可能产生未知的错误 for(a=z;a>0;a--) for(y=110;y>0;y--); } void display() { if(biaozhi)//根据标志显示 { if(x==1) { for(i=0;i<4;i++) { wela=1; P0=0xff; wela=0; wela=1; P0=u4; wela=0; dula=1; P0=u1; dula=0; delay(5); } } if(x==2) { for(i=0;i<4;i++) { wela=1; P0=0xff; wela=0; wela=1; P0=u4; wela=0; dula=1; P0=u2; dula=0; delay(5); } } if(x==3) { for(i=0;i<4;i++) { wela=1; P0=0xff; wela=0; wela=1; P0=u4; wela=0; dula=1; P0=u3; dula=0; delay(5); } } if(x==4) { x=1; } } } void main() { x=1; while(1) { display(); if(s1==0) { display(); if(s1==0) { while(!s1) display(); biaozhi=1; x++; } } if(s2==0) { delay(10); if(s2==0) { while(!s2) wela=1; P0=0xff; wela=0; } } } } 仅是一种思路,并未实际验证,供参考。 |
|
|
|
真心感谢!!! |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
464 浏览 0 评论
643 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
942 浏览 0 评论
1028 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
724 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12043 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 07:59 , Processed in 1.061138 second(s), Total 106, Slave 89 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号