找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2034|回复: 7
打印 上一主题 下一主题
收起左侧

请问这个单片机一键切换多功能程序应该如何写?可以给个思路吗

[复制链接]
跳转到指定楼层
楼主
完成一键切换多功能系统设计1 个按键 K,由 P3.0 控制,8 个 LED发光二极管,由 P1 口控制。(1)系统上电时 8 个 LED 全灭(2)第一次按下开关 K 的时候,8 个LED 全亮;第二次按下开关 K 的时候,高四位 LED亮;第三次按下开关 K 的时候,交叉亮灭;第四次按下开关 K 的时候,低四位 LED亮。再按开关 K 的时候,又从第一次开始。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:796531 发表于 2021-10-3 21:50 | 只看该作者
设定一个变量 Key_count 每按一次按键Key_count计数加一,如果Key_count>=5,则置Key_count=1;根据Key_count值用个switch语句实现不同输出状态
回复

使用道具 举报

板凳
ID:25058 发表于 2021-10-3 22:08 | 只看该作者
楼上正解
回复

使用道具 举报

地板
ID:332444 发表于 2021-10-4 08:07 | 只看该作者
回复

使用道具 举报

5#
ID:969664 发表于 2021-10-4 09:53 | 只看该作者
paladina 发表于 2021-10-3 21:50
设定一个变量 Key_count 每按一次按键Key_count计数加一,如果Key_count>=5,则置Key_count=1;根据Key_coun ...

谢谢,请问如何让他刚开始全灭呀

捕获.PNG (79.44 KB, 下载次数: 91)

捕获.PNG
回复

使用道具 举报

6#
ID:969664 发表于 2021-10-4 10:20 | 只看该作者
本帖最后由 jerry1203 于 2021-10-4 11:28 编辑
#include <reg51.h>
void delay(unsigned char i)
{
        unsigned char j,k;
        for(k=0;k<i;k++)
        for(j=0;j<255;j++);
}
void lsd1()
{
        P1=0xff;
        }
        void lsd2()
        {
P1=0x00;
                }
void lsd3()
{
P1=0x01;
}
        void main()
        {
                unsigned char key_count,l;
                P3=0xff;
                for(l=0;l<5;l++)
                        key_count=l
                while(1)
                {
                        if(key_count=0)lsd1();
                                if(key_count=1)lsd2();
                                if(key_count=2)lsd3();
                                if(key_count=3)0x0f;
                                if(key_count=4)0xf0;
                        }
        }
请问这个思路对吗

捕获.PNG (79.44 KB, 下载次数: 96)

捕获.PNG
回复

使用道具 举报

7#
ID:810196 发表于 2021-10-4 12:19 来自手机 | 只看该作者
初始化时拉高p1口
回复

使用道具 举报

8#
ID:796531 发表于 2021-10-4 20:44 | 只看该作者
jerry1203 发表于 2021-10-4 09:53
谢谢,请问如何让他刚开始全灭呀

开始赋值 Key_count=0 啊,switch语句里 Key_count=0 P1=OXFF 啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表