用单片机对数码管进行显示以及keil uvision的使用

keil uvision的简单运用——数码管的实现
单片机的使用

51单片机入门

相信很多人对51单片机并不陌生,而且有很多人可能在很久之前就接触并且学习51单片机,51单片机能够存在这么长时间,并且始终被人们所利用和提起就一定有他的道理存在,而现实生活中的51单片机就是以一个“万金油”的角色存在,下面我们就简单的说一下51单片机实现数码管的操作。文中我的单片机型号是STC12C5A16AD

如何建立一个keil文件

1、首先我们需要安装一个keil uvision的软件,相信大家对keil并不陌生,我们这里使用的keil uvision 软件,keil是一个公司的名字,在2005年被arm公司收购,uvision是由keil公司开发的集成开发环境(IDE),可以进行代码编辑,文件管理,程序的编译调试等。具体安装包可以在网上下载,也可以通过公众号<软件安装管家>中回复,keil uvision4(但是软件安装管家会经常性的维护,所以可能无法获得),所以后面附上了云盘地址:pan.baidu.com/s/1kCVxnp0HBD0516TQKL3I_Q;密码:x9a6.
2、建立空白.c文件夹。
2.1打开软件:
此时已经打开一个keil uvision4的软件
2.2建立新工程文件,如果已经汉化的话是打开工程,未汉化是打开project栏。下拉栏中的新建工程或者 new project。
在这里插入图片描述
命名为sum(我们一般习惯于把文件的名字都写成英文)在这里插入图片描述
选择型号Atmel 中的AT89C52,然后点击确定。之后会让你确定是否建立一个文件,点击确认即可
在这里插入图片描述
在这里插入图片描述
2.3建立空白文档
文件或者file点击新建或者new file
在这里插入图片描述
在这里插入图片描述
2.4保存或者save as成.c文件。
在这里插入图片描述
2.5点击工程栏中的目标1的加号未汉化版见图所示相应位置,打开源组,并且右击源组,找到把“文件加到源组”或者“add file to…”
在这里插入图片描述
2.6 添加.c文件,文件类型未C source file
在这里插入图片描述
2.7左边工程栏会增加一个main.c的c文件,
在这里插入图片描述
2.8“魔法棒”生成Hex文件,点击我鼠标位置的“魔法棒”
在这里插入图片描述
2.9 更改时钟频率,与单片机上的晶振的频率相等,我的单片机是11.0592,然后点击输出(未汉化点击相应的位置)在面板点击生成Hex文件
在这里插入图片描述
在这里插入图片描述
然后我们就可以在main.c中编写程序了
3、数码管例程如下:

代码例程

#include<reg51.h>				
#define uint  unsigned int// 宏定义 uint 和 uchar
#define uchar unsigned char
void delay_1ms(uint n)//1ms的延迟函数 
{
	uint i,j;
	for(i=n;i>0;i--)
	{
		for(j=400;j>0;j--);//调整1ms,400与单片机的固有频率有关
	}	

}
uchar code PX[]={0XFE,0XFD,0XFB,0XF7};//片选
uchar code DX[]=
{
0XC0,0XF9,0XA4,0XB0,
0X99,0X92,0X82,0XF8,
0X80,0X90,0X88,0X83,
0XC6,0XA1,0X86,0X8E
};	//段选  //为方便使用我列出了数码管显示值的数表,根据单片机原理图完成显示值数表
void display_1()//四个数码管交替显示0-f
{
	uchar i;
	for(i=0;i<16;i++)
	{
	P2 = PX[i%4];
	P0 = DX[i];
	delay_1ms(1000);
	}	
}
void main()
{
while(1) //因为单片机的周期极短所以我们使用while(1)循环使单片机一直循环显示我们要表现的
{
	display_1();//调用display_1的函数

}

}

代码段中的显示值数表可自己列写,我这里举出我所使用单片机所列的表
在这里插入图片描述

4、拷入到单片机
此时我们可选择使用stc-isp软件,logo如下,并且需要有端口转串口的驱动
在这里插入图片描述
4.1打开文件,并选择单片机型号,在单片机上有标注单片机型号
在这里插入图片描述
4.2打开程序文件并选择刚刚生成的Hex文件
在这里插入图片描述
4.3 关闭单片机,点击下载/编程,然后打开单片机(单片机是冷启动)
在这里插入图片描述
然后就会在单片机显示1-F延时1s循环变化的现象

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值