授课日期 班次 授课时数2 课题:任务七单片机计数 教学目的:掌握汇编语言程序的组成 熟悉常用的伪指令 重点:常用的伪指令 难点:无 教具:多媒体 作业:4244 自用参考书:《单片机应用技术》耿长清主编、《单片机应用技术》刘守义主编 教学过程:一、复习提问 MCS-5有哪几类指令? 二、新授 由任务七:按钮控制灯引入本次课内容 任务描述 2硬件电路与工作原理 3程序设计 4相关知识 1)什么是伪指令? 2)有哪些常用伪指令? 5课堂小结 课后小结:
授课日期 班次 授课时数 2 课题: 任务七 单片机计数 教学目的:掌握汇编语言程序的组成 熟悉常用的伪指令 重点: 常用的伪指令 难点: 无 教具: 多媒体 作业: 4.2 4.4 自用参考书:《单片机应用技术》耿长清主编、《单片机应用技术》刘守义主编 教学过程:一、复习提问 1. MCS-51有哪几类指令? 二、新授 由任务七:按钮控制灯引入本次课内容 1.任务描述 2.硬件电路与工作原理 3.程序设计 4.相关知识 1)什么是伪指令? 2)有哪些常用伪指令? 5.课堂小结 课后小结:
4.1任务七单计数 任务描述:利用实验开发板上的55振荡电路产生的4H的脉冲信号进 行计数,要求每计十个数单灯向左移动一次 4.1.1硬件电路与工作原理 1、硬件电路 R18 M D9 LED INTI EAVE C Volt RESET RXD
任务描述:利用实验开发板上的555振荡电路产生的4HZ的脉冲信号进 行计数,要求每计十个数单灯向左移动一次 4.1 任务七 单片机计数 4.1.1 硬件电路与工作原理 1 2 3 4 A B C D 1 2 3 4 D C B A Title Size Number Revision Orcad A Date: 15-Jul-2005 Sheet of File: C:\Documents and Settings\Administrator\桌面Drawn By: \MyDesign.ddb EA/VP 3 1 X 1 1 9 X 2 1 8 RESET 9 R D 1 7 W R 1 6 INT0 1 2 INT1 1 3 T0 1 4 T1 1 5 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 3 9 P01 3 8 P02 3 7 P03 3 6 P04 3 5 P05 3 4 P06 3 3 P07 3 2 P20 2 1 P21 2 2 P22 2 3 P23 2 4 P24 2 5 P25 2 6 P26 2 7 P27 2 8 PSEN 2 9 ALE/P 3 0 TXD 1 1 RXD 1 0 U 3 XTAL 11.0592M C 2 33P C 1 33P TRIG 2 Q 3 R 4 CVolt 5 THR 6 DIS 7 VCC 8 GND 1 U 4 VCC L 1 M 2 R 3 JP1 S 3 R19 R20 470 100K R21 100K NE555 C 7 1uF/16V C 8 104 D 9 LED R18 200 C 9 104 CLK VCC S 3 1、硬件电路
4.1任务七单计数 说明 55:荡电路产生约4H的脉冲信号,经S3点接到单片机P3.4输 入端,注意应将跳线J1下面的两个端子(M与R)短接 2、工作原理 MCS-51单片机内部有两个16位的定时/计数器,都可以用于对 外部事件进行计数。外部计数脉冲从P3.4或P3.5端口输人, 程序设置定时/计数器工作在计数状态即可以对外部事件进行 计数
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 THO. #OF6H MOv tLO. #OF6H SETB TRO Mov A,#OFEH LOOP MOV P1.A JBC TFO, MLOOP SJMP LOOP MLOOP RL A SJMP LOOP END 4.1.3源程序的编辑、编译、下载
4.1 任务七 单片机计数 4.1.2 控制程序 ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV TMOD,#06H MOV TH0,#0F6H 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.1 任务七 单片机计数 4.1.4 相关知识 ➢什么是伪指令? 随着单片机的广泛应用和开发以装置功能的不断完善与发展,汇编 语言源程序都借助系统机(PC等)进行编辑、汇编和调试。因此, 在编制汇编语言源程序时,常需应用伪指令。伪指令又称汇编程序 控制译码指令,属说明性汇编指令。“伪”字体现在汇编时不产生 机器指令代码,不影响程序的执行,仅产生供汇编时用的某些命令, 在汇编时执行某些特殊操作。 ➢有哪些常用伪指令? 不同的单片机及其开发装置所定义的伪指令不全相同。下面介绍几 种常用的伪指令
4.1任务七单计数 ◆标号赋值伪指令 ●标号等值伪指令—EQU 格式:〈标号:〉EQU〈表达式〉 指令的含义为本语句的标号等值于表达式,亦即将表达式值赋 予标号。这里的标号和表达式是必不可少的。 例如 TTY: EQU 1080H 本语句向汇编程序指明,标号TTY已于前句赋值为1080H,则相 当于LOOP=TTY=10802H,在程序中LOOP1和TTY两个标号可 以互相使用。用EOU语句给一个标号赋值以后,在整个源程序 中该标号的值是固定而不能更改的
4.1 任务七 单片机计数 ◆标号赋值伪指令 ⚫标号等值伪指令——EQU 格式:〈标号:〉EQU〈表达式〉 指令的含义为本语句的标号等值于表达式,亦即将表达式值赋 予标号。这里的标号和表达式是必不可少的。 例如: TTY:EQU 1080H 本语句向汇编程序指明,标号TTY已于前句赋值为1080H,则相 当于LOOP1=TTY=10802H,在程序中LOOP1和TTY两个标号可 以互相使用。用EOU语句给一个标号赋值以后,在整个源程序 中该标号的值是固定而不能更改的
4.1任务七单计数 ●定义标号值伪指令—DL 格式:〈标号:〉DL〈表达式 其含义是定义该标号的值为表达式值,同样,标号和表达 式是不可缺少的 例如: COUNT1:DL2300H;定义 COUNT1=2300H COUNT2: DL COUNT1+1;定义 COUNT2=2300H+1 由上可见,DL和EQU的功能都是将表达成值赋给标叼,但 两者有区别,用DL语句可在同一源程序中对同一标号多次 赋值,即可更改已定义的标号值;而用FQU语句则只能给 标号一次赋值,而后在整个源程序中再不能更改
4.1 任务七 单片机计数 ⚫定义标号值伪指令——DL 格式:〈标号:〉DL〈表达式〉 其含义是定义该标号的值为表达式值,同样,标号和表达 式是不可缺少的。 例如: COUNT1:DL 2300H ;定义COUNT1=2300H COUNT2:DL COUNT1+1 ;定义COUNT2=2300H+1 由上可见,DL和EQU的功能都是将表达成值赋给标叼,但 两者有区别,用DL语句可在同一源程序中对同一标号多次 赋值,即可更改已定义的标号值;而用EQU语句则只能给 标号一次赋值,而后在整个源程序中再不能更改
4.1任务七单计数 ◆数据存储说明伪指令 数据存储说明伪指令的作用是将数据存储器单元中。 ●定义字节数据伪指令—DB或DEGB 格式:〈标号:〉DB〈表达式或表达式串〉 式中表达式或表达式串是指一个字节或用逗号隔开的一个字节数据。其 含义是将表达式或表达式串所指定的字节数据存入从标号开始的连续存 储单元中。标号为可选项,它表示数据存入程序存储器的起始地址 例如: SECON: DB02h, 36H, 74H, 0B4H, OFFH 上述语句表示将字节数据串按顺序存篇幅标号 SECON所指示的地址为 起始顺序存储单元中 作为本语句操作数控部分的表达式或表达式串,可以是数据表达式 ASCⅢ码字符串、字节数据,字节数据串(其字节串长度限制在80B的 数据内)
4.1 任务七 单片机计数 ◆数据存储说明伪指令 数据存储说明伪指令的作用是将数据存储器单元中。 ⚫定义字节数据伪指令——DB或DEGB 格式:〈标号:〉DB〈表达式或表达式串〉 式中表达式或表达式串是指一个字节或用逗号隔开的一个字节数据。其 含义是将表达式或表达式串所指定的字节数据存入从标号开始的连续存 储单元中。标号为可选项,它表示数据存入程序存储器的起始地址。 例如: SECON:DB02H,36H,74H,0B4H,OFFH,… 上述语句表示将字节数据串按顺序存篇幅标号SECON所指示的地址为 起始顺序存储单元中。 作为本语句操作数控部分的表达式或表达式串,可以是数据表达式、 ASCII码字符串、字节数据,字节数据串(其字节串长度限制在80B的 数据内)
4.1任务七单计数 ●定义字数据伪指令—DW或DEFW 格式:〈标号:〉DW〈表达式或表达式串 本语句的含义是将作为操作部分的字数据(2B)或字数据串存入由标 号指定的首地址按顺序连续单元中,定义字为为双字节的数据。在执行 汇编时,计算杋会自动按高位字节在前、低位字节在后的顺序格式存入 程序存储器单元中 例如: ABC:DW1234H,4567H,0A5C4H, 汇编执行时第一个字节的12H入标号ABC所指示的存储单元,34H存 入(ABC)+1单元中,其余按此顺序将后续字节数据存入对应的存储 单元中,如标号ABC定义为1000H,则上例汇编后:(1000H)=12H (1001H)=34H,(1002H)=45H
4.1 任务七 单片机计数 ⚫定义字数据伪指令——DW或DEFW 格式:〈标号:〉DW〈表达式或表达式串〉 本语句的含义是将作为操作部分的字数据(2B)或字数据串存入由标 号指定的首地址按顺序连续单元中,定义字为为双字节的数据。在执行 汇编时,计算机会自动按高位字节在前、低位字节在后的顺序格式存入 程序存储器单元中 例如: ABC:DW 1234H,4567H,0A5C4H,… 汇编执行时第一个字节的12H存入标号ABC所指示的存储单元,34H存 入(ABC)+1单元中,其余按此顺序将后续字节数据存入对应的存储 单元中,如标号ABC定义为1000H,则上例汇编后:(1000H)=12H, (1001H)=34H,(1002H)=45H,…
4.1任务七单计数 ◆存储区说明伪指令—DS 格式:〈标号:〉DS〈表达式〉 其含义是以标号的值为首地址保留表达式所指定的若干存储单元空 间作为备用 例如 BASE: DSO100H 汇编后,程序存储器从标号BASE为首地址开始,空出256个存储单 元,以备另用
4.1 任务七 单片机计数 ◆存储区说明伪指令——DS 格式:〈标号:〉DS〈表达式〉 其含义是以标号的值为首地址保留表达式所指定的若干存储单元空 间作为备用。 例如: BASE:DS0100H 汇编后,程序存储器从标号BASE为首地址开始,空出256个存储单 元,以备另用