




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、AMX编程某案例(快速编程入门PROGRAM_NAME='BEIJING 15-07-2000 TRAINING 2' (*程序文件名,最后修改日期、时间* (* DATE:07/15/00 TIME:18:14:34 *(*(* System Type : 系统类型*(*(*(* DEVICE NUMBER DEFINITIONS GO BELOW *(*DEFINE_DEVICE (*定义_设备号*PROJ=1 (*定义投影机_1#*RELAY=7 (*定义继电器_7#*VCD=8 (*定义VCD_8#*VOL=85 (*定义调音合_85#*WP=87 (*定义墙身按键_8
2、7*TP=128 (*定义触摸屏_128#*DEFINE_CONNECT_LEVEL (*定义拉条与设备值相关联*(TP,1,VOL,1,VOL,2 (*定义TP,1分别VOL,1T和VOL,2相关联*(*(* CONSTANT DEFINITIONS GO BELOW *(*DEFINE_CONSTANT (*定义_常量*SCREEN_UP_B=1 (*定义电动幕_向上_按键=1*SCREEN_STOP_B=2 (*定义电动幕_停止_按键=2*SCREEN_DOWN_B=3 (*定义电动幕_向下_按键=3*SCREEN_UP_FB=101 (*定义电动幕_向上_按键反馈=101*利用RELA
3、Y7的9255空余的地址SCREEN_STOP_FB=102 (*定义电动幕_停止_按键反馈=102* 存储反馈信息SCREEN_DOWN_FB=103 (*定义电动幕_向下_按键反馈=103*PLAY_B=11 (*定义播放_按键=11*STOP_B=12 (*定义停止_按键=12*PAUSE_B=13 (*定义暂停_按键=13*SKIP_FWD_B=14 (*定义跳转_快进_按键=14*SKIP_REW_B=15 (*定义跳转_快退_按键=15*SCAN_FWD_B=16 (*定义搜索_快进=16*SCAN_REW_B=17 (*定义搜索_快退_按键=17*POWER_B=19 (*定义电
4、源_按键=19*VOL_UP_B=21 (*音量_增加_按键=21*VOL_DOWN_B=22 (*音量_减少_按键=22*VOL_MUTE_B=23 (*音量_静音_按键=23*VOL_SLIDER=24 (*音量_拉条按钮号=24*VOL_PRESET_B=25 (*音量_预置_按键=25*PROJ_ON_B=31 (*投影机_开_按键=21*PROJ_OFF_B=32 (*投影机_关_按键=21*PROJ_VIDEO_B=33 (*投影机_切换视频_按键=21*PROJ_RGB_B=34 (*投影机_切换VGA_按键=21*PROJ_ON_FB=104 (*投影机_开_按键反馈=21*P
5、ROJ_OFF_FB=105 (*投影机_开_按键反馈=21*(*(* V ARIABLE DEFINITIONS GO BELOW *(*DEFINE_V ARIABLE (*设置变量*CURRENT_VOL_LEVEL (*定义音量值变量*PRESET_VOL_LEVELSTORE_MODEPROJ_BUSY (*定义投影机输入端子*(*(* LATCHING DEFINITIONS GO BELOW *(*DEFINE_LATCHING(*(* MUTUALL Y EXCLUSIVE DEFINITIONS GO BELOW *(*DEFINE_MUTUALLY_EXCLUSIVE(*定
6、义互锁*(RELAY,SCREEN_UP_FB.RELAY,SCREEN_DOWN_FB (*定义电动幕上_停_下按钮反馈互锁* (7,101,7,102,7,103(7,101.7,103(RELAY,PROJ_ON_FB,RELAY,PROJ_OFF_FB (*定义投影机开_关按钮反馈互锁*(*(* SUBROUTINE DEFINITIONS GO BELOW * (*定义子程序*(*(*当在IF判断语句里用OR时必须在DEFINE_START语句里将其另一种状态先置为开,* (*否则在第一次的起动时其按键会没有响应*DEFINE_CALL 'SCREEN UP' (*定
7、义电动幕_向上子程序为"SCREEN UP"* IF (NOTRELAY,SCREEN_UP_FB (*判断电动幕向上反馈铵钮不是开则运行以下程序* CANCEL_WAIT 'SCREEN W AIT' (*取消等待“SCREEN W AIT”命令*ONRELAY,SCREEN_UP_FB (*将电动幕向上反馈按钮置为开*OFFRELAY,1 (*将继电器1置为关*OFFRELAY,2 (*将继电器2置为关*WAIT 5 (*等待0.5秒执行下行程序* ONRELAY,1 (*将继电器1置为开* (*下面的一段程序是执行屏幕下降10秒钟后将继电器1,2关闭,
8、这样可防止继电器长时间处于通电状态*WAIT 100 'SCREEN WAIT' (*等待10秒,并将其定义为SCREEN W AIT子程序*OFFRELAY,1 (*将继电器1置为关*OFFRELAY,2 (*将继电器2置为关*ONRELAY,SCREEN_STOP_FB (*将电动幕停止反馈按钮置为开*DEFINE_CALL 'SCREEN STOP' (*定义电动幕_停止子程序为"SCREEN UP"* ONRELAY,SCREEN_STOP_FB (*将电动幕停止反馈按钮置为开*OFFRELAY,1 (*将继电器1置为关*OFFREL
9、AY,2 (*将继电器2置为关* DEFINE_CALL 'SCREEN DOWN' (*定义电动幕_下降子程序为"SCREEN DOWN"*IF (NOTRELAY,SCREEN_DOWN_FB (*判断电动幕向下反馈铵钮不是开则运行以下程序* CANCEL_WAIT 'SCREEN WAIT' (*取消等待“SCREEN W AIT”命令*ONRELAY,SCREEN_DOWN_FB (*将电动幕向下反馈按钮置为开*OFFRELAY,1 (*将继电器1置为关*OFFRELAY,2 (*将继电器2置为关*WAIT 5 (*等待0.5秒执行下
10、行程序*ONRELAY,2 (*将继电器2置为开* 这时是先将非供电继电器打开WAIT 1 (*等待0.1秒 等待0.1秒使非供电继电器动作完成ONRELAY,1 (*将继电器1置为开* 再将供电继电器打开WAIT 100 'SCREEN WAIT' (*等待10秒, 并将其定义为SCREEN WAIT子程序*OFFRELAY,1 (*将继电器1置为关*OFFRELAY,2 (*将继电器2置为关*ONRELAY,SCREEN_STOP_FB (*将电动幕停止反馈按钮置为开*(*(* STARTUP CODE GOES BELOW *(*DEFINE_START (*设定初使状态
11、*SEND_COMMAND PROJ,'SET BAUD 19200,N,8,1' (*向投影机发射通信设置指令*PROJ_BUSY=0ONRELAY,SCREEN_STOP_FB (*将电动幕反馈按钮预置为开*PRESET_VOL_LEVEL=50 (*开机预置音量为50*CREATE_LEVEL VOL,1,CURRENT_VOL_LEVEL (*将VOL1路值送到CURRENT_VOL_LEVEL 变量*(*(* THE ACTUAL PROGRAM GOES BELOW *(*主程序*(*DEFINE_PROGRAM (*主程序*PUSHTP,SCREEN_UP_B (
12、*当按下触摸屏(TP,电动幕上升键(SCREEN_UP_B执行下面的程序*PUSHWP,SCREEN_UP_B (*当按下墙身面板(WP,电动幕上升键(SCREEN_UP_B执行下面的程序* CALL 'SCREEN UP' (*用CALL命令调用电动幕上升子程序SCREEN UP*PUSHTP,SCREEN_STOP_B (*当按下触摸屏(TP,电动幕停止键执行下面的程序*PUSHWP,SCREEN_STOP_B (*当按下触摸屏的电动幕停止键执行下面的程序*CALL 'SCREEN STOP' (*用CALL命令调用电动幕停止子程序SCREEN STOP*P
13、USHTP,SCREEN_DOWN_B (*当按下触摸屏的电动幕下降键执行下面的程序*PUSHWP,SCREEN_DOWN_B (*当按下触摸屏的电动幕下降键执行下面的程序*CALL 'SCREEN DOWN' (*用CALL命令调用电动幕下降子程序SCREEN DOWN*(*以下的赋值语句必须放在外面,因如放在PASH语句里面,当程序下一次扫描程序时,将无法执行里面的赋值语句,即触摸屏上的按键会全部亮起来,这是因为当按其它键时其反馈值虽然已变,但赋给触摸屏的语句无法执行所产生的。*TP,SCREEN_DOWN_B=RELAY,SCREEN_DOWN_FB (*将继电器的电动幕
14、下降反馈值送给触摸屏电动幕下降按钮*TP,SCREEN_UP_B=RELAY,SCREEN_UP_FB (*将继电器的电动幕上升反馈值送给触摸屏电动幕上升按钮*TP,SCREEN_STOP_B=RELAY,SCREEN_STOP_FB (*将继电器的电动幕停止反馈值送给触摸屏电动幕停止按钮*WP,SCREEN_DOWN_B=RELAY,SCREEN_DOWN_FB (*将继电器的电动幕下降反馈值送给墙身面板电动幕下降按钮*WP,SCREEN_UP_B=RELAY,SCREEN_UP_FB (*将继电器的电动幕上升反馈值送给墙身面板电动上升降按钮*WP,SCREEN_STOP_B=RELAY,S
15、CREEN_STOP_FB (*将继电器的电动幕停止反馈值送给墙身面板电动幕停止按钮*(*PUSHTP,PLAY_BPULSEVCD,1PULSETP,PLAY_BPUSHTP,STOP_BPULSEVCD,2PULSETP,STOP_BPUSHTP,PAUSE_BPULSEVCD,3PULSETP,PAUSE_BPUSHTP,SKIP_FWD_BSET_PULSE_TIME(1 (*设定PULSE发送时间为0.1秒*PULSEVCD,4SET_PULSE_TIME(5 (*设定PULSE初使状态为0.5秒*PULSETP,SKIP_FWD_BPUSHTP,SKIP_REW_BSET_PULS
16、E_TIME(1PULSEVCD,5SET_PULSE_TIME(5PULSETP,SKIP_REW_BPUSHTP,SCAN_FWD_BTOVCD,6TOTP,SCAN_FWD_B PUSHTP,SCAN_REW_B TOVCD,7 TOTP,SCAN_REW_B * (*系统调用CD2子程序(设备为 VCD,从触摸屏输入,播放键,停止键,0(为无按键* SYSTEM_CALL 'CD2' (VCD,TP,PLAY_B,STOP_B,PAUSE_B, SKIP_FWD_B,SKIP_REW_B,SCAN_FWD_B,SCAN_REW_B,0 (*注:PLAY_B,STOP_B
17、 等按钮名必须在定义常量内首先定义才可使用。*) PUSHTP,POWER_B (*当按下解摸屏的电源键执行下面程序* PULSEVCD,9 (*发送 VCD 端口的第 9 个红外码* PULSETP,POWER_B (*反馈已接收到指令到触摸屏电源按键* PUSHTP,VOL_UP_B (*当按下触摸屏音量上升键执行下面程序* OFFVOL,3 (*关闭调音盒的 3 通道* TOVOL,1 (*根据按下键的时间向上调节调音盒的 1 和 2 路音量* TOTP,VOL_UP_B (*根据按下键的时间显示触摸屏音量上调按钮* PUSHTP,VOL_DOWN_B (*当按下触摸屏音量下调键执行下面
18、程序* OFFVOL,3 (*关闭 VOL3 通道* TOVOL,2 (*根据按下键的时间向下调节调音盒的 1 和 2 路音量* TOTP,VOL_DOWN_B (*根据按下键的时间显示触摸屏音量下调按钮* PUSHTP,VOL_MUTE_B (*当按下触摸屏静音键执行下面程序* VOL,3=NOTVOL,3 (*将调音盒 VOL3 的值取反* TP,VOL_MUTE_B=VOL,3 (*将 VOL3 的值赋给触摸屏的静音按钮* PUSHTP,VOL_SLIDER (*当按下触摸屏的音量滑条时执行下面的程序* OFFVOL,3 (*关闭 VOL3 通道* PUSHTP,VOL_PRESET_B
19、 (*当按下触摸屏预置按时执行下面的程序* STORE_MODE=0 (*将变量 STORE_MODE 置为 0* WAIT 20 'STORE PRESET' (*等待 2 秒后执行下面程序,并定义为STORE PRESET* STORE_MODE=1 (*将变量 STORE_MODE 置为 1* SEND_COMMAND TP,'ADBEEP' (*要求触摸屏发一个声音,告知已完成命令* RELEASETP,VOL_PRESET_B (*当长时间按下触摸屏音量重置键执行下面的程序* CANCEL_WAIT 'STORE PRESET' (*取
20、消等待STORE PRESET* IF (STORE_MODE (*如果 STORE_MODEO 为真就运行下面的程序* PRESET_VOL_LEVEL=CURRENT_VOL_LEVEL (*将变量 CURRENT_VOL_LEVEL 的值赋给变 量 PRESET_VOL_LEVEL* ELSE (*如果 STORE_MODEO 为假就运行下面的程序* OFFVOL,3 (*关闭 VOL3* SEND_COMMAND VOL,"'P0L',ITOA(PRESET_VOL_LEVEL,'T20'" (*向 VOL 发射指令将其设定 为所需顾
21、预置值* (*先 将 变 量 CURRENT_VOL_LEVEL 的 值 赋 给 变 量 PRESET_VOL_LEVEL, 再 将 其 值 赋 给 触 摸 屏 的 VOL_PRESET_B 按钮* TP,VOL_PRESET_B=(PRESET_VOL_LEVEL=CURRENT_VOL_LEVEL PUSHTP,PROJ_ON_B (*当按下触摸屏,投影机_开_键时执行下面的程序* IF (NOTRELAY,PROJ_ON_FB (*如果继电器,投影机_开_反馈按键为非开状态时执行下面的程序* IF (NOTPROJ_BUSY (*如果投影机处于不忙状态* ONRELAY,PROJ_ON_
22、FB (*将投影机开反馈键打开* PROJ_BUSY=1 (*将投影机变量设置为忙状态* SEND_STRING 1,"'C00',13" (*通过 RS-232 口向投影机发射关闭电源指令* WAIT 600 (*等待 60 秒* PROJ_BUSY=0 (*将投影机变量设置为不忙状态* PUSHTP,PROJ_OFF_B (*当按下触摸屏,投影机_关_键时执行下面的程序* IF (NOTRELAY,PROJ_OFF_FB (*如果继电器,投影机_关_反馈按键为非开状态时执行下面的程序* IF (NOTPROJ_BUSY (*如果投影机处于不忙状态就执行下面的程序* ONRELAY,PROJ_OFF_FB (*将投影机关反馈键打开* PROJ_BUSY=1 (*将投影机变量设置为忙状态* SEND_STRING 1,"'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第三章 物态变化单元测试卷 (含答案)2025-2026学年人教版(2024)八年级物理上册
- 郑州荥阳市公益性岗位人员招聘考试真题2024
- 2025年山东省黄河三角洲农业高新技术产业示范区山东省师范类高校学生从业技能大赛一、二等奖获得者(13人)模拟试卷及一套答案详解
- 2025年智能交通系统与城市拥堵治理
- 2025年海洋能源利用:海水提铀吸附材料技术创新研究
- 2025年海洋能发电技术国际合作与市场拓展报告
- 2025湖北襄阳市枣阳市招聘事业单位人员206人考前自测高频考点模拟试题及答案详解(全优)
- 2025年春季中国邮政储蓄银行云南省分行校园招聘考前自测高频考点模拟试题附答案详解(模拟题)
- 2025春季陕汽控股校园招聘考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025北京大学电子学院招聘劳动合同制1人考前自测高频考点模拟试题及一套完整答案详解
- 广东省2025年度初级注册安全工程师职业资格考试金属非金属矿山安全复习题及答案
- 湖南安全员c3考试试题及答案
- 2025年中学生心理健康测试题及答案
- 二年级防溺水教案
- 后厨设备安全操作培训课件
- 妊娠期高血压用药
- 第十三章泌尿男性疾病
- 我不是完美小孩
- 【超星尔雅学习通】海上丝绸之路网课章节答案
- 有趣的化学启蒙课
- 轻钢龙骨隔断墙施工合同协议书
评论
0/150
提交评论