找回密码
 立即注册
楼主: noonezero

陈教授单片机原理及应用-STC8H8K64U学些笔记

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:359
  • 最近打卡:2025-05-04 11:02:22

2

主题

87

回帖

898

积分

高级会员

积分
898
发表于 2023-12-6 08:24:44 | 显示全部楼层
第十课:汇编语言程序设计的一般步骤和基本框架


1.汇编语言程序设计的一般步骤和基本框架
编写一个功能完善的、完整的程序,正确性是最主要的,但个程序占内存的空间人小、每条指令的功能、长度、执行速度等都要考虑,尽可能使其优化。
给程序的设计和调试带来方便,加速调试过程,而且有益于程序的维护和升级


2.汇编语言的程序框架
截图202312060735438333.jpg

截图202312060744448740.jpg

截图202312060746446050.jpg



程序流程图
简单说就是根据实现功能编写流程图,规划逻辑


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:359
  • 最近打卡:2025-05-04 11:02:22

2

主题

87

回帖

898

积分

高级会员

积分
898
发表于 2023-12-8 08:34:24 | 显示全部楼层
第十一课:单片机C语言程序设计导入一


1.C51扩展关键字

_at_ sbit sfr bit sfr16 idata bdata xdata pdata data code clien small compact large using reentrant interrupt _task
截图202312070804232016.jpg 截图202312070805215002.jpg


bit型变量可用于变量类型和函数声明、函数返回值等,存储于内部RAM的20H~2FH单元。
注意
1. 位不能声明为一个指针
2. 不能有bit数组如bitarr[5]

bdata 这里不懂,先原封贴过来
截图202312070809125866.jpg



特殊功能寄存器(SFR)
STC8H8K64LJ单片机的特殊功能寄存器(SFR)寻址区,用来控制定时/计数器、口、I/O及其他部件,为了支持SFR及其可寻址位的声明,引入了sfr、sbitt关键词

内存区域指定
程序存储器
code关键字表示将变量保存到程序存储区。可以使用code定义表格常数,节省内部RAM使用

内部RAM
data:直接寻址区,内部RAM的低128字节,地址范围为00H~7FH。在声明变量时,默认都保存在该区域
idata:间接寻址区,包括整个内部RAM区256字节,地址范围为00H~0FFH
bdata:可位寻址区,地址范围为20H~2FH


外部数据存储器
外部RAM视使用情况可由以下关键字标识:
xdata:可指定多达64KB的外部直接寻址区,地址范围0000H~0FFFFH,在程序中,需要声明较人的数组时,可以使用xdata关键字将变量数组保存到扩展RAM中。例如:
unsigned char xdat aarr[300][2];
pdata:能访问1页(256B)的外部RAM(很少用)

指针,和 易挥发变量

截图202312080803246507.jpg


C51 对函数的扩展
1.中断函数声明
中断函数通过使用interrupt关键字和中断号来声明。中断号高速编译器中断服务程序的入口地址。
串行口1的中断函数声明如下
void UART1_ISR (void) interrupt 4
{/*代码*/}
其中 interrupt 4说明中断号为4.中断函数具体执行哪个中断,与中断号有关,与函数名无关


2.指定工作寄存器区
当需要指定函数中使用的工作寄存器区时,使用关键字 using 后跟0~3的数,对应着工作寄存器0~3区
unsigned char GetKey(void) using 1 {/*代码*/}


3.指定存储模式
用户可以使用 small、compact及large说明存储模式
void disp_data(void) small {/*代码*/}
small说明函数内部变量全部使用内部RAM。提高运行速度


关系运算符
截图202312080825383782.jpg


逻辑运算符
与&&
或||
非!


位运算
位与 &
位或 |
取反 ~
左移 <<
右移 >>

中断服务函数看手册13.3
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:359
  • 最近打卡:2025-05-04 11:02:22

2

主题

87

回帖

898

积分

高级会员

积分
898
发表于 2023-12-9 07:41:36 | 显示全部楼层
第十二课:单片机C语言程序设计导入二


大坑代填
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-6 15:20 , Processed in 0.108599 second(s), 58 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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