微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于51单片机的模拟生产线上啤酒装箱计数过程与报警程序

基于51单片机的模拟生产线上啤酒装箱计数过程与报警程序

时间:11-26 来源:互联网 点击:
; 设计一个智能工件计数系统
;(1)要求模拟生产线上啤酒装箱计数过程,每过一瓶计数一次并通过4位数码管显示当计数到24瓶时声音报警。
;(2)画出硬件连接图,编写软件程序
;此程序应用一位单片爱好者而作,作者: 徐学军
;此程序的显示电路接P1口,74LS47直接接在P1口,74ls47与数码管的具体接法参考数字电路书
;此程序的报警电路接在P3.5,具体电路参考我博客上的音乐采灯程序电路
;此程序的P3.3接光电对管电路
;此程序在硬件上模拟调试通过
;2007-7-16
speakerbitp3.5;接报警电路
ORG0000H
AJMP START
ORG001BH;T1中断入口地址
AJMP INT_T1
ORG0040H
START:
MOVSP,#60H
MOVTMOD,#15H;置T1为方式1
;置T0为方式1,计数方式,
MOVTL0,#0H;计数器清零
MOVTH0,#0H
MOVTL1,#21H;定时器报警音频常数
MOVTH1,#0F9H
SETB TR0;启动T0
SETB ET1
SETB EA;开中断
loop:
MOVa,TL0;保存计数值
lcalldisplay;调用显示子程序
jzloop
clr tr1;不管满不满24瓶,每次开始计第一瓶,就关报警
movb,#24
divab
mov a,b
jzloop1
sjmploop
loop1:
MOVTL0,#0H;计数器清零
MOVTH0,#0H
setbtr1;满24瓶发声
SJMP loop
INT_T1:
MOVTL1,#21H;定时器报警音频常数
MOVTH1,#0F9H
cplspeaker
reti
display:
movp1,a
;;;显示子程序
;;;
ret
END

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top