⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 中颖单片机SH88F516例程
💻 C
字号:
/**************************************************************************************************
说明;继电器控制使用了12V外部电源,所以在使用时连接仿真器的同时还要外接12V电源从J1输入,不然在下载时会
弹出一个检测到未上电的对话框.
本程序的功能: 使用定时器1产生中断使继电器周期性的断开闭合
要求:打开拨码开关J11的1脚
**************************************************************************************************/
#include <sh88f516.h>

unsigned char i=0;
bit time1flag;
main()
{
	char i,j=0;
	CLKCON = 0x00;

	P4M0 = 0x00;
	P4M1 = 0x10;	//P4_7推挽输出模式

	TMOD = 0x10;   //定时器工作方式1,16位
	TH1 = 0xF6;	   //(65536-1536)/16M=4ms
	TL1 = 0x00;

	TR1 = 1;	   //开始计数
	ET1 = 1;	   //打开定时器1中断
	EA = 1;		   //打开总中断
	
					
    while(1)
    {
	    if(time1flag)
		{
			 time1flag = 0;
			i++;
			if(i>10)
			{
		   		i=0;
				P4_7 = ~P4_7; 	//Relay control bit
			}
	
			if(j<11)
			{
				P1_5=~P1_5;
				P1_4=~P1_4;
				j++;
				P1_7=~P1_7;
				P1_6=~P1_6;
				
			}
			P1_2=~P1_2;
			P1_3=~P1_3;
		}
	
		
	}


}


void TIME1_INT() interrupt 3	  //定时器1的中断号为3.
{
	
    ET1 = 0;	   //close定时器1中断
	TH1 = 0x06;	   //(65536-1536)/16M=4ms
	TL1 = 0x00;	   //(65536-1536)/16M=4ms
	i++;
	if(i>=250)	   //250ms*4=1s
	{
	    i = 0;
		time1flag=1;
	}
	ET1 = 1;	   //打开定时器1中断

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -