完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
以下是我的数码管从1到99的显示程序
#include"stc15.h" #define uint unsigned int #define uchar unsigned char ***it y1=P4^5; ***it y2=P4^4; ***it k1=P3^3;//按键1 ***it k2=P3^2;//按键2 uint right,left=0; uchar code table[]={ 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e }; void kzleft(uint); void delay(uint z); void main() { int a = 0,b = 0; y1=1; P2=0xfe; P4M0=1<<4 | 1<<5;//共阳极开启强推挽输出 P4M1=0x00; while(1) { y1=0; y2=1; P2=table[right]; for(b = 0; b <70; b ++) ; //消影 kzleft(left); for(b = 0; b <70; b ++) ; //消影 a ++; if(a > 5000) { a = 0; right ++; if(right >9) { right =0; left ++; if(left >9) { left =0; } } } } } void kzleft(uint left) { y1=1; y2=0; P2=table[left]; } ?*void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=3000;y>0;y--); }*/
|
|
相关推荐
6个回答
|
|
按键可以做成单独的子程序,显示也做成单独的子程序,然后主程序根据需要调用两个子程序就可以了
|
|
|
|
是这个样子吗? while(k1==0); //等待按键松开 } if(k2==0) { delay(30); //延时去抖 if(k2==0) //再判断是否按下 { //这中间我不知道怎么加循环// while(k2==0); //等待按键松开 } } |
|
|
|
只有两个键的话需要记录按的是什么键,以及按键按下的次数。
你需要把整个操作过程整理出来,包括各按键的功能,不同功能所需要按键按下的次数等。 程序尽量模块话,就是模块的功能尽量单一,尽量简单,比如按键检测的模块就是检测按键,检测到了就记录按的是什么键,按了多少次,其他就放到其他的模块去做。 |
|
|
|
做一个数据,想想按下按键取某个参数
|
|
|
|
人中狼 发表于 2017-6-17 21:37 按键模块写出来,再加其他功能的程序进去崩盘啊!不懂啊!求多按键控制多功能的模版 |
|
|
|
人中狼 发表于 2017-6-17 21:37 按键模块写出来,再加其他功能的程序进去崩盘啊!不懂啊!求多按键控制多功能的模版 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
308 浏览 0 评论
431 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第三十四章 image图像滤波实验
372 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】简介、环境搭建、工程测试
395 浏览 0 评论
730 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11625 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-7 10:30 , Processed in 0.706085 second(s), Total 52, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号