STC8G1KO8A取代STC15W104中遇到的问题
2023-2-22 09:14 来自 ecoo 发布 @ 综合讨论
本帖最后由 ecoo 于 2023-2-22 11:34 编辑
最近在移植一段开源的电调程序到stc8G1K08A,根据手册指引;
改了include,增加了STC8G.h和intrins.h
改了IO配置;
增加了eeprom的iap_tps指令;
复位脚用作IO输出,未改动;
初始化中配置了引脚准双向;
根据例程的eeprom基础操作改了程序的eeprom操作。
编译过程未报错,实际下载程序后,能看到初始化的输出波形,但是主程序没反应,请大佬指正下程序哪里没改到位。
复制代码
最近在移植一段开源的电调程序到stc8G1K08A,根据手册指引;
改了include,增加了STC8G.h和intrins.h
改了IO配置;
增加了eeprom的iap_tps指令;
复位脚用作IO输出,未改动;
初始化中配置了引脚准双向;
根据例程的eeprom基础操作改了程序的eeprom操作。
编译过程未报错,实际下载程序后,能看到初始化的输出波形,但是主程序没反应,请大佬指正下程序哪里没改到位。
- #include<STC8G.h>
- #include<intrins.h>
- #define u8 unsigned char
- #define u16 unsigned int
- sbit IN=P5^4; //修改引脚定义
- //sbit Mode_IN=P5^5; //模式引脚
- sbit A1=P3^3;
- sbit A2=P3^2;
- sbit B1=P3^1;
- sbit B2=P3^0;
- bit turn;
- bit stop,go;
- bit ok,lose,error;
- bit mode;
- u8 MARK1,MARK2,low,top,calabration,over,n;
- u8 step;
- u16 time,tt ;
- u16 MAX,MINE,MIDDLE,k; //修改冲突的min>>mine
- u16 Timer2_value;
- u16 phase_time;
- int speed;
- void Delay100us() //@12.000MHz,修改为Y6指令集
- {
- unsigned char i, j;
- _nop_();
- i = 2;
- j = 140;
- do
- {
- while (--j);
- } while (--i);
- }
- void delay(u16 t)
- {
- while(t--)
- Delay100us();
- }
- u8 EEPROM_read(u8 address)
- {
- char byte;
- IAP_CONTR = 0x80; //使能IAP
- IAP_TPS = 12; //设置等待参数12MHz
- IAP_CMD = 1; //设置IAP读命令
- IAP_ADDRL = address; //设置IAP低地址
- IAP_ADDRH = address >> 8; //设置IAP高地址
- IAP_TRIG = 0x5a; //写触发命令(0x5a)
- IAP_TRIG = 0xa5; //写触发命令(0xa5)
- _nop_();
- byte = IAP_DATA; //读IAP数据
- IAP_CONTR = 0; //关闭IAP功能
- return byte;
- }
- void EEPROM_write(u8 address,u8 byte)
- {
- IAP_CONTR = 0x80; //使能IAP
- IAP_TPS = 12; //设置等待参数12MHz
- IAP_CMD = 2; //设置IAP写命令
- IAP_ADDRL = address; //设置IAP低地址
- IAP_ADDRH = address >> 8; //设置IAP高地址
- IAP_DATA = byte; //写IAP数据
- IAP_TRIG = 0x5a; //写触发命令(0x5a)
- IAP_TRIG = 0xa5; //写触发命令(0xa5)
- _nop_();
- IAP_CONTR = 0;
- // IAP_CONTR=0x80; //以下为源程序eeprom操作
- // IAP_ADDRL=address;
- // IAP_DATA=byte;
- // IAP_CMD=0x02;
- // IAP_TRIG=0x46;
- // IAP_TRIG=0xb9;
-
- }
- void EEPROM_clean(u8 address)
- {
- IAP_CONTR = 0x80; //使能IAP
免责声明:
本平台旨在开源共享精神,请勿发布敏感信息,任何违法信息我们将移交公安机关;