微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 独立按键控制串口输出

独立按键控制串口输出

时间:10-02 整理:3721RD 点击:
我自己编了,独立按键控制,0到50输出的程序,0到50一直循环输出,一按键就停止,但我想让一按键,就从停那个数值开始发送,该怎么 写程序,望高手指点!

没理解你的意思,你是不是就差一个串口发送程序,还是?

我的意思是:我现在的程序是:PC机向串口自动发送0到50的数据,而且一直循环,但我想设置一个按键,只要一按,就可以从停那个数字开始到50一直循环。我不知道这个按键往哪设?
才能达到目标。

可以用中断来实现吧?,把按钮接在int0或int1,新手,说错见谅啊

没事的,我可以试试,我也是新手,一起努力吧。

下面这个程序,只能循环发送0到4,若在串口助手上显示0,1,2,后我按下键,他就能从2到4,一直循环,该怎么改,我困惑好久了。谢谢大家了。
/*
* Copyright (c) 2011,
* All rights reserved.
*
* 当前版本:1.0
* 作者:杨永贞QQ534117529
* 开始日期:2011年8月10日
*
*/
#include <intrins.h>
#include <reg51.h>
#include"uart.h"
#include<hc595.h>   
sbit key1=P3^2;
uint i,dat,j;
extern uint num;
//void delay(unsigned char time);
//uchar key1;
//-------------------------------------------射频芯片相关定义--------------------------------
/////////////////////////////////////////////////////////////////
//  RF4432_SDI=1;  //SPI数据输入
//  RF4432_SCLK=1;  //SPI时钟输入端口
//  RF4432_SEL=1;  //SPI片选
//  RF4432_SDI=0;  //SPI数据输入
//  RF4432_SCLK=0;  //SPI时钟输入端口
//  RF4432_SEL=0;  //SPI片选
////////////////////////////////////////////////////////////////////
void delay(uint z)
{
int x,y;
for(x=110;x>0;x--)
   for(y=z;z>0;z--);
}
void main(void)
{
   
UART_Init();
    Time1_Init();
num++;
while(1)
{  
      
     
if(num==130)
  {
   num=0;
   
   
  
   
      
   for(i=0;i<5;i++)
   {
  
     
   
//   
//    {
     
      
     switch(i)
     {
     case 1: UART_Send_Str("0\n,");break;
     case 2: UART_Send_Str("1\n,");break;
     case 3: UART_Send_Str("2\n,");break;
     case 4: UART_Send_Str("3\n,");break;
     }
     }
      
       if(!key1)
     {
     delay(10);
      for(j=0;j>i;j++);
     while(!key1);
              }
   }
      }
   }
// }

路过看看

路过……

看看

路过。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top