使用keil及proteus实现数码管循环显示“0“-“F“

数码管循环显示"0"-“F”

一、数码管循环程序的编译

1.keil新建工程

打开project选择新建
在这里插入图片描述
打开ATmel,选择AT89C51
在这里插入图片描述
是否将标准8051启动代码复制到项目并将文件添加到项目中,此次项目可以不添加8051启动代码,选择否。
在这里插入图片描述

2.新建文本进行C语言编译

在这里插入图片描述
另存为"数码管循环显示.c"在这里插入图片描述
将该c程序添加进入工程
在这里插入图片描述
程序代码如下:

#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code DSY_CODE[]=
{
    
    
  0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff
};
void DelayMS(uint x)
{
    
    
  uchar t;
while(x--)
for(t=120;t>0;t--);
}
void main()
{
    
    
  uchar i=0;
P0=0x00;
while(1)
{
    
    
  P0=~DSY_CODE[i];
i=(i+1)%16;/*显示0-f*/
DelayMS(400);
}
}

3.创建hex文件

点击该按钮进行设置
在这里插入图片描述

选择output并勾选创建hex文件
在这里插入图片描述
进行编译得到hex文件
在这里插入图片描述

二、使用proteus进行仿真

设计电路图如下
在这里插入图片描述
双击AT89C51添加hex文件
在这里插入图片描述
添加完成
在这里插入图片描述
仿真结果如下:
在这里插入图片描述
总结:本次学习了keil新建工程及对51芯片的c语言编译,并使用proteus进行仿真,收获颇多,在寻找元器件的过程中,对元器件英文名不熟悉,产生了许多错误,后面会进步的。

猜你喜欢

转载自blog.csdn.net/weixin_43757736/article/details/108962932