2、右键单击软媒魔方磁贴—更多—打开文件所在位置
3、在打开的开始菜单目录中昌纤找到魔方快捷方式,右键单击绝迅州—打开文件所在的位置,
在打开的目录中你能够看到魔方主程序文件名为pcmaster.exe。
4、在桌面新建文本文档,将其重命名为pcmaster.VisualElementsManifest.xml
注意:要去掉文本文档默认的.txt后缀
用记事本打开pcmaster.VisualElementsManifest.xml,将以下代码复制到文档中保存。
《?xml version=“1.0” encoding=“utf-8”?》
《Application xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”》
《VisualElements
ForegroundText=“light”
BackgroundColor=“#49825a”
ShowNameOnSquare150x150Logo=“on”
》《/VisualElements》
《/Application》
5、将编写好的pcmaster.VisualElementsManifest.xml复制到pcmaster.exe文件目录并蔽中。
6、到了最关键的步骤。在第三步图中所示的位置(魔方快捷方式),打开命令提示符。 *** 作方法:点击文件—打开命令提示符—以管理员身份打开命令提示符。
输入下面的命令回车运行:
for %f in (*.*) do copy /b “%f” +,,
ORG 8000H//程序从外部存储器地址8000H开始存放-JMP MAIN//跳转到主程序伏链枝开始执行-
ORG 800BH//预留定时器T0中断入口-
JMP INTT0//跳转到定时器T0初始化
ORG 8100H//主程序开始从外部存储器地址8100H开始执行-
MAIN://主程序标号(主程序从这里开始)
MOV SP,#60H//初始化状态标志-
MOV TMOD,#01H//设置定时器T0为方式1(16位定时器)-
SETB ET0 //开放允许定时器T0有效-
SETB EA//开放允许总中断开关-
SETB TR0//启动定时器T0
START0://定时器T0开始标志
SETB P1.3//将P1口的第4引脚设置输出为高电平,其它引脚输出低电平-
MOV 30H,#00H//创建一个存储单元,地址为0030H,并在第一个地址存储数字0-
NEXT://下一个程序入口标志-
MOV A,30H//将刚才存储单元地址为30H的数字0,存入累加器A-
MOV DPTR,#TABLE //将指针指向数组表格TABLE-
MOVC A,@A+DPTR//寻表,(累加器值与寻表之和,返回存放在累加器A中)-
MOV R2,A//将之和后的累加器A值,暂时存放在寄存器R2中-
JZ ENDD//判断如果累加器A与数组之和为0,(即累加器A为0)则转向程序标志ENDD处-
ANL A,#0FH//讲和之后的累加器A屏蔽掉高4位-(即只有底4位有效)-
MOV R5,A//将累加器值存放到寄存器R5中暂时存放-
MOV A,R2//将刚才寄存器R2的值,返回存回累加器A中-
SWAP A/缺敏/累加器A值高低4位交换-(即0000 1111变为1111 0000)-
ANL A,#0FH//再屏蔽掉高4位---(跟上面一样)-
JNZ SING//累加器A现值为非1则程序转移到SING处开始执行-
CLR TR0//停止定时器T0-
JMP D1//跳转到D1程序标志口开始执行-
SING://SING程序标志入口处-
DEC A//累加器唤镇A值减1-
MOV 22H,A//将减1后的累加器A值,存放到地址为22H的存储单元中-
RL A//累加器A值左移,然后返回存到A中-
MOV DPTR,#TABLE1 //指针指向数据表TABLE1-
MOVC A,@A+DPTR//寻表--(跟上面一样)-
MOV TH0,A//将寻表后的值存放到定时器T0的高字节寄存器中-
MOV 21H,A//将累加器值存放到地址为21H的存储单元中-
MOV A,22H//将地址为22H的存储单元中的数值,返回存到累加器A中-
RL A//左移累加器A,并将左移后的数值保存回A-
INC A//累加器A里的值加1-
MOVC A,@A+DPTR//再继续寻表-
MOV TL0,A//将寻表后得到的值送入定时器T0寄存器的低字节中-
MOV 20H,A//
SETB TR0
D1:
CALL DELAY 声音延时
INC 30H
JMP NEXT
ENDD:
CLR TR0
JMP START0
INTT0: 定时器0 中断服务程序
PUSH PSW
PUSH ACC//提出栈,就是把刚才保存在A中的数值,恢复到中断之前值-
MOV TL0,20H
MOV TH0,21H
CPL P1.3
POP ACC
POP PSW
RETI
DELAY://延时子程序,入口标志-
MOV R7,#02
DELAY0:
MOV R4,#187
DELAY1:
MOV R3,#248
DJNZ R3,$
DJNZ R4,DELAY1//寄存器R4减1不为0,则转移到DLAY1-
DJNZ R7,DELAY0
DJNZ R5,DELAY
RET
TABLE://存放数据的表声明-
DB 82H,01H,81H,94H,84H,0B4H,0A4H,04H
DB 82H,01H,81H,94H,84H,0C4H,0B4H,04H
DB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H
DB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H
DB 82H,01H,81H,94H,84H,0B4H,0A4H,04H
DB 82H,01H,81H,94H,84H,0C4H,0B4H,04H
DB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H
DB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H,00H
TABLE1://表声明-
DW 64260,64400,64524,64580,64684,64777,64820,64898
DW 64968,65030,65058,65110,65157,65178,65217
;//不明白为为什么会有个分号,或许是为注释准备的-
END//程序结束-
-
大致就这样了,你只叫翻译哦,没叫我们看程序的作用!
若需要程序的作用-则另附说明!
希望能帮给你帮助!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)