白天
获得 1 次赞
帮助过1人
1:单片机型号:IAP15W4K58S4;2:程序目的:用它的程序区当EEPROM用,并且赋EEPROM初值;3:我的思路是:CODE一个数组并赋初值后到程序区的一个地址,这个地址等会儿是要做EEPROM的,工作运行中用IAP功能改变这个地址的值。4:出现的问题:无论如何都改变不了数组值,也就是没擦除掉,这个扇区挨着数组的别的空间写读都没问题,这究竟是怎么了,,,,#include<stc15.h> void main() { IAP_ADDRH=0x80; IAP_ADDRL=0x00; while(1); }就这几两句运行后,在KEIL上打开DEBUG,D在WATCH窗口中输入IAP_ADDRH和IAP_ADDRL,单步运行并观察,发现IAP_ADDRL这个里面的值改变不了。。。不知道什么问题,请高手支援
#ifndef _DATA_ANALYSIS_H_ #define _DATA_ANALYSIS_H_ #include "reg52.h" #include "main.h" #include "hx711.h" //extern ulong filter(void); //中位值滤波代码//extern void Weight(void); //数据处理函数,计算出实际质量//extern void Get_Weight(); #endif这段代码有问题吗?为什么不是一个完整结构?
我用8259边沿触发来打开一个流水灯,代码和原理图如下,但是不知道为什么一直一点开关就自动反复OCW1,并且写的流水灯也没有亮,看了好久,看不出来什么原因,求大神指导下。 代码如下:(和图片一样)CODE SEGMENT START: ;初始化MOV AL,13H ;0001 0011 边沿触发,单片使用,需要ICW4 MOV DX,0090H ;1001 0000 OUT DX,AL MOV AL,60H ;0110 0000 60H MOV DX,0092H ;1001 0010 OUT DX,AL MOV AL,01H ;非特殊,非嵌套,非主片,非自动EOI,8086 OUT DX,AL MOV AL,0FEH ;1111 1110 OUT DX,AL ;设置中断向量表PUSH DS MOV AX,0 MOV DS,AX MOV AX,OFFSET INT0 MOV [0180H],AX MOV AX,SEG INT0 MOV [0182H],AX POP DS STI NEXT: NOP JMP NEXT INT0: MOV AX,01H MOV DX,0080H MOV CX,4 A: OUT DX,AX SHL AX,1 DEC CX JNZ A JMP INT0 ENDS END START