来这里找高手

[复制链接]
1025|31
手机看帖
扫描二维码
随时随地手机跟帖
wyjie|  楼主 | 2018-9-19 13:41 | 显示全部楼层 |阅读模式
哪位高手能指点一下,我这自己编出来的,结果用KEIL软件编译提示
"***FATAL ERROR L210: I/O ERROR ON INPUT FILE:
         EXCEPTION 0021H: PATH OR FILE NOT FOUND
         FILE: dianji.dbj
Target not created"
大侠帮我指点一下,谢谢了!
           ORG 000H; 主程序起始地址
START: LJMP MAIN
ORG 00030H; 外中断起始地址
LJMP INT0; 跳到外中断程序
MAIN: MOV SP,70H; 设堆栈
LCALL TIME
TIME: MOV P1,0FFH; 中断电机
MOV TMOD, #01H; 设定TMOD为工作方式1
MOV TH0, #03CH; 设置定时初始值为100ms 即 212-100000/2=15536
MOV TL0, #0B0H
MOV IE,#00H; 禁止中断
SETB TR1; ;启动定时
LOOP: JBC TF1,ZCZ; ;查询是否溢出
AJMP LOOP
ZCZ: INC 30H; 30H加1
MOV A,30H
RET
LCALL DAY ;到24时清零
CJNE A,#69780H,DIANJI ;是否在晚上,不是转移到电机子程序
MOV IE,#10000001B; 开外部INT0中断
LJMP MAIN ;没有中断,则返回
INT0: PUSH ACC
PUSH PSW
MOV A,30H
CJNE A,#69780H,DIANJI1;
BAOJIN:CPL P2.2
INC 31H
MOV A,31H
CJNE A,#0AH,LOOP1 ;定时2秒
LCALL DELAY ;延时0.2秒子程序
AJMP BAOJIN
LOOP1: CLR 31H
POP ACC
POP PSW
MOV IE,#00000000B
RETI
DIANJI1:LCALL CW; ;调用正转子程序
LCALL DELAY1; ;20毫秒(速度这里控制)
MOV A,P2.0
CJNE A,#00H,DIANJI1; ;行程开关2是否为低电平
DINGSHI:MOV P1,0FFH; ;电机停
NOP; ; 等待
LCALL TIME ;定时2秒
ZCZ1:INC 32H
MOV A,32H
CJNE A,14H, DIANJI2
AMJP DINGSHI
DIANJI2:CLR 32H
LCALL CCW; 调用电机反转子程序
LCALL DELAY1; 速度控制
MOV A,P2.1;
CJNE A,00H,DIANJI2; 行程开关1是否为低电平,是返回
MOV P1,0FFH; 电机停
NOP; 等待
POP ACC; 出栈
POP PSW
MOV IE,#00000000B
RETI; 中断返回
DIANJI:MOV IE,#10000001B; 电机开中断
LJMP MAIN; 没中断返回
DAY:CJNE 30H,#18H,QINGLING;
RET
QINGLING:CLR 30H
RET
DELAY:MOV R5,#20
D1: MOV R6,#20
D2: MOV R7,#240
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
DEPAY1:MOV R5,#40
D3: MOV R6,#248
DJNZ R6,$
DJNZ R5,D3
RET

;在程序中,只要依次将这6个控制字送到Pl口。步进电动机就会转动一个齿距角。每送一个控制字,就完成一拍。步进电动机转过一个步距角。程序就是根据这个原理进行设计的。
;用Ro作为状态计数器,来指示第几拍。按正转时加1,反转时减1的操作规律,
;则正转程序为:
CW: INC R1 ;正转加1
CJNE R1,#06H,ZZ ;如果计数器等于6修正为0
MOV R1,#00H
ZZ: MOV A,R1 ;计数器值送A
MOV DPTR,#ABC ;指向数据存放首地址
MOVC A,@A+DPTR ;取控制字
MOV P1,A ;送控制字到P1口
RET
ABC: DB 06H,08H,90H;6个控制字
DB 01H,03H,02H
;反转程序为:
CCW: DEC R1 ;正转减1
CJNE R1,#0FFH,FZ ;如果计数器等于FFH修正为5
MOV R1,#05H
FZ: MOV A,R1 ;计数器值送A
MOV DPTR,#ABC ;指向数据存放首地址
MOVC A,@A+DPTR ;取控制字
MOV P1,A ;送到P1口
RET
END

相关帖子

spark周| | 2018-9-19 13:44 | 显示全部楼层
找不到文件,路径不对

使用特权

评论回复
zhenykun| | 2018-9-19 13:46 | 显示全部楼层
不懂汇编,进来学习

使用特权

评论回复
zhenykun| | 2018-9-19 13:49 | 显示全部楼层

写的比较乱,最好把思路调整一下,你在启动定时后没有启动总中断控制位就查询定时中断位

使用特权

评论回复
jlyuan| | 2018-9-19 13:53 | 显示全部楼层
你在中断后保存ACC和PSW,但是在出中断前出栈顺序是不对的,51是后进先出

使用特权

评论回复
lizye| | 2018-9-19 13:56 | 显示全部楼层
对指令的理解和应用还需要再加深,51的数据不超过0-255,没有69780H这样的写法

使用特权

评论回复
heweibig| | 2018-9-19 14:00 | 显示全部楼层
INT0等已经被特殊定义的是不能用做他用

使用特权

评论回复
wyjie|  楼主 | 2018-9-19 14:03 | 显示全部楼层

这么多建议。。。

使用特权

评论回复
spark周| | 2018-9-19 14:06 | 显示全部楼层
你再多看看书吧,呵呵

使用特权

评论回复
wyjie|  楼主 | 2018-9-19 14:10 | 显示全部楼层
好吧,先结贴了

使用特权

评论回复
aspoke| | 2018-9-22 20:27 | 显示全部楼层
这个看不懂汇编语言。

使用特权

评论回复
232321122| | 2018-9-22 20:27 | 显示全部楼层
编译报错是什么

使用特权

评论回复
ghuca| | 2018-9-22 20:27 | 显示全部楼层
是不是定义的文件有问题呢

使用特权

评论回复
soodesyt| | 2018-9-22 20:28 | 显示全部楼层
是电机控制电路吗

使用特权

评论回复
mnynt121| | 2018-9-22 20:28 | 显示全部楼层
I/O ERROR ON INPUT FILE

使用特权

评论回复
plsbackup| | 2018-9-22 20:28 | 显示全部楼层
这个是什么单片机

使用特权

评论回复
kmzuaz| | 2018-9-22 20:29 | 显示全部楼层
keil开发的什么

使用特权

评论回复
qiufengsd| | 2018-9-22 20:29 | 显示全部楼层
spark周 发表于 2018-9-19 13:44
找不到文件,路径不对

C语言还可以修改。

使用特权

评论回复
wengh2016| | 2018-9-22 20:30 | 显示全部楼层
有引用的其他文件吗?

使用特权

评论回复
maqianqu| | 2018-9-22 20:30 | 显示全部楼层
楼主还有其他报错吗、

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

927

主题

12706

帖子

5

粉丝