找回密码
 立即注册
查看: 5208|回复: 14

学《STC USB型 真1T 8051 单片机原理及应用-STC8H8K64U》 视频学习打卡 学习笔记

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:177
  • 最近打卡:2025-04-28 20:20:32

4

主题

21

回帖

675

积分

高级会员

积分
675
发表于 2024-7-1 15:53:42 | 显示全部楼层 |阅读模式
本帖最后由 HYqs 于 2024-7-1 15:56 编辑

第一集 课程导论
一、开发板外观




STC89C52
截图202407011546316943.jpg

STC8系列
截图202407011547168972.jpg

截图202407011547417715.jpg

截图202407011548307888.jpg

STC8H8K64U系列

内核
• 超高速 8051 内核(1T),比传统 8051 约快 12 倍以上,指令代码完全兼容传统8051
• 22个中断源,4 级中断优先级
• 支持在线仿真
工作电压
• 1.9V~5.5V
工作温度
• -40℃~85℃
Flash 存储器
• 最大64K 字节FLASH 程序存储器(ROM),用于存储用户代码
• 支持用户配置 EEPROM 大小,512 字节单页擦除,擦写次数可达10万次以上
• 支持在系统编程方式(ISP)更新用户应用程序,无需专用编程器
• 支持单芯片仿真,无需专用仿真器,理论断点个数无限制
SRAM
• 128 字节内部直接访问 RAM(DATA)
• 128 字节内部间接访问 RAM(IDATA)
• 8192 字节内部扩展 RAM(内部 XDATA)
• 1280 字节USB 数据RAM
时钟控制
• 内部高精度IRC(4MHz~45MHz,ISP 编程时选择或手动输入,还可以用户软件分频到较低的频率工作, 如100KHz)
– 误差±0.3%(常温下 25℃)
– -1.35%~+1.30%温漂(全温度范围,-40℃~85℃))
– -0.76%~+0.98%温漂(温度范围,-20℃~65℃)
• 内部 32KHz 低速 IRC(误差较大)
• 外部晶振(4MHz~45MHz)和外部时钟
• 用户可自由选择上面的3种时钟源
复位
• 硬件复位
– 上电复位,实测电压值为1.69V~1.82V。(在芯片未使能低压复位功能时有效) 上电复位电压由一个上限电压和一个下限电压组成的电压范围,当工作电压从5V/3.3V 向下掉到上 电复位的下限门槛电压时,芯片处于复位状态;当电压从0V 上升到上电复位的上限门槛电压时, 芯片解除复位状态。
– 复位脚复位(高电平复位),出厂时 P5.4 默认为 IO 口,ISP 下载时可将 P5.4 管脚设置为复位脚
– 看门狗溢出复位
– 低压检测复位,提供4 级低压检测电压:1.9V、2.3V、2.8V、3.7V
• 软件复位
– 软件方式写复位触发寄存器
中断
• 提供22 个中断源:INT0(支持上升沿和下降沿中断)、INT1(支持上升沿和下降沿中断)、INT2(只支 持下降沿中断)、INT3(只支持下降沿中断)、INT4(只支持下降沿中断)、定时器0、定时器1、定时 器2、定时器3、定时器4、串口1、串口2、串口3、串口4、ADC 模数转换、LVD 低压检测、SPI、I2C、 比较器、PWMA、PWMB、USB
• 提供 4 级中断优先级
• 时钟停振模式下可以唤醒的中断:INT0(P3.2)、INT1(P3.3)、INT2(P3.6)、INT3(P3.7)、INT4(P3.0)、T0(P3.4)、 T1(P3.5)、T2(P1.2)、T3(P0.4)、T4(P0.6)、RXD(P3.0/P3.6/P1.6/P4.3)、RXD2(P1.0/P4.6)、RXD3(P0.0/P5.0)、 RXD4(P0.2/P5.2)、I2C_SDA(P1.4/P2.4/P3.3)以及比较器中断、低压检测中断、掉电唤醒定时器唤醒。
数字外设
• 5 个16 位定时器:定时器0、定时器1、定时器2、定时器3、定时器4,其中定时器0 的模式3 具有NMI (不可屏蔽中断)功能,定时器0 和定时器1 的模式0 为16 位自动重载模式
• 4个高速串口:串口1、串口2、串口3、串口4,波特率时钟源最快可为FOSC/4
• 8 路/2 组高级PWM,可实现带死区的控制信号,并支持外部异常检测功能,另外还支持16 位定时器、8 个外部中断、8 路外部捕获测量脉宽等功能
• SPI:支持主机模式和从机模式以及主机/从机自动切换
• I2C:支持主机模式和从机模式
• MDU16:硬件16 位乘除法器(支持32 位除以16 位、16 位除以16 位、16 位乘16 位、数据移位以及数 据规格化等运算)
• USB:USB2.0/USB1.1 兼容全速USB,6 个双向端点,支持4 种端点传输模式(控制传输、中断传输、批 量传输和同步传输),每个端点拥有64 字节的缓冲区
• RTC:支持年、月、日、时、分、秒、次秒(1/128 秒),并支持时钟中断和一组闹钟(注:A 版芯片无 此功能)
• I/O 口中断:所有的I/O 均支持中断,每组I/O 中断有独立的中断入口地址,所有的I/O 中断可支持4 种 中断模式:高电平中断、低电平中断、上升沿中断、下降沿中断。提供4 级中断优先级并支持掉电唤醒功 能。(注:A 版芯片无此功能)
• DMA : 支持Memory-To-Memory 、SPI 、UART1TX/UART1RX 、UART2TX/UART2RX 、 UART3TX/UART3RX、UART4TX/UART4RX、ADC(自动计算多次ADC 结果的平均值)、LCM(注: A 版芯片无此功能)
• LCM(TFT 彩屏)驱动:支持8080 和6800 接口,支持8 位和16 位数据宽度(注:A 版芯片无此功能) 8 位8080 总线:8 为数据线(TD0~TD7),读信号(TRD),写信号(TWR),RS 线(TRS) 16 为8080 总线:16 为数据线(TD0~TD15),读信号(TRD),写信号(TWR),RS 线(TRS) 8 为6800 总线:8 为数据线(TD0~TD7),使能信号(TE),读写信号(TRW),RS 线(TRS) 16 位6800 总线:16 为数据线(TD0~TD15),使能信号(TE),读写信号(TRW),RS 线(TRS) 注意:如果使用8 位数据线控制TFT 屏,一般需要TD0~D7,TRD/TWR/TRS,11 根数据及控制线, 外加2 个普通I/O 控制片选及复位(很多TFT 彩屏的片选及复位厂商已进行了自动处理,并不需要 软件控制)
模拟外设
• 超高速ADC,支持12 位高精度15 通道(通道0~通道14)的模数转换,速度最快能达到800K(每秒进 行80 万次ADC 转换)
• ADC 的通道15 用于测试内部1.19V 参考信号源(芯片在出厂时,内部参考信号源已调整为1.19V)
• 比较器,一组比较器(比较器的正端可选择CMP+端口和所有的ADC 输入端口,所以比较器可当作多路 比较器进行分时复用)
• DAC:8 路高级PWM 定时器可当8 路DAC 使用
GPIO
• 最多可达61 个GPIO:P0.0~P0.7、P1.0~ P1.7(无P1.2)、P2.0~P2.7、P3.0~P3.7、P4.0~P4.7、P5.0~P5.4、 P6.0~P6.7、P7.0~P7.7
• 所有的 GPIO 均支持如下 4 种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式
• 除P3.0和P3.1外,其余所有I/O口上电后的状态均为高阻输入状态,用户在使用I/O口时必须先设置I/O口模式
• 另外每个I/O均可独立使能内部4K上拉电阻

















回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:177
  • 最近打卡:2025-04-28 20:20:32

4

主题

21

回帖

675

积分

高级会员

积分
675
发表于 2024-7-1 16:13:44 | 显示全部楼层
第二集 点灯、创建工程、烧录代码

截图202407011559159913.jpg
Δ注意设置工程文件夹位置,方便工程管理
创建工程
截图202407011601453355.jpg
设置工程输出hex文件
截图202407011609345281.jpg

程序下载
截图202407011611595156.jpg
截图202407011610231527.jpg

点灯代码
  1. #include "stc8.h"
  2. void delay(unsigned long delaycnt)
  3. {
  4.     while(delaycnt--);
  5. }
  6. void main(void)
  7. {  
  8.     P4M1 = 0xff;
  9.    P4M0 = 0xff;
  10.    P6M1  = 0;
  11.    P6M0 = 0;
  12.    P40 = 0;
  13.    while(1)
  14.    {
  15.       P60 = 1;
复制代码





















回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:177
  • 最近打卡:2025-04-28 20:20:32

4

主题

21

回帖

675

积分

高级会员

积分
675
发表于 2024-7-1 16:27:37 | 显示全部楼层
第三题 数字逻辑与基本数字电路

截图202407011618014187.jpg

截图202407011618207055.jpg
逻辑门
截图202407011620042893.jpg

单片机的运用场景
截图202407011621192906.jpg 截图202407011621318754.jpg 截图202407011621495890.jpg 截图202407011622051924.jpg 截图202407011622205206.jpg 截图202407011623219696.jpg 截图202407011623383828.jpg

程序仿真

首先使用 USB 线将实验箱 9.6 与电脑进行连接
进入 USB 下载模式(先按住实验箱上的 P3.2/INT0 按键/接地,然后按一下 ON/OFF 电源按键/断电,接
着松开 ON/OFF 电源按键/上电,最后可松开 P3.2/INT0 按键。正常情况下就能识别出“STC USB Writer(HID1)”设备)。
单片机型号选择“STC8H8K64U”。
使用 USB 口进行仿真。
选择用户程序运行的 IRC 频率,制作仿真芯片时选择的频率与所仿真的用户程序所设置的频率一致,
才能达到真实的运行效果。
然后在软件右边功能区的“Keil 仿真设置”页面中点击“将所选目标单片机设置为仿真芯片”按钮
截图202407011625324778.jpg

按下快捷键“Alt+F7”或者选择菜单“Project”中的“Option for Target ‘Target1’”
在“Option for Target ‘Target1’”对话框中对项目进行配置
第 1 步、进入到项目的设置页面,选择“Debug”设置页
第 2 步、选择右侧的硬件仿真“Use …”
第 3 步、在仿真驱动下拉列表中选择“STC Monitor-51 Driver”项
第 4 步、点击“Settings”按钮,进入接口的设置画面
第 5 步、选择 USB 接口仿真。
确定完成仿真设置
截图202407011626315532.jpg

完成了上面所有的工作后,即可在 Keil 软件中按“Ctrl+F5”开始仿真调试。
若硬件连接无误的话,将会进入到类似于下面的调试界面,并在命令输出窗口显示当前的仿真驱动版本
号和当前仿真监控代码固件的版本号,如下图所示
截图202407011627034292.jpg

仿真调试过程中,可执行复位、全速运行、单步运行、设置断点等多中操作。


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:177
  • 最近打卡:2025-04-28 20:20:32

4

主题

21

回帖

675

积分

高级会员

积分
675
发表于 2024-7-1 16:52:02 | 显示全部楼层
本帖最后由 HYqs 于 2024-7-1 16:57 编辑

第四集 单片机的内部结构
截图202407011653015031.jpg
截图202407011653211679.jpg
截图202407011653426511.jpg
截图202407011654313495.jpg

截图202407011654468044.jpg

截图202407011655196691.jpg

截图202407011655438429.jpg

截图202407011656342642.jpg

截图202407011656536169.jpg




截图202407011654581790.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:177
  • 最近打卡:2025-04-28 20:20:32

4

主题

21

回帖

675

积分

高级会员

积分
675
发表于 2024-7-1 17:28:37 | 显示全部楼层
第五集 存储器空间及存储器,单片机的引脚

截图202407011700315533.jpg 截图202407011700511683.jpg 截图202407011701145938.jpg
编译程序位置选择
截图202407011704568161.jpg

使用大数组时 声明变量时添加xdata
截图202407011706218774.jpg

单片机的引脚

截图202407011710039951.jpg 截图202407011711459910.jpg 截图202407011712546807.jpg


注意:
1、ADC的外部参考电源管脚ADC VRef+,一定不能浮空,必须接外部参考电源或者直接连到Vcc
2、若不需要进行USB下载,芯片复位时P3.0/P3.1/P3.2不可同时为低电平
3、建议在Vcc和Gnd之间就近加上电源去耦电容22uF和0.1uF,可去除电源线噪声,提高抗干扰能力。

4、STC8HK64U没用P1.2引脚
截图202407011721429238.jpg 截图202407011722176555.jpg

准双向口模式
准双向口,不是真正意义上的双向口,准双向口(弱上拉)输出类型可用作输出和输入功能而不需要重新配置端口输出状态;这是因为当端口输出为1(高电平)时的驱动能力很弱,允许外部装置将其拉低(例如:接下拉电阻);当端口输出为0(低电平)时的驱动能力很强,可吸收相当大的电流
点亮LED建议使用该模式✔,LED负极接到单片机I/O口,正极处加一个限流电阻随后接+5V电源,这里限流电阻的作用是 以防电流过大而烧坏LED,同时限流电阻也能起分压作用
截图202407011724434697.jpg

推挽输出模式
强推挽输出配置的下拉结构与开漏输出及准双向口的下拉结构相同,但当锁存器为1时提供持续的强上拉,推挽输出模式一般用于需要很大驱动电流的情况,比如驱动三极管带动小电机运行
强推挽引脚配置图:
截图202407011724586807.jpg

高阻输入模式
电流既不能流入也不能流出,输入口带有一个施密特触发输入以及一个干扰抑制电路
当I/O口为高阻态时,也可以叫浮空输入状态,此时I/O口的状态是不确定的,既不是高电平也不是低电平,一般是用作ADC检测时配置的I/O口模式
高阻输入引脚配置图:
截图202407011724238731.jpg

开漏输出模式
与推挽输出相对的,就是开漏输出模式了,也就是漏级开路的输出形式,既可以读外部状态也可以对外输出(高电平或者低电平),如果需要读外部状态或对外输出高电平,但此时无法真正的输出高电平,也就是这个高电平的驱动能力非常弱,此时I/O口需要外加上拉电阻

截图202407011726219786.jpg
isp I/O配置工具
截图202407011727504335.jpg

截图202407011728155138.jpg


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:177
  • 最近打卡:2025-04-28 20:20:32

4

主题

21

回帖

675

积分

高级会员

积分
675
发表于 2024-7-1 22:05:37 | 显示全部楼层
本帖最后由 HYqs 于 2024-7-1 22:07 编辑

第六集 I/O口的工作方式,STC8H8K64U的汇编语言程序设计,初步入门

截图202407012043494705.jpg
截图202407012045066067.jpg

截图202407012045579465.jpg

截图202407012048155963.jpg

截图202407012052143740.jpg

截图202407012053251773.jpg

截图202407012056342803.jpg

截图202407012056518683.jpg

总线扩展方式下,P2口没有用到的口线不能再用作I/O功能!


STC8H单片机的汇编语言程序设计



截图202407012059401239.jpg



1.伪指令


伪指令并不产生目标程序,不影响程序的执行,仅仅产生供汇编用的某些指令,以便在汇编时执行一些特殊操作。
(1) 设置起始地址ORG (Origin)

ORG addr16


其中,ORG是该伪指令的操作助记符,操作数addr16是16位二进制数,前者表明为后续源程序汇编后的目标程序安排存放位置,后者则给出了存放的起始地址值。ORG伪指令总是出现在每段源程序或数据块的开始。可使程序员把程序、子程序或数据块存放在存储器的任何位置。例如:



    ORG 2000H
    MOV A, 20H




表示后面的目标程序从2000H单元开始存放。
若在源程序开始不放ORG指令,则汇编将从0000H单元开始存放目标程序。
(2)定义字节DB (Define Byte)






(标号:)DB(项或项表)

其中项或项表是指一个字节、数或字符串,或以引号括起来的ASCII码字符串。该指令的功能是把项或项表的数值(字符则用它的ASCI码表示) 存入从标号开始的连续单元中。




截图202407012108096709.jpg


(3)定义字DW (Define Word)
(标号: )Dw(项或项表)
DW的基本含义与DB相同,但DB一般用于定义8位数据(一个字节)。DW定义16位数据即一个字。在执行汇编程序时,机器会自动按低位字节在前,高位字节在后的格式排列(与程序中的地址规定一致) 。所以DW伪指令常用来建立地址表。

截图202407012118543192.jpg


DW均是根据源程序需要,用来定义程序中用到的数据(地址) 或数据块。伪指令DB、DW一般应放在源程序之后,汇编后的数据块将紧挨着目标程序的末尾地址开始存放。






截图202407012120155688.jpg


截图202407012120367123.jpg

截图202407012122323581.jpg

截图202407012122485197.jpg

汇编实操
  1. ;main.asm 编程模板
  2. $include (stc8h.inc)
  3.     ORG        0000H;跳转到主程序
  4.     LJMP        MAIN
  5.     ORG        0003H;外部中断0入口
  6.     LJMP        INT0_ISR
  7.     ORG        000BH;定时器0中断入口
  8.     LJMP        T0_ISR
  9.     ORG        0013H;外部中断1入口
  10.     LJMP        INT1_ISR
  11.     ORG        001BH;定时器1中断入口
  12.     LJMP        T1_ISR
  13.     ORG        0023H
  14.     LJMP      UART_ISR;串口通信中断入口
  15.     ORG        0100H
  16. MAIN:    MOV SP,#70H;设置堆栈指针
  17.             ORL     P_SW2, #080H        ;使能访问XFR
  18.             MOV     P0M0,#00H                   ;设置P0.0~P0.7为双向口模式
  19.             MOV     P0M1,#00H
  20.             MOV     P1M0,#0FFH                  ;设置P1.0~P1.7为推挽输出模式
  21.             MOV     P1M1,#00H
  22.             MOV     P2M0,#00H                   ;设置P2.0~P2.7为高阻输入模式
  23.             MOV     P2M1,#0FFH
  24.             MOV     P3M0,#0FFH                  ;设置P3.0~P3.7为开漏模式
  25.             MOV     P3M1,#0FFH
  26.             JMP     $
  27.             END
复制代码



















回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:177
  • 最近打卡:2025-04-28 20:20:32

4

主题

21

回帖

675

积分

高级会员

积分
675
发表于 2024-7-2 16:06:34 | 显示全部楼层
本帖最后由 HYqs 于 2024-7-2 16:36 编辑

第七集 STC8H8K64U的汇编语言程序设计进阶
截图202407021559499276.jpg

截图202407021603097825.jpg

常用操作码

| 操作码 | 含义                                                                                                                         |
|----------|---------------------------------------------------------------------------------------------------------------|
| MOV    | 在内部RAM中传送字节变量(数据存储器、I/O口)                                                        |
| MOVX  | 在外部RAM和A之间传送数据                                                                                       |
| MOVC  | 将程序存储器中的数据传送给A                                                                                    |
| ADD    | 加法运算,带借位减法                                                                                                |
| SUBB   | 乘法运算                                                                                                                   |
| DIV     | 除法运算                                                                                                                   |
| AJMP(SJMP,LJMP) | 绝对转移(短转移、长转移)、有条件转移、绝对调用(长调用)、子程序返回|
| JZ、JC、JB(JNZ、JNC、JNB) | 第一操作数与第二操作数比较不等则转移                                       |
| ACALL(LCALL) | 子程序返回                                                                                                      |
| RET      | 子程序返回                                                                                                               |
| CINE    | 第一操作数与第二操作数比较不等则转移                                                                      |
|----------|---------------------------------------------------------------------------------------------------------------|


截图202407021613172522.jpg
截图202407021613481361.jpg

寻址方式
截图202407021616457921.jpg

截图202407021617078715.jpg

截图202407021617378996.jpg

截图202407021618023900.jpg

截图202407021618433393.jpg

截图202407021619023914.jpg

截图202407021625221858.jpg

截图202407021626471056.jpg





截图202407021612129293.jpg
截图202407021612506907.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:177
  • 最近打卡:2025-04-28 20:20:32

4

主题

21

回帖

675

积分

高级会员

积分
675
发表于 2024-7-2 17:20:14 | 显示全部楼层
第八集 汇编指令一(数据传送/逻辑运算/算术运算)

截图202407021643418376.jpg
截图202407021651526301.jpg

截图202407021652166686.jpg

截图202407021654183404.jpg   

截图202407021655511250.jpg

截图202407021657093090.jpg

截图202407021659192965.jpg


例4-2: 试编制根据累加器A中的数 (0~9之间) 查其平方表的子程序。
解:可用下列程序代码
  1. GETSQ:
  2. PUSH DPH
  3. PUSH DPL ;保护DPTR内容
  4. MOV DPTR,#TABLE ;赋表首址→DPTR
  5. MOVC A,@A+DPTR ;据A中内容查表
  6. POP DPL
  7. POP DPH ;恢复DPTR原内容
  8. RET ;返回
  9. TABLE: DB 00.01,04,09,16,25,36,49,64,81
复制代码
截图202407021702173076.jpg

截图202407021702313752.jpg


截图202407021703178692.jpg

截图202407021703472991.jpg

截图202407021704284837.jpg

截图202407021704461180.jpg

截图202407021705493581.jpg

截图202407021706259077.jpg

截图202407021706371960.jpg

截图202407021706487102.jpg

截图202407021707376262.jpg

截图202407021720088821.jpg

截图202407021659361602.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:177
  • 最近打卡:2025-04-28 20:20:32

4

主题

21

回帖

675

积分

高级会员

积分
675
发表于 2024-7-2 19:27:53 | 显示全部楼层
第九集 汇编指令二(位操作/控制转移)

截图202407021807494652.jpg
截图202407021851537261.jpg

截图202407021853315294.jpg

截图202407021857304522.jpg

截图202407021911106640.jpg

截图202407021912055430.jpg

截图202407021912242382.jpg

截图202407021913182762.jpg

截图202407021914045608.jpg

截图202407021915361315.jpg

截图202407021915534509.jpg

控制转移类指令
截图202407021919131144.jpg













截图202407021857193895.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:177
  • 最近打卡:2025-04-28 20:20:32

4

主题

21

回帖

675

积分

高级会员

积分
675
发表于 2024-7-2 22:12:10 | 显示全部楼层
本帖最后由 HYqs 于 2024-7-2 22:35 编辑

第十集 汇编语言程序设计的一般步骤和基本框架

程序是指令的有序集合。编写一个功能完善的、完整的程序,正确性是最主要的,但整个程序占内存的空间大小、每条指令的功能、长度执行速度等都要考虑,尽可能使其优化个完善的系统设计应该具有设计方案正确、程序结构规范等基本性质,这不仅给程序的设计和调试带来方便,加速调试过程,而且有益于程序的维护和升级。

截图202407022208303952.jpg


$NOMOD51

$INCLUDE (STC8H.H) ; 包含STC8H系列单片机的头文件

; ...这里可以编写程序中用到的一些符号定义(使用EQU、DATA、BIT等伪指令)


ORG 0000H ; 程序开始地址为0000H


START: LJMP MAIN ; 跳转到主程序

           ORG 0003H ; 下一个地址为0003H

           LJMP INTO_ISR ; 跳转到外部中断0入口


           ORG 000BH ; 下一个地址为000BH

           LJMP TO_ISR ; 跳转到定时器0中断入口


           ORG 0013H ; 下一个地址为0013H

           LJMP INT1_ISR ; 跳转到外部中断1入口


           ORG 001BH ; 下一个地址为001BH

           LJMP T1_ISR ; 跳转到定时器1中断入口


           ORG 0023H ; 下一个地址为0023H

           LJMP UART1_ISR ; 跳转到串口1中断入口

ORG 0200H  

MAIN:  

           MOV SP, #80H  ;设置堆栈指针(可根据实际情况进行修改)  

           …… ;初始化内存区域内容  

           …… ;设置有关特殊功能寄存器(SFR)的控制字  

           …… ;根据需要开放相应的中断控制  

MAINLOOP:  

           ;主程序循环  

           LJMP MAINLOOP  

;外部中断0服务子程序  

INT0_ISR:  

          ……  ;根据需要填入适当的内容  

          RETI  ;外部中断1服务子程序  

INT1_ISR:  

          ……  ;根据需要填入适当的内容  

          RETI  ;INT2中断服务子程序  

INT2_ISR:  

          ……  ;根据需要填入适当的内容  

          RETI  

;下面可以编写其他子程序或者定义程序中所用的常数  

END

截图202407022225472939.jpg
截图202407022226118402.jpg
截图202407022226353457.jpg
截图202407022226499423.jpg
截图202407022227181895.jpg
截图202407022229593084.jpg
截图202407022230213494.jpg

截图202407022230361290.jpg

截图202407022231023860.jpg

截图202407022231158227.jpg

截图202407022231399734.jpg

截图202407022232178382.jpg

截图202407022232316776.jpg

截图202407022233103113.jpg

截图202407022234117835.jpg

截图202407022234393814.jpg








回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-9 03:33 , Processed in 0.163335 second(s), 102 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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