C51---1 新建C51工程 + 2.1 并点亮LED灯 + 3.1 按键控制LED亮灭

发布者:Huanle666最新更新时间:2022-07-22 来源: csdn关键字:C51  点亮LED灯  按键控制  LED亮灭 手机看文章 扫描二维码
随时随地手机看文章

1 新建工程

在这里插入图片描述

选择好目录路径后,选择

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加文件

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.1 并点亮LED灯

LED原理图

在这里插入图片描述

main函数代码

led1为P2_0

P2控制8位设置为1111 1110时第0位为0,LED二极管导通点亮。


#include


void main()

{

P2=0xFE;//1111 1110

while(1);

}


烧录后

在这里插入图片描述

点亮4颗led


#include


void main()

{

P2=0x55;//0101 0101

while(1);

}

在这里插入图片描述

3.1 按键控制LED亮灭

原理图

在这里插入图片描述

在这里插入图片描述

main函数

按键1按下时,LED1亮

按键1松开时,LED1熄灭


#include


void main()

{

while(1)

{

if(P3_1==0)

{

P2_0=0;

}

else

{

P2_0=1;

}

}

}


关键字:C51  点亮LED灯  按键控制  LED亮灭 引用地址:C51---1 新建C51工程 + 2.1 并点亮LED灯 + 3.1 按键控制LED亮灭

上一篇:C51---2.2 LED闪烁
下一篇:51单片机:独立按键控制LED灯

推荐阅读最新更新时间:2024-11-11 23:24

自制单片机之十六……将文字或图形转成LCD上使用的C51字模
这一讲说说如何用取模软件将图形转成数据吧,有很多人反复问我这个问题,我就再罗嗦下吧!   取字模的软件有很多款。有的只能将文字转成字模数据,有的既可将文本文字转字模也能将图片转成点阵数据。在这里我就介绍一款使用简单易用的,它能将文字或图形转成我们LCD模块使用的C51数据,其它的软件也大同小异。 iframe id="iframe_0.11324494727887213" src="data:text/html;charset=utf8,%3Cimg%20id=%22img%22%20src=%22http://hiphotos.baidu.com/txz01/pic/item/03e1c42b775c78c8e7cd40e3.
[单片机]
三种常用的CRC16校验算法的C51程序的优化
CRC校验又称为循环冗余校验,是数据通讯中常用的一种校验算法。它可以有效的判别出数据在传输过程中是否发生了错误,从而保障了传输的数据可靠性。 CRC校验有多种方式,如:CRC8、CRC16、CRC32等等。在实际使用中,我们经常使用CRC16校验。CRC16校验也有多种,如:1005多项式、1021多项式(CRC-ITU)等。在这里我们不讨论CRC算法是怎样产生的,而是重点落在几种算法的C51程序的优化上。 计算CRC校验时,最常用的计算方式有三种:查表、计算、查表+计算。一般来说,查表法最快,但是需要较大的空间存放表格;计算法最慢,但是代码最简洁、占用空间最小;而在既要求速度,空间又比较紧张时常用查表+计算法
[单片机]
c51 单片机中断函数
以串口中断为例: 如: void serial() interrupt 4 { } 和 void serial_uart() interrupt 4 { } 两个函数的功能都是定义串口中断函数。函数名字不一样不重要,重要的是函数名字后面的interrupt 4(中断向量表地址)要正确。
[单片机]
bit 和sbit的区别
bit和sbit都是C51扩展的变量类型。 bit和int char之类的差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,意义有点像Windows下VC中的BOOL。 sbit是对应可位寻址空间的一个位,可位寻址区:20H~2FH。一旦用了sbi xxx = REGE^6这样的定义,这个sbit量就确定地址了。sbit大部分是用在寄存器中的,方便对寄存器的某位进行操作的。
[单片机]
基于mini2440的按键中断控制LED(裸机代码)
#define GLOBAL_CLK //相当于定义了FCLK,HCLK,PCLK,UCLK #include def.h #include option.h #include mmu.h #include 2440addr.h #define LED1_on rGPBDAT = ((0xf 5)^(1 5)) //GPB5=0 #define LED2_on rGPBDAT = ((0xf 5)^(1 6)) //GPB6=0 #define LED3_on rGPBDAT = ((0xf 5)^(1 7)) //GPB7=0 #define LED4_on rGPBDAT = ((0xf 5)^(1 8))
[单片机]
单片机c51头文件的解释
#include reg51.h 是 c51(用于单片机开发的一种c语言)的头文件。   类似于头文件 AT89X51.h。   这两个头文件基本是一样的,只是在使用时对位的定义不一样,   at89x51.h 文件中对 P1.1的操作是写成 P1_1;   reg51.h 文件中的操作则写成 P1^1。 打开 reg51.h 可以看到这样的一些内容:   此文件一般在 C:KEILC51INC 下 ,INC 文件夹根目录里有不少头文件,并且里面还有很多以公司分类的文件夹,里面也都是相关产品的头文件。   如果我们要使用自己写的头文件,使用的时候只需把对应头文件拷贝到 INC 文件夹里就可以了。   sfr 并非标准C语言的关键字
[单片机]
STM32定时器控制led灯
SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置 系统时钟 SYSCLK 等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产 生一次中断,以此循环往复。 在使用时,只需要配置前三个寄存器,最后一个校准寄存器不需要使用。 接下来,利用 SysTick 产生 1s 的时基,LED 以 1s 的频率闪烁。 1、设置重装载寄存器的值 2、清除当前数值寄存器的值 3、配置控制与状态寄存器 配置头文件: void PendSV_Handler(void) { }
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved