




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
附录系统执行软件源程序代码系统多机通信从机源程序代码TXCJ.ASM*TXCJ・ASM**LuBo*ORG0000HSJMPMAINORG0023H;串行口中断入口SJMPSJCS程序MAIN:SLAVEEQU12DKEQUP1.0MOVSCON,#0B0HMOVTMOD,#20HMOVTL1,#0FDHMOVTH1,#0FDHMOVIE,#90HSETBTR1LCALLWDCJSETBRS1CLRRS0LCALLBCDZHLCALLDISPLAYCLRRS1CLRRS0SJMPMAIN串行口中断服务子程序SJCS:CLRRIPUSHAPUSHPSWMOVA,SBUFXRLA,#SLAVEJZSJCS0SJCS1:SETBSM2POPPSWPOPARETISJCS0:CLRSM2MOVSBUF,#SLAVEJNBTI,$CLRTIJNBRI,$CLRRIMOVA,SBUFXRLA,#11HJZSJCS2SJMPSJCS1SJCS2:MOVA,25HADDA,#1MOVSBUF,AJNBTI,$CLRTIMOV22H,#00HSJMPSJCS118B20温度采集子程序WDCJ:MOVSP,#60HLCALLGET_TEMPRRCAMOVC,01HRRCAMOVC,02HRRCAMOVC,03HRRCAMOV21H,AMOV25H,ALCALLBCDZHLCALLDISPLAYAJMPMAIN18B20温度采集时序子程序GET_TEMP:CLREALCALLINTMOVA,#0CCHLCALLWRITEMOVA,#44HLCALLWRITELCALLINTMOVA,#0CCHLCALLWRITEMOVA,#0BEHLCALLWRITELCALLREADMOV21H,ALCALLREADMOV20H,ASETBEARET18B20初始化子程序INT:CLREAL0・L0:CLRDKMOVR2,#200L1・CLRDKDJNZR2,L1SETBDKMOVR2,#30CLRCORLC,DKJCL0MOVR6,#80L5:ORLC,DKJCL3DJNZR6,L5SJMPL0L3:MOVR2,#200L2:DJNZR2,L2RET——18B20写命令子程序WRITE:CLREAMOVR3,#8WR1:SETBDKMOVR4,#8RRCACLRDKWR2:DJNZR4,WR2WR3:DJNZR4,WR3DJNZR3,WR1SETBDKRET18B20读数据子程序READ:CLREAMOVR6,#8RE1:CLRDKMOVR4,#4NOPSETBDKRE2:DJNZR4,RE2MOVC,DKRRCAMOVR5,#30RE3:DJNZR5,RE3DJNZR6,RE1SETBDKRET八为十六转十进制子程序BCDZH:INC21HMOVA,21HMOV30H,#12JNBACC.7,BCD0MOV30H,#11CPLAADDA,#1BCD0:MOVR1,#00HMOVR2,#00HCLRCBCD1:SUBBA,#64HJCBCD2INCR1SJMPBCD1BCD2:ADDA,#64HBCD3:SUBBA,#0AHJCBCD4INCR2SJMPBCD3BCD4:ADDA,#0AHMOV31H,R1MOV33H,ARET程序---四位数码子程序DISPLAY:MOVR3,#4MOVR0,#30HMOV3AH,#0f7HDISP0:MOVA,@R0MOVDPTR,#TABMOVCA,@A+DPTRMOVDPTR,#0D00HMOVX@DPTR,AMOVDPTR,#0E00HMOVA,3AHMOVX@DPTR,ARRAMOV3AH,AACALLDY1msINCR0DJNZR3,DISP0RET0.2ms延时子程序DYlms:MOVR4,#50LOOP:NOPNOPDJNZR4,LOOPRET子程序10ms延时DY10ms:MOVR4,#10LOOP0:MOVR5,#250LOOP1:NOPNOPDJNZR5,LOOPDJNZR4,LOOP0RET子程序十进制TAB:DB3fh,06h,5bh,4fh,66h;0,1,2,3DB6dh,7dh,07h,7fh,6fh;4,5,6,7DB058H,040H,00H;8,9,C,-,黑屏END、系统多机通信主机源程序代码TXZJ.ASM*TXCJ・ASM**LuBo*ORG0000HSJMPMAIN程序主MAIN:MOVSP,#70HMOVSCON,#98HMOVTMOD,#20H程序MOVPCON,#00HMOVR6,#10MOVR7,#3MOV55H,#00HSETBTR1LCALLBCDZHLCALLDISPLAYMAIN00:LCALLPCJCXLCALLSJCSMOVSCON,#50Hlcallserial_sendMOVSCON,#98HLCALLPCJCXLCALLSJCS11LCALLPCJCXSJMPMAIN00通信子程序SJCS:MOVA,R6LCALLBCDZHLCALLDISPLAYJNBTI,$CLRTILCALLBCDZHLCALLDISPLAYJNBRI,$CLRRIMOVA,SBUFXRLA,R6JZSJCS0SJCS00:LCALLBCDZHLCALLDISPLAYSETBTB8SJMPSJCSSJCS0:CLRTB8MOV30H,R6MOVA,#11HMOVSBUF,ALCALLBCDZHLCALLDISPLAYJNBTI,$CLRTIJNBRI,$CLRRIMOVA,SBUFMOV44H,ALCALLSFJSJSETBTB8DJNZ55H,SJCSRETSJCS11:MOV55H,#00HINCR6DJNZR7,SJCSMOVR6,#10MOVR7,#3RETSFJSJ:CJNER6,#11,SFJSJ3MOV62H,44HMOV58H,44HSJMPSFJSJ0SFJSJ3:JCSFJSJ1MOV63H,44H
SJMPSFJSJ0SFJSJ1:MOV61H,44HMOV58H,44HSFJSJ0:RETPCJCX:MOVSCON,#50HJNBRI,HH1LJMPHH2HH1:LCALLBCDZHLCALLDISPLAYJNBRI,WW5HH2:CLRRIMOVA,SBUFWW1:CJNEA,#49,WW2mov44h,61hlcallbcdzhlcalldisplayMOV58H,61Hlcallserial_sendLJMPWW5LJMPWW5PC机地址判别子程序WW2:CJNEA,#50,WW3mov44h,62hIcallbcdzhIcalldisplayMOV58H,62Hlcallserial_sendLJMPWW5WW3:CJNEA,#51,WW4mov44h,63hlcallbcdzhlcalldisplayMOV58H,63Hlcallserial_sendLJMPWW5WW4:CJNEA,#52,WW5LJMPMAINWW5:MOVSCON,#98HRET八为十六转十进制子程序BCDZH:MOVA,44HMOV31H,#15JNBACC.7,BCD0MOV31H,#14CPLAADDA,#1BCD0:MOVR1,#00HMOVR2,#00HCLRCBCD1:SUBBA,#64HJCBCD2INCR1SJMPBCD1BCD2:ADDA,#64HBCD3:SUBBA,#0AHJCBCD4INCR2SJMPBCD3BCD4:ADDA,#0AHMOV32H,R1MOV33H,R2MOV34H,ARETDISPLAY:MOVR3,#6MOV35H,#13MOVR0,#30HMOV3AH,#0DFHDISP0:MOVA,@R0MOVDPTR,#TABMOVCA,@A+DPTRMOVDPTR,#0D00HMOVX@DPTR,AMOVDPTR,#0E00HMOVA,3AHMOVX@DPTR,ARRAMOV3AH,AACALLDY1msINCR0DJNZR3,DISP0RET0.2ms延时子0.2ms延时子程序程序程序DYlms:MOVR4,#50LOOP:NOPNOPDJNZR4,LOOPRET10ms延时子DY10ms:MOVR4,#10LOOP0:MOVR5,#250LOOP1:NOPNOPDJNZR5,LOOPDJNZR4,LOOP0RETPC机通信子serial_send:NOPNOP程序程序NOPNOPDEC58HMOVA,58Hmovb,#10式,控制范围不超过100oCdivab十进制数表示movdptr,#ascii_tabmovdptr,#ascii_tab在b中movea,@a+dptrascii码movsbuf,a;LCALLBCDZH;LCALLDISPLAY的数据jnbti,$束,未完时ti=0,ti=1clrti标志位mova,bmovea,@a+dptr温度值为16进制方因此可只用两位分出十位在ace中,个位用查表结束时法将数转换成启动串口发送10位等待一帧发送结清除发送中断取在b中的个位movsbuf,a;LCALLBCDZH;LCALLDISPLAYjnbti,$clrtiSETBTB8启动串口发送个位的数据RETascii_tab:db30h,31h,32h,33h,34h,35h,36h,37h,38h,39h;0—9ASCII码表TAB:DB3fh,06h,5bh,4fh,66h;0,1,2,3DB6dh,7dh,07h,7fh,6fh;4,5,6,7DB77H,7CH,39H,058H,040H,00H;8,9,A,b,C,c-,黑屏END三、计算机实验室温控系统PC机应用程序代码:(VisualBasic)DimxAsIntegerDimyAsIntegerDimTAsIntegerDimCAsIntegerDimIAsIntegerPrivateSubbuttonnowlClick()MSComm.Output=Text_SEND.Text+"1T=10'TextSEND.Text="1ForI=1To2延时发送数据NextEndSubPrivateSubbuttonnow2Click()MSComm.Output=Text_SEND.Text+"2"'TllTextSEND.Text="2ForI=ForI=1To2延时发送数据NextEndSubPrivateSubbuttonnow3Click()发送数据MSComm.Output=Text_SEND.Text+"3"'Tl2TextSEND.Text="2发送数据ForI=1To2延时NextEndSubPrivateSubButton_RECV_C_Click()Text_RECV.Text=〃〃Text_SEND.SetFocusMSComm.Output=Text_SEND.Text+"9EndSubPrivateSubButton_SEND_C_Click()Text_SEND.Text=""Text_SEND.SetFocusEndSubPrivateSubButton_SEND_Click()DimxAsStringIfText_SEND.Text=""Then'发送数据不能为空x=MsgBox("发送数据不能为空",16)ExitSubEndIfIfNotMSComm.PortOpenThen'保证串口打开x=MsgBox("请打开串口",9)MSComm.PortOpen=TrueEndIfMSComm.Output=Text_SEND.Text'发送数据ForI=1To200'延时NextEndSubPrivateSubCheck1_Click()IfCheckl.Value=1Thenx=1Elsex=0Open"C:\SCON.txt"ForOutputAs#2Print#2,Text_RECV.TextClose#2EndEndSubPrivateSubForm_Load()'端口设置MSComm.CommPort=1MSComm.Settings=〃9600,n,8,1〃MSComm.InputLen=0MSComm.InBufferSize=1024MSComm.OutBufferSize=512MSComm.PortOpen=TrueMSComm.SThreshold=0MSComm.RThreshold=1MSComm.InBufferCount=0MSComm.OutBufferCount=0Text_SEND.Text=〃〃Text_RECV.Text=〃〃PrivateSubMSComm_OnComm()SelectCaseMSComm.CommEvent检查串口事件'错误处理CasecomEventOverrunText_SEND.Text=〃〃Text_RECV.Text=〃〃Text_SEND.SetFocusExitSubCasecomEventRxOverText_SEND.Text=〃〃Text_RECV.Text=〃〃Text_SEND.SetFocusExitSubCasecomEventTxFullText_SEND.Text=〃〃Text_RECV.Text=〃〃Text_SEND.SetFocusExitSubCasecomEvReceiveDimstrAsStringb=Date$a=Time$'Mid(Date$,1,4)&Mid(Date$,6,2)&Mid(Date$,9,2)str=MSComm.InputIfT=10ThenLbl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加盟提前终止合同算不算违约
- 2025国际人才交流中介服务合同
- 2025年郑州劳动合同电子模板范文
- 2025展望养殖场租赁合同
- 不同类型教育活动的组织
- 2025年房地产低押借款合同范本
- 2025企业网络安全维护合同
- 2025建筑工程土石方爆破作业合同版(合同样本)
- 卫生监督工作总结模版
- 人文关怀与人文护理
- 电化学原理全册配套完整课件2
- 负压封闭引流VSD课件
- Unit 9 Kids and Computers公开课一等奖省优质课大赛获奖课件
- 截流式合流制管道系统的特点与使用条件课件
- (站表2-1)施工单位工程项目主要管理人员备案表
- 中班美术《我心中的太阳》绘画课件幼儿园优质课公开课
- 应急管理工作检查记录表
- 《雷锋叔叔你在哪里》教学案例
- 《机械设计基础》课程思政教学案例(一等奖)
- API-620 大型焊接低压储罐设计与建造
- 年产300吨莲子蛋白粉工厂的设计
评论
0/150
提交评论