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

📄 fa.c

📁 一个遥控器的程序
💻 C
字号:
#include <reg922.h>
#include <intrins.h>
#define  uchar unsigned char
#define  uint  unsigned int

sbit key_kai = P0^0;
sbit key_guan= P0^1;
sbit TXD=P1^0;

const uchar data BRGR1_DATA=0x00;      //波特率设为1200bit/s
const uchar data BRGR0_DATA=0x0f;

void INT_Ini();
void UART_Ini();
void Send_Data_kai();
void delay(uchar i);

/*****************************************************
*名称:		Send_Data()
*功能:      程序初始化
* 入口参数:无
* 出口参数:无
* 注意:     
******************************************************/
void INT_Ini()
{
	P0M1=0x03;
  	P0M2=0x00;
  	P1M1=0x00;
  	P1M2=0x00;
  	DIVM=100;

    AUXR1=0x80;                    //节省晶振功耗
    PCONA=0xfd;
    WDCON=0xe0;                 //关闭看门狗WDRUN,完全掉电PCON=0x23;没有关WDT
    _nop_();
    _nop_();	
}
/***************************************
* 名称:     UART_Ini()
* 功能:     UART初始化,波特率1200bit/s   
****************************************/

void UART_Ini()
{   
    SCON=0x40;                      //串口模式1,接收禁止
    PCON|=0x60;                     //SMOD0=1,SCON的位7作为FE,贞错误标志;关闭掉电检测
    BRGCON=0;
    BRGR1=BRGR1_DATA;
    BRGR0=BRGR0_DATA;     
    BRGCON=3;                       //启动UART的波特率发生器
}

/*********************************************
* 名称:     Send_Data_kai()
* 功能:     串口发送数据
* 入口参数:无
* 出口参数:无
* 注意:     此程序采用查询方式发送。
**********************************************/
void Send_Data_kai()
{ 
	uchar i; 
    for(i=0;i<30;i++)
    {
        SBUF=0X96;
        while(!TI);
        TI=0;
        SBUF=0X25;
        while(!TI);
        TI=0;        
    }   
       
}
		

/*********************************************
* 名称:     Send_Data_guan()
* 功能:     串口发送数据
* 入口参数:无
* 出口参数:无
* 注意:     此程序采用查询方式发送。
**********************************************/
void Send_Data_guan()
{ 
	uchar i;
    for(i=0;i<30;i++)
    {
        SBUF=0X86;
        while(!TI);
        TI=0;
        SBUF=0X25;
        while(!TI);
        TI=0;         
    }   
       
}
/***************************************************
* 名称:     delay(uchar i)
* 功能:     延时子程序,延时10MS
* 入口参数:i
* 出口参数:无
* 注意:     
****************************************************/
void delay(uchar i)              
{
    uchar k;
    for(;i;i--)
    {
       for(k=0;k<55;k++)             //延时1毫秒
       {
                _nop_();
				_nop_();  
       }
    }
}


/********************************************************
* 名称:     main()
* 功能:     主函数
* 入口参数:无
* 出口参数:无
* 注意:     
*********************************************************/
void main(void)
{
	INT_Ini();
	UART_Ini();
    delay(1);  
    while(1)
    {
//        TXD=0;
    	if(key_kai)
    	{ 
//            TXD=1;
    		delay(1);
        	if(key_kai)
        	{
        		Send_Data_kai();	
        	}
    	} 
    	if(key_guan)
    	{
//            TXD=1;
        	delay(1);
        	if(key_guan)
        	{
            	Send_Data_guan();            
        	}
    	}
        
	}
}

⌨️ 快捷键说明

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