初识C51单片机(详解)

这篇具有很好参考价值的文章主要介绍了初识C51单片机(详解)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:
单片机是一种我们常见的开发板,我们经常会在一些项目中使用到它。而今天我们要介绍的是C51单片机,下面来介绍一下今天的”主角“:STC89C52RC40I-LQFP44单片机(后面将用到它做一些项目)。

1.了解命名规则一张图搞定:
初识C51单片机(详解)
2.学会看单片机电路原理图
只是一些初中的电路知识罢了,不用感到害怕!
3.开发环境安装:
(1)Keil C51安装,并搭配好环境(百度有教程)。
(2)STC-ISP:一款单片机下载编程烧录软件,是针对STC系列单片机设计。使用如下:
初识C51单片机(详解)

4.入门——点灯
灯为什么会亮?我们可以这样思考:你家停电了,灯开了也不会亮。所以灯会亮就是“有电”,也就是有电流流过。根据我们初中学的知识,电流由高电平流到低电平。把这个“灯”看作一个负载在中间有电流流过,所以也就是相当于一边配高电平,另一边配的是低电平。我们再根据单片机原理图来做分析:
初识C51单片机(详解)
很明显只需要将D5(LED1),D6(LED2),跟D4一样接地(看单片机一上电它就会亮起)即可(配成低电平),同时根据芯片图LED1接的是P3.7引脚,LED2接的是P3.6引脚。可以完成编程。代码如下(高电平1,低电平0):

#include "reg52.h"
sbit led1 = P3^7;//根据原理图(电路图),设备变量led1指向P3组IO口的第7口
sbit led2 = P3^6;//根据原理图(电路图),设备变量led2指向P3组IO口的第6口
void main()
{
	led1 = 0; //根据电路图,低电平点亮led
	led2 = 0;
	while(1);
}

接下来也可以给灯玩些花样:

  • 灯闪烁

如何实现灯闪烁?这里给一些思路,结合上述代码可以自己去实现:
“灯闪烁”无非就是亮灭交替。也就是一下子给高电平(灯灭),一下子给低电平(灯亮)。这里很容易想到用延时函数。我们可以使用STC-ISP自带延时函数(操作如下图)。当然学到定时器后,我们可以自己去定义。
初识C51单片机(详解)

  • 按键控灯

传统按键和灯是在同一个电路中,而单片机编程按键和灯是分开的两个电路,通过单片机作为媒介来处理数据,逻辑实现按键控制灯。先来看一下单片机原理图:
初识C51单片机(详解)
看了上述单片机原理图,应该会有初步想法:如何证明SW1被按下。很显然,电路中有个C3电容相当于断路。所以当SW1按下时,KEY1直接接地,表现为低电平(0),当SW1没有按下时KEY1 位置通过上拉电阻到5v表现为高电平(1)。所以我们可以理解下列代码:

#include "reg52.h"
sbit led1 = P3^7;
sbit key1 = P2^1;
void main()
{
	while(1){
	if(key1 == 0){
		led1=0;
	}
	}
}

当然我们也可以做到SW1开灯,SW2关灯。原理跟上面相似,根据上面所学可以自行实现。(这里注意一下可以采用延时函数来软件消抖。)
除了以上这些,还可以采用所谓的状态位来控制LED,原理相似。这里提供一下主函数写法:

void main()
{		
	 int ledMark = OFF_STATUS; //定义一个状态
	 led1=1;
	//查询法检测,是否按下
	while(1){
		if(key1 == 0){
			//按键消抖
			//感觉被按下,不知道是抖动还是人为,延迟50ms在判断一次
			//软件消抖
			Delay50ms();
			if(key1 == 0){
				ledMark = ON_STATUS; 
			}			
		}
		if(key2 == 1){ //KEY2位置和GND接通,表现为低电平,值为0
			ledMark = OFF_STATUS;
		}	
		if(ledMark = ON_STATUS){
			led1=0;
		}
		else{
			led1=1;
		}
	}
}

结语:
这次的内容就写到这里了,对于入门的小伙伴,可以动手去尝试一下。也许刚开始你会遇到一些问题,不要着急,也不要慌乱。你可以选择在下方留言,也可以找百度或寻求他人帮助。在接下来的博客中,我将持续更新有关这个系列单片机的上手项目教程。感兴趣的可以点一波关注,让我们共同进步。文章来源地址https://www.toymoban.com/news/detail-497064.html

到了这里,关于初识C51单片机(详解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C51】10-基础51单片机的小车项目(51完结)

    10.1小车的安装 10.2电机模块的开发(L9110S) 接通 VCC , GND 模块电源指示灯亮, 以下资料来源官方,但是不对,根据下节课实际调试 IA1 输入高电平, IA1 输入低电平,【 OA1 OB1 】电机正转; IA1 输入低电平, IA1 输入高电平,【 OA1 OB1 】电机反转; IA2 输入高电平, IA2 输入低

    2024年02月08日
    浏览(33)
  • 单片机C51计时器秒表

    鱼弦:CSDN内容合伙人、CSDN新星导师、全栈领域创作新星创作者 、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 https://github.com/Peakchen) 单片机C51(或称8051)计时器秒表的实现原理如下: 原理解释: C51微控制器通常包括多个计时器/计数器,可

    2024年02月03日
    浏览(36)
  • 第二十二天 c51单片机

    136.语音识别切换小车循迹跟随避障且Oled显示状态

    2024年02月08日
    浏览(33)
  • 定时红绿灯(C51单片机)

    一.项目题目:利用中断处理制作的定时LED红绿灯系统 二.项目器件: 红色LED灯 绿色LED灯 黄色LED灯 100R电阻 电源 电容器 C51单片机 接地线 三.项目原理图 四.项目实现功能: 使用定时器/计数器T1工作方式1,采用中断方式控制P1口6个单片机串口,实现类似交通红绿灯功能

    2024年02月05日
    浏览(37)
  • C51单片机基础之4G模块

    EC03-DNC是亿佰特公司推出的 LTE CAT1 数传模块产品, 该产品软件功能完善, 覆盖绝大多数常规应用场景, EC03-DNC 是为实现串口设备与网络服务,通过网络相互传输数据而开发的产品 , 该产品是一款带分集接收功能 的LTE-FDD/LTE-TDD 无线通信数传模块, 支持 LTE-FDD , LTE-TDD 网络

    2023年04月08日
    浏览(38)
  • AT89C51单片机实现单片机串口互动(中断方式,单片机--单片机,应答)

     说一下功能:客户机发送0x01到服务机 2服务单片机应答0xf2到客户机 3客户机接收到0xf2,发送信息153432这6个数字到服务机 4client发送完信息后发送0xaa结束通信 5server接收到0xaa后回复0xaa结束通信,从此老死不相往来 看代码: 服务端代码:    

    2024年02月13日
    浏览(35)
  • c51单片机串行通信示例代码(单片机--单片机通信)(附带proteus线路图)

      后面这个是接收端代码  另外发现一个奇怪的现象:如果把T1口改为T0口没有办法正常模拟

    2024年02月13日
    浏览(34)
  • 80C51单片机期末复习

    80C51有 基本型和增强型 。区别:增强型多了定时器,内置存储空间不同。 1冯•诺依曼思想计算机由 运算器 、 控制器 、 存储器 、 输入设备 、 输出设备 组成这一计算机的经典结构。 2将 CPU 、 存储器 、 I/O接口 集成在一片集成电路芯片上,形成单片机微型计算机(单片机

    2024年02月09日
    浏览(37)
  • C51单片机密码锁课程设计

    提示:文章写完后,目录可以自动加粗样式生成,如何生成可参考右边的帮助文档 微机原理及单片机应用技术的课程设计,C51设计一个密码锁; 要求:键盘上有0-9个数字按键,功能键:确认和取消等,可设置复合键。密码的位数及密码可以任意设定,,当输入数字和设置的密

    2023年04月10日
    浏览(36)
  • 【单片机c51】两个外中断的应用

    1.在51单片机的P1口上接有8只LED。在外部中断0输入引脚P3.2(INT0*)接有一只按钮开关K1,在外部中断1引脚P3.3(INT1*)接有一只按钮开关K2。 程序要求:K1和K2都未按下时,P1口的8只LED呈流水灯显示。仅K1按下时,上下4只LED交替闪烁10次。仅K2按下时,8只LED全部闪烁10次,再回到流

    2024年02月06日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包