找回密码
 立即注册
查看: 1842|回复: 21

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

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-02-18 21:06:21

1

主题

21

回帖

95

积分

注册会员

积分
95
发表于 2023-12-30 16:11:17 | 显示全部楼层 |阅读模式
本帖最后由 327342551 于 2024-1-2 10:51 编辑

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


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

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

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-02-18 21:06:21

1

主题

21

回帖

95

积分

注册会员

积分
95
发表于 2023-12-30 16:14:10 | 显示全部楼层
第一集
- 单片机是一个小的精简的电脑
  
- 只有最适合的单片机才是最好的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-02-18 21:06:21

1

主题

21

回帖

95

积分

注册会员

积分
95
发表于 2023-12-30 16:27:11 | 显示全部楼层
第二集
- 介绍开发板各功能模块
  
- 介绍单片机的资源
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-02-18 21:06:21

1

主题

21

回帖

95

积分

注册会员

积分
95
发表于 2023-12-30 16:45:10 | 显示全部楼层
第三集
- 介绍 stc-isp 软件下载及内部的功能
  
- pdf查阅的技巧
  
- 开发环境安装 c251
  
- usb 下载功能介绍
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-02-18 21:06:21

1

主题

21

回帖

95

积分

注册会员

积分
95
发表于 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打开所有中断


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-02-18 21:06:21

1

主题

21

回帖

95

积分

注册会员

积分
95
发表于 2023-12-31 09:15:41 | 显示全部楼层
第五集
- 使用 usb 函数,实现 printf 打印,串口输出
  
- ascii 码表
  
- 进制转换 16进制转换,高位是/16后的整数,低位是/16后的余数,转二进制是 高4 低4
  
- 16 进制换算 2 进制,好理解
  
- 算术运算 加减乘除
  
- 位运算,左移就是左移动一位,与或非是对 2 个数的操作最终以二进制来实现。取反是一个数,计算也是用二进制来实现。
  
- unsigned 代表无符号,因为第一位是符号,正负所以无符号,是2的n次方的 0-多少,所以有符号的会少 2 倍,但是有正负
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-02-18 21:06:21

1

主题

21

回帖

95

积分

注册会员

积分
95
发表于 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
```
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-02-18 21:06:21

1

主题

21

回帖

95

积分

注册会员

积分
95
发表于 2023-12-31 14:44:07 | 显示全部楼层
第七集
- 按键消抖 delay 法
  
- = 赋值,== 等于
  
- 取反为!
  
- while (key2 == 0)while 里面可以用这样的条件
  
- 使用 while 卡死程序,然案件只执行一次
  
- 移位实现流水灯
  
- 数组大括号引用,逗号分开。做码表
  
- 使用数组,0开始,调用时候 P6=LED_DataTab[0]
  
- 用num 来代替 tab 里面的索引,都挺要赋初值
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-02-18 21:06:21

1

主题

21

回帖

95

积分

注册会员

积分
95
发表于 2023-12-31 15:25:36 | 显示全部楼层
第八集
- 有源蜂鸣器和无源蜂鸣器,无源的需要有 pwm,有源的上电就响
  
- 电磁炉功能分析 好评,绝对是实践的好东西
  
- bit 定义 0 1 这样的值
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2024-02-18 21:06:21

1

主题

21

回帖

95

积分

注册会员

积分
95
发表于 2023-12-31 16:22:49 | 显示全部楼层
本帖最后由 327342551 于 2023-12-31 16:59 编辑

第八集 作业
- 变量赋值最好在数据类型定义的时候就赋初值
  
- 使用寄存器组来定义全部 led 亮,好用
  
- 先理清if else的思路,做好代码块再去写代码比较好
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-6 21:55 , Processed in 0.125881 second(s), 99 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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