自学内容网 自学内容网

51单片机学习心得1(基于STC89C52):数码管、矩阵键盘、定时器、中断系统

目录

介绍

数码管

138译码器

数码管段码

数码管的消影

矩阵键盘

定时器

定时器工作模式

中断系统

定时器相关寄存器

STC89C52中断资源

定时中断初始化


介绍

该学习心得是在学习b站江协科技的教学视频时总结的,近期有时间整理将笔记发出来。以下笔记记录顺序对应视频课程的教学轨迹。

数码管

首先选中公共端,然后是位选端(即图中的数字端,数字为段码,如果共阳极,那么位选端输入 0 即点亮,如果是共阴极,那么位选端输入 1 即点亮),8 个为一组的数码管位选端使用 16 进制的数字控制输入的是 0 还是 1 。

138译码器

选中某个LEd灯,并把 8 根线减少到了 3 根,节省了单片机的 IO 口。(IO:input/output)

通过A、B、C三个输入端口来控制 Y0 - Y7 八个输出端口。

原理:C、B、A 输入的信号转化为二进制信号,组成二进制数字后翻译为十进制数字,对应。

例: C B A 输出

0 0 0 —— Y0

1 0 1 —— Y5

数码管段码

数码管的消影

动态数码管显示:位选(选择显示位置) 段选(显示内容) 位选 段选 位选 段选

在上一步段选和下一步位选之间,时间很短,下一步段选的内容还没传递上来,所以上一部段选的内容会出现在下一步位选的位置上,从而出现残影。

所以需要在上一步段选和下一步位选中间加一步清零。


矩阵键盘

一般没有按下按键时,按键默认为高电平,即左右两边都为 1 。

如何检测按键是否被按下:

一般一列一列进行检测:

P1_0 P1_1 P1_2 P1_3依次给 0 ,然后检测P1_4 P1_5 P1_6 P1_7是否为 0,通过两条线交叉可以排出哪个按键被按下。

例如:使 P1_3 = 0,检测 P1_4 P1_5 P1_6 P1_7,若 P1_7 = 0,则 S1 被按下。


定时器

51单片机入门 - 定时/计数器原理及结构(T0和T1)_单片机t0和t1有什么区别-CSDN博客

51单片机入门 - 定时/计数器原理及结构(T0和T1)_51单片机定时器t0是什么-CSDN博客

定时器工作模式

模式0:13位定时器 / 计数器

模式1:16位定时器 / 计数器(绝大部分常用)

模式2:8位自动重装模式

模式3:两个8位计数器

左上:时钟 中间:计数 右边:中断

SYSclk:系统时钟,即晶振周期,图中开发板上的晶振为12MHz(注意你买的板子的晶振是多少)


中断系统

定时器相关寄存器

STC89C52中断资源

定时中断初始化

(注意:一般中断函数放在主函数的 .c 文件中,一般不容易模块化)

(还有什么不懂的要么再听一遍课,要么看看操作手册.pdf)


原文地址:https://blog.csdn.net/leilei050213/article/details/143441040

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!