找回密码
 立即注册
查看: 2572|回复: 12

【打卡】STC8051单片机原理及应用-STC8H8K64U学习记录

[复制链接]

1

主题

11

回帖

53

积分

注册会员

积分
53
发表于 2023-9-22 19:45:43 | 显示全部楼层 |阅读模式
第一课
主要是对单片机进行介绍
后面对实验箱进行介绍说明
C2E03A01-F32A-4A74-9D2B-8BE86DA7F5C3.jpeg

可以看出,实验箱的功能还是很全面的
最后是下载程序的步骤
CCF185F6-D9B2-4FAA-B48F-C5066022AE7D.jpeg

接下来继续学习
回复

使用道具 举报 送花

1

主题

11

回帖

53

积分

注册会员

积分
53
发表于 2023-9-22 20:12:47 | 显示全部楼层
第二课
点灯大师
点灯的步骤:
F50ADB85-8A62-450A-8E1D-38F335C216BE.jpeg

后面讲述了STC_ISP软件的使用:其中几个按键步骤,按住INT0,再按电源键,松开电源键,再松开INT0,扫描串口出现HID1
接着讲了一些基础知识,之前有过一些了解,看了又一次加深了印象
B74D8BFD-B1EE-4DE1-92F5-A93814226043.jpeg FB6B491D-5FB1-4FA8-9037-77A47C9B4E10.jpeg 48BCDF0F-5E26-406A-A620-64BE12BFEAFF.jpeg

本节课直接化身理论点灯大师,个人感觉这种先直接给出实验现象之后讲解的方式还是很好的,能有一个直观的认识,也更容易有学下去的动力,继续学习
回复 支持 反对

使用道具 举报 送花

1

主题

11

回帖

53

积分

注册会员

积分
53
发表于 2023-9-22 20:32:50 | 显示全部楼层
本帖最后由 bystc 于 2023-9-22 20:35 编辑

第三课
数字逻辑与基本数字电路
这些知识之前学数电模电也了解过一些,但是不用的话很快就忘了,现在重新拾起来,但是结合动手操作,理解应该会更深一些
截图202309222021399411.jpg 截图202309222022301570.jpg 截图202309222023002243.jpg

以上分别为逻辑与,逻辑或,逻辑非的符号示意图
之后介绍了一些应用
单片机广泛应用在智能仪器,工业农业实时监控,计算机网络和通信领域,家用电器,医疗设备,汽车设备等等领域。
接着介绍了程序仿真,使用Keil 仿真的一些设置。主要包括设置单片机型号,选择使用USB口进行仿真,将所选目标单片机设置为仿真芯片

回复 支持 反对

使用道具 举报 送花

1

主题

11

回帖

53

积分

注册会员

积分
53
发表于 2023-9-24 20:46:05 | 显示全部楼层
本帖最后由 bystc 于 2023-9-24 21:00 编辑

第四课 单片机内部结构
首先讲述了计算机的内部结构
13E37964-1008-4E40-B0DF-DE0C3E8F304B.jpeg
接着引出单片机内部结构,传统8051单片机结构如下,其中cpu是由运算器和控制器组成的。
02D2E458-87C4-4289-AFA0-A69CB2C72879.jpeg
STC8H8K64U的结构如下
1231A4A0-16EA-4EC7-9A46-05ADBD286425.jpeg 61343D3E-B819-4785-9E2A-697798E78086.jpeg

单片机CPU由运算器和控制器组成,其中重点介绍了运算器中的程序状态标志寄存器PSW
单片机程序存储器和数据存储器是独立编址的,分为程序flash存储器,内部数据存储器,扩展数据存储器,其中特殊功能寄存器与内部数据存储器高128字节地址重复。特殊功能寄存器只能直接寻址访问。
回复 支持 反对

使用道具 举报 送花

1

主题

11

回帖

53

积分

注册会员

积分
53
发表于 2023-9-24 21:06:22 | 显示全部楼层
第五课 存储器空间 单片机引脚
1. 讲述了特殊功能寄存器(SFR),直接寻址,扩展特殊功能寄存器(XFR),指令:MOVX A,@DPTR
2. 扩展数据存储器,指令:MOVX,@DPTR
3. 单片机引脚:电源引脚,外接晶体引脚,控制和复位引脚,输入输出引脚(IO脚),IO脚可实现开关量的输入输出,及复用功能。
IO四种工作模式:
①准双口/弱上拉模式
②推挽输入/强上拉模式
③仅输入/高阻模式
④开漏模式(外接上拉电阻)
19689757-37F1-4803-A70E-B5E8F1D6E742.jpeg D7C5367A-3B11-42A5-BC6D-EB3B58853A22.jpeg DC746439-1B01-44B2-908C-2763F46539EC.jpeg

回复 支持 反对

使用道具 举报 送花

1

主题

11

回帖

53

积分

注册会员

积分
53
发表于 2023-9-24 21:08:34 | 显示全部楼层
本帖最后由 bystc 于 2023-9-24 21:21 编辑

第六课 IO口工作模式 汇编语言
1.讲解了IO口的复用功能,其中比较重要的是p3口,具有外部终端输入,串口1(程序下载和仿真调试)功能。接着介绍了上拉(下拉)电阻,以及拉电流,灌电流等。随后讲解了三极管控制电路及原理。介绍了IO口外部状态输入时,在软件设置延时,然后在读取状态。
最后对总线扩展方式进行讲述。
2. 简述了汇编语言,一些常用伪指令
    1、设置起始地址
        ORG    addr16
    2、定义字节DB
        <标号:>    DB    <项或项表,多个逗号分隔>
    3、定义字DW
        <标号:>    DW    <项或项表,多个逗号分隔>
    4、为标号复制EQU
        <标号>    EQU    数值或表达式
    5、DATA指令
        符号名    DATA    表达式
        注:将内部RAM的地址赋值给指定的符号名,表达式(00H~FFH)
    6、XDATA指令
        符号名    XDATA    表达式
    7、定义位命令BIT
        符号名    BIT    位地址
    8、文件包含
        $INCLUDE (文件名)
        例:$INCLUDE (STC8H.INC)
    9、源程序结束
        END
50BF5653-099D-401F-8D68-BBECF1E90677.jpeg 70CAA8BC-26E5-4418-A61B-2419ED19BE1A.jpeg C9B069B1-3D42-4F70-8CE5-2645A8185538.jpeg
汇编语言这里相对抽象一些,需要多加学习,结合51系列单片机汇编语言指令框架,更好的理解单片机汇编语言。
回复 支持 反对

使用道具 举报 送花

1

主题

11

回帖

53

积分

注册会员

积分
53
发表于 2023-9-25 11:37:53 | 显示全部楼层
本帖最后由 bystc 于 2023-9-25 11:41 编辑

第七课 汇编语言进阶 宏编程
1、助记符语言描述
MOV 是数据的传送, ADD 是数据的相加运算,ANL 是数据的逻辑与运算,#8BH,带井号,是立即数
2、操作码
数据传送类:MOV、MOVX、MOVC,指明操作对象从哪来,到哪去
数据操作类:ADD、SUBB、MUL、DIV,  一般靠运算器完成,需要两个操作对象
程序控制类:AJMP(SJMP、LJMP) JZ、JC、JB(JNZ、JNC、JNB) ACALL(LCALL)  RET CJNE
逻辑操作类:ANL、ORL、XRL
3、操作数
可以是数据,也可以是地址。数据只能是整数,不能是小数;数据是十六进制且是以字母开头时,该数据应该加一个前导0;数据前有前缀#,则表示数据是立即数,如果没有前缀#,则数据为直接地址
4、指令格式、符号
格式:[标号: ] 操作码助记符 [第一操作数][, 第二操作数][, 第三操作数] [; 注释]
指令常见符号:A:累加器ACC  B:寄存器B  C:进位借位标志    addr8:8位内部RAM地址。  bit:位地址,内部RAM中的可寻址位和SFR中的可寻址位。  @:间接寻址
5、寻址方式
    1、立即寻址  指令中的源操作数是立即数。
    2、寄存器寻址  指定寄存器的内容为操作数,对寄存器ACC、B、DPTR和CY寻址时,具体的寄存器已隐含在其操作码中。而对选定的8个工作寄存器R7~R0,则用指令操作码的低3位指明所用的寄存器。
    3、直接寻址  指令中包含了操作数的地址。
    4、寄存器间接寻址。指定某一个寄存器的内容作为操作数地址,使用时,前面加“@”表示间接寻址。
    5、变址寻址  由偏移量寄存器和基址寄存器DPTR或PC相加所得结果作为操作数地址。例:MOVEC A, @A + PC
    6、相对寻址。主要用于相对跳转指令。注:该偏移量有正负号,所转移的范围为相对于当前PC值的 -128~+127 之间。
    7、位寻址。对位地址空间的每一位进行运算和传送。
1C5FF3A3-1B38-48AA-87DA-730767AE5912.jpeg C785BBD9-61A3-4C07-BA0D-ED367F4F30F5.jpeg EDD07785-D43B-45AF-8261-345CA44E76B6.jpeg AC44AE4A-7205-4CCC-B9C2-CF76E6D9F34E.jpeg F8A996D4-1FF0-4835-9F64-A7942BF1A679.jpeg E3968DFC-3D99-4DF6-A8F1-61DEB46F064D.jpeg 2CB8FBFE-4980-4392-B2E9-5A162EE720E9.jpeg 21345282-7748-4170-AB8B-1A396CAFD875.jpeg
上面是七种寻址方式的ppt😊接下来继续学习

回复 支持 反对

使用道具 举报 送花

1

主题

11

回帖

53

积分

注册会员

积分
53
发表于 2023-9-25 16:23:52 | 显示全部楼层
本帖最后由 bystc 于 2023-9-25 16:29 编辑

第八课 汇编指令 1.传送指令:MOV
主要是内部数据存储器和特殊功能寄存器: MOV <目的字节>, <源字节>

1D71A821-5337-4E5E-9526-7E24D03F02B7.jpeg

学习
BA3A4AAD-CC28-48A2-964F-5A29AEF45405.jpeg 32E5F520-2352-40A6-B606-156FE2B3F02A.jpeg A62CCDF1-9BF0-4122-8032-8A30AEDEBBDE.jpeg B8D0BA51-07F0-4F0E-8B2E-02B6AEBDE76F.jpeg BB02E3FB-529B-420C-BAB4-106AFE9B0688.jpeg ED6E4912-D39C-41A8-ADF1-DC7092903E06.jpeg 344ED04F-117F-4206-94F5-056CD023B813.jpeg

数据传送类指令注意事项:
1、向累加器传送数据时,会影响PSW中的P标志
2、执行传送指令时,源地址中的内容不变
3、特殊功能寄存器SFR只能使用直接寻址
4、80H~FFH单元只能使用@Ri间接寻址方式
5、累加器A压栈和出栈时,应使用 PUSH ACC 或者 POP ACC

接下来是几个例子:
9F195FEF-09E1-4AB2-940F-01F8A01FE842.jpeg
1130C8E1-4183-4CCB-A6F9-3734D4182C5D.jpeg 47872C3D-AFE0-44A8-8B9C-FE1951CC4D87.jpeg F5B92C48-2019-4059-ACB9-1C979E0A4A1D.jpeg
接下来继续学习









回复 支持 反对

使用道具 举报 送花

1

主题

11

回帖

53

积分

注册会员

积分
53
发表于 2023-9-26 16:56:13 | 显示全部楼层
本帖最后由 bystc 于 2023-9-27 13:06 编辑

第九课 汇编指令二
话说之前在移动端写的,看着格式没问题,到PC端格式居然乱了
一、位操作指令:
完成位传送,位状态控制、位逻辑操作、位条件转移、控制转移类等功能,一共17条。可被汇编程序识别的位地址表示方式:
(1)直接使用位地址。
(2)写成“字节地址.位号”,例如:0B8H.0
(3)位寄存器的定义名称,例如C、EA等
(4)对于位寻址寄存器,可以用“字节寄存器名.位号”,例如P1.0、PSW.4
(5)伪指令事先定义的符号地址,EQU

截图202309261650066892.jpg

截图202309261651492903.jpg

接下来分别介绍:
1、位数据传送指令
    MOV  C, bit ; (C) ⬅ (bit)
    MOV  bit, C ; (bit) ⬅ (C)
    注:其中一个操作数必须为累加器(进位标志CY)
2、位状态控制指令
    位清零指令
    CLR  bit ; (bit) ⬅ 0
    CLR  C ; (C) ⬅ 0
    位求反指令
    CPL  bit ; (bit) ⬅ (/bit)
    CPL  C ; (C) ⬅ (/C)
    位置位指令
    SETB  bit ; (bit) ⬅ 1
    SETB  C ; (C) ⬅ 1
3、位逻辑操作
    位逻辑与
    ANL  C, bit ; (C) ^ (bit) 注:^为与符号
    ANL  C, /bit ; (C) ^ (bit)
    位逻辑或
    ORL  C, bit ; (C) ⬅ (C) v (bit) 注:v为或符号
    ORL  C, /bit ; (C) ⬅ (C) v (bit)
4、位条件转移
    判断进位标志C
    JC  rel ;  若(CY) == 1, 则(PC) ⬅ (PC) + rel , 否则顺序执行
    JNC  rel ; 若(CY) == 0, 则(PC) ⬅ (PC) + rel , 否则顺序执行
    判断直接寻址位
    JB  bit, rel
    JNB  bit, rel
    JBC  bit, rel ;  若(bit) == 1, 则(PC) ⬅ (PC) + rel, (bit) ⬅ 0
5、控制转移类指令
    控制程序走向,分为:
    程序转移指令
    LJMP  addr16
    AJMP  addr11
    SJMP  rel
    JMP  @A + DPTR
    JZ  rel
    JNZ  rel
    CJNZ、DJNZ
    子程序调用
    LCALL  addr16
    ACALL  addr11
    RET ;  子程序返回
    其他:RETI ;  中断返回  NOP ;  空操作
    例子:
截图202309271306158410.jpg



回复 支持 反对

使用道具 举报 送花

1

主题

11

回帖

53

积分

注册会员

积分
53
发表于 2023-9-27 15:15:13 | 显示全部楼层
第十课 汇编语言设计步骤及基本框架

1.简要介绍汇编语言设计的基本步骤
截图202309271308139627.jpg

截图202309271449502303.jpg

2.汇编语言的框架
截图202309271500381352.jpg

截图202309271512089709.jpg

截图202309271512432451.jpg

截图202309271513029586.jpg

3.讲解了典型汇编语言程序设计的例子:
截图202309271511096288.jpg

汇编语言还需多加理解,才能掌握。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-4 01:18 , Processed in 0.124676 second(s), 101 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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