《单片机课件12.ppt》由会员分享,可在线阅读,更多相关《单片机课件12.ppt(13页珍藏版)》请在三一文库上搜索。
1、授课日期 班次 授课时数 2 课题: 任务七 单片机计数 教学目的:掌握汇编语言程序的组成 熟悉常用的伪指令 重点: 常用的伪指令 难点: 无 教具: 多媒体 作业: 4.2 4.4 自用参考书:单片机应用技术耿长清主编、单片机应用技术刘守义主编 教学过程:一、复习提问 1. MCS-51有哪几类指令? 二、新授 由任务七:按钮控制灯引入本次课内容 1.任务描述 2.硬件电路与工作原理 3.程序设计 4.相关知识 1)什么是伪指令? 2)有哪些常用伪指令? 5.课堂小结 课后小结:,任务描述:利用实验开发板上的555振荡电路产生的4HZ的脉冲信号进行计数,要求每计十个数单灯向左移动一次,4.1
2、 任务七 单片机计数,4.1.1 硬件电路与工作原理,1、硬件电路,4.1 任务七 单片机计数,2、工作原理,说明: 555振荡电路产生约4HZ的脉冲信号,经S3点接到单片机P3.4输入端,注意应将跳线JP1下面的两个端子(M与R)短接。,MCS-51单片机内部有两个16位的定时/计数器,都可以用于对外部事件进行计数。外部计数脉冲从P3.4或P3.5端口输人,程序设置定时/计数器工作在计数状态即可以对外部事件进行计数。,4.1 任务七 单片机计数,4.1.2 控制程序,ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV TMOD,#06H MOV TH0,#0F6H
3、 MOV TL0,#0F6H SETB TR0 MOV A,#0FEH LOOP: MOV P1,A JBC TF0,MLOOP SJMP LOOP MLOOP: RL A SJMP LOOP END,4.1.3源程序的编辑、编译、下载,4.1 任务七 单片机计数,4.1.4 相关知识,什么是伪指令? 随着单片机的广泛应用和开发以装置功能的不断完善与发展,汇编语言源程序都借助系统机(PC等)进行编辑、汇编和调试。因此,在编制汇编语言源程序时,常需应用伪指令。伪指令又称汇编程序控制译码指令,属说明性汇编指令。“伪”字体现在汇编时不产生机器指令代码,不影响程序的执行,仅产生供汇编时用的某些命令,在
4、汇编时执行某些特殊操作。 有哪些常用伪指令? 不同的单片机及其开发装置所定义的伪指令不全相同。下面介绍几种常用的伪指令,4.1 任务七 单片机计数,标号赋值伪指令 标号等值伪指令EQU 格式:标号:EQU表达式 指令的含义为本语句的标号等值于表达式,亦即将表达式值赋予标号。这里的标号和表达式是必不可少的。 例如: TTY:EQU 1080H 本语句向汇编程序指明,标号TTY已于前句赋值为1080H,则相当于LOOP1=TTY=10802H,在程序中LOOP1和TTY两个标号可以互相使用。用EOU语句给一个标号赋值以后,在整个源程序中该标号的值是固定而不能更改的。,4.1 任务七 单片机计数,定
5、义标号值伪指令DL 格式:标号:DL表达式 其含义是定义该标号的值为表达式值,同样,标号和表达式是不可缺少的。 例如: COUNT1:DL 2300H ;定义COUNT1=2300H COUNT2:DL COUNT1+1 ;定义COUNT2=2300H+1 由上可见,DL和EQU的功能都是将表达成值赋给标叼,但两者有区别,用DL语句可在同一源程序中对同一标号多次赋值,即可更改已定义的标号值;而用EQU语句则只能给标号一次赋值,而后在整个源程序中再不能更改,4.1 任务七 单片机计数,数据存储说明伪指令 数据存储说明伪指令的作用是将数据存储器单元中。 定义字节数据伪指令DB或DEGB 格式:标号
6、:DB表达式或表达式串 式中表达式或表达式串是指一个字节或用逗号隔开的一个字节数据。其含义是将表达式或表达式串所指定的字节数据存入从标号开始的连续存储单元中。标号为可选项,它表示数据存入程序存储器的起始地址。 例如: SECON:DB02H,36H,74H,0B4H,OFFH, 上述语句表示将字节数据串按顺序存篇幅 标号SECON所指示的地址为起始顺序存储单元中。 作为本语句操作数控部分的表达式或表达式串,可以是数据表达式、ASCII码字符串、字节数据,字节数据串(其字节串长度限制在80B的数据内)。,4.1 任务七 单片机计数,定义字数据伪指令DW或DEFW 格式:标号:DW表达式或表达式串
7、 本语句的含义是将作为操作部分的字数据(2B)或字数据串存入由标号指定的首地址按顺序连续单元中,定义字为为双字节的数据。在执行汇编时,计算机会自动按高位字节在前、低位字节在后的顺序格式存入程序存储器单元中 例如: ABC:DW 1234H,4567H,0A5C4H, 汇编执行时第一个字节的12H存入标号ABC所指示的存储单元,34H存入(ABC)+1单元中,其余按此顺序将后续字节数据存入对应的存储单元中,如标号ABC定义为1000H,则上例汇编后:(1000H)=12H,(1001H)=34H,(1002H)=45H,。,4.1 任务七 单片机计数,存储区说明伪指令DS 格式:标号:DS表达式
8、 其含义是以标号的值为首地址保留表达式所指定的若干存储单元空间作为备用。 例如: BASE:DS0100H 汇编后,程序存储器从标号BASE为首地址开始,空出256个存储单元,以备另用。,4.1 任务七 单片机计数,程序起始地址伪指令ORG 格式:ORG表达式 其含义是指定下面目标程序的起始地址为表达式值。表达式常为一个双字节地址数。 例如: ORG 0100H START: MOV A,#00H 汇编号,从START开始的目标程序,其起始地址从0100H开始。由于表达式0100H是立即型地址码所以隐含地指明该程序段属绝对地址段。 一个源程序中,可能有多处设置程序段起始地址,因此定义地址空间应
9、从低地址端向高地址设置,不能重叠,否则将出错。若程序段前无ORG伪指令,则汇编后的目标程序将从0000H地址开始或紧接前段程序后。若表达式为浮动程序段中定义过的标号,则由该标号定义的目标程序段首地址也将之浮动。,4.1 任务七 单片机计数,汇编结束伪指令END END伪指令是汇编语言源程序结束为标志。源程序在汇编过程中执行完END伪指令,即结束伪指令,为调试方便,可根据调试需要而设置。它有两种格式: 格式1:标号:END表达式 格式2:标号:END 或者 END 其中标号不是必需的,有无表达式的区别在于前者在汇编结束后立即转向由表达式指定的起始地址开始执行程序。因此,只需在程序运行的入口处和END后的表达式以同一个标号设置,当汇编完源程序后就自动转向由标号指定的入口处开始执行。表达式也可以入口入的绝对地址,后者则汇编结束后立即停机。,课堂小结: 1、任务七的硬件电路与工作原理 2、控制程序 3、什么是伪指令? 4、有哪些常用伪指令? 作业: P103 4.2 4.4,
链接地址:https://www.31doc.com/p-2900569.html