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

📄 用仿真器调试简单串口接收程序.txt

📁 单片机的程序
💻 TXT
字号:
/********************************************************************/
/*试验串行口通信的例子                DieHeart.     Sep 14th,2004   */
/********************************************************************/

//这是包含默认的寄存器头文件, 
//该文件在keil自己的目录里,包含了所有52内核的寄存器定义。 
#include 

//这是特殊寄存器位定义,IO也是特殊寄存器的位
sbit key1=P3^2; 
sbit key2=P3^5;
sbit key3=P2^4;
sbit key4=P2^5;

sbit led3=P1^0;
sbit led4=P1^1;
sbit led5=P1^2;
sbit led6=P1^3;

//包含_getkey读字符库函数,
//目的是确定标准输入是否为COM口,学习与MCU51的联机通信
#include 

//这是设置串口模式的自定义函数,参数可以修改,只要与计算机的串行数据格式一致即可!
void stdio(void)
{
    SCON = 0x50;//串口工作方式设置字节,1个起始位,8个数据位,1个停止位组成10位帧
    PCON = 0x80;//波特率加倍模式
    TMOD = 0x20;//COM2:自动重置初值的8位定时/计数器
    TH1 =  0xf4;//串行口波特率发生器,=256-f/12/16/9600,f=22118400
    TR1 = 1;    //启动T1
    TI = 1;     //中断方式允许位
}

void main(void)
{
char key;
stdio();
while(1)
{
             if(!key1)     //检测key1是否按下,按下时程序会读到该位为0,平时为1
               {
               led3=0;       //点亮LED3
               led4=1;
               led5=1;
               led6=1;
               printf("1");  //串行输出字符"1"
               }
             if(!key2)     //检测key2是否按下,按下时程序会读到该位为0,平时为1
               {
               led3=1;
               led4=0;       //点亮LED4
               led5=1;
               led6=1; 
               printf("2");  //串行输出字符"2"
               }
if(RI)                       //判断串口是否收到数据
{
key=_getkey();               //读串口数据
switch(key)
      {
      case 1:                //从串口收到数据1
               {
               led3=1;
               led4=1;
               led5=0;       //点亮LED5
               led6=1;
               printf("3");  //串行输出字符"3"
               }
             break;
      case 2:                //从串口收到数据2
               {
               led3=1;
               led4=1;
               led5=1;
               led6=0;       //点亮LED6 
               printf("4");  //串行输出字符"4"
               }
             break;
       }
}
}
}

/****************************************************/
/*    使用方法:                                     */
/*    将程序下载到仿真器,并置脱机运行模式           */
/*    保持仿真器与计算机的连接状态                  */
/*    启动串口工具软件,并设置与单片机一致的波特率   */
/****************************************************/

/****************************************************/
/*    运行效果:                                     */
/*    按KEY1,LED3亮,同时计算机接收到许多字符"3"     */
/*    按KEY2,LED4亮,同时计算机接收到许多字符"4"     */
/*    OK啦,和昨天的一样!                            */
/*    从串口工具软件发送1,   ?                     */
/*    LED1亮,同时计算机接收到"1"                    */
/*    从串口工具软件发送2,                          */
/*    LED2亮,同时计算机接收到"2"                    */
/*                                                  */
/*    Hoho,OK!                                      */
/*                                                  */
/*                            ^-^  DieHeart  ^-^    */
/****************************************************/

⌨️ 快捷键说明

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