独立按键控制串口输出
没理解你的意思,你是不是就差一个串口发送程序,还是?
我的意思是:我现在的程序是: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);
}
}
}
}
// }
路过看看
路过……
看看
路过。