项目三学习单元2:定时器知识经验交流_第1页
项目三学习单元2:定时器知识经验交流_第2页
项目三学习单元2:定时器知识经验交流_第3页
项目三学习单元2:定时器知识经验交流_第4页
项目三学习单元2:定时器知识经验交流_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1主讲主讲:李李 营营QQ: 43965356 机电教研室机电教研室 实训四号楼实训四号楼 2082特别更正特别更正实训系统的板上晶振频率实训系统的板上晶振频率fosc= 6MHz 而不是而不是12MHz3TMOD M0 M1C / GATE M0 M1C / GATETTT1T0TCONTF1 TR1 TF0 TR0 IE1IT1IE0IT0IEEX0ET0EX1ET1 ES EAIPPX0PT0PX1PT1 PSTH0计数值高八位计数值高八位TL0计数值低八位计数值低八位TH1计数值高八位计数值高八位TL1计数值低八位计数值低八位初值:初值:X=MN =M t/T (t为所定时时间,为所定

2、时时间,T为机器周期)为机器周期)4例例1、设计一个能产生、设计一个能产生t=1ms的周期信号发生器,试编程,假设的周期信号发生器,试编程,假设fosc=12Mhz。解:选解:选T0; C/T=0,GATE= 0 N = (t /2)/ T =(t/2) /12(1/fosc)= 500 所以,所以, X = M 500 , 模式模式0、模式、模式1均可,取模式均可,取模式0,M=213=8192X = 8192500 = 7692 = 1E0CH 将本例修改为:将本例修改为: t=100mst=100ms的周期信号发生器,的周期信号发生器,试编程,假设晶振频率试编程,假设晶振频率fosc=

3、6MHz,如何设计?,如何设计?5= 0001 1110 000 0 1100B, 1E0CH01100TL011110000TH0F0H0CH先将低五位放入先将低五位放入TL0中,再将剩余的数从右中,再将剩余的数从右向左数出八位放入向左数出八位放入TH0中。中。 原题目计算原题目计算6 ORG 0000H LJMP MAIN ORG 000BH LJMP INSE1 ORG 1000H MAIN: MOV SP,#60H ;设置堆栈指针;设置堆栈指针 MOV TL0,#0CH MOV TH0,#0F0H MOV TMOD,#00H SETB TR0 SETB ET0 SETB EA SJMP

4、 $ INSE1: MOV TL0,#0CH MOV TH0,#0F0H CPL P1.0 RETI 原题目程序原题目程序将本例修改为:将本例修改为: t=1st=1s的周期信号发生器,试编程,假的周期信号发生器,试编程,假设晶振频率设晶振频率fosc= 6MHz,如何设计?,如何设计?7问题反馈问题反馈 堆栈设置堆栈设置 部分指令区别部分指令区别 伪指令用法伪指令用法 寻址空间寻址空间8部分指令区别(教材部分指令区别(教材7979、8181页有误)页有误)AJMP addr11 绝对转移绝对转移LJMP addr16 长转移长转移 SJMP rel 短转移短转移其他:间接转移、条件转移其他:

5、间接转移、条件转移ACALL addr11 绝对调用绝对调用LCALL addr16 长调用长调用9堆栈指针堆栈指针SPSP(Stack PointerStack Pointer)教材)教材3030页页8 8位寄存器位寄存器用于子程序调用及返回和中断的保护及返回用于子程序调用及返回和中断的保护及返回“先进后出先进后出”原则,保证逐级正确返回原则,保证逐级正确返回有栈顶和栈底有栈顶和栈底指向站顶,栈顶自动加一指向站顶,栈顶自动加一复位后初始化为复位后初始化为07H,为避免冲突一般设,为避免冲突一般设 30H以上以上10伪伪 指指 令令 8 8个(教材个(教材8888页)页) 一、一、 汇编起始指

6、令汇编起始指令 ORG 指令格式为: ORG nn 该指令的作用是指明后面的程序或数据块的起始地址指明后面的程序或数据块的起始地址, 它总是出现在每段源程序或数据块的开始。 式中, nn为 16 位地址, 汇编时nn确定了此语句后面第一条指令或第一个数据的地址,此后的源程序或数据块就依次连续存放在以后的地址内, 直到遇到另一个ORG指令为止。 11 二、等值指令二、等值指令EQU 、DATA、BIT EQU指令格式指令格式: 字符名称 EQU 数字或汇编符号 EQU功能功能: 使指令中的字符名称等价于给定的数字或汇编符号。 使用等值指令可给程序的编制、调试、修改带来方便, 如果在程序中要多次使

7、用到某一地址,由EQU指令将其赋值给一个字符名称, 一旦需要对其进行变动, 只要改变EQU命令后面的数字即可, 而不需要对程序中涉及到该地址的所有指令逐句进行修改。 但要注意但要注意, 由由 EQU等值的字符名称必须先赋值后使用等值的字符名称必须先赋值后使用, 且在同一个源程序中且在同一个源程序中, 同一个标号只能赋值一次。同一个标号只能赋值一次。 例: PA8155 EQU 8001H即给标号PA8155赋值为8001H。 DATA用法与EQU类似,区别在于其可以先使用后赋值常用区别在于其可以先使用后赋值常用来定义数据地址。来定义数据地址。 12BIT功能:将一个位地址赋给指定的符号名。格式

8、:符号名BIT位地址经BIT定义过的位符号名不能被改变。例如:LED1 BIT P1.0KEY1 BIT P1.1把P1.0的位地址赋给字符LED1 。在其后的编程中, LED1可作为位地址使用13 三、三、 定义字节指令定义字节指令DB 指令格式: 标号: DB 8位二进制数表 功能: 把 8 位二进制数表依次存入从标号开始的连续的存储单元中。 格式中, 标号区段可有可无, DB指令之后的 8 位二进制数表是字节常数或用逗号隔开的字节串, 也可以是用引号括起来的ASCII码字符串 (一个 ASCII字符相当于一个字节)。 例: 14ORG 1000HBUF1: DB 38H, 7FH, 80

9、HBUF2: DB 45H, 66H ORG伪指令指定了标号BUF1的地址为1000H, 而DB伪指令是将其后的二进制数表38H, 7FH, 80H依次存放在1000H, 1001H, 1002H 3 个连续单元之中, BUF2也是一个标号, 其地址与前一条伪指令连续, 即1003H, 1004H地址单元中依次存放 45H, 66H。 15 四、四、 定义字指令定义字指令DW 指令格式: 标号: DW 16 位数据表 该指令的功能与DB相似, 区别仅在于从指定地址开始存放的是指令中的 16 位数据, 而不是字节串。每个 16 位数据要占两个存储单元, 高8 位先存, 低 8 位后存, 这和MC

10、S -51指令中的16位数据存放顺序是一致的。 16 五、五、 汇编结束指令汇编结束指令END 指令格式: 标号: END 地址或标号 格式中标号以及END后面的地址或标号可有可无。 功能: 提供汇编结束标志。汇编程序遇到 END后就停止汇编, 对 END以后的语句不予处理, 故 END应放在程序的结束处。 六、定义存储区域六、定义存储区域DS(见教材)(见教材)17寻址空间寻址空间 8031 8051 4k寻址空间 0000H-0FFFH 8032 8052 8k寻址空间可寻0000H-1FFFH18实验实验10 100ms间隔跑马灯间隔跑马灯已知:时钟晶振已知:时钟晶振6MHz 要求:用要求:用T0模式模式2完成完成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论