单片机实验二 P1口输出实验(流水灯)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二P1口输出实验(流水灯)
一. 实验要求
1、P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
二. 实验设备
1、I B M — P C 系统机(或兼容机)一台;
2、系统软件:WAVE6000、仿真软件PROTEUS。
三. 实验目的
1、学习PROTEUS仿真软件的使用
2、学习P1口的使用方法。
3、学习延时子程序的编写和使用。
四.实验电路及连线
五.实验说明
1、延时子程序的延时计算问题
对于程序 Delay:
MOV R6,#0H
MOV R7, #0H
DelayLoop:
DJNZ R6,DelayLoop
DJNZ R7,DelayLoop
RET
查指令表可知MOV,DJNZ指令均需用两个机器周期,在6MHz晶振时,一个机器周期时间长度为12/6MHZ,所以该段程序执行时间为:
(256×255+2)×2×12÷6 ≈ 261ms
2、使用PROTEUS仿真软件
A、安装PROTEUS:
1.打开Proteus 7.12完美破解版目录,先安装Setup71.exe,提示Licence时选择"本地"并指向"crack"-->MAXIM_LICENCE.lxk
2.安装完成后将crac-->BIN中的文件复制到安装目录的..\BIN下替换原有的文件
B、打开老师提供的FlashLED仿真图,用鼠标左键双击AT89C52芯片,会弹出Edit Component 对话框,在Program File中选择已编译好的HEX文件,点OK退出。
C、点左下角三角尖,则开始仿真。
六.实验框图
七、实验程序:
ORG 0000H
JMP MAIN
ORG 0100H
MAIN: MOV A,#01111111B
LOOP1: MOV P1,A
CALL DELAY
RR A
JMP LOOP1
DELAY: MOV R2,#10
MOV R0,#200
DL3: NOP
DL1: MOV R1,#250
DL2: DJNZ R1,DL2
DJNZ R0,DL1
DJNZ R2,DL3
RET
八、请计算该DELAY程序的延迟时间。(晶振为12MHz)