找回密码
 立即注册

QQ登录

只需一步,快速开始

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

本人小白单片机是兴趣爱好,这个是单片机显示四位数字程序,注释是问题求解决方法

[复制链接]
跳转到指定楼层
楼主


#include<reg51.h>
unsigned char number[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char wei[4]={0xe3,0xe7,0xeb,0xef};    //可以在单片机开发板上运行,但写入仿生图是错误的
//unsigned char wei[4]={0xf7,0xfb,0xfd,0xfe};    //这行可以在仿生图上运行,但写入单片机是错的,
我想要一个仿生图和单片机开发板都是正确的,以及为什么错啊


sbit K1=P1^4;

void DelayMs(unsigned char i)
{
unsigned int k;
for(;i!=0;i--)
{
for(k=0;k<250;k++);
}
}

void display(unsigned int i)
{
        P2=wei[3];
        P0=number[i/1000];
        i=i%1000;
        DelayMs(1);
        P0=0x00;
        DelayMs(1);

        P2=wei[2];
        P0=number[i/100];
        i=i%100;
        DelayMs(1);
        P0=0x00;
        DelayMs(1);

        P2=wei[1];
        P0=number[i/10];
        i=i%10;
        DelayMs(1);
        P0=0x00;
        DelayMs(1);

        P2=wei[0];
        P0=number[ i];
        DelayMs(1);
        P0=0x00;
        DelayMs(1);
}

void main(void)
{
unsigned int i=7130;
P0=0x00;
P2=0x00;
DelayMs(1000);
while(1)
{

   display(i);

}


屏幕截图 2022-11-30 215816.png (450.09 KB, 下载次数: 49)

屏幕截图 2022-11-30 215816.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2022-12-1 07:12 | 只看该作者
两者位驱动电路不一样,按你的学习板电路画的仿真图。


回复

使用道具 举报

板凳
ID:195496 发表于 2022-12-1 08:15 | 只看该作者
楼上分析正确,你要想处理好问题,要先找到开发板原理图,才能深入学习,或者你要自已画出开发板的相关原理图,不然就不知道原因在哪里。
回复

使用道具 举报

地板
ID:18297 发表于 2022-12-1 09:33 | 只看该作者
任何软件输出都是通过对应的硬件来实现的,学习软件时,也要学习硬件知识,如模拟电路,时钟电路等。
学会看懂别人的原理图,这里知道38译码器的用途和如何编程。加油!
回复

使用道具 举报

5#
ID:123289 发表于 2022-12-1 17:19 | 只看该作者
关键是弄清楚原理,这个才是治本。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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