看看这个视频,自己再尝试着来一下仿真,下面的这些全部都是仿真要用到的内容

具体教程看看这个视频

proteus结合keil对51单片机仿真(基础入门实践)_哔哩哔哩_bilibili

学习单片机你只需要掌握两个软件即可一个是keil,另一个是proteus

#include<reg51.h>
/*
0xc9,0xfx
*/
void main()
{
while(1)
{
P2=0xf9;
}
}

数码管让它实现在上面打印出来0到一

也是上面那个哔哩哔哩视频教程,我这个是已经可以运行的,

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int/*
0xc9,0xfx
*/
uchar code seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(uint ms)
{uint i,j;for(i=ms;i>0;i--)for(j=120;j>0;j--);
}
void nixie_show()
{uchar i;for(i=0;i<10;i++){P2=seg[i];delay(300);}
}void main()
{
while(1)
{
nixie_show();
}
}

这个是单片机用来显示数码管数字的

这是那位大哥的教程,那么可以关注一下这位大哥

proteus结合keil对51单片机仿真(基础入门实践)_哔哩哔哩_bilibili

https://www.bilibili.com/video/BV1PT4y1G7vp?p=8&share_source=copy_web

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int/*
0xc9,0xfx
*/
uchar code seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(uint ms)
{uint i,j;for(i=ms;i>0;i--)for(j=120;j>0;j--);
}
void nixie_show()
{uchar i;for(i=0;i<10;i++){P2=seg[i];delay(300);}
}void main()
{
while(1)
{
P3=0x01;
P2=0xa4;
}
}

单片机点亮数码管会出现的错误

像这样它的灯显示的就会有那么一点奇怪了,但是这个代码没有问题,可以和下面的另一个代码比较一下看看为什么

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int/*
0xc9,0xfx
*/
uchar code seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar code place_code[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar cache[8]={0,0,0,0,0,0,0,0};
void tranfer(uchar a,s,d,f,g,h,j,k)
{cache[0]=a;cache[1]=s;cache[2]=d;cache[3]=f;cache[4]=g;cache[5]=h;cache[6]=j;cache[7]=k;}
void delay(uint ms)
{uint i,j;for(i=ms;i>0;i--)for(j=120;j>0;j--);
}
void nixie_show()
{uchar i;for(i=0;i<8;i++){P3=place_code[i];//P2=0xff;P2=seg[cache[i]];}
}void main()
{tranfer(0,1,2,3,4,5,6,7);
while(1)
{
nixie_show();
}
}

这个才可以显示完整的0,1,2,3,4,5,6,7,8,9

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int/*
0xc9,0xfx
*/
uchar code seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar code place_code[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar cache[8]={0,0,0,0,0,0,0,0};
void tranfer(uchar a,s,d,f,g,h,j,k)
{cache[0]=a;cache[1]=s;cache[2]=d;cache[3]=f;cache[4]=g;cache[5]=h;cache[6]=j;cache[7]=k;}
void delay(uint ms)
{uint i,j;for(i=ms;i>0;i--)for(j=120;j>0;j--);
}
void nixie_show()
{uchar i;for(i=0;i<8;i++){P3=place_code[i];P2=0xff;P2=seg[cache[i]];}
}void main()
{tranfer(0,1,2,3,4,5,6,7);
while(1)
{
nixie_show();
}
}

这个又是一个表示0到九的数字的代码

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int/*
0xc9,0xfx
*/
uchar code seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar code place_code[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar code place_code1[8]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};
uchar cache[8]={0,0,0,0,0,0,0,0};
void tranfer(uchar a,s,d,f,g,h,j,k)
{cache[0]=a;cache[1]=s;cache[2]=d;cache[3]=f;cache[4]=g;cache[5]=h;cache[6]=j;cache[7]=k;}
void delay(uint ms)
{uint i,j;for(i=ms;i>0;i--)for(j=120;j>0;j--);
}
void nixie_show()
{uchar i;for(i=0;i<8;i++){P3=place_code1[i];P2=0xff;P2=seg[cache[i]];}
}void main()
{tranfer(0,1,2,3,4,5,6,7);
while(1)
{
nixie_show();
}
}

这个就是上面的那个代码的效果图,学习单片机的过程是需要坚持的,上面的那个博主发的软件呢个protes好像无法使用,你可以自己想办法下载,也可以自己花钱在淘宝上面或者拼多多上面弄

单片机的学习真的是不会太容易的,因为网上的资料真的真的老师有漏的,自己要多多的积累,多看一些

这个成功的设置了按键,按一下变换了一个数字

#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit P30=P3^0;
uchar code seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar i=0;
void display()
{if (P30==0);{while(P30==0);P2=seg[i];i++;if(i>=10) i=0;}
}
void main()
{while(1){display();}}

这个是图片

这个也是按键的代码,添加了延时程序

#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit P30=P3^0;
uchar code seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar i=0;
void delay(uint ms)
{uint i,j;for(i=ms;i>0;i--)for(j=120;j>0;j--);
}
void display()
{if (P30==0);{delay(10);while(P30==0);P2=seg[i];i++;if(i>=10) i=0;}
}
void main()
{while(1){display();}}

后面还有一些例子,自己可以看看上面的那个哔哩哔哩博主的视频,我就不一个个的打出来了。毕竟学习是自己的事。

51单片机点亮数码管,单片机学习的好的办法,单片机例子大全,单片机教程相关推荐

  1. 51单片机点亮数码管

    使用51单片机 前言 一.点亮数码管 1.静态点亮 (1)静态点亮原理: (2)总线控制各个数字显示代码 2.动态数码管点亮 (1)点亮原理 (2)点亮硬件基础 (3)代码实现 前言 在这里我将简单介 ...

  2. 51单片机LED与数码管的学习

    一.关于LED的各种操作 //亮灯 void LED_ON(void) {P1 = 0x00; } //灭灯 void LED_OFF(void) {P1 = 0xff; }//左移和右移 void ...

  3. 单片机学习笔记————51单片机实现带数码管显示的象棋比赛专用计时器

    一.使用proteus绘制简单的电路图,用于后续仿真 二.编写程序 /***************************************************************** ...

  4. 单片机学习笔记————51单片机实现带数码管显示的加法简易计算器

    一.使用proteus绘制简单的电路图,用于后续仿真 二.编写程序 /***************************************************************** ...

  5. 单片机学习笔记————51单片机实现在数码管中实现iphone4S开机密码锁的程序

    一.使用proteus绘制简单的电路图,用于后续仿真 二.编写程序 /***************************************************************** ...

  6. 51单片机按键亮灯汇编,作者刚刚开始学习汇编

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 51单片机按键亮灯 总结 51单片机按键亮灯 ORG 0000HLCALL DEFLCALL ABCLCALL BCDLCA ...

  7. 51单片机:静态数码管详细教程

    51单片机:静态数码管详细教程 目录 51单片机:静态数码管详细教程 一.数码管通电 1.原理图 2.数码管真值表 二.实现程序 1.程序编写 2.接线问题 三.结果与总结 1.成果展示 2.总结 一 ...

  8. 【51单片机】七段数码管显示实验+详细讲解

    [51单片机]七段数码管显示实验 前言 一.兵马未动,粮草先行--认识七段数码管 1.关于显示器 2.七段数码管 3.七段数码管的结构 4.数码管显示方法 二.数码管显示程序 1.静态显示 效果 2. ...

  9. 51单片机点阵c语言程序,使用51单片机点亮我们的点阵灯

    通过前面我们都知道点亮我们的不管是点阵,数码管,还是LED灯,不仅要熟悉我们的代码还要会看我们的原理图和真值表,所以我们如果真的要写代码倒是其次的,首先我们得学会看我们的原理图和真值表,但是认识那个我 ...

  10. 51单片机按键控制数码管0~9_对于常用的数码管,你有多熟悉?

    数码管是嵌入式开发中比较常用的一个模块,本篇文章根据查阅的资料以及学习笔记整理成文,尽可能详尽的讲解常用数码管原理和使用方法.有不足和疏忽的地方,请不吝指正. 一.工作原理数码管是一种半导体发光器件, ...

最新文章

  1. windows系统中的常用网络命令
  2. RSS接触 - RSS中的XML文档
  3. 页面传值的方法 和JSON与字符串和对象之间的转换
  4. 几种常用的数字滤波器
  5. Gojs学习史(一):基本定义
  6. oracle 字符串 回车,如何去掉字符串中的回车键
  7. indesign入门教程,如何向母版页添加内容?
  8. 如何解决安装佳能LBP2900驱动时总是提示无法识别USB连接(附带驱动程序下载地址)
  9. 转专业申请麦吉尔大学计算机,加拿大大学转专业申请秘籍
  10. 谷露专访伯周咨询创始人Tiger Pan:在退潮后蜕变
  11. 最新苹果审核被拒4.3解决方案总结(2020年7月)
  12. 手机中好用的软件有哪些?让我来告诉你吧
  13. 为什么我劝90%的人不要转行数据分析?数据岗真没你想的那么香
  14. [日记]初中时写的一篇日记
  15. ZEMAX | 在设计抬头显示器(HUD)时需要使用哪些工具?
  16. 用dos命令行执行java程序的方法
  17. 船东提单和货代提单差距这么大?
  18. 美年旅游_自由行_删除自由行
  19. 算法学习笔记----用动态规划解决钢管切割问题
  20. iOS关键字之nullable、nonnull、null_resettable、_Null_unspecified的区别

热门文章

  1. mac使用Alfred搜索外接移动硬盘失败的解决方法
  2. ukey网络连接异常_连接UKEY设备失败如何解?电子支付OCX – 手机爱问
  3. PCWORLD评出的十大杀毒软件
  4. 经典游戏IP:传统端游大厂的成功“捷径” ARPU值更高
  5. 就这一次看懂TraceView
  6. Android hardware简易流程
  7. Android 签名机制 v1、v2、v3
  8. 数字图像来源:光学成像系统
  9. a3图纸标题栏尺寸标准_标准CAD制图上A3图幅上的标题栏尺寸是多少
  10. Web前端开发工具和框架