初识keil5 C语言#3

一、创建新项目

       

将文件存在单独文件夹中 

根据不同的单片机类型,选择不同的Device。51单片机选择AT89C52

在Project——Target——Group中创建源文件(.c)

在Options——Target中勾选“Create HEX File”

二、以控制管脚的电平控制电子元件

        1、管脚:单片机的MCU伸出许多管脚与其他电子元件相连,以其作为通道传递信息(电)

                      (如下P (N.n))

        2、二进制与电平

                2.1、机器语言:在计算机(MCU是其中一种)中,以二进制(0101011)存储数据

                2.2、电平:以高电平(电压大于0)对应1,低电平(接地,电压为0)对应0

        3.电器的通断

                3.1、当电器的一端为低电平,另一边为高电平时,电器连通。

                         而当两端电平相同时,断开。

                3.2、因此,只需控制MCU在对应的管脚处输出0/1,即可控制对应电器的通断

三、编写程序控制管脚

        1、包含设备对应的头文件

#include <REGX52.H>
#include <INTRINS.H> 

        2、控制单独管脚

P2_0 = 0   
P2_1 = 0   
P2_2 = 0   

        3、控制多个相关管脚

                3.1、多个具有相似功能管脚的通常会被集成为一个“大管脚”(如上的P2),方便操作

                3.2、“大管脚”的控制方式:

                        3.2.1、十六进制:二进制每4个转化为一个十六进制数

                                                   (在编程中以0x开头的数表示十六进制数)

                         3.2.2、通常一个“大管脚”包含8个管脚,因此需要2个十六进制数来表示

P2 = 0xFF

                        3.2.3、高位对高位,低位对低位

P2 = 0xB6 = 1  0  1  1  0  1  1  0
            |     |        |     |
            |     |        |     |          
            |     |        |     |
          P2_7   P2_6     P2_2  P2_0

四、独立按键控制LED灯

#include <REGX52.H>
#include <INTRINS.H>
void Delay(int ms)		//@11.0592MHz
{
	int n;
	unsigned char i, j;
for( n = 0;n<ms;n++)
	{
	_nop_();
	_nop_();
	_nop_();
	i = 11;
	j = 190;
	do
	{
		while (--j);
	} while (--i);
}
}


void main()
{
	int two,yiwei = 0x01;
	while(1)
	{
		if(P3_1 == 0)
		{
			Delay(20);
			while(P3_1 == 0)
			{
			}
				Delay(20);
				two++;
				P2 = ~two;
		}
			if(P3_2 == 0)
		{
			Delay(20);
			while(P3_2 == 0)
			{
			}
				Delay(20);
				P2 = ~yiwei;
				if(yiwei == 0x80)
				{
					yiwei = 0x01;
					
				}
				else
				{
				yiwei = yiwei<<1;
				}
		}
	}
}

五、烧录程序以控制单片机

单片机型号选择STC89C52RC,点击 “打开程序文件”

打开所需Project的对应HEX文件

在单片机关机情况下点击左下角“下载/编程”

开机单片机,即可完成编程,可按程序操控单片机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值