文档详情

第三章:汇编编程.ppt

发布:2017-08-21约9.23千字共40页下载文档
文本预览下载声明
DVCC系列单片机仿真实验系统 软件编程实验(2学时) P1和P3口应用实验(2学时) 实验平台 实验一:软件编程 目的:掌握汇编语言设计和调试方法 清零程序 要求:编程实现将外部存储器7000-70FFH单元全部清零 拆字程序 要求:将7000H的内容,高位送7001H低位,低位送7002低位;7001H、7002H高位清零,一般本程序用于把数据送显示缓冲区时用。 ORG 0030H MOV R0,#00H MOV DPTR,#7000H CLEAR:CLR A MOVX @DPTR,A INC DPTR INC R0 CJNE R0,#00H,CLEAR SJMP $ END ORG 0050H CWORD: MOV DPTR,#7000H MOVX A,@DPTR MOV B,A SWAP A ANL A,#0FH INC DPTR MOVX @DPTR,A INC DPTR MOV A,B ANL A,#0FH MOVX @DPTR,A SJMP $ END 实验二:P3.3输入、P1口输出应用 P3.3输入、P1口输出目的 1、掌握P3口、P1口简单使用。 2、学习延时程序的编写和使用。 一、实验内容 1、P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。 2、P1口做输出口,编写程序,使P1口接的8个发光二极管L1—L8按16进制加一方式点亮发光二极管。 二、实验说明 1、P1口是准双向口,当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。 2、延时子程序的延时计算问题。对于延时程序 DELAY :MOV R6, #00H DELAY1:MOV R7, #80H DJNZ R7, $ DJNZ R6, DELAY1 查指令表可知MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/ 6.0MHZ,所以该段指令执行时间为:((80+1)×256+1)×2×(12÷6000000)=132.1ms 三、实验步骤 ①P3.3用插针连至K1, P1.0—P1.7用插针连至L1—L8。 ②从起始地址0540H开始连续运行程序(输入0540后按EXEC键)。 ③开关K1每拨动一次,L1—L8发光二极管按16进制方式加一点亮。 THE END ! 00送7000H R0=00H DPTR+1,R0+1 R0=FFH 开始 结束 N Y 高低位交换 屏蔽高位后送7001H 7000内容送A 7000内容送A 开始 结束 屏蔽高位后送7002H 实验二:P3.3输入、P1口输出应用 * 《单片机应用系统设计》教学课件 第三讲:汇编编程 本讲重点: 伪指令; 汇编语言程序设计. 程序设计语言概述 汇编语言程序设计中的数 计算机只能识别二进制数——机器指令,它原本是不认识常用的十六进制数和十进制数的。 机器指令/目标代码: 由0/1代码组成的操作码与操作数。 十六进制数:便于读写记忆的二进制数的简写形式。 (0~9,A~F 后缀:H/h) BCD码:用二进制数表达的十进制数。 (0~9表示为:0000~1001B 后缀:B/b,H/h) 二进制数:由0/1组成、“逢2进1”的数制。 如 (0~1 后缀:B/b) 汇编语言编程基本规则 汇编语言:用助记符描述的指令的集合。 √指令中以 A—F 开头的十六进制数前必须添一个 “0”。 √二进制数必须带后缀“B”或“b”;十六进制数必须带后缀“H”或“h”;十进制数的后缀是“D”或“d”或无. [标号:]操作码 [目的操作数][,源操作数][;注释] 编译程序:汇编语言编写的程序借助编译工具 编译成为目标代码,计算机才能识别。这个编译工具称为编译程序。 汇编语言伪指令 汇编程序的伪指令 编译程序 → 软件→ 工具→工具软件: 将程序员用汇编语言编写的程序翻译成机器码 (真)指令:告诉计算机如何操作以及做何种操作 用汇编语言编写的程序在此被称为应用程序
显示全部
相似文档