327342551 发表于 2023-12-30 16:11:17

学习心得STC32位8051单片机原理及C语言程序设计视频教程

本帖最后由 327342551 于 2024-1-2 10:51 编辑

关于每集学习完的心得,或者之前没注意到的内容,留作记录。


环境说明
我手边只有一个别人的 stc89c52 的单片机,和视频中的是不一样的。下面的代码,如果是贴出来的,都是在 stc89c52 上面跑出来的
这个开发板的型号是 普中的 HC6800-ES 非常老的一个别人不要的开发板。

我的环境是 VScode+sdcc的编译器。没有用keil,主要因为版权问题

327342551 发表于 2023-12-30 16:14:10

第一集
- 单片机是一个小的精简的电脑

- 只有最适合的单片机才是最好的

327342551 发表于 2023-12-30 16:27:11

第二集
- 介绍开发板各功能模块

- 介绍单片机的资源

327342551 发表于 2023-12-30 16:45:10

第三集
- 介绍 stc-isp 软件下载及内部的功能

- pdf查阅的技巧

- 开发环境安装 c251

- usb 下载功能介绍

327342551 发表于 2023-12-30 20:03:55

本帖最后由 327342551 于 2023-12-30 21:15 编辑

第四集

[*]P 开头的是 io 口,可以直接控制 P0 组和 P0.0 的单个 io

[*]sfr 控制的是 io 组

[*]sbit 为单个 io

[*]include 头文件是引用需要加相对或绝对地址

[*]usb 自动下载 cdc hid 不同形式

[*]头文件的定义

[*]main 函数之后才定义的函数,需要在main 之前先声明(提前写一下)

[*]EA 1 cpu打开所有中断


327342551 发表于 2023-12-31 09:15:41

第五集
- 使用 usb 函数,实现 printf 打印,串口输出

- ascii 码表

- 进制转换 16进制转换,高位是/16后的整数,低位是/16后的余数,转二进制是 高4 低4

- 16 进制换算 2 进制,好理解

- 算术运算 加减乘除

- 位运算,左移就是左移动一位,与或非是对 2 个数的操作最终以二进制来实现。取反是一个数,计算也是用二进制来实现。

- unsigned 代表无符号,因为第一位是符号,正负所以无符号,是2的n次方的 0-多少,所以有符号的会少 2 倍,但是有正负

327342551 发表于 2023-12-31 14:01:19

第六集
- 资料在软件里面下载方便

- #define MAIN_Foc 定义主时钟

- while 判断条件为真假,真1 一直执行,假0 不执行

- while 先判断条件后执行代码,do while 先执行一次再判断条件

- --a 先计算--a之后,a的值,所以是先计算。a-- 是打印完a的值再--操作,所以有滞后

- 函数的定义,声明 就是个空的函数没有东西,调用

- 在头文件里面做声明,在c文件里面实现。有固定的写法

- 头文件的定义例子


```c
#ifndef __MATH_H
#define __MATH_H
int Add (int pram1,int parm2);
int Sub (int pram1,int parm2);
#endif
```

327342551 发表于 2023-12-31 14:44:07

第七集
- 按键消抖 delay 法

- = 赋值,== 等于

- 取反为!

- while (key2 == 0)while 里面可以用这样的条件

- 使用 while 卡死程序,然案件只执行一次

- 移位实现流水灯

- 数组大括号引用,逗号分开。做码表

- 使用数组,0开始,调用时候 P6=LED_DataTab

- 用num 来代替 tab 里面的索引,都挺要赋初值

327342551 发表于 2023-12-31 15:25:36

第八集
- 有源蜂鸣器和无源蜂鸣器,无源的需要有 pwm,有源的上电就响

- 电磁炉功能分析 好评,绝对是实践的好东西

- bit 定义 0 1 这样的值

327342551 发表于 2023-12-31 16:22:49

本帖最后由 327342551 于 2023-12-31 16:59 编辑

第八集 作业
- 变量赋值最好在数据类型定义的时候就赋初值

- 使用寄存器组来定义全部 led 亮,好用

- 先理清if else的思路,做好代码块再去写代码比较好
页: [1] 2 3
查看完整版本: 学习心得STC32位8051单片机原理及C语言程序设计视频教程