找回密码
 立即注册
查看: 117|回复: 6

《8051U深度入门到32位51大型实战教学视频》——学习心得

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-03-12 15:01:38
已绑定手机

8

主题

6

回帖

78

积分

注册会员

积分
78
发表于 2025-3-12 15:01:38 | 显示全部楼层 |阅读模式
主要内容包括1.什么是GPIO,2.按键输入检测,3.课后小练


1.什么是GPIO?
通用输出/输出端口(GPIO)可以输出高低电平或者读入引脚状态(高低电平)
   高电平指接近电源正极电压(VCC接入电压)也称逻辑“1”,低电平指接近电源负极电压(GND电压)也称逻辑“0”,由此可见输出高低电平其实就是指GPIO输出VCC(高)/GND(低)电压。具体可输出的最高/低电压根据芯片的数据手册查看VCC可以接受的最高电压(一定条件)
四种工作模式:准双向模式(00)、推挽模式(01)、高阻输入(10)和开漏模式(11),具体寄存器配置方法参照附件图片。
   准双向模式:传统端口、弱上拉,电流较弱;推挽模式:强上拉,电流较强;高阻输入:不能流入和流出;开漏模式:设置高电平为高阻输入,上拉简单等同准双向口

2.按键输入检测
实现原理:程序直接读取按键的IO电平,一般使用“==”即可
判断按键是否按下逻辑实现部分(按下亮):
if(P32 == 0){     //P32 ==1 则松开亮
    P00 = 0;
}else{
    P00 = 1;}

按一下亮,按一下灭则在IF函数外定义一个状态变量,在IF函数内将状态变量进行取反操作并赋值给P00。
适当增加延时以消除按键抖动(可用ISP生成延时函数)。WTST = 0;//设置程序指令延时参数  EAXFR = 1;//扩展寄存器(XFR)访问使能  CKCON = 0;//提高访问XRAM速度。
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-03-12 15:01:38
已绑定手机

8

主题

6

回帖

78

积分

注册会员

积分
78
发表于 2025-3-12 15:02:15 | 显示全部楼层
第七集
1.定时器作用:

(1)用于计时系统,可实现软件计时,或者使程序每个一固定时间完成一项操作;
(2)代替长时间的Delay,提高程序的运行效率和处理速度(可以打断主循环);

在数据手册中找到定时器的相关数据,在ISP中根据定时器数据生成定时函数。
中断函数的调用要在EA = 1;开启总中断之后。

2.定时器的应用(16位自动重装载模式)
计数器从0-65535,超过则溢出计数为1。可改变预分频寄存器改变计数时间。通过对TH0(8位)和TL0(8位)的写入(置位)实现16位重装载定时(如果使能ET0进入中断。)
计算公式参照数据手册或者使用ISP直接生成。

3.函数的定义、声明、调用
返回值类型 函数名(入口参数)
{
    //函数体
   //函数执行的代码
    return 返回值
}
函数名不可与关键字同名,取名应当能够描述函数的功能
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-03-12 15:01:38
已绑定手机

8

主题

6

回帖

78

积分

注册会员

积分
78
发表于 2025-3-12 15:02:42 | 显示全部楼层
L_ch*** 发表于 2025-3-12 15:02
第七集
1.定时器作用:

第八集
1.第七集问题整理

    (1)输入字母区分大小写
    (2)输入不要遗漏符号
    (3)注意代码块符号对齐

2.周期性任务
    通过触发定时器中断触发计数自增实现多任务,避免使用delay卡住CPU进程造成计数不准,也保障了其他功能正常进行。
    数组使用:
(1)定义
    类型   名称【长度】 = {数值};
(2)使用
    名称 复制:名称【索引】 = 数值

3.文件的创建(.c、.h):一般一个.c、.h执行一个外设或者一个任务或者功能
(1)硬件初始化-config.c
(2)新建文件并保存
(3)添加到工程
(4)添加引用路径
格式:xxx.h
#ifndef __XXX_H
#define __XXX_H
调用头文件
函数声明
#endif

xxx.c
#include “xxx.h”
函数定义
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-03-12 15:01:38
已绑定手机

8

主题

6

回帖

78

积分

注册会员

积分
78
发表于 2025-3-12 15:03:21 | 显示全部楼层
第九集
1.数码管介绍

    也称LED数码管,由多个发光二极管封装组成,颜色、外形、样式多样。由根据所有LED的引脚(a.b.c.d.e.f.g.dp)连接由共阳极(VCC)和共阴级(GND)两种。
“AS”代表单色,“BS”代表双色。使用移位寄存器驱动,如:74HC595。

2.数码管使用
    (1)可以使用ISP中的数码管段码生成工具快速生成数码管数组。
    (2)程序延时不能太短,一个循环的时间不能大于20ms
    (3)选择位-输出段-延时-选择位-输出段-延时.......
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-03-12 15:01:38
已绑定手机

8

主题

6

回帖

78

积分

注册会员

积分
78
发表于 2025-3-12 15:03:54 | 显示全部楼层
第十集
使用了虚拟显示LED和数码管,再在实际开发板上实现实际效果。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-03-12 15:01:38
已绑定手机

8

主题

6

回帖

78

积分

注册会员

积分
78
发表于 2025-3-12 15:04:23 | 显示全部楼层
第十一集
    一个按键对应一个端口称为独立按键。
    矩阵按键:端口默认高电平,实时读取到引脚的电平为低表示按下,通过行列判断结果组合即可判断出哪个按键按下
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2025-03-12 15:01:38
已绑定手机

8

主题

6

回帖

78

积分

注册会员

积分
78
发表于 2025-3-12 15:05:07 | 显示全部楼层
第十二集
确保系统处于确定状态:

    复位擦欧总可以确保单片机在开始工作时处于已知的状态,使其能够正确初始化各个寄存器和外设。
避免不确定行为:
    没有进行复位时,内部控制寄存器的内容可能是随机的,这可能导致定时器溢出、中断异常、外设误操作等不确定行为
初始化系统:
    复位操作可以进行系统的初始化,包括清除寄存器、设置默认值、配置时钟等,为系统正常运行做好准备
保证程序正常开始执行:
    复位确保程序从正确的地址开始执行,避免跳转到未知的地址和指令

硬件复位:
    1.上电复位(1.7-1.9V)
将P3.2和P3.3上拉5.1K可快速复位,设置低压复位可保护电路。
    2.复位脚复位
    3.看门狗复位
系统运行之后启动看门狗计数器后开始自动计数,运动到一定时间后若不清理看门狗(喂狗)则会计数溢出引起看门狗中断。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 12:47 , Processed in 0.112557 second(s), 82 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表