📄 fa.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 + -