讲的比较仔细,初学者有可能说教程单片机比较老了.我们学习的是思路.
国产的51单片机 增强型51比较多些. 模块功能的寄存器稍作修改就可以.
例如:赛元的SC92F8003
/*
*****************************************************
* 文件名: main.c
* 备注: 主函数
* 测试功能 :C语言学习程序 P15发送数据
UART0 串口发送数据后,占小部分data,其它IO资源释放
//--sc92f8003.h--
//P1PH |= 0x20; // P15 上拉使能(测试上拉可用可不用)
SCON |= 0x50; //模式1 10位全双工;允许接收
tmp = 16000000L / 9600; //
//--使用定时器1--
//T2CON &= 0xCF; //选择定时器1(默认)
TH1 = (u8)(tmp >> 8); //定时器1计数器的 高8位
TL1 = (u8) tmp; // //定时器1计数器的 低8位
//IPUART = 1; // 串口高优先级 使能
//EA = 1; //使能总中断
//EUART = 0; //串口中断 使能
//TI = 0;
//--注销部分开始---
* 测试功能:UART0串口功能 IO输入(P17 P00 P01) 输出(P12 P13 P14)
* 功能说明:
* 硬件资源:
//芯片设置内部时钟 16MHZ ,看门狗除能 低电压2.9V 复位脚做 P17IO
// sbit LED1 = P1^2; // LED口
// sbit LED2 = P1^3; //
// sbit LED3 = P1^4; //
// sbit KEY_INPUT1 = P1^7; // 按键口
// sbit KEY_INPUT2 = P0^0; //
// sbit KEY_INPUT3 = P0^1; //
// UART0 串口
// ConfigUART0(0,9600); //-串口配置参数-引脚 P15(TX0) P16(RX0)
// // ConfigUART0(1,9600); //串口配置参数-引脚 P20(TX0A) P11(RX0A)
//--注销部分结束---
*
**