Sonix_松翰指令用户指南
松翰单片机SONIXSN8P2511程序模板

松翰单片机SONIXSN8P2511程序模板#define MAIN_GLOBAL#include "..\inc\config.h"#include "..\inc\SN8P2501B.h"//************************************************************* ***//// 主函数 //// 功能: 调用各个主函数 ////************************************************************* ***//void main(void){InitCPU();Ram_init();while(1){if(TimeFlag){TEST = !TEST;TimeFlag=0;Time_Fun();}_clrwdt();}}//************************************************************* ***//// 继电器输出 //// 功能: 工作输出 ////************************************************************* ***//void Work_Fun(void){;}//************************************************************* ***//// 硬件初始化 //// 功能: 硬件初始化输入输出定时器开关 AD初始化 ////************************************************************* ***//void InitCPU(void) //单片机初始化{FGIE=0; //关总中断//------------------------------I/O口输出--------------------------//---------------P0---------------FP00M=0;//// FP01M=1;//// FP02M = 0;// FP03M = 0;// FP04M=0;//P0UR = _0000_0001b;//---------------P1---------------FP10M=0;//// FP11M=0;//FP12M=1;// 输出FP13M=0;// 按键// FP14M=1;//// FP16M=1;//// FP15M=1;//// FP17M=1;//P1UR = _0000_1001b;//---------------P2---------------FP20M=0;//FP21M=0;//FP22M=0;//FP23M=0;//FP24M=0;//FP25M=0;//// FP26M=0;//// FP27M=1;//P2UR = _0011_1111b;//---------------P5---------------// FP50M=1;//// FP51M=1;//// FP52M=1;//// FP53M=0;//FP54M=1;//// P5UR = _0000_0000b;//------------------------------T0--------------------------------FT0ENB = 0;FT0IEN = 0;FT0IRQ = 0;T0M = 0X60;//时钟为FCPU/4T0C=7; //T0 间隔250uSFT0ENB = 1;FT0IEN = 1;FGIE=1; //开总中断}//************************************************************* ***//// 变量初始化函数 //// 功能: 对程序中的变量进行赋初值 ////************************************************************* ***//void Ram_init(void){_nop();_nop();Move_Key = 0x70;// Open_FLAG = 1;}//************************************************************* ***//// 走时函数 //// 功能: 对程序中计时功能进行计数和赋值 ////************************************************************* ***//void Time_Fun(void){static uchar Time_5ms_Cnt = 0,Time_10ms_Cnt =0,Time_200ms_Cnt = 0,Time_1S_Cnt = 0;static uchar Leave_Out_ID = 0,Leave_Out_Time_Cnt = 0,YiWei_ID = 0,Leave_Out_Cnt = 5;static uchar Move_IN_Cnt = 0;uchar tmp1;if(Leave_Data_Out_Flag){if(!Leave_Out_ID){Leave_Out_Time_Cnt ++;LEAVE_DATA_OUT_ON();if(Leave_Out_Time_Cnt > 8){Leave_Out_Time_Cnt = 0;Leave_Out_ID = 1;}}else if(Leave_Out_ID == 1){Leave_Out_Time_Cnt ++;LEAVE_DATA_OUT_OFF();if(Leave_Out_Time_Cnt > 5){Leave_Out_Time_Cnt = 0;Leave_Out_ID = 2;}}else if(Leave_Out_ID == 2){if(!Leave_Out_Time_Cnt){tmp1 = Leave_ID;tmp1 |= Move_Key;tmp1 >>= YiWei_ID;tmp1 &= 1;if(tmp1)Leave_Out_Time_Cnt = 0;elseLeave_Out_Time_Cnt = 2; YiWei_ID ++;if(YiWei_ID >= 9){Leave_Out_ID = 0;YiWei_ID = 0;Leave_Out_Time_Cnt = 0; Leave_Data_Out_Flag = 0;}}if(Leave_Data_Out_Flag){Leave_Out_Time_Cnt ++;if(Leave_Out_Time_Cnt <= 4) LEAVE_DATA_OUT_ON();else if(Leave_Out_Time_Cnt < 6) LEAVE_DATA_OUT_OFF();elseLeave_Out_Time_Cnt = 0;}}}Time_5ms_Cnt ++;if(Time_5ms_Cnt >= 5) //接收5ms去扫描{Time_5ms_Cnt = 0;if(MOVE_IN) //倾倒了{Move_IN_Cnt ++;if(Move_IN_Cnt >= 10){Move_IN_Cnt = 15;Move_Key = 0x80;Leave_ID = 0;}}else{if(!K8_IN)Leave_ID = 8;else if(!K7_IN)Leave_ID = 7;else if(!K6_IN)Leave_ID = 6;else if(!K5_IN)Leave_ID = 5;else if(!K4_IN)Leave_ID = 4;else if(!K3_IN)Leave_ID = 3;else if(!K2_IN)Leave_ID = 2;else if(!K1_IN)Leave_ID = 1;Move_IN_Cnt = 0;Move_Key = 0x70;}}Time_10ms_Cnt ++;if(Time_10ms_Cnt >= 10) //发送10MS去扫描{Time_10ms_Cnt = 0;}Time_200ms_Cnt ++;if(Time_200ms_Cnt >= 200){Time_200ms_Cnt = 0;if(!Leave_Data_Out_Flag){Leave_Out_Cnt ++;if(Leave_Out_Cnt >= 10){Leave_Out_Cnt = 0;Leave_Data_Out_Flag = 1;}}}}__interrupt isr1(void) //TC0定时器中断入口{static uchar Time1MS = 0;if(FT0IRQ) //TC0 //定时0.125ms{T0C=6; //T0 间隔250uSTime1MS ++;if(Time1MS >= 4) //1MS中断函数{Time1MS = 0;TimeFlag = 1;}}FT0IRQ = 0;}。
MP-PRO WRITER松翰烧录器使用说明

ww w
SONiX TECHNOLOGY CO., LTD
Page 2
Version1.0
MP PRO Writer 使用手册
修改记录
版本 V10
日期
说明
2010 年 4 月 初版
tw
com
avantcom
3.6 Handler模式设置................................................................................................................................... 17
44 脱机操作 ....................................................................................................................................................... 18 4.1 上电自检 ............................................................................................................................................... 18
55 故障处理 ....................................................................................................................................................... 22
松翰选型手册

的 USB 类型
液 串 晶 口 显 示 SN8F22511B 10K 闪存 512 8 8 4 1 7/1 SSOP16 全速 USB2.0, 支持控制/ 3 中断 SN8F2251B 10K 闪存 512 8 8 4 1 7/0 采用 QFN16 全速 USB2.0, 支持控制/ 3 中断 SN8F22521B 10K 闪存 512 8 12 4 2 1 7/2 SOP20/SSOP20 全速 USB2.0, 支持控制/ 3 中断 SN8F22531B 10K 闪存 512 8 16 4 2 1 7/2 QFN24 全速 USB2.0, 支持控制/ 3 中断 SN8F2253B 10K 闪存 512 8 16 4 2 1 7/2 SOP24 全速 USB2.0, 支持控制/ 3 中断 SN8F2255B 10K 闪存 512 8 24 4 2 1 7/2 的 LQFP32 全速 USB2.0, 支持控制/ 3 中断 SN8F2271B 5K 闪光 192 8 10 2 1 5/1 采用 QFN16 低速 USB2.0 接口,支持控 制/ 2 中断 SN8F22721B 5K 闪光 192 8 14 2 1 1 5/2 DIP20/SOP20/SSOP20 低速 USB2.0 接口,支持控 制/ 2 中断 诠释 包 分机 其他特点
程序 零件编号 存储 器
RAM (8 位) 堆
的
ADC DAC 的
定 PWM 时 的蜂鸣 器 器
中断
IO 的
SN8F2280 系列
的 USB 类型
液 零件编号 程序存 RAM (8 储器 位) 堆 的 IO ADC 的 DAC 的 器 定 时 PWM 的 串 蜂鸣器 口 晶 显 示 中断诠 包 释分机 其他特点
松翰烧写器MP-III Writer 使用说明

指示 LED
执行按键 烧录扩展口 MP 转接板
烧录座
用途 复位烧录器 选择功能模式 显示烧录信息与功能指示 烧录状态指示。绿色表示烧录完成,黄色表示烧录中, 红色表示烧录失败 用于执行烧录或中止报警提示 用于自行外引连线烧录芯片 用于插接烧录转接板,必须与 MCU 型号相匹配 放置待烧录芯片(仅适用于 DIP 或可转为 DIP 封装) 的芯片
Version 1.1
MP-III Writer User’s Manual
目录
修改记录 .........................................................................................................................................................................2
1.2 功能概述
采用具有 ISP 功能的 Flash Base MCU,联机状态时根据需要可升级芯片烧录控制程序; Full Speed USB1.1 接口可方便与 PC 互联,从而进行烧录器升级、联机烧录芯片或下载芯片烧录代码; 支持芯片联机和脱机烧录操作; 继承 MPI Writer 所有功能; 新增联机状态下,读取芯片资料的功能; 新增联机状态下,读取 EEPROM 和清空 EEPROM 等功能。
松翰单片机SN程序

#define MAIN_GLOBAL#include "..\inc\config.h"//*****************************************************************// // 主函数////*****************************************************************// void main(void){InitCPU();Ram_init();LED1_LEAVE_OFF();LED2_LEAVE_OFF();FGIE = 1;//开启中断while(1){_clrwdt();_nop();if(TimeFlag){TimeFlag=0;Time_Fun(); //基准时间函数}// Red_Fun();}}//*****************************************************************// // 继电器负载输出函数////*****************************************************************// void Work_scan(void){static uchar CaiDeng_Cnt = 0;if(Open_Flag && !Error_Flag){MOTOR2_ON();//同步电机if(Heat_Leave == 1){if(Fan_ON_Flag && !YanShi_Cnt)YanShi_Cnt = 4;else if(!Fan_ON_Flag){FENG_MOTOR1_ON();//风机Fan_ON_Flag = 1;}if(YanShi_Cnt >= 4){HEAT1_ON();Heat1_ON_Flag = 1;}HEAT2_OFF();Heat2_ON_Flag = 0;}else if(Heat_Leave == 2){if(Fan_ON_Flag && !YanShi_Cnt)YanShi_Cnt = 4;else if(!Fan_ON_Flag){FENG_MOTOR1_ON();//风机Fan_ON_Flag = 1;}if(YanShi_Cnt >= 4){HEAT1_ON();Heat1_ON_Flag = 1;}if(YanShi_Cnt >= 8){HEAT2_ON();Heat2_ON_Flag = 1;}}else{if(YanShi_Cnt >= 60){Fan_ON_Flag = 0;FENG_MOTOR1_OFF();}HEAT1_OFF();Heat1_ON_Flag = 0;HEAT2_OFF();Heat2_ON_Flag = 0;}if(CaiDeng_Leave == 1){LED_RED = 1;LED_GREEN = 0;LED_BLUE = 0;}else if(CaiDeng_Leave == 2){LED_RED = 0;LED_GREEN = 1;LED_BLUE = 0;}else if(CaiDeng_Leave == 3){LED_RED = 0;LED_GREEN = 0;LED_BLUE = 1;}else if(CaiDeng_Leave == 4){LED_RED = 1;LED_GREEN = 1;LED_BLUE = 1;}else if(CaiDeng_Leave == 5){if(!CaiDeng_Cnt){LED_RED = 1;LED_GREEN = 0;LED_BLUE = 0;}else if(CaiDeng_Cnt == 30){LED_RED = 0;LED_GREEN = 1;LED_BLUE = 0;}else if(CaiDeng_Cnt == 60){LED_RED = 0;LED_GREEN = 0;LED_BLUE = 1;}else if(CaiDeng_Cnt == 90){LED_RED = 1;LED_GREEN = 1;LED_BLUE = 1;}CaiDeng_Cnt ;if(CaiDeng_Cnt >= 120){CaiDeng_Cnt = 0;}}else{LED_RED = 0;LED_GREEN = 0;LED_BLUE = 0;}}else{MOTOR2_OFF();//同步电机HEAT1_OFF();//加热器1Heat1_ON_Flag = 0;HEAT2_OFF();//加热器2Heat2_ON_Flag = 0;LED1_LEAVE_OFF();//2档灯LED2_LEAVE_OFF();//1档灯LED_HUOYAN_OFF();//火焰LED_RED = 0;LED_GREEN = 0;LED_BLUE = 0;if(YanShi_Cnt >= 60 || Error_Flag){Fan_ON_Flag = 0;FENG_MOTOR1_OFF();//关闭风机}}}/***************************************************************** 红外输入判断函数__MAIN_EXTERN uchar Red_In_Cnt;//按键值__MAIN_EXTERN uchar Red_Data;//按键值__MAIN_EXTERN uchar Old_Red_Data;//按键值__MAIN_EXTERN uchar Red_ID;*****************************************************************/ void Red_Fun(void){// static uchar Red_Data_Bit_Cnt = 0;// TEST = !TEST;// if(Red_In_Cnt >= 100)// {// Red_ID = 0;// Red_Data = 0;// Red_Data_Bit_Cnt = 0;// Red_In_Cnt = 0;// }// if(!Red_ID)// {// if(RED_IN)// {// if(Red_In_Cnt >= 60&&Red_In_Cnt <= 84)// {// Red_ID = 1;// }// Red_In_Cnt = 0;// }// }// else if(Red_ID == 1)// {// if(!RED_IN)// {// if(Red_In_Cnt >= 26&&Red_In_Cnt <= 46)// {// Red_ID = 2;// }// else// Red_ID = 0;// Red_In_Cnt = 0;// }// }// else if(Red_ID == 2)// {// if(RED_IN)// Red_ID = 3;// Red_In_Cnt = 0;// }// if(Red_ID == 3)// {// if(!RED_IN)// {// if(Red_In_Cnt>=3)// {// Red_Data <<= 1;// if(Red_In_Cnt >=10)// Red_Data |= 1;// Red_Data_Bit_Cnt ;// if(Red_Data_Bit_Cnt == 8)// {// if(Red_Data != _0100_0000b) // {// Red_ID = 0;// Red_Data_Bit_Cnt = 0; // }// Red_Data = 0;// }// if(Red_Data_Bit_Cnt == 24)// {// Red_Down_Flag = 1;// Old_Red_Data = Red_Data; // Red_ID = 0;// Red_Data_Bit_Cnt = 0;// Red_Data = 0;// }// Red_In_Cnt = 0;// }// }// }}//*****************************************************************// // 时基走时函数////*****************************************************************// void Time_Fun(void){static uchar Time5MS_Cnt = 0,Time10MS_Cnt = 0,Time100MS_Cnt = 0,Time500MS_Cnt = 0;static uchar T10S_Cnt = 0,T30min_Cnt;static uchar Buzz_ON_Cnt = 0,Error_Cnt = 0,PingDao_Cnt = 0;Time5MS_Cnt ;if(Time5MS_Cnt >= 5) //5MS时间基准{Time5MS_Cnt = 0;// AD_fun();}Time10MS_Cnt ;if(Time10MS_Cnt >= 10) //10MS时间基准{Time10MS_Cnt = 0;KeyFun();// LedDisplay();if(Buzz_Flag){Buzz_ON_Cnt ;if(Buzz_ON_Cnt >= 15){Buzz_ON_Cnt=0;Buzz_Flag = 0;}}}Time100MS_Cnt ;if(Time100MS_Cnt >= 100)//100MS时间基准{Time100MS_Cnt = 0;Time500MS_Cnt ;if(Time500MS_Cnt >= 5){Time500MS_Cnt = 0;if(YanShi_Cnt <70){YanShi_Cnt ;}if(SanSuo_Time){SanSuo_Time --;}elseSanSuo_Flag = 0;if(YuYue_Time){T10S_Cnt ;if(T10S_Cnt >= 20)//10S{T10S_Cnt = 0;T30min_Cnt ;if(T30min_Cnt >= 180)//180=30分钟{T30min_Cnt = 0;YuYue_Time --;if(!YuYue_Time){Open_Flag = 0;Buzz_Flag = 1;Heat_Leave = 0;YanShi_Cnt = 0;HuoYan_Leave = 3;YuYue_Time = 0;}}}}}Work_scan();// if(!PINGDAO_IN)// {// PingDao_Cnt ;// if(PingDao_Cnt >= 10)// {// Error_Flag = 1;// Open_Flag = 0;// }// }if(Error_Flag){if(Error_Cnt <= 100)Error_Cnt ;if(Error_Cnt == 10||Error_Cnt == 20||Error_Cnt == 30){Buzz_Flag = 1;}}}}/*****************************************************************按键处理//--------------------按键值-----------------------------------#define RED_KEY_ON_OFF _1101_1000b #define RED_KEY_HEATER1 _0010_1000b#define RED_KEY_FLAME_UP _0110_1000b#define RED_KEY_TIME_0011_0000b#define RED_KEY_HEATER2 _0000_1000b #define RED_KEY_FLAME_DOWN _0100_1000b#define KEY_ON_OFF 1#define KEY_HEATER1 6#define KEY_FLAME_UP 5#define KEY_TIME 4#define KEY_HEATER2 3#define KEY_COLDURS 2*****************************************************************/ void KeyFun(void) //单片机初始化{static uchar Key_Cnt = 0;if(!Error_Flag){Scan_Key();if(Red_Down_Flag)//红外按键赋值{Red_Down_Flag = 0;switch(Old_Red_Data){case RED_KEY_ON_OFF:{Key_Data = KEY_ON_OFF;}break;case RED_KEY_HEATER1:{Key_Data = KEY_HEATER1;}break;case RED_KEY_FLAME_UP:{Key_Data = KEY_FLAME_UP;}break;case RED_KEY_TIME:{Key_Data = KEY_HEATER_OFF;}break;case RED_KEY_HEATER2:{Key_Data = KEY_HEATER2;}break;case RED_KEY_FLAME_DOWN:{Key_Data = KEY_COLDURS;}break;default:break;}Old_Red_Data = 0;}switch(Key_Data){case KEY_ON_OFF://开机按键{Buzz_Flag = 1;YanShi_Cnt = 0;if(!Open_Flag){Heat_Leave = 0;HuoYan_Leave = 3;CaiDeng_Leave = 0;YuYue_Time = 0;Open_Flag = 1;}else{Open_Flag = 0;}}break;case KEY_HEATER1://1档{if(Open_Flag){if(Heat_Leave != 1 ){Buzz_Flag = 1;YanShi_Cnt = 0;Heat_Leave = 1;LED1_LEAVE_ON();LED2_LEAVE_OFF();}}}break;case KEY_HEATER2://2档{if(Open_Flag){if(Heat_Leave != 2){Buzz_Flag = 1;if(!Heat_Leave){YanShi_Cnt = 0;}Heat_Leave = 2;LED2_LEAVE_ON();LED1_LEAVE_OFF();}}}break;case KEY_HEATER_OFF://加热关闭按键{if(Open_Flag){if(Heat_Leave){Buzz_Flag = 1;Heat_Leave = 0;YanShi_Cnt = 0;LED1_LEAVE_OFF();LED2_LEAVE_OFF();}}}break;case KEY_FLAME_UP://火焰 -{if(Open_Flag){Buzz_Flag = 1;HuoYan_Leave ;if(HuoYan_Leave >= 4)HuoYan_Leave = 1;}}break;case KEY_COLDURS://彩灯{if(Open_Flag){Buzz_Flag = 1;HuoYan_Leave = 2;CaiDeng_Leave ;if(CaiDeng_Leave >= 6)CaiDeng_Leave = 0;}}break;default:break;}Key_Data = 0;}}/*****************************************************************按键扫描*****************************************************************/void Scan_Key(void){static uchar Scan_Key_ID = 0;static uchar Key1_Out_Cnt = 0,Key2_Out_Cnt = 0,Key4_Out_Cnt = 0;static ucharScan_Key_data,Key1_Old_data,Key2_Old_data,Key4_Old_data;uchar i,Tmp;Scan_Key_ID ;if(Scan_Key_ID >= 3)Scan_Key_ID = 0;if(!Scan_Key_ID){KEY1_OUT();KEY2_IN();KEY3_IN();KEY4_IN();KEY1 = 0;for(i=0;i<50;i ){_nop();}Tmp = P0;Scan_Key_data = Tmp | _1011_1011b;if(Scan_Key_data==Key1_Old_data&&Scan_Key_data!=_1111_1111b){Key1_Out_Cnt ;if(Key1_Out_Cnt >= 50)Key1_Out_Cnt = 40;if(Key1_Out_Cnt == 3){if(Key1_Old_data == _1111_1011b)Key_Data = 1;else if(Key1_Old_data == _1011_1111b)Key_Data = 2;}}else{Key1_Old_data=Scan_Key_data;Key1_Out_Cnt = 0;}KEY1 = 1;}else if(Scan_Key_ID==1){KEY1_IN();KEY2_OUT();KEY3_IN();KEY4_IN();KEY2 = 0;for(i=0;i<50;i ){_nop();}Tmp = P0;Scan_Key_data = Tmp | _1010_1111b;if(Scan_Key_data==Key2_Old_data&&Scan_Key_data!=_1111_1111b) {Key2_Out_Cnt ;if(Key2_Out_Cnt >= 50)Key2_Out_Cnt = 40;if(Key2_Out_Cnt == 3){if(Key2_Old_data == _1110_1111b)Key_Data = 3;else if(Key2_Old_data == _1011_1111b)Key_Data = 4;}}else{Key2_Old_data=Scan_Key_data;Key2_Out_Cnt = 0;}KEY2 = 1;}else if(Scan_Key_ID==2){KEY1_IN();KEY2_IN();KEY3_IN();KEY4_OUT();KEY4 = 0;for(i=0;i<50;i ){_nop();}Tmp = P0;Scan_Key_data = Tmp | _1011_1101b;if(Scan_Key_data==Key4_Old_data&&Scan_Key_data!=_1111_1111b){Key4_Out_Cnt ;if(Key4_Out_Cnt >= 50)Key4_Out_Cnt = 40;if(Key4_Out_Cnt == 3){if(Key4_Old_data == _1111_1101b)Key_Data = 5;else if(Key4_Old_data == _1011_1111b)Key_Data = 6;}}else{Key4_Old_data=Scan_Key_data;Key4_Out_Cnt = 0;}KEY4 = 1;}}//*****************************************************************//// 硬件初始化////*****************************************************************// void InitCPU(void) //单片机初始化{FGIE=0; //关总中断//------------------------------P0-----------------FP00M=1;//红灯FP01M=1;//按键FP02M=1;//按键// FP03M=1;//FP04M=1;//按键FP05M=1;//蜂鸣器FP06M=0;//FP07M=1;//LED1档火焰P0UR =_0101_0110b;//P0 = 0;//------------------------------P4-----------------FP40M=1;//蓝灯FP41M=1;//温保开关FP42M=1;//同步电机FP43M=1;//火焰FP44M=1;//绿灯P4UR =0;//P4 = 0;//------------------------------P5-----------------FP50M=1;//LED2档火焰FP51M=0;//红外输入FP52M=1;//加热2FP53M=1;//加热1FP54M=1;//风机P5UR =0;//P5 = 0;//------------------------------T0--------------------------------// TC0M = 0X60;// T0C=6; //T0 间隔为16M,250uS// FALOAD0 = 1;// FTC0IEN=1; //允许响应T0 中断// FTC0IRQ=0; //T0 中断请求标志清零// FTC0ENB=1; //开启T0运行//------------------------------TC0--------------------------------TC0M = 0X64;//4分频TC0C=131; //T0 间隔为16M,250uSTC0R=131;FALOAD0 = 1;FTC0IEN=1; //允许响应T0 中断FTC0IRQ=0; //T0 中断请求标志清零FTC0ENB=1; //开启T0运行//-----------------------ADC---------------------------------------P4CON = _0001_0000b; //P41 P44为AD--纯模拟输入ADR = _0100_0000b;//时钟为FCPU/1 //4M时,转换时间为16uSFGIE=1; //开总中断}//*****************************************************************// // 变量初始化函数////*****************************************************************// void Ram_init(void){Buzz_Flag = 1;HuoYan_Leave = 3;Key_Data = 0;Error_Flag = 0;}/*****************************************************************中断函数*****************************************************************/__interrupt isr(void) //中断入口{static uchar Time1MS = 0;static uchar HuoYan_Cnt = 0,HuoYan_Leave_Data;static uchar WenBao_Cnt = 0,WenBao_ID = 0;static uchar Red_Data_Bit_Cnt = 0;if(FTC0IRQ) //TC0 //定时0.25ms{if(WenBao_Pin == WenBao_Pin_Flag){WenBao_Cnt ;}else{WenBao_Pin_Flag = WenBao_Pin;if(WenBao_Cnt >= 40&&WenBao_Cnt <= 120){WenBao_ID ;if(WenBao_ID >= 100){Error_Flag = 1;Open_Flag = 0;}}WenBao_Cnt = 0;}Red_In_Cnt ;if(Red_In_Cnt >= 100){Red_ID = 0;Red_Data = 0;Red_Data_Bit_Cnt = 0;Red_In_Cnt = 0;}if(!Red_ID){if(RED_IN){if(Red_In_Cnt >= 60&&Red_In_Cnt <= 84){Red_ID = 1;}Red_In_Cnt = 0;}}else if(Red_ID == 1){if(!RED_IN){if(Red_In_Cnt >= 26&&Red_In_Cnt <= 46){Red_ID = 2;}elseRed_ID = 0;Red_In_Cnt = 0;}}else if(Red_ID == 2){if(RED_IN)Red_ID = 3;Red_In_Cnt = 0;}else if(Red_ID == 3){if(!RED_IN){if(Red_In_Cnt>=3){Red_Data <<= 1;if(Red_In_Cnt >=8)Red_Data |= 1;Red_Data_Bit_Cnt ;if(Red_Data_Bit_Cnt == 8){if(Red_Data != _0100_0000b){Red_ID = 0;Red_Data_Bit_Cnt = 0;}Red_Data = 0;}if(Red_Data_Bit_Cnt == 24){Red_Down_Flag = 1;Old_Red_Data = Red_Data;Red_ID = 0;Red_Data_Bit_Cnt = 0;Red_Data = 0;}}Red_In_Cnt = 0;}}if(Buzz_Flag)BUZZ = !BUZZ;elseBUZZ_OFF();Time1MS ;if(Time1MS >= 8) //1MS中断函数{Time1MS = 0;TimeFlag = 1;}if(Open_Flag){HuoYan_Cnt ;if(HuoYan_Cnt >= 12){HuoYan_Leave_Data = HuoYan_Leave*4;HuoYan_Cnt = 0;}if(HuoYan_Cnt >= HuoYan_Leave_Data){LED_HUOYAN_OFF();}elseLED_HUOYAN_ON();}}//--------------------------------------------------INTRQ = 0;//-------------------------------------------------- }。
松翰(SONIX)烧录器作业指导书

松翰(SONIX)烧录器作业指导书
文件名称六芯片读取及烧录2.所选择程序读取正常后,将烧录器连接机台进行芯片烧录,注意事项1.取对应转接板插入所烧写程序,注意丝印上所印有型号,如C020配备2501B转接板,使用错误将无法烧录。
2.对所选择程序必须截图存档,方便每日程序点检及日后异常追溯。
4.将烧录器连接机台后,注意LED灯显示,黄色为烧录中,绿色为烧录完成,红色为不良.
作成部门
③编写/日期
②审核/日期
①批准/日期修订次数修订日期审核日期文件编号:XDD/SMT-0001
版本:A.1
松翰(SONIX)烧录器作业指导书第 3 页共 3 页
1 点击“读取OTP”按钮,会将芯片中的信息读出(如果芯片有加密则只能读出部分数
据),并显示在信息框中.
3.程序选取正确后必须读取1PCS芯片,点检芯片是否正确,并如实填写<烧录点检表>.。
松翰(SONIX)烧录器作业指导书

文件名称六 芯片读取及烧录 2.所选择程序读取正常后,将烧录器连接机台进行芯片烧录,注意事项1.取对应转接板插入所烧写程序,注意丝印上所印有型号,如C020配备2501B转接板,使用错误将无法烧录。
2.对所选择程序必须截图存档,方便每日程序点检及日后异常追溯。
4.将烧录器连接机台后,注意LED灯显示,黄色为烧录中,绿色为烧录完成,红色为不良.
作成部门
③编写/日期
②审核/日期
①批准/日期修订次数修 订日 期审 核日 期文件编号:XDD/SMT-0001
版 本:A.1
松翰(SONIX)烧录器作业指导书第 3 页 共 3 页
1 点击“读取OTP”按钮,会将芯片中的信息读出(如果芯片有加密则只能读出部分数
据),并显示在信息框中.
3.程序选取正确后必须读取1PCS芯片,点检芯片是否正确,并如实填写<烧录点检表>.。
SONIX M2IDE中文说明书

M2IDE 用户手册SONiX 8-Bit MCUM2IDE 用户手册Version 1.0SONiX 公司保留对以下所有产品在可靠性、 功能和设计方面的改进做进一步说明的权利。
SONiX 不承担由 本手册所涉及的产品或电路的运用和使用所引起的任何责任。
SONiX 的产品不是专门设计应用于外科植入、生 命维持和任何 SONiX 产品的故障会对个体造成伤害甚至死亡的领域。
如果将 SONiX 的产品应用于上述领域, 即使这些是由 SONiX 在产品设计和制造上的疏忽引起的,用户也应赔偿所有费用、损失、合理的人身伤害或死 亡所直接或间接产生的律师费用, 并且用户保证 SONiX 及其雇员、 子公司、 分支机构和销售商与上述事宜无关。
SONiX TECHNOLOGY CO., LTD.Page 1 of 74Version1.0M2IDE 用户手册修改记录版本 V1.0 时间 2009/8/18 修改说明 初版SONiX TECHNOLOGY CO., LTD.Page 2 of 74Version1.0M2IDE 用户手册目录修改记录 .............................................................................................................................................................................................. 2 目 录 .................................................................................................................................................................................................... 3 第 1 章 系统概要与安装 .................................................................................................................................................................... 5 1.1 M2IDE简介............................................................................................................................................................................ 5 1.2 安装 ....................................................................................................................................................................................... 6 1.2.1 系统配置需求............................................................................................................................................................ 6 1.2.2 硬件安装.................................................................................................................................................................... 6 1.2.3 软件安装.................................................................................................................................................................... 8 第 2 章 视窗界面 .............................................................................................................................................................................. 14 2.1 快速开始 ............................................................................................................................................................................. 14 2.2 菜单—文件/编辑/视图/调试/辅助/窗口/帮助选项 ........................................................................................................... 15 2.2.1 启动M2IDE系统 ..................................................................................................................................................... 15 2.2.2 M2IDE界面 .............................................................................................................................................................. 17 2.2.3 文件菜单(File) ................................................................................................................................................... 20 2.2.4 编辑菜单(Edit) ................................................................................................................................................... 23 2.2.5 视图菜单(View) ................................................................................................................................................. 26 2.2.6 调试菜单(Debug) ............................................................................................................................................... 27 2.2.7 应用菜单(Utility) ............................................................................................................................................... 30 2.2.8 窗口菜单(Window) ............................................................................................................................................ 32 2.2.9 帮助菜单(Help).................................................................................................................................................. 33 2.2.10 窗口管理................................................................................................................................................................ 34 2.3 创建和调试应用程序 ......................................................................................................................................................... 37 2.3.1 创建工程/新建文件................................................................................................................................................. 37 2.3.2 程序的编译和链接.................................................................................................................................................. 42 2.3.3 程序的运行与调试.................................................................................................................................................. 44 2.3.4 编译选项(Code Option选项) ............................................................................................................................. 49 2.3.5 工程文件类型.......................................................................................................................................................... 50 2.4 如何仿真LCD ..................................................................................................................................................................... 51 第 3 章 开发语言 .............................................................................................................................................................................. 52 3.1 指令集 ................................................................................................................................................................................. 52 3.2 伪指令 ................................................................................................................................................................................. 54 3.3 包含文档 ............................................................................................................................................................................. 55 3.4 宏 ......................................................................................................................................................................................... 56 3.5 条件编译控制 ..................................................................................................................................................................... 60 附录 .................................................................................................................................................................................................... 63 附录Ⅰ编译器错误信息说明 .................................................................................................................................................... 63 附录Ⅱ 菜单命令,工具和快捷方式一览表........................................................................................................................... 67 附录Ⅲ 伪指令表 ...................................................................................................................................................................... 70 附录Ⅳ 图片列表 ...................................................................................................................................................................... 71 附录Ⅴ相关FAQ ........................................................................................................................................................................ 73SONiX TECHNOLOGY CO., LTD.Page 3 of 74Version1.0M2IDE 用户手册前言在 SONiX 8 位微控器中,SN8P2XXX 系列开发系统采用的是在线仿真器(ICE),而 PC 机上运行的软件是 M2IDE 或 SN8 C Studio。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算术指令 .............................................................................................................................................................. 8 ADC—带进位加法运算 ................................................................................................................................8 ADD—不带进位的加法运算 ......................................................................................................................... 8 B0ADD—累加器和存储器 BANK0 内容相加................................................................................................9 SBC—带借位减法........................................................................................................................................9 SUB—不带借位减法 ..................................................................................................................................10
SONiX TECHNOLOGY CO., LTD
-2-
RevБайду номын сангаасsion 1.93
SONiX 8-Bit MCU
INSTRUCTION SET
目录
1 概述 .............................................................................................................................................................. 4 2 指令表........................................................................................................................................................... 5 3 指令说明 ....................................................................................................................................................... 6
SONiX 8 位 MCU
指令集
SONiX 8-Bit MCU
INSTRUCTION SET
SONiX 8 位单片机
SONIX 公司保留对以下所有产品在可靠性、功能和设计方面的改进做进一步说明的权利。SONIX 不承担由本手 册所涉及产品或电路的运用和使用所引起的任何责任。SONIX 的产品不是专门设计应用于外科植入、生命维持和任 何 SONIX 产品的故障会对个体造成伤害甚至死亡的领域。如果将 SONIX 的产品应用于上述领域,即使这些是由 SONIX 在产品设计和制造上的疏忽引起的,用户也应赔偿所有费用、损失、合理的人身伤害或死亡所直接或间接产 生的律师费用,并且用户保证 SONIX 及其雇员、子公司、分支机构和销售商与上述事宜无关。
SONiX TECHNOLOGY CO., LTD
-1-
Revision 1.93
版本号 VER 1.90 VER 1.93
日期 2002 年 9 月 2003 年 2 月
说明 V1.90 第一版 修改了指令 ADD
修正记录
SONiX 8-Bit MCU
INSTRUCTION SET
M,A 的说明,将“MÅ M+A”改成了“M Å A+M”。
DAA ...........................................................................................................................................................10 MUL—不带符号的乘法 .............................................................................................................................. 11 逻辑指令 ............................................................................................................................................................12 AND—逻辑与.............................................................................................................................................12 OR—逻辑或运算........................................................................................................................................13 XOR—逻辑异或运算..................................................................................................................................14 PROCESS 指令 .........................................................................................................................................14 RLC&RLCM—左移指令.............................................................................................................................15 RRC&RRCM—存储器右移 ........................................................................................................................16 CLR—清零.................................................................................................................................................16 BCLR&B0BCLR—位清零 ..........................................................................................................................17 BSET&B0BSET—位设置 ..........................................................................................................................17 跳转指令 ............................................................................................................................................................18 CMPRS—比较指令....................................................................................................................................18 INCS&INCMS—自加 1 指令 ......................................................................................................................18 DECS&DECMS—自减 1 指令 ...................................................................................................................19 BTS0&B0BTS0—位检测指令 ....................................................................................................................19 BTS1&B0BTS1—位检测指令 ....................................................................................................................20 JMP—跳转指令 .........................................................................................................................................20 CALL—程序调用指令 ................................................................................................................................21 RET—程序调用返回 ..................................................................................................................................21 RETI—中断返回指令 .................................................................................................................................22 NOP—空操作 ............................................................................................................................................22