《单片机原理与应用》课程教学资源(授课教案)3.7 8051汇编语言程序设计基础、3.8 汇编语言程序设计举例Keilc程序设计

石河子大学课程教案 课程名称 单片机原理与应用 授课班级 电信20151班 授课时间 周一5-6节 授课地点 绿3-104 章节名称 3.78051汇编语言程序设计基础、3.8汇编语言程序设计举例 Keilc程序设计 课堂教学目的1、掌握汇编语言程序设计2、掌握keilc程序设计 导入:汇编语言指令:标号操作码操作数1,操作数2:注释 正课: 汇编语言以及接口中汇编语言程序伪指令有哪些? 0RG0000H用来定义汇编指令起始地址 CMPT:JNBACC.7 RETURN End汇编结束指令 MOV C.ACC.7 QU标号赋值命令 CPLA ADD A#1 DB\DW定义数据类型字节\字, MOV ACC.7.C BIT位定义命令:LED BIT P1.6 RETURN:RET 例题3-17 教学内容 及时间分配 CMPT:JNB ACC.7 RETURN RET (1)已知循环次数:借助寄存器(0一R7)表示循环次数,执行一次循环 体寄存器减1,减到0结束循环。指令 (2)已知循环条件:CJNE指令。CJNE@R1,OAH,NEXT 注意;该程序中用来累计字符串长度的R4初始值为OFFH,表示字符起始地 址为R1的起始地址,2FH。 显然这和我们的习惯不同,通常用0计数为其实值
石 河 子 大 学 课 程 教 案 课程名称 单片机原理与应用 授课班级 电信 20151 班 授课时间 周一 5-6 节 授课地点 绿 3-104 章节名称 3.7 8051 汇编语言程序设计基础、3.8 汇编语言程序设计举例 Keilc 程序设计 课堂教学目的 1、掌握汇编语言程序设计 2、掌握 keilc 程序设计 教学内容 及时间分配 导入:汇编语言指令:标号 操作码 操作数 1,操作数 2;注释 正课: 汇编语言以及接口中汇编语言程序伪指令有哪些? ORG 0000H 用来定义汇编指令起始地址 End 汇编结束指令 EQU 标号赋值命令 DB\DW 定义数据类型字节\字, BIT 位定义命令:LED BIT P1.6 例题 3-17 CMPT:JNB ACC.7 RETURN RET (1) 已知循环次数:借助寄存器(R0—R7)表示循环次数,执行一次循环 体寄存器减 1,减到 0 结束循环。指令 (2)已知循环条件:CJNE 指令。 CJNE @R1,#0AH,NEXT 注意;该程序中用来累计字符串长度的 R4 初始值为 0FFH,表示字符起始地 址为 R1 的起始地址,2FH。 显然这和我们的习惯不同,通常用 0 计数为其实值。 CMPT: JNB ACC.7 RETURN MOV C,ACC.7 CPL A ADD A,#1 MOV ACC.7,C RETURN: RET

循环嵌套:软件延时。 案例1点亮发光二极管 发光二极管接在单片机的P1.5引脚,根据电路点亮,P1.5送低电平0时, 即可占喜 使用CLRP1.5(汇编语) P15=0:(C语言中使用赋值语句)》 ORG 0000H START:CLR P1.5 sbit pl_5=P105 AJMP START void main() END {while(1) 总结:汇编语言 {pl_5=0, 起始地址:ORG0000H 问题:地址一般都是0000H,为什么? AJMP START作用? 结束标志:END KeilC (1)调用头文件语句。 (2)任何程序都是由主程序开始:void maint0,通过子程序的形式,完成 主程序的编写。 (3)sbit定义引脚:通常使用引脚的功能来定义,例如连接发光二极管, 定义为led,连接开关时,定义为Key。等等 (4)hi1e(1): 案例2:发光二极管闪烁 闪烁:点亮、熄灭的交替,P1,5引脚置0,置1的交替。 CLR P1.5 SETB P1.5 >问题1:请问CLRP1.5指令执行时问?
循环嵌套:软件延时。 案例 1 点亮发光二极管 发光二极管接在单片机的 P1.5 引脚,根据电路点亮,P1.5 送低电平 0 时, 即可点亮。 使用 CLR P1.5(汇编语言) P1^5=0;(C 语言中使用赋值语句) 总结:汇编语言 起始地址:ORG 0000H 问题:地址一般都是 0000H,为什么? AJMP START 作用? 结束标志;END KeilC (1)调用头文件语句。 (2)任何程序都是由主程序开始:void main(),通过子程序的形式,完成 主程序的编写。 (3)sbit 定义引脚:通常使用引脚的功能来定义,例如连接发光二极管, 定义为 led,连接开关时,定义为 Key。等等 (4)while(1): 案例 2:发光二极管闪烁 闪烁:点亮、熄灭的交替,P1.5 引脚置 0,置 1 的交替。 CLR P1.5 SETB P1.5 ➢ 问题 1:请问 CLR P1.5 指令执行时间? ORG 0000H START:CLR P1.5 AJMP START END #include sbit p1_5=P1^5; void main() {while(1) { p1_5=0;} }

>间题2:怎么解决?延长点亮时间,或者说在点亮熄灭交替慢一些。 >问题3代码实现:延时子程序」 汇编程序 C语言程序 ORG 0000H #include START-SETBPIS sbit pl 5=P1^5; LCALL DELAYIS voiddelay(void) CPLP1.5 unsigned intj LCALL DELAYIS for(i=100:i>0:i-) AJMP START {for0=lI10j>0j-方: DELAYIS: MOV R5.#10 void main( while(1) D2:MOVR7,#250 {plL5=0, DINZ R7.S delay() DJNZ R6.D2 pl5=1 DINZ R5,DI delay(). RET END 总结:主程序实现闪烁,子程序实现延时。 案例3:闪烁5次后,常亮。 循环结构:已知循环次数。 需要加哪些代码?那里加? >设置闪烁5次:movR2,#5 >判断循环次数:DJNZ R2,START >常亮:CLRP1.5 AJNP常亮语句 C语言: 案例4:点亮7段数码管,显示0-9。数码管连接在P2口。 数据管:共阳极(送0点亮相应段)、共阴极(送1点亮相应段) 实现方法:通过查表实现 建立表格:表名LAB,存放显示0-9的编码 查找表指令:MOVA,eA+PC MOV A,@A+DPTR
➢ 问题 2:怎么解决?延长点亮时间,或者说在点亮熄灭交替慢一些。 ➢ 问题 3 代码实现:延时子程序。 总结:主程序实现闪烁,子程序实现延时。 案例 3:闪烁 5 次后,常亮。 循环结构:已知循环次数。 需要加哪些代码?那里加? ➢ 设置闪烁 5 次:mov R2,#5 ➢ 判断循环次数:DJNZ R2,START ➢ 常亮:CLR P1.5 AJMP 常亮语句 C 语言: 案例 4:点亮 7 段数码管,显示 0-9。数码管连接在 P2 口。 数据管:共阳极(送 0 点亮相应段)、共阴极(送 1 点亮相应段) 实现方法:通过查表实现 建立表格:表名 LAB,存放显示 0-9 的编码 查找表指令:MOV A,@A+PC MOV A,@A+DPTR 汇编程序 ORG 0000H START:SETB P1.5 LCALL DELAY1S CPL P1.5 LCALL DELAY1S AJMP START DELAY1S: MOV R5,#10 D1:MOV R6,#20 D2:MOV R7,#250 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END C 语言程序 #include sbit p1_5=P1^5; void delay(void) { unsigned int i,j; for(i=100;i>0;i-) {for(j=110;j>0;j-);} } void main() {while(1) { p1_5=0; delay(); p1_5=1; delay(); } }

指令使用:指明表格位置,MOV DPTR,LAB 指明查找内容的偏移量:MOVA,偏移量 送至P2:MOVP2,A 问题1:此时A里存放的内容是什么? 如何解决?A里要存放查找内容的偏移量,又要存放查找到的内容,这是需 要保护A的内容。 方法1:推栈指令:PUSH ACC方法2:借助中间寄存器MOVR3,A POPACC MOV A.R3 注意添加语句位置 间题2:自动实现显示,除了保护A的内容,还要实现自动修改偏移量A的 值。 针对方法I:INCA 针对方法2:NCR3 间题3:显示09十个数。使用循环结构实现,次数的限制。 MOV R3,#00H CNER3,#10,显示模块。 问题4:循环显示 AJMP循环显示(无条件跳转到起始)》 C语言实现: 掌握汇编语言编写单片机程序的结构框架 重点、难点 以及对策 掌握C语言编写程序结构框架 解决问题画流程图 教学方法 和手段 1、 案列式教学2、多煤体演示教学3、提问互动式教学 作业、思考题 1、完成对案例2、案例3、案例4的的流程图 2、完成案例3的C语言的程序。 课后记
指令使用:指明表格位置,MOV DPTR,#LAB 指明查找内容的偏移量:MOV A,偏移量 送至 P2:MOV P2,A 问题 1:此时 A 里存放的内容是什么? 如何解决?A 里要存放查找内容的偏移量,又要存放查找到的内容,这是需 要保护 A 的内容。 方法 1:堆栈指令:PUSH ACC 方法 2:借助中间寄存器 MOV R3,A POP ACC MOV A,R3 注意添加语句位置。 问题 2:自动实现显示,除了保护 A 的内容,还要实现自动修改偏移量 A 的 值。 针对方法 1:INC A 针对方法 2:INC R3 问题 3:显示 0-9 十个数。使用循环结构实现,次数的限制。 MOV R3,#00H CJNE R3,#10, 显示模块。 问题 4:循环显示 AJMP 循环显示(无条件跳转到起始) C 语言实现: 重点、难点 以及对策 掌握汇编语言编写单片机程序的结构框架 掌握 C 语言编写程序结构框架 解决问题画流程图 教学方法 和手段 1、案列式教学 2、多媒体演示教学 3、提问互动式教学 作业、思考题 1、完成对案例 2、案例 3、案例 4 的的流程图 2、完成案例 3 的 C 语言的程序。 课后记
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《单片机原理与应用》课程教学资源(授课教案)3.4 8051指令系统分类介绍、C语言中相关编程结构.docx
- 《单片机原理与应用》课程教学资源(授课教案)3.1 指令系统概述 3.2 指令格式 3.3 指令寻址方式 3.4 指令分类.docx
- 《单片机原理与应用》课程教学资源(授课教案)AT89S52单片机的硬件组成、单片机的引脚功能(二).docx
- 《单片机原理与应用》课程教学资源(授课教案)4.8 中断服务子程序的应用设计 4.9 多外部中断源的设计.docx
- 《单片机原理与应用》课程教学资源(授课教案)AT89S52定时计数器(1/4).docx
- 《单片机原理与应用》课程教学资源(授课教案)中断系统.docx
- 《单片机原理与应用》课程教学资源(授课教案)AT89S52定时计数器(2/4).docx
- 《单片机原理与应用》课程教学资源(授课教案)串口扩展技术.docx
- 《单片机原理与应用》课程教学资源(授课教案)AT89S52定时计数器(3/4).docx
- 《单片机原理与应用》课程教学资源(授课教案)AT89S52定时计数器(4/4).docx
- 《单片机原理与应用》课程教学资源(授课教案)DS18B20测温头文件使用方法.docx
- 《单片机原理与应用》课程教学大纲 Design and Application of Microcomtroller.pdf
- 《电工学》课程PPT教学课件(电子技术)第09章 半导体存储器和可编程逻辑器件.ppt
- 《电工学》课程PPT教学课件(电子技术)第10章 模拟量和数字量的相互转换.ppt
- 《电工学》课程PPT教学课件(电子技术)第08章 触发器和时序逻辑电路.ppt
- 《电工学》课程PPT教学课件(电子技术)第07章 门电路和组合逻辑电路.ppt
- 《电工学》课程PPT教学课件(电子技术)第06章 晶闸管及其应用.ppt
- 《电工学》课程PPT教学课件(电子技术)第05章 直流稳压电源.ppt
- 《电工学》课程PPT教学课件(电子技术)第02章 基本放大电路.ppt
- 《电工学》课程PPT教学课件(电子技术)第04章 集成运算放大器及其应用.ppt
- 《单片机原理与应用》课程教学资源(授课教案)AT89S52单片机的硬件组成、单片机的引脚功能(一).docx
- 《单片机原理与应用》课程教学资源(授课教案)单片机定时/计数器模块.doc
- 《单片机原理与应用》课程教学资源(学习资料)DS18B20测温头文件使用方法.docx
- 《单片机原理与应用》课程教学课件(PPT讲稿)DS18B20总线扩展技术.pptx
- 《单片机原理与应用》课程教学课件(PPT讲稿)ADDA电机(AT89S51单片机与DAC的接口).pptx
- 《单片机原理与应用》课程教学课件(PPT讲稿)第6章 AT89S52单片机的串行口(2/2).ppt
- 《单片机原理与应用》课程教学课件(PPT讲稿)第6章 AT89S52单片机的串行口(1/2).ppt
- 《单片机原理与应用》课程教学课件(PPT讲稿)第5章 AT89S52单片机的定时器计数器(2/2).ppt
- 《单片机原理与应用》课程教学课件(PPT讲稿)第4章 AT89S52单片机的中断系统(2/2).ppt
- 《单片机原理与应用》课程教学课件(PPT讲稿)第5章 AT89S52单片机的定时器计数器(1/2).ppt
- 《单片机原理与应用》课程教学课件(PPT讲稿)第4章 AT89S52单片机的中断系统(1/2).ppt
- 《单片机原理与应用》课程教学课件(PPT讲稿)第2章 AT89S51单片机硬件结构(2/2).ppt
- 《单片机原理与应用》课程教学课件(PPT讲稿)第2章 AT89S51单片机硬件结构(1/2).ppt
- 《单片机原理与应用》课程教学课件(PPT讲稿)第3章 8051指令系统与编程基础.ppt
- 《电路》课程教学大纲 Electric Circuit A.doc
- 《电路》课程教学大纲 Electric Circuit B.doc
- 《电路》课程实验教学大纲 Experiment of Electric Circuit A.doc
- 《电路》课程实验教学大纲 Experiment of Electric Circuit B.doc
- 《电路》课程教学资源(实验指导)实验1 元件伏安特性.doc
- 《电路》课程教学资源(实验指导)实验5 RLC元件阻抗特性及交流等效参数的测定.doc