2.点亮第一盏LED灯

对单片机的控制,其实就是对I/0口的控制。
15系列单片机最多有P0~P7八个8位双向输入输出端口(P5除外)。比赛所用的IAP15F2K61S2仅用到P0-P4五组I/0口。
注:添加.c文件到工程中,否则编程不能通过。
对keil的几项设置:
生成HEX文件:(必要)HEX文件保存在objects文件夹中在这里插入图片描述
对中文输入的设置:(必要)
在这里插入图片描述
字体及大小设置:(可不改)
在这里插入图片描述
ISP下载软件的使用
注:11.0592MHz晶振,中间的勾选项目为默认即可(否则可能会使板子锁定)下方的第一个√使得重新编译后再次下载的程序文件为修改后的,无需再次装载;第二个√使得每次重新编译后自动装载并烧录程序文件。
蓝桥杯官方用板需按开关重新断电上电,跳线帽在右侧两针上。
在这里插入图片描述
有关程序:
头文件中STC15F2K60S2.H中已包含了位定义:

sbit P00=P0^0;

可打开头文件查看。而52单片机头文件REG52.H中没有包含这一定义,故两者有区别,52单片机不可直接使用P00。
点亮第一盏LED灯:(先对LED进行初始化,然后编写所需点灯程序,使用0或1来实现亮暗,可放在while内部)

#include<STC15F2K60S2.H>
void main(void)
{
	P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;//初始化程序
	P00=0;//点亮第一盏LED灯
	while(1);//起到结束程序的作用
}

位定义的使用:(即将特定端口赋予一个变量名,之后可直接用此变量代表所指端口,可认为是指针,便于直接修改端口时候,直接修改了变量的指代内容,从而下方所用到的变量均为修改后的内容,减少了依次修改的工作量)

#include<STC15F2K60S2.H>
sbit LED1=P0^0;
void main(void)
{
	P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;   //初始化程序
	LED1=0;
	while(1);
}

位定义只能使用类似于(只能用于某一个端口,而不能用于某一组端口)

sbit LED1=P0^0;

不能使用类似于

sbit LED=P0;
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值