系统执行软件源程序代码.docx
- 文档编号:18455128
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:22
- 大小:17.49KB
系统执行软件源程序代码.docx
《系统执行软件源程序代码.docx》由会员分享,可在线阅读,更多相关《系统执行软件源程序代码.docx(22页珍藏版)》请在冰点文库上搜索。
系统执行软件源程序代码
附录一系统执行软件源程序代码
一、系统多机通信从机源程序代码TXCJ.ASM
*TXCJ.ASM*
*LuBo*
-------------------------------------------------------------------------------------------------------------------------------------
ORG0000H
SJMPMAIN
ORG0023H;串行口中断入口
SJMPSJCS
------------------主程序----------------------------------------------------------------------------------------------------------
MAIN:
SLAVEEQU12
DKEQUP1.0
MOVSCON,#0B0H
MOVTMOD,#20H
MOVTL1,#0FDH
MOVTH1,#0FDH
MOVIE,#90H
SETBTR1
LCALLWDCJ
SETBRS1
CLRRS0
LCALLBCDZH
LCALLDISPLAY
CLRRS1
CLRRS0
SJMPMAIN
------------------串行口中断服务子程序----------------------------------------------------------------------------------
SJCS:
CLRRI
PUSHA
PUSHPSW
MOVA,SBUF
XRLA,#SLAVE
JZSJCS0
SJCS1:
SETBSM2
POPPSW
POPA
RETI
SJCS0:
CLRSM2
MOVSBUF,#SLAVE
JNBTI,$
CLRTI
JNBRI,$
CLRRI
MOVA,SBUF
XRLA,#11H
JZSJCS2
SJMPSJCS1
SJCS2:
MOVA,25H
ADDA,#1
MOVSBUF,A
JNBTI,$
CLRTI
MOV22H,#00H
SJMPSJCS1
----------------18B20温度采集子程序------------------------------------------------------------------------------------
WDCJ:
MOVSP,#60H
LCALLGET_TEMP
MOVA,21H
MOVC,00H
RRCA
MOVC,01H
RRCA
MOVC,02H
RRCA
MOVC,03H
RRCA
MOV21H,A
MOV25H,A
LCALLBCDZH
LCALLDISPLAY
AJMPMAIN
------------------18B20温度采集时序子程序------------------------------------------------------------------------------
GET_TEMP:
CLREA
LCALLINT
MOVA,#0CCH
LCALLWRITE
MOVA,#44H
LCALLWRITE
LCALLINT
MOVA,#0CCH
LCALLWRITE
MOVA,#0BEH
LCALLWRITE
LCALLREAD
MOV21H,A
LCALLREAD
MOV20H,A
SETBEA
RET
----------------18B20初始化子程序-----------------------------------------------------------------------------------
INT:
CLREA
L0:
CLRDK
MOVR2,#200
L1:
CLRDK
DJNZR2,L1
SETBDK
MOVR2,#30
L4:
DJNZR2,L4
CLRC
ORLC,DK
JCL0
MOVR6,#80
L5:
ORLC,DK
JCL3
DJNZR6,L5
SJMPL0
L3:
MOVR2,#200
L2:
DJNZR2,L2
RET
----------------18B20写命令子程序-----------------------------------------------------------------------------------------
WRITE:
CLREA
MOVR3,#8
WR1:
SETBDK
MOVR4,#8
RRCA
CLRDK
WR2:
DJNZR4,WR2
MOVDK,C
MOVR4,#20
WR3:
DJNZR4,WR3
DJNZR3,WR1
SETBDK
RET
-------------------18B20读数据子程序
READ:
CLREA
MOVR6,#8
RE1:
CLRDK
MOVR4,#4
NOP
SETBDK
RE2:
DJNZR4,RE2
MOVC,DK
RRCA
MOVR5,#30
RE3:
DJNZR5,RE3
DJNZR6,RE1
SETBDK
RET
-----------------八为十六转十进制子程序-----------------------------------------------------------------------------------
BCDZH:
INC21H
MOVA,21H
MOV30H,#12
JNBACC.7,BCD0
MOV30H,#11
CPLA
ADDA,#1
BCD0:
MOVR1,#00H
MOVR2,#00H
CLRC
BCD1:
SUBBA,#64H
JCBCD2
INCR1
SJMPBCD1
BCD2:
ADDA,#64H
BCD3:
SUBBA,#0AH
JCBCD4
INCR2
SJMPBCD3
BCD4:
ADDA,#0AH
MOV31H,R1
MOV32H,R2
MOV33H,A
RET
-----------------四位数码子程序--------------------------------------------------------------------------------------------
DISPLAY:
MOVR3,#4
MOVR0,#30H
MOV3AH,#0f7H
DISP0:
MOVA,@R0
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVDPTR,#0D00H
MOVX@DPTR,A
MOVDPTR,#0E00H
MOVA,3AH
MOVX@DPTR,A
RRA
MOV3AH,A
ACALLDY1ms
INCR0
DJNZR3,DISP0
RET
----------------0.2ms延时子程序------------------------------------------------------------------------------------------
DY1ms:
MOVR4,#50
LOOP:
NOP
NOP
DJNZR4,LOOP
RET
-----------------10ms延时子程序----------------------------------------------------------------------------------------
DY10ms:
MOVR4,#10
LOOP0:
MOVR5,#250
LOOP1:
NOP
NOP
DJNZR5,LOOP
DJNZR4,LOOP0
RET
----------------十进制码表---------------------------------------------------------------------------------------------------
TAB:
DB3fh,06h,5bh,4fh,66h;0,1,2,3
DB6dh,7dh,07h,7fh,6fh;4,5,6,7
DB058H,040H,00H;8,9,C,-,黑屏
END
二、系统多机通信主机源程序代码TXZJ.ASM
-----------------------------------------------------------------------------------------------------------------------------------
*TXCJ.ASM*
*LuBo*
------------------------------------------------------------------------------------------------------------------------------------
ORG0000H
SJMPMAIN
-------------------------主程序--------------------------------------------------------------------------------------------------
MAIN:
MOVSP,#70H
MOVSCON,#98H
MOVTMOD,#20H
MOVTL1,#0FDH
MOVTH1,#0FDH
MOVPCON,#00H
MOVR6,#10
MOVR7,#3
MOV55H,#00H
SETBTR1
LCALLBCDZH
LCALLDISPLAY
MAIN00:
LCALLPCJCX
LCALLSJCS
MOVSCON,#50H
lcallserial_send
MOVSCON,#98H
LCALLPCJCX
LCALLSJCS11
LCALLPCJCX
SJMPMAIN00
---------------通信子程序------------------------------------------------------------------------------------------------------
SJCS:
MOVA,R6
MOVSBUF,A
LCALLBCDZH
LCALLDISPLAY
JNBTI,$
CLRTI
LCALLBCDZH
LCALLDISPLAY
JNBRI,$
CLRRI
MOVA,SBUF
XRLA,R6
JZSJCS0
SJCS00:
LCALLBCDZH
LCALLDISPLAY
SETBTB8
SJMPSJCS
SJCS0:
CLRTB8
MOV30H,R6
MOVA,#11H
MOVSBUF,A
LCALLBCDZH
LCALLDISPLAY
JNBTI,$
CLRTI
JNBRI,$
CLRRI
MOVA,SBUF
MOV44H,A
LCALLSFJSJ
SETBTB8
DJNZ55H,SJCS
RET
SJCS11:
MOV55H,#00H
INCR6
DJNZR7,SJCS
MOVR6,#10
MOVR7,#3
RET
SFJSJ:
CJNER6,#11,SFJSJ3
MOV62H,44H
MOV58H,44H
SJMPSFJSJ0
SFJSJ3:
JCSFJSJ1
MOV63H,44H
MOV58H,44H
SJMPSFJSJ0
SFJSJ1:
MOV61H,44H
MOV58H,44H
SFJSJ0:
RET
PCJCX:
MOVSCON,#50H
JNBRI,HH1
LJMPHH2
HH1:
LCALLBCDZH
LCALLDISPLAY
JNBRI,WW5
HH2:
CLRRI
MOVA,SBUF
WW1:
CJNEA,#49,WW2
mov44h,61h
lcallbcdzh
lcalldisplay
MOV58H,61H
lcallserial_send
LJMPWW5
-----------------PC机地址判别子程序------------------------------------------------------------------------------------
WW2:
CJNEA,#50,WW3
mov44h,62h
lcallbcdzh
lcalldisplay
MOV58H,62H
lcallserial_send
LJMPWW5
WW3:
CJNEA,#51,WW4
mov44h,63h
lcallbcdzh
lcalldisplay
MOV58H,63H
lcallserial_send
LJMPWW5
WW4:
CJNEA,#52,WW5
LJMPMAIN
WW5:
MOVSCON,#98H
RET
-------------------八为十六转十进制子程序---------------------------------------------------------------------------
BCDZH:
MOVA,44H
MOV31H,#15
JNBACC.7,BCD0
MOV31H,#14
CPLA
ADDA,#1
BCD0:
MOVR1,#00H
MOVR2,#00H
CLRC
BCD1:
SUBBA,#64H
JCBCD2
INCR1
SJMPBCD1
BCD2:
ADDA,#64H
BCD3:
SUBBA,#0AH
JCBCD4
INCR2
SJMPBCD3
BCD4:
ADDA,#0AH
MOV32H,R1
MOV33H,R2
MOV34H,A
RET
----------------六位数码子程序--------------------------------------------------------------------------------------------
DISPLAY:
MOVR3,#6
MOV35H,#13
MOVR0,#30H
MOV3AH,#0DFH
DISP0:
MOVA,@R0
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVDPTR,#0D00H
MOVX@DPTR,A
MOVDPTR,#0E00H
MOVA,3AH
MOVX@DPTR,A
RRA
MOV3AH,A
ACALLDY1ms
INCR0
DJNZR3,DISP0
RET
-----------------0.2ms延时子程序------------------------------------------------------------------------------------------
DY1ms:
MOVR4,#50
LOOP:
NOP
NOP
DJNZR4,LOOP
RET
--------------------10ms延时子程序-----------------------------------------------------------------------------------------
DY10ms:
MOVR4,#10
LOOP0:
MOVR5,#250
LOOP1:
NOP
NOP
DJNZR5,LOOP
DJNZR4,LOOP0
RET
--------------------PC机通信子程序------------------------------------------------------------------------------------------
serial_send:
NOP
NOP
NOP
NOP
DEC58H
MOVA,58H
movb,#10;温度值为16进制方式,控制范围不超过100oC
divab;因此可只用两位十进制数表示
movdptr,#ascii_tab;分出十位在acc中,个位在b中
movca,@a+dptr;用查表法将数转换成ascii码
movsbuf,a
;LCALLBCDZH
;LCALLDISPLAY;启动串口发送10位的数据
jnbti,$;等待一帧发送结束,未完时ti=0,结束时ti=1
clrti;清除发送中断标志位
mova,b;取在b中的个位
movca,@a+dptr
movsbuf,a
;LCALLBCDZH
;LCALLDISPLAY;启动串口发送个位的数据
jnbti,$
clrti
SETBTB8
RET
ascii_tab:
db30h,31h,32h,33h,34h,35h,36h,37h,38h,39h;0—9ASCII码表
TAB:
DB3fh,06h,5bh,4fh,66h;0,1,2,3
DB6dh,7dh,07h,7fh,6fh;4,5,6,7
DB77H,7CH,39H,058H,040H,00H;8,9,A,b,C,c-,黑屏
END
三、计算机实验室温控系统PC机应用程序代码:
(VisualBasic)
-------------------------------------------------------------------------------------------------------------------------------------
DimxAsInteger
DimyAsInteger
DimTAsInteger
DimCAsInteger
DimIAsInteger
------------------------------------------------------------------------------------------------------------------------------------
PrivateSubbutton_now1_Click()
MSComm.Output=Text_SEND.Text+"1"'发送数据
T=10
'Text_SEND.Text="1"
ForI=1To2'延时
Next
EndSub
-------------------------------------------------------------------------------------------------------------------------------------
PrivateSubbutton_now2_Click()
MSComm.Output=Text_SEND.Text+"2"'发送数据
T=11
'Text_SEND.Text="2"
ForI=1To2'延时
Next
EndSub
------------------------------------------------------------------------------------------------------------------------------------
PrivateSubbutton_now3_Click()
MSComm.Output=Text_SEND.Text+"3"'发送数据
T=12
'Text_SEND.Text="2"
ForI=1To2'延时
Next
EndSub
-------------------------------------------------------------------------------------------------------------------------------------
PrivateSubButton_RECV_C_Click()
Text_RECV.Text=""
Text_SEND.SetFocus
MSComm.Output=Text_SEND.Text+"9"
EndSub
------------------------------------------------------------------------------------------------------------------------------------
PrivateSubButton_SEND_C_Click()
Text_SEND.Text=""
Text_SEND.SetFocus
EndSub
-------------------------------------------------------------------------------------------------------------------------------------
PrivateSubButton_SEND_Click()
DimxAsString
IfText_SEND.Text=""Then'发送数据不能为空
x=MsgBox("发送数据不能为空",16)
ExitSub
-------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 执行 软件 源程序 代码
![提示](https://static.bingdoc.com/images/bang_tan.gif)