五、实验电路
六、实验步骤
P1.O-P1.7用插针连至L1-L8,运行程序后,观察发光二极管闪亮移位情况。
七、思考
改变延时常数,使发光二极管闪亮时间改变。 修改程序,使发光二极管闪亮移位方向改变。
ORG 0790H
;---------------------------------------------------------- SE18: MOV P1,#0FFH ;送P1口
LO34: MOV A,#0FEH ;L1发光二极管点亮 LO33: MOV P1,A
LCALL SE19 ;延时 RL A ;左移位 SJMP LO33 ;循环 ;---------------------------------------------------------- SE19: MOV R6,#0A0H LO36: MOV R7,#0FFH LO35: DJNZ R7,LO35
DJNZ R6,LO36 ;延时 RET
;---------------------------------------------------------- END
实验二 P1口转弯灯实验
25
一、实验目的
进一步了解P1口的使用,学习汇编语言编程方法与调试技巧。
二、实验内容
P1.0开关接5V时,右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮, P1.0、P1.1开关同时接5V或接地时,转弯灯均不闪亮。
三、程序框图
四、实验电路
五、实验步骤
P1.0接K1, P1.1接K2,P1.4-P1.7接L1 L4 L7 L10连续运行本程序,应看到转弯灯正确闪亮。
六、实验提示
利用单步方式调试本程序时可修改延时子程序,以便观察;或者利用宏单步调试,其功能是将子程序作为一条语句跳过;
本实验所接4个灯可自行定义,既可定义为两相对路口的左转弯灯和右转弯灯;也可定义为一转弯灯一直行红灯,自编相应框图和程序,实现实验内容。(开关向上为0V,向下为5V)
七、思考
如果改为自动轮流闪亮,或者利用中断控制如何修改
实验三 P3.3口输入,P1口输出
一、实验目的
掌握P3口P1口简单使用。
二、实验内容
P3.3口输入一脉冲,P1口按16进制加一方式点亮发光二极管。
26
三、实验说明
1.P3口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P3口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20K-40K,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。 2.延时子程序的延时计算问题(本系统采用6MHZ)
四、程序框图
五、实验电路
六、实验步骤
P3.3用接针连至K1,P1.0-P1.7连至L1-L8,K1拨动—次,L1-L8发光二极管按16进制方式加一点亮。
七、思考
修改程序,使发光二极管左移方式点亮。
实验四 工业顺序控制
一、实验目的
掌握工业顺序控制程序的简单编程,中断的使用。
二、实验预备知识
在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些继续生产过程,按某种顺序有规律地完成预定的动作,对这类继续生产过程的控制称顺序控制,倒注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作,用单片机最易实现。
27
三、实验内容
8032P1.0-P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,低电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,高电平启动。P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。
四、程序框图
五、实验步骤
按实验电路图接好连线。执行程序,把K1接到电平,观察发光二极管点亮情况,确定工序执行是否正常,然后把K2置为低电平,看是否有声音报警,恢复中断1,报警停,又从刚才报警时一道程序执行下去。可用单步、单步跟踪,非全速断点、全速断点、连续执行功能调试软件,直到符合自己程序设计要求为止。
六、实验电路
七、思考
修改程序,使每道工序中有多位输出。
ORG 0000H
28
LJMP LJMP
PO10 PO16
ORG 0013H
ORG 0190H
PO10: MOV P1,#7FH ORL P3,#00H
PO11: JNB P3.4,PO11 ;开工吗? ORL IE,#84H ORL IP,#01H
MOV PSW,#00H MOV SP,#53H
PO12: MOV P1,#7EH ACALL PO1B
MOV P1,#7DH ACALL PO1B
MOV P1,#7BH ACALL PO1B
MOV P1,#77H ACALL PO1B
MOV P1,#6FH ACALL PO1B
MOV P1,#5FH ACALL PO1B
MOV P1,#0FH ACALL PO1B SJMP PO12
PO16: MOV B,R2 PO17: MOV P1,#7FH MOV 20H,#0A0H PO18: SETB P1.7 ACALL PO1A CLR P1.7 ACALL PO1A DJNZ 20H,PO18 CLR P1.7
ACALL PO1A JNB P3.3,PO17 MOV R2,B RETI
PO19: MOV R2,#10H
ACALL DELY RET
PO1A: MOV R2,#06H
;初始化 ;第一道工序 ;第二道工序 ;第三道工序 ;第四道工序 ;第五道工序 ;第六道工序 ;第七道工序 ;保护现场 ;关输出 ;振荡次数 ;振荡 ;延时 ;停振 ;延时 ;不为0转 ;停振 ;故障消除吗? ;恢复现场 ;延时1 29