题目要求:
目标:智能控制系统——利用单片机(开发平台任选),设计并编程实现一个单片机与上位机的数传系统。
要求:对单片机和PC/手机/单片机之间的通信进行设计。如果大作业没有设计通信部分,则需要单独完成此部分内容;如果大作业中包含通信部分,则只需提交这部分内容的作为平时作业。
平台:MSP430,MCS51,STM32等皆可。
分析:
可以使用energia自带的串口函数,当按键摁下时,串口监视器显示‘A’,当PC端发送字符‘g’/‘G’,开发板的绿灯亮;发送字符‘r’/‘R’,开发板的红灯亮;
从而实现单片机和PC之间的通信。
以下是使用energia开发环境的代码。
const int LED1 = RED_LED;
const int LED2 = GREEN_LED;
const int buttonPin = PUSH2;
char inByte = '0';
int buttonState = 0;
void setup() {
Serial.begin(9600);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
digitalWrite(LED1,LOW) ;
digitalWrite(LED2,LOW) ;
}
void loop() {
buttonState = digitalRead(buttonPin);
if(buttonState == LOW){
Serial.println('A');
}
if (Serial.available() > 0) {
inByte = Serial.read();
if(inByte =='R'){
digitalWrite(LED1,HIGH) ;
delay(1000);
digitalWrite(LED1,LOW) ;
}
if(inByte =='r'){
digitalWrite(LED1,HIGH) ;
delay(1000);
digitalWrite(LED1,LOW) ;
}
if(inByte =='G'){
digitalWrite(LED2,HIGH) ;
delay(1000);
digitalWrite(LED2,LOW) ;
}
if(inByte =='g'){
digitalWrite(LED2,HIGH) ;
delay(1000);
digitalWrite(LED2,LOW) ;
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)