1612 views|0 replies

2015

Posts

0

Resources
The OP
 

Web page control 430 single chip microcomputer [Copy link]

This example uses a web page to control a single-chip microcomputer, realizing the communication between software and hardware. 1. Development Technology Hardware: 430 single-chip microcomputer; Software: jsp, servlet. 2. Development ideas We write our program on the 430 MCU, connect the MCU to the serial port, and control the 430 MCU through the serial port wizard. Then we develop a Java program to control the serial port in the servlet, which is equivalent to the previous serial port wizard. By clicking on different numbers on the web page, it is transmitted to the MCU, and different numbers are used to control the MCU to achieve different effects. 3. The program is as follows 430 microcontroller program[/ color] #include "msp430x14x.h" int a=10; unsigned char j=0x01,j2=0x00; unsigned char j1=0X80,K1=0X01;
void delay(int i)
{
  while(i--)
  {
    for(int j=0;j<125;j++);
  }
}
void main( void )
{
  WDTCTL = WDTPW + WDTHOLD;   //停止看门狗
  P2DIR=0xff;   //把p2设为输出。
  P2OUT=0xff;   //把p2设为高电平
  P3SEL|=0x30;  
  P6DIR=0xff;
  P6OUT=0xff;
  ME1|=UTXE0+URXE0;
  UCTL0|=CHAR;
  UTCTL0|=SSEL0;
  UBR00=0x0D;
  UBR10=0x00;
  UMCTL0=0x6B;
  UCTL0&=~SWRST;
  IE1|=URXIE0;
  _EINT();
  while(1)
  {
    if(a=='0')    //实现流水灯。
    {
      P2OUT=~j;
      j=j<<1;
      if(j==0X00)
          j=0x01;
      for(int i=0;i<10000;i++)
        for(int k=0;k<3;k++);
    }
if(a=='1')    //实现碰撞灯
    {
      j1=j1>>1;
      K1=K1<<1;
      if(j1==0x01)
        j1=0x80;
      if(K1==0x80)
        K1=0x01;
      P2OUT=~(j1|K1);
      for(int i=0;i<10000;i++)
        for(int k=0;k<2;k++);
    }
    if(a=='2')     //实现闪光灯
    {
      j2^=0XFF;
      P2OUT=j2;
      for(int i=0;i<10000;i++)
        for(int k=0;k<2;k++);
    }
    if(a=='3')     //实现蜂鸣器
    {
      P6OUT^=0xff;
      for(int i=0;i<10000;i++)
        for(int k=0;k<2;k++);
    }
  }
}
#pragma vector = UART0RX_VECTOR   //中断服务子程序
__interrupt void shen(void)
{
  P6OUT=0xff;     
  a=RXBUF0;
  while(!(IFG1&UTXIFG0));
     TXBUF0 = a;
     
}
Servlet程序
package filst;
import java.io.* ;
import java.util.*;  
import gnu.io.*;
public class Put{  
    InputStream inputStream;
    OutputStream outputStream;
    SerialPort serialPort;
    CommPortIdentifier portId;  
    int x0=0,x1=0,x2=0,x3=0;
    public void put(String name,int x0,int x1,int x2,int x3) {    //参数分别表示:串口号,波特率,数据位,停止位,校验位
        Enumeration portList = CommPortIdentifier.getPortIdentifiers();
        while (portList.hasMoreElements()) {  
            CommPortIdentifier temp = (CommPortIdentifier) portList.nextElement();  
            if (temp.getPortType() == CommPortIdentifier.PORT_SERIAL) {// 判断如果端口类型是串口  
                if (temp.getName().equals(name)) { // 判断如果端口已经启动就连接  
                    portId = temp;  
                }  
            }
        }
        try {  
            serialPort = (SerialPort) portId.open(name, 2000);  
            inputStream = serialPort.getInputStream();  
            outputStream = serialPort.getOutputStream();
            serialPort.setSerialPortParams(x0,x1,x2,x3);  
        } catch (Exception e) {}  
      
    }  
  
    public void send(String content){     // 发送的内容。
        try {  
            outputStream.write(content.getBytes());  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
      
    public void ClosePort() {      //关闭串口。
        if (serialPort != null) {  
          serialPort.close();  
        }  
      }  
}


jsp程序
<%@ page language="java" contentType="text/html;charset=gb2312"%>

getBytes());  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
      
    public void ClosePort() {      //关闭串口。
        if (serialPort != null) {  
          serialPort.close();  
        }  
      }  
}


jsp程序
<%@ page language="java" contentType="text/html;charset=gb2312"%>

getBytes());  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
      
    public void ClosePort() {      //关闭串口。
        if (serialPort != null) {  
          serialPort.close();  
        }  
      }  
}


jsp程序
<%@ page language="java" contentType="text/html;charset=gb2312"%>






流水灯   
Collision Light Flash 蜂鸣器









接受内容的JSP页面
<%@ page language="java" contentType="text/html;charset=gb2312"%>


<%
     student.put("COM3",9600,7,1,2);
     student.send(request.getParameter("sh"));
     student.ClosePort();
%>



This post is from Microcontroller MCU
 

Guess Your Favourite
Just looking around
Find a datasheet?

EEWorld Datasheet Technical Support

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
快速回复 返回顶部 Return list