找回密码
 立即注册
查看: 1068|回复: 7

山东大学陈桂友教授主讲《STC最新8051单片机原理及应用》打卡

[复制链接]

1

主题

6

回帖

35

积分

新手上路

积分
35
发表于 2023-8-15 15:44:19 | 显示全部楼层 |阅读模式
第一次尝试着写帖子 有不足欢迎斧正
运算器是计算机的运算部件,用于实现算术逻辑运算、位变量处理、移位和数据传送等操作。它是以算术逻辑单元ALU为核心,加上



  TMP1、TMP2:暂存器
  ACC:累加器
  B寄存器:用于乘法运算
  PSW:程序状态寄存器
  PC:程序计数器,指向程序存储器
  WDT:看门狗
  LVD:低电压监测
  MDU16:16位硬件乘法器
  LCM:液晶接口
  DPTR:地址指针
  SP:堆栈指针
  SFR:特殊功能寄存器


组成的
实验箱功能有:
山东大学陈桂友教授主讲《STC最新8051单片机原理及应用》打卡-1.png

8051单片机中包含中央处理器、程序存储器 (4KBROM)、数据存储器(
128B RAM)、2个16位定时计数器、4个8位1/0口、个全双工串行通信接口和中
断系统等,以及与1O口复用的数据总线、地址总线和控制总线三大总线。

单片机学习条件有
山东大学陈桂友教授主讲《STC最新8051单片机原理及应用》打卡-2.png

以及
山东大学陈桂友教授主讲《STC最新8051单片机原理及应用》打卡-3.png

第二课:
山东大学陈桂友教授主讲《STC最新8051单片机原理及应用》打卡-4.png

微指令:芯片设计人员使用的指令,芯片设计人员根据指令集架构实现芯片设计(微架构)。
      机器指令:单片机执行的指令。可以通过仿真借助助记符观察。
      汇编语言:是对机器指令的一种抽象,是解读机器指令的唯一桥梁。观察观察机器指令执行的唯一窗口。
      高级语言:实现面向过程应用的通用语言,易于让应用设计人员理解标椎应用语言,需要编译才生成可执行文件,机器才能执行。


特殊功能寄存器:
    传统特殊功能寄存器(SFR):
        80H~FFH,直接寻址
    扩展特殊功能寄存器(XFR):
        扩展RAM(XDATA)区,P_SW2(BAH)最高位EAXFR置1,
        MOVX A, @DPTR或MOVX @DPTR, A

扩展数据存储区 -> XRAM
    STC8H8K64U 64K地址空间,内部集成了8192B(0000H~1FFFH)
    汇编语言:
        MOVX @DPTR
        MOVX @Ri
    C语言:
        xdata声明
        例如:unsigned char xdata i = 0;
        或者:keil设置:Target -> MemoryModer = Large

单片机引脚介绍:
    1、电源引脚
        Vcc/AVcc
        Gnd/AGnd
    2、外接晶体引脚
        XTAL1、XTAL0
    3、控制和复位引脚
        NRST(P5.4)
        ALE(P4.5)
    4、输入输出引脚(I/O脚)
        STC8H8K64U有60个IO脚
        a、开关量的输入输出
        b、复用功能

IO工作模式
    1、准双向口/弱上拉模式
    2、推挽输入/强上拉模式
    3、仅为输入(高阻)
    4、开漏模式(需外接上拉电阻)
    使用PnM1和PnM0寄存器配置

P3.0和P3.1 上电默认准双向口/弱上拉模式
除此之外,上电默认高阻输入,使用前需配置模式

回复

使用道具 举报 送花

1

主题

6

回帖

35

积分

新手上路

积分
35
发表于 2023-8-15 16:25:31 | 显示全部楼层
单片机 CPU指令类型和格式
MCS-251 ISA中包含了268条指令,而MCS-51 ISA中只包含了111条指令,指令的规模为 MCS-51 ISA指令规
模的近2.5倍
口按照所实现的功能,将STC15单片机内8051 CPU指令集分为:
算术运算指令
逻辑指令
数据传输指令
位指令
控制指令
在汇编助记符指令中,(寄存器)表示奇存器中的内容,((寄存器))表示寄存器中的内容为存储器的地址。比如 (RO) 表示RO寄存器中的内容,((R0))表示RO中寄存器的内容为指向存储器的地址。


加法指令
■ 溢出的判断
•对于无符号的整数加法,CY 标志可用于指示相加的结果是否发生了溢出
•如果加法结果的第6位有进位但第7位没有进位,或者第7位有进位而第6位没有进位,则设置溢出标志oV。对于有符号整数相加,当两个正数相加结果为负数,或者两个负数相加结果为正数时,表示计算结果的溢出,此时将溢出OV标志设置为 “1〞
回复 支持 反对

使用道具 举报 送花

1

主题

6

回帖

35

积分

新手上路

积分
35
发表于 2023-8-15 16:26:25 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:8
  • 最近打卡:2025-04-27 10:40:24

11

主题

425

回帖

1971

积分

版主

积分
1971
发表于 2023-8-15 17:01:17 | 显示全部楼层
欢迎楼主继续打卡学习
有机会优先获赠实验箱+包邮


QQ:2269694595     微信:18106296594
回复 支持 反对

使用道具 举报 送花

1

主题

6

回帖

35

积分

新手上路

积分
35
发表于 2023-9-2 15:07:47 | 显示全部楼层
后面因为一些自身事情耽搁了更新
第五节课笔记下面补上
格式字符          含义
%d                  以十进制整数形式输出                                       
%ld                 以十进制长整形输出
%f                   以单精度浮点型输出
%lf                  以双精度浮点型输出
%0                  以八进制整型输出整数。
%x或%X          以十六进制形式输出整数
%u                  以十进制无符号整形输出
%i                   以十进制整形输出(与%d无异)
%c                  输出单个字符
%s                  输出字符串
%e或%E          以指数形式输出
%g或%G         自适应数据输出(数据够大或够小则以指数形式输出,否则以小数形式输出
%p                  输出地址

标志                                    含义                                         实例
n.m             n表示整数占几行,m表示小数占几行                %2.3f
   -                         输出的结果左对齐                                  %-d
空格             输出值为正时冠以空格,为负时冠以负号
#                    输出带有前导的数据(八进制为0~                    %#d
                        ~~十六进制为X~~~~表示数字)
  存储器空间及储存器-6
           数据存储器
                  高128字节RAM 和特殊功能寄存器
                            80H-FFH SFR
                            单片机的功能是通过sfr设置的
                            分SFR 与 XFR
                  拓展数据存储区域
                            0000h-1fffh 8192b 的XRAM
                            xdata 声明
                            unsigned char xdata i = 0;

         单片机的引脚
               LQFP64 封装                 小圆点处为第一脚
               PDIP40  
               最小系统            
                        低电平复位电路
                        按键按下断电/上电  电路
                        滤波电容
              逻辑符号图
                        标出io/特殊功能 引脚的逻辑图
                        画原理图时更容易分析
             引脚简介
                      VCC/AVcc   5v
                      Gnd/AGnd  接电源地
                      晶振         基本不用 用做普通io
                      ALE          没啥用
                      NRST        可做复位脚
               IO 的作用
                       开关量输入输出
                       复用
               IO的工作模式
                      准双向   推挽   高阻   开漏
                      可使用工具设置
                      要先设置模式在使用,多数默认为高祖输入状态
截图202309021507282704.jpg
截图202309021507458026.jpg
回复 支持 反对

使用道具 举报 送花

1

主题

6

回帖

35

积分

新手上路

积分
35
发表于 2023-9-2 15:08:33 | 显示全部楼层

上个帖子第二张照片发错了
截图202309021508139978.jpg
回复 支持 反对

使用道具 举报 送花

1

主题

6

回帖

35

积分

新手上路

积分
35
发表于 2023-9-2 15:20:09 | 显示全部楼层
时基单元
这个可编程定时器的主要部分是一个带有自动重装载的16位累加计数器,计数器的时钟通过一
个预分频器得到。
软件可以读写计数器、自动重装载寄存器和预分频寄存器,即使计数器运行时也可以操作。
时基单元包含:
● 计数器寄存器(TIMx_CNT)
● 预分频寄存器(TIMx_PSC)
● 自动重装载寄存器(TIMx_ARR)
自动重装载寄存器是预加载的,每次读写自动重装载寄存器时,实际上是通过读写预加载寄存
器实现。根据TIMx_CR1寄存器中的自动重装载预加载使能位(ARPE),写入预加载寄存器的内
容能够立即或在每次更新事件时,传送到它的影子寄存器。当TIMx_CR1寄存器的UDIS位
为’0’,则每当计数器达到溢出值时,硬件发出更新事件;软件也可以产生更新事件;关于更新
事件的产生,随后会有详细的介绍。
计数器由预分频输出CK_CNT驱动,设置TIMx_CR1寄存器中的计数器使能位(CEN)使能计数器
计数。
注意:实际的设置计数器使能信号CNT_EN相对于CEN滞后一个时钟周期。
预分频器
预分频可以以系数介于1至65536之间的任意数值对计数器时钟分频。它是通过一个16位寄存器
(TIMx_PSC)的计数实现分频。因为TIMx_PSC控制寄存器具有缓冲,可以在运行过程中改变它
的数值,新的预分频数值将在下一个更新事件时起作用。
以下两图是在运行过程中改变预分频系数的例子。
图145 预分频系数从1变到2的计数器时序图
1,计数模式
计数器从0累加计数到自动重装载数值(TIMx_ARR寄存器),然后重新从0开始计数并产生一个计
数器溢出事件。
每次计数器溢出时可以产生更新事件;(通过软件或使用从模式控制器)设置TIMx_EGR寄存器的
UG位也可以产生更新事件。
设置TIMx_CR1中的UDIS位可以禁止产生UEV事件,这可以避免在写入预加载寄存器时更改影
子寄存器。在清除UDIS位为’0’之前,将不再产生更新事件,但计数器和预分频器依然会在应产
生更新事件时重新从0开始计数(但预分频系数不变)。另外,如果设置了TIMx_CR1寄存器中的
URS(选择更新请求),设置UG位可以产生一次更新事件UEV,但不设置UIF标志(即没有中断或
DMA请求)。
当发生一次更新事件时,所有寄存器会被更新并(根据URS位)设置更新标志(TIMx_SR寄存器的
UIF位):
● 传送预装载值(TIMx_PSC寄存器的内容)至预分频器的缓冲区。
● 自动重装载影子寄存器被更新为预装载值(TIMx_ARR)。
以下是一些在TIMx_ARR=0x36时不同时钟频率下计数器工作的图示例子。
图147 计数器时序图,内部时钟分频系数为1
2.时钟源
计数器的时钟由内部时钟(CK_INT)提供。
TIMx_CR1寄存器的CEN位和TIMx_EGR寄存器的UG位是实际的控制位,(除了UG位被自动清
除外)只能通过软件改变它们。一旦置CEN位为’1’,内部时钟即向预分频器提供时钟。
下图示出控制电路和向上计数器在普通模式下,没有预分频器时的操作。
3,调试模式
当微控制器进入调试模式(Cortex-M3核心停止)时,根据DBG模块中的配置位DBG_TIMx_STOP
的设置,TIMx计数器或者继续计数或者停止工作。
回复 支持 反对

使用道具 举报 送花

1

主题

6

回帖

35

积分

新手上路

积分
35
发表于 2023-9-3 21:47:42 | 显示全部楼层
第五次打卡
1. 汇编语言的概念及格式
用助记符来描达机器指今的语吉称为行号语言或汇编语高,汇编语言一般格式如下:
[标号:操作码助记符[第一操作数][第二採作数][第二採作数][:注释]
其中,带有中括号的内容是可以省略的内容或者指令格式中不需要的内容。
标号后面有个冒号一”
它实质工作是标号所在行的指令的地址,根据程序设计的需要设置。标号是由字母开头的有意义的字符串组成,例如:
LOOP LOOP1 TABLE.
另外,在汇编语言程序中,标号也用作子程序的名字。
2. 指令代码的存储格式
指令代码是汇编语言中指令的二进制表示方法,是指令在存储器中存放的形式。在机器中为了方便表示,将8位二进制码表示为一个字节。
8051内核的单片机的指令长度有单字节、双字节、三字节三种,在存储器中分别占有1~3个单元。其格式如下:
单字节指令:
RET
双字节指令:
MOV A,#OFH
三字节指令:
MOV 74H,#OBH
;机器代码:2ZH
;机器代码:74H OFH
;机器代码:75H 74H OBH
2.指令代码的存储格式
指令代码是汇编语言中指令的二进制表示方法,是指令在存储器中存放的形式。在机器中为了方便表示,将8位二进制码表示为一个字节。
8051内核的单片机的指会长度有单字节、双字节、三字节三种,在存储器中分别占有1~3个单元。其格式如下:
单字节指令:
RET
;机器代码:2ZH
双字节指令:
MOV A,#OFH
;机器代码:74H OFH
三宁节指令:
MOV 74H,#OBH
;机器代码:75H 74H OBH
截图202309032139318420.jpg
截图202309032139547148.jpg
截图202309032140063407.jpg
截图202309032140181346.jpg
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 15:14 , Processed in 0.270652 second(s), 92 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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