新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于51單片機的模擬生產(chǎn)線上啤酒裝箱計數(shù)過程與報警程序

基于51單片機的模擬生產(chǎn)線上啤酒裝箱計數(shù)過程與報警程序

作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
; 設(shè)計一個智能工件計數(shù)系統(tǒng)
;(1)要求模擬生產(chǎn)線上啤酒裝箱計數(shù)過程,每過一瓶計數(shù)一次并通過4位數(shù)碼管顯示當(dāng)計數(shù)到24瓶時聲音報警。
;(2)畫出硬件連接圖,編寫軟件程序
;此程序應(yīng)用一位單片愛好者而作,作者: 徐學(xué)軍
;此程序的顯示電路接P1口,74LS47直接接在P1口,74ls47與數(shù)碼管的具體接法參考數(shù)字電路書
;此程序的報警電路接在P3.5,具體電路參考我博客上的音樂采燈程序電路
;此程序的P3.3接光電對管電路
;此程序在硬件上模擬調(diào)試通過
;2007-7-16
speakerbitp3.5;接報警電路
ORG0000H
AJMP START
ORG001BH;T1中斷入口地址
AJMP INT_T1
ORG0040H
START:
MOVSP,#60H
MOVTMOD,#15H;置T1為方式1
;置T0為方式1,計數(shù)方式,
MOVTL0,#0H;計數(shù)器清零
MOVTH0,#0H
MOVTL1,#21H;定時器報警音頻常數(shù)
MOVTH1,#0F9H
SETB TR0;啟動T0
SETB ET1
SETB EA;開中斷
loop:
MOVa,TL0;保存計數(shù)值
lcalldisplay;調(diào)用顯示子程序
jzloop
clr tr1;不管滿不滿24瓶,每次開始計第一瓶,就關(guān)報警
movb,#24
divab
mov a,b
jzloop1
sjmploop
loop1:
MOVTL0,#0H;計數(shù)器清零
MOVTH0,#0H
setbtr1;滿24瓶發(fā)聲
SJMP loop
INT_T1:
MOVTL1,#21H;定時器報警音頻常數(shù)
MOVTH1,#0F9H
cplspeaker
reti
display:
movp1,a
;;;顯示子程序
;;;
ret
END


評論


技術(shù)專區(qū)

關(guān)閉