关于单片机课程设计-工业顺序控制的问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 20:57:09
实验目的:
1掌握单片机与8255的接口原理,了解单片机控制的动态显示的原理.
2掌握单片机输出/输入口.外部中断,定时器与计数器的使用.
3掌握工业顺序控制与动态显示的简单编程,学会单片机在小系统控制中的使用方法.
一预备知识
在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些断续生产过程,按某种程序有规律地完成预定的动作,对这类断续生产过程的控制称顺序控制,例注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作,用单片机最易实现
二、内容
89c51的P1.1—P1.6控制注塑机的6道工序,现模拟控制6只发光二极管的点亮(共阳),高电平有效,设定每道工序时间转换为延时1s,P3.4为开工启动开关,高电平启动。P3.3为外故障输入模拟开关,P3.3为0时不断告警,P1.0为报警声音输出.设定6道工序只有一位输出。
求程序
(付:;六位数码管动态显示子程序,对应的段码地址为7F02H,位选择地址为7F01H
ADIR: MOV R0,#39H ;六位数码管的显示暂存地址为:39H~3EH
MOV R2,#01H ;位选择初值01H
MOV A,R2
ALD0: MOV DPTR,#7F01H;设置位选择地址
MOVX @DPTR,A;发送位选择数据
INC DPTR;指向段码地址
MOV A,@R0;取显示内容
ADD A,#14H;修正查段码表值
MOVC A,@A+PC;查段码表,取显示值的段码
ADIR1: MOVX @DPTR,A;发送段码
LCALL ADL1
INC R0;指向下一个显示暂存地址
MOV A,R2
JB ACC.5,ALD1;判断数码管是否显示完一编,“是”:返回,“否”:移位位选择值,指向下一个数码管
RL A
MOV R2,A
LJMP ALD0;转处理下一个地址显示
ALD1: RET
ADSEG: DB 0C0H,0

我有,不过贴上来你给分吧,想当年可是花了N多时间来编写和调试的。不用给我发E-MAIL,不会在E-MAIL中回复的。
main proc far
PUSH DX
sub AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV AH,0 ;设置显示器模式
MOV al,02h ;40*25,16色文本模式
INT 10h

MOV AH,09h ;显示操作说明字符
MOV DX,seg string
MOV ds,DX
MOV DX,offset string
INT 21h

lea DI,mess ;di指向字符图形表
MOV DH,5 ;从第5行第5列位置开始
MOV DL,0 ;从第五行第五列开始显示名字
call string_display ;调用字体显示程序
RET
main endp

DATE PROC NEAR ;显示日期子程序
MOV AH,2AH ;取系统日期,入口参数:AH=2AH,出口参数:CX=年(1980~2099),
;DH=月(1~12),DL=日(1~31),AL=星期几(0=Sunday,1=Monday,...)
INT 21H
MOV SI,0
MOV AX,CX ;取年份
MOV BX,100
DIV BL
MOV BL,AH