系统执行软件源程序代码.docx

上传人:b****6 文档编号:3397813 上传时间:2022-11-22 格式:DOCX 页数:18 大小:17.20KB
下载 相关 举报
系统执行软件源程序代码.docx_第1页
第1页 / 共18页
系统执行软件源程序代码.docx_第2页
第2页 / 共18页
系统执行软件源程序代码.docx_第3页
第3页 / 共18页
系统执行软件源程序代码.docx_第4页
第4页 / 共18页
系统执行软件源程序代码.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

系统执行软件源程序代码.docx

《系统执行软件源程序代码.docx》由会员分享,可在线阅读,更多相关《系统执行软件源程序代码.docx(18页珍藏版)》请在冰豆网上搜索。

系统执行软件源程序代码.docx

系统执行软件源程序代码

附录一系统执行软件源程序代码

一、系统多机通信从机源程序代码TXCJ.ASM

*TXCJ.ASM*

*LuBo*

*2007.5.26*

-------------------------------------------------------------------------------------------------------------------------------------

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*

*2007.5.26*

------------------------------------------------------------------------------------------------------------------------------------

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("发送数据不能为空",1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1