单片机后9个实验2.docVIP

  • 19
  • 0
  • 约9.08千字
  • 约 20页
  • 2017-05-12 发布于河南
  • 举报
单片机后9个实验2

实验 方法一:1. 实验任务 做单一灯的左移右移,硬件电路如图4.4.1所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环。 2. 电路原理图 3. 系统板上硬件连线 把“单片机系统”区域中的P1.0-P1.7用8芯排线连接到“八路发光二极管指示模块”区域中的L1-L8端口上,要求:P1.0对应着L1,P1.1对应着L2,……,P1.7对应着L8。 4. 程序设计内容 我们可以运用输出端口指令MOV P1,A或MOV P1,#DATA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。 每次送出的数据是不同,具体的数据如下表1所示 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 说明 L8 L7 L6 L5 L4 L3 L2 L1   1 1 1 1 1 1 1 0 L1 1 1 1 1 1 1 0 1 L2灭 1 1 1 1 1 0 1 1 L3灭 1 1 1 1 0 1 1 1 L4灭 1 1 1 0 1 1 1 1 L5灭 1 1 0 1 1 1 1 1 L6灭 1 0 1 1 1 1 1 1 L7灭 0 1 1 1 1 1 1 1 L8灭   . 汇编源程序 ORG 0 START: MOV R2,#8 MOV A,#0FEH SETB C LOOP: MOV P1,A LCALL DELAY RLC A DJNZ R2,LOOP MOV R2,#8 LOOP1: MOV P1,A LCALL DELAY RRC A DJNZ R2,LOOP1 LJMP START DELAY: MOV R5,#20 ; D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END 方法二:P1.0---P1.7八个I/O口接八只LED发光管 口线状态为”1”LED亮, 试编程实现每次点 亮一只LED并左循环连续点亮八只LED 假设P1.0在左边。 CYC:MOV A,#01H LOP:MOV P1,A ACALL DELY RL A SJMP LOP DELY:MOV R6,#100 MOV R7,#250 LOP1:NOP+ NOP DJNZ R7,LOP1 MOV R7,#250 DJNZ R6,LOP1 RET 2、实验步骤 1)打开PV32编程序。汇编正确进入调试界面。否则修改程序重新汇编直到通过。 2)打开P1口窗口给P1初赋值 3)单步调试观察并记禄寄存器、内存的变化。单步根踪延时程序排除死循环。观察流水灯是否正确,判断程序是否正确。若发现问题重返编辑界面,修改、存盘、汇编。返回调试界面调试通过。单步调试时可将延时程序缩短令(R6)=1,(R7)=1, 4)设断点调试、延时程序恢复为0.5秒、记禄结果。 5)若每次点亮两个灯修改程序再做一遍 3.实验报告 1.写出程序流程图、程序清单 2.根据记渌数据给程序加注解 3.调试心得 实验九 多分支程序设计 1、实验内容 用P3.0、P3.1控制流水灯的变化 P3.0、P3.1=00 灯全灭 P3.0、P3.1=01 单灯亮左循环 P3.0、P3.1=10 单灯亮右循环 P3.0、P3.1=11 双灯亮左循环 灯亮的时时为1秒。用软件延时实现。*用T0定时选作。 2、实验电路 3、实验步骤 1)打开PV32编程序。汇编正确进入调试界面。否则修改程序重新汇编直到通过。 2)打开P0、P1窗口给 3)调试灯全灭、单灯亮左循环、单灯亮右循环、双灯亮左循环程序观察并记禄寄存器、内存的变化。判断程序是否正确。若发现问题重返编辑界面,修改、存盘、汇编。返回调试界面调试通过。 4) 设断点调试主程序观察并记禄寄存器、内存的变化。判断程序是否正确。若发现问题重返编辑界面,修改、存盘、汇编。返回调试界面调试通过。 首先将P1.0、P1.1置00观察P2窗口灯是否全灭,然后改变P1.0、1.1的设置观察流水灯运行是否正确。 5)流水灯运行中改变P1.0、1.1看流灯能否随之变化。若执行正确程序通过。否则在每个流水子程序中加入读P1口散转子程序。 3.实验报告 1.写出主程序流程图、子程序流程图、程序清单 2.根据记渌数据给程序加注解 3.调试心得 实验十 中断实验 1、实验内容 用T0产

文档评论(0)

1亿VIP精品文档

相关文档