【51单片机独立按键控制数码管移动反向,2片74CH573/74CH273段和位,按键按下保持原状态】2023-3-25

缘由https://ask.csdn.net/questions/7909241/54131971

cpp 复制代码
`#include "reg52.h"//四位数码管显示
sbit d=P2^1;
sbit w=P2^0;
sbit k1=P3^2;
sbit k2=P3^3;
bit x1=0,x2=0;
unsigned char code SmZiFu[]={63,6,91,79,102,109,125,7,127,111,128,0};//0-9.
unsigned char ys=0,x=0,fx=0;
void xianshi()
{
    if(++ys>174)
    {
        ys=P0=0;
        d=1;P0=SmZiFu[x+fx>7?11:x+fx];d=0;
        w=1;
        P0=255-(x==0?1:x==1?2:x==2?4:x==3?8:x==4?16:x==5?32:x==6?64:128);
        w=0;
        if(++x>7)x=0;
    }
}
void main()
{//缘由https://ask.csdn.net/questions/7909241/54131971
    unsigned char xd=0,js=0;
    while(1)
    {
        xianshi();
        if(k1==0&&++xd==0){x1=1;x2=0;while(k1==0)xianshi();}
        if(k2==0&&++xd==0){x2=1;x1=0;while(k2==0)xianshi();}
        if(ys==0&&++js==0)
        {
            if(x1==1&&x2==0)if(++fx>7)fx=0;else;
            else if(x1==0&&x2==1)if(--fx==255)fx=8;else;
            else fx=0;
        }
    }
}`
cpp 复制代码
`void xianshi()
{
        if(++ys==0)
        {//74CH273
           w=0;
           P0=255-(x==0?1:x==1?2:x==2?4:x==3?8:x==4?16:x==5?32:x==6?64:128);
           w=1;d=1;P0=SmZiFu[x+fx>7?11:x+fx];d=0;//若用2片273则d=0在先d=1在后
           if(++x>7)x=0;
        }
}`

第3位数码管无论如何都无法点亮,添加P0=255;后还是一样?还不清楚什么原因,找到标号弄错了。




cpp 复制代码
`#include "reg52.h"//四位数码管显示
sbit d=P2^1;
sbit w=P2^0;
sbit w1=P2^2;
sbit k1=P3^2;
sbit k2=P3^3;
bit x1=0,x2=0;
unsigned char code SmZiFu[]={63,6,91,79,102,109,125,7,127,111,128,0};//0-9.
unsigned char ys=0,x=0,fx=0;
void xianshi()
{
        if(++ys==0)
        {
                w=0;
                P0=255-(x==0?1:x==1?2:x==2?4:x==3?8:x==4?16:x==5?32:x==6?64:128);
                w=1;
                w1=0;
                P0=255-(x==0?1:x==1?2:x==2?4:x==3?8:x==4?16:x==5?32:x==6?64:128);
                w1=1;
                d=0;P0=SmZiFu[x+fx>7?11:x+fx];d=1;
                if(++x>7)x=0;
        }
}`

有时由于修改电路难免发生小误而奇怪现象如下





我初学编程时就到论坛1是看看别人是怎么写的,2是有机会就回复力所能及的,有一次好像是回复不怎样,有人奚落我一边呆着去,我问什么意思,答"哪凉快哪呆着去",然而这种人我觉得不值一提,没那么了不起,反而是没见识鄙陋的表现,其实学单片机我也是一样来看看别人是怎么写的,不是复制粘贴的,最重要的是自己思考推敲才要紧,其实这种驱动没什么特别的,多动脑子就有办法,很简单的,不是什么很难的时序。

相关推荐
Fu20672112 小时前
OSPF笔记 OSPF --- 开放式最短路径优先
网络·笔记
William Dawson12 小时前
【软考中级备考日记|系统集成项目管理工程师Day20:终章上岸|最后一页纸必考清单(考场直接默写、零基础必背)】
笔记·系统集成项目管理工程师
玄米乌龙茶12313 小时前
LLM 应用开发学习笔记:System Prompt 设计、注入风险与成本优化
笔记·学习·prompt
青山师13 小时前
HashMap深度解析:哈希冲突、扩容机制与线程安全
算法·安全·哈希算法·java面试·hashmap源码
货拉拉技术13 小时前
私域转化率翻倍的秘密:我们把多模态Agent融进了私域营销
人工智能·算法·设计模式
深圳市晨芯阳科技有限公司13 小时前
带延时功能的电压检测系列晨芯阳HC809
单片机·嵌入式硬件·电源芯片·深圳市晨芯阳科技有限公司
不是山谷.:.13 小时前
Axios的【接口防抖 + 请求失败重试 + 弱网提示】三合一高阶版封装
前端·javascript·vue.js·笔记·elementui·typescript
WL_Aurora13 小时前
备战蓝桥杯国赛【Day 17】
算法·蓝桥杯
kcuwu.13 小时前
决策树与集成学习深度解析:从原理到实践
算法·决策树·集成学习
xiangw@GZ13 小时前
DDR2 / DDR3 / DDR4 颗粒信号差异对照表
单片机·嵌入式硬件