|
发表于 2023-6-22 18:46:55
|
显示全部楼层
本帖最后由 zxy2332003 于 2023-7-3 23:05 编辑
2023.6.22
第一集
本集对单片机的概念经行总结,对单片机的以用进行了举例,并对单片机的学习方式提出了合理建议。
(1)单片机其本质上就是一个小的功能减少的计算器,能写入用户程序,能读取芯片输入引脚上的电压信号,且能在引脚上输出特定的电平信号,能做用规律可循的控制应用。
(2)对于单片机的学习要沉得住气,静得下心,在理论与实践结合中逐步掌握单片机的运用
2023.6.22
第二集:本集对开发板上的硬件进行详细的讲述,其中有很多我未学习过的硬件,令我受益匪浅
(1)学习所用开发板上有两个测温硬件——NTC和18B20,其中NTC的采样实践短,采集所显示的温度为一条连续曲线,而18B20的取样较长,所显示的数据离散。
(2)ADC按键根据按键按下时的取值判断键值,取值范围为0-4095,取值为零,键值为0,取值为4095,键值为最大
2023.6.23
第三集开发环境搭建和程序下载在大学课程中以详细学习故不在重复观看
2023.6.23
第四集
(1)LED点亮原理:正极高电平,负极低电平
(2)GPIO是通用输入输出端口的简称,可以通过软件来读取其输入电平,或者控制其输出高低电平,开发板上有8组,即P0-P7
(3)点亮LED之前需确定控制LED的对应引脚,并通过数据手册查找对应的数据地址
(4)通过sbit P_ _ 控制单独的一个引脚,如sbit P00 即选择P0.0引脚
(5)通过PnM1和PnM0的不同取值组合可以配置端口的模式
(6) 通过.hex文件可实现程序烧录,无需每次下载,通电即可展示目的效果。
|
2023.6.24
第五集:
(1)书写代码时应注意大小写,且使用英文输入法
(2)串口数据显示所用到的c语言与大一所学内容相同,即用printf语句输出,用%.?d等选择输出变量的数据类型和位数等
(3)16进制的串口通信输出界面所输出的数据可通过查询ASCII表得知对应字符
(4) 16进制有两种表示方式:80H和0x80
(5)一组输出IO口可由8位2进制码控制输出电平的高低
2023.6.25
第六集:
(1)LED闪烁可以通过延时程序实现
(2)#define MAIN_Fosc 24000000UL为定义IRC系统时钟,从而便于在仿真软件中确定用户程序运行的IRC时钟频率
(3)延时程序中的u16是stc. h中定义的一个函数<typedef unsigned int u16;与define的主要区别为定义变量名称的位置和有无分号>,u16的取值范围为0-65535
(4)delay延时函数有利有弊,利在于程序和使用都非常方便,弊在于该程序执行期间难以对目标经行状态改变,需等待其运行完成。
(5)while与do while循环语句的区别在于do while至少执行一次所需循环的目标指令
(6)a-- 为先执行程序,a再减一,--a为先减一,再执行程序。
(7)函数应用可大体分为3步:函数定义,函数声明,函数调用
2023.6.25
第七集:
(1)按键按下时需考虑消抖问题,因为按键在按下和弹起的时候电压不稳,需通过延时程序,适当延后判断时间,以达到消抖目的
(2) 灯的熄灭可以通过IO口的电平取反实现,
(3)LED灯的右移可通过右移指令(P6<<1)实现,但P6对应的二进制位移是,最右位会因缺位而自动补零,所以在执行右移后还要对P6加一,左移相似
(4)数组的使用可分为两步 :第一步 定义,即类型 名称【长度】={数值};第二步 使用:名称【索引】=数值
(5)可在. h头文件中定义自己所常用的函数,以方便在主程序中调用
2023.6.26
第八集
(1)蜂鸣器可分为有源和无源两种,实验板上的为有源,当P54引脚为高电平时关闭,电平时打开
(2)可通过延时程序让蜂鸣器持续响一段时间
(3)蜂鸣器可以与LED结合使用,组成诸如电磁炉,洗衣机灯电器的功能选择模组
2023.6.26
第九集
(1)发光二极管按链接方式可以分为共阴极数码管和共阳极数码管,共阴极当引脚为为高电平时点亮,共阳极当引脚为低电平时点亮。
(2)单个数码管组由7个直线型灯管和一个点状电管组成,分别对应一组IO口的8个一脚,可通过控制对应引脚高低电平控制LED的亮灭。
(3)LED灯组一般由4或8个LED数码管组组成,可通过74138译码器进行选择,如0x02即为第3个数码管组点亮;或直接通过P7控制。
(4)设计一个显示数字的头函数SEG_Tab,显示变量mub对应的数字,在用两个独立按键实现对mub的加减,因需要按下按键就做出相应的变化,故使用mub++或mub--。
2023.6.27
第10集
(1)控制原理简单说即先选择第一数码管组,输出该数码管对应的断码,延时一段时间后,选择则下一位数码管组,重复操作
(2)延时程序以1ms为准,且需要保证一个循环结束的时间不能大于20ms,以保证实现人眼暂留效应的条件
(3)LED灯组一般由4或8个LED数码管组组成,可通过74138译码器进行选择,如0x02即为第3个数码管组点亮;或直接通过P7控制。
2023.6.28
第11集
(1)本集引入了定时器中断的概念:开发板上定时器有5个,且都具有定时和计数的功能
(2)计数器核心是一个加法计数器,其本质是对脉冲经行计数
(3)定时器通过TOMD指令选择工作的定时器,TX_C/T控制第X个定时器/计数器是什么工作方式:清零定时,置一计数
(4)TX_ M0,TX_M1选择工作模式,00为16位自动重装系统,01为16位不自动重装系统,10为8为自动重装系统,11为不可屏蔽中断的16位自动重装系统
(5)中断需要主动开启,EA为总中断允许控制位,还有ELDV,EADC,ES,ET1,EX0,ET0,EX1等等
(6)定时器的时间可由对应状态下的计算公式算出
2023.6.28
第12集
计数器与定时器的使用相似,不再详细阐述
2023.7.1
第13集
(1)应用模块化编程(.c+.h),一个功能对应一个.c和.h,引脚定义都在.h文件中
(2)编写代码时应学会适当加入注释和说明
(3)函数定义三步:定义,声明,调用
(4)视频中的举例详细的讲解了多任务程序的编写过程,受益匪浅
2023.7.2
第14集
(1)独立按键,每个按键对应一个IO口,矩阵按键有两个IO控制,可由扫描发识别
(2)识别原理:先将对应列向输出的IO口设为低电平,行向输出的IO口设为高电平,哪一列便低电平,哪一列按下;后将对应列向输出的IO口设为高电平,行向输出的IO口设为低电平,哪一行低电平,哪一行按下:代码
switch{keystate}
{case 0x41 key_val=1;
break;
...........(列举7次)
}
(3)键值计算,将行列值相加即可
(4)结合9,10集内容进行显示
2023.7.3
第15集
(1)中断即cup中断当前工作,处理紧急情况,处理完后回到原来被中断的地方,继续原来的工作,且中断有优先级
(2)中断次序前四位为INT0外部中断0,Timer0,INT1,Timer1
(3)外部中断0对应的控制位为IT0,IE0,EX0,EA;外部中断1的控制位为IT1,IE1,EX1,EA
|
|