前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单片机应用基础知识_51单片机基础知识总结

单片机应用基础知识_51单片机基础知识总结

作者头像
全栈程序员站长
发布2022-10-04 20:09:19
5150
发布2022-10-04 20:09:19
举报

大家好,又见面了,我是你们的朋友全栈君。

单片机——硬件基础知识

宗旨:技术的学习是有限的,分享的精神是无限的。

1、单片机内部资源

STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源

(1)Flash(硬盘)——程序存储空间 —— 擦写10万次,断电数据不丢失,读写速度慢

(2)RAM(内存)——数据存储空间 —— 断电数据丢失,读写速度快,无限次使用

(3)SFR —— 特殊功能寄存器

2、单片机最小系统

单片机应用基础知识_51单片机基础知识总结
单片机应用基础知识_51单片机基础知识总结

最小系统:最少组件组成单片机可以工作的系统。

三要素:

(1)、 电源电路:5V

(2)、 晶振电路:11.0592MHZ、两个30PF

(3)、 复位电路:

P0:开漏输出,必须加上拉电阻

准双向口:

强推挽输出:电流驱动能力强

高阻态

上下拉电阻:上拉电路就是将不确定的信号通过一个电阻拉到高电平,同时限流作用。下拉电阻就是下拉到低电平。

上下拉电阻选取:从降低功耗方面考虑应该足够大,因为电阻越大,电流越小;驱动能力来看,小电阻

3、硬件基础知识

(1)、电磁干扰(EMI)——静电放电(ESD)、快速瞬间脉冲群(EFT)、浪涌(Surge)

(2)、去耦电容的使用

低频滤波电容,平常应用最多的事钽电容,电解电容,陶瓷电容,起到去除电源低频纹波,稳定电源的作用。

高频滤波电容,电容附近,通常用104电容来进行去除高频干扰。

(3)、三极管(PNP,NPN) b,c,e — 电压驱动

控制应用

驱动应用

4、LED发光二极管 ——电流驱动

单片机应用基础知识_51单片机基础知识总结
单片机应用基础知识_51单片机基础知识总结

通常红色贴片LED, 靠电流驱动,电压1.8V~2.2V,电流1~20mA,在1~5mA亮度有所变化,5mA以上亮度基本不变。

VCC 电压是 5V,发光二极管自 身压降大概是 2V,那么在右边 R34 这个电阻上承受的电压就是 3V。

R = U/I —— 1~20mA —— R:150~3K

5、C语言基础

(1)、基本运算符

+ – * / % ++ — = == != += -= << >> && || ! & | ~ ^

(2)、循环(C语言以;表示一条语句)

for/while/do…while

for(表达式1;表达式2;表达式3)

{

语句;//可以为空

}

while(表达式)//表达式为真,执行语句

{

语句;//可以为空

}

do

{

语句;//可以为空

}while(表达式);

(3)、函数 (模块化的思想)

类型 函数名(参数类型 参数)

{

函数体;

}

(4)、数组

<1>、具有相同数据类型

<2>、具有相同的类型

<3>、在存储器中连续存储

(5)、51单片机常用延时办法——循环、定时器

(P0 = ~(1 << i++);)

5、流水灯

给IO口一个低电平即可点亮LED灯。

注:单片机对外设的操作其实就是对IO口电平的控制。

[cpp] view plain copy

print ?

  1. #include <reg52.h> //包含特殊功能寄存器定义的头文件
  2. typedef unsigned int uint;
  3. typedef unsigned char uchar;
  4. int main(void)
  5. {
  6. uint i = 0; // 定义循环变量i,用于软件延时
  7. uchar j = 0; // 定义计数变量j,用于移位控制
  8. while(1) // 主循环,程序无限循环执行该循环体语句
  9. {
  10. P0 = ~(1 << j++); // P0等于1左移j位,控制8个LED
  11. for(i = 0; i < 20000; ++i); //软件延时
  12. if(j >= 8) //移位计数超过7后,再重新从0开始
  13. {
  14. j = 0;
  15. }
  16. }
  17. return 0;
  18. }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/196089.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月7日 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档