您现在的位置是:主页 > news > ecshop网站价格/深圳白帽优化

ecshop网站价格/深圳白帽优化

admin2025/5/17 0:12:19news

简介ecshop网站价格,深圳白帽优化,公司网站建设发票能抵扣不,京东网站开发多少钱采用PMC/PMS153芯片,选用哪一种芯片只需在文件中选定对应芯片即可。 定时器中断,1ms进一次中断,用示波器看过频率是正常的,误差小于1us。 //主控:PMC153 (根据具体IC以及封装修改) // _________________…

ecshop网站价格,深圳白帽优化,公司网站建设发票能抵扣不,京东网站开发多少钱采用PMC/PMS153芯片,选用哪一种芯片只需在文件中选定对应芯片即可。 定时器中断,1ms进一次中断,用示波器看过频率是正常的,误差小于1us。 //主控:PMC153 (根据具体IC以及封装修改) // _________________…

采用PMC/PMS153芯片,选用哪一种芯片只需在文件中选定对应芯片即可。

定时器中断,1ms进一次中断,用示波器看过频率是正常的,误差小于1us。


//主控:PMC153  (根据具体IC以及封装修改)
//		           ________________________
//		          -|PB5   		PB2 	|-            
//		      LED4-|PB6   		PB1 	|-        
//		      LED3-|PB7   		PB0/INT1|-        
//		          -|VDD   		GND 	|-            
//		      LED2-|PA7   		PA0/INT0|-       
//		      LED1-|PA6   		PA4 	|- LED6        
//	              -|PA5/PRSTB   PA3 	|- LED5                
//		           ------------------------                                                   #include	"extern.h"// .outfile %S_%TyymmddHHMMSS_%x.PDK  //输出的烧录文件带校验码、芯片型号、时间日期typedef byte u8; 
typedef word u16;
typedef EWORD u24;
typedef DWORD u32;#define     SetPortA()      PAPH = 0XD9; PAC = 0XD8; PA = 0XD9
#define     SetPortB()      PBPH = 0XC0; PBC = 0XC0; PB = 0XC0
//==================单个io口的初始化==================//
//    paph.0 = 1; //上拉   0/1->无/有
//    pac.0 = 1;  //pac 0:IN  1:OUT  模式:0/1->输入/输出
//    pa.0 = 0;   //输出0/1
//=================一个io端口的初始化=================//
//    paph = 0x01;
//    pac = 0X01;   //pac 0:IN  1:OUT
//    pa = 0x00;
//上面两个都是对PA.0进行初始化为0,不建议对单个IO口操作,推荐使用下面那种,对整组io进行设置/************************************************************************************/
/*							  LED灯接口配置		 								    */
/************************************************************************************/
#define     LED1_ON()                PA.6 = 0
#define     LED1_OFF()               PA.6 = 1
#define     LED2_ON()                PA.7 = 0
#define     LED2_OFF()               PA.7 = 1
#define     LED3_ON()                PB.7 = 0
#define     LED3_OFF()               PB.7 = 1
#define     LED4_ON()                PB.6 = 0
#define     LED4_OFF()               PB.6 = 1
#define     LED5_ON()                PA.3 = 0
#define     LED5_OFF()               PA.3 = 1
#define     LED6_ON()                PA.4 = 0
#define     LED6_OFF()               PA.4 = 1u16 T16val;
u8 gCnt;
u16	Tcount;
void sys_init(void)
{T16val = 0;gCnt = 0;Tcount = 0;  
}
/************************************************************************************/
/*							  16位计数定时器T16 								    */
/************************************************************************************/
#define USER_TIMER_CONFIG()		$ T16M IHRC, /16, BIT10 //对t16寄存器进行配置   时钟:IHRC 分频:/16  中断源:BIT10   
#define ENABLE_TIMER()			SET1 INTEN.2 //$ INTEN T16 //开定时器中断
#define DISENABLE_TIMER()		SET0 INTEN.2 //关定时器中断
#define INIT_TIMER_VALUE(n)		STT16 n//装载定时器计数值
#define EA_INT()				ENGINT//开总中断
#define DIS_INT()				DISGINT//关总中断
#define CONST_TIME_VALUE        24//0x10E//224//  (BIT - CONST_TIME_VALUE) / (IHRC / 分频) = us/************************************************************************************/
//一次中断的时间计算公式   (BIT - CONST_TIME_VALUE) / (IHRC / 分频) = us
//                         (2^10 - 24) / (16 / 16) = 1000us    
void Set_User_T16(void)
{	USER_TIMER_CONFIG();T16val = CONST_TIME_VALUE;INIT_TIMER_VALUE(T16val);ENABLE_TIMER();INTRQ = 0;//清除INTRQEA_INT();
}/************************************************************************************/
/*							 主函数 								    */
/************************************************************************************/
void	FPPA0 (void)
{
//	.ADJUST_IC	SYSCLK=IHRC/4		//	SYSCLK=IHRC/4.ADJUST_IC	SYSCLK=IHRC/4, IHRC=16MHz,VDD=3.3V		//	SYSCLK=IHRC/2	//系统时钟4M
//	clkmd.En_WatchDog	=	1;		//	WatchDog Enable
//	clkmd.En_Reset	=	1;			//	PA.5 as Reset pin//	Insert Initial CodeSetPortA();SetPortB();sys_init();Set_User_T16();while (1){
//		...
//		wdreset;if (gCnt) {  // 利用IO口翻转看中断时间LED1_ON();} else {LED1_OFF();}}}/************************************************************************************/
/*							  中断 								    */
/************************************************************************************/
void	Interrupt (void)
{pushaf;if (Intrq.T16){	//	T16 Trig//	User can add codeIntrq.T16	=	0;T16val = CONST_TIME_VALUE;INIT_TIMER_VALUE(T16val);//中断执行区Tcount++;if(Tcount >= 2000){if (gCnt) {  // 利用IO口翻转看中断时间gCnt = 0;} else {gCnt = 1;}Tcount = 0;}}popaf;
}