资源简介
单片机串口发送指令控制LED
代码片段和文件信息
#include “ioCC2530.h“
#include
#define D1 P1_4
#define D2 P1_5
#define D3 P1_6
#define D4 P1_7
typedef unsigned char uchar;
typedef unsigned int uint;
uchar str1[20]=“What is your name?“;
uchar str2[7]=“Hello “;
uchar Recdata[20];//存放串口接收数据的数组
uchar RXTXflag=1;//发送接收标志
uchar temp;//临时全局变量存放串口接收到的字符
uint datanumber = 0;//串口接收字符个数
//uint stringlen;
void Delay(int n)
{
int ij;
for(i=0;i for(j=0;j<10;j++);
}
void initUART(void)
{
CLKCONCMD &= ~0x40;
while(CLKCONSTA & 0x40);//循环等待
CLKCONCMD &= ~0x47;
PERCFG = 0x00;
P0SEL = 0x3C;
P2DIR &= ~0xC0;
U0CSR |= 0x80;
U0GCR |= 11;
U0BAUD |= 216;
UTX0IF =1;
U0CSR |= 0x40;//允许串口接收
IEN0 |= 0x84;//使能串口接收中断、总中断
}
void UartTX_Send_String(uchar *Dataint len)
{
int j;
for(j=0;j {
U0DBUF = *Data++;
while(UTX0IF==0);
UTX0IF = 0;
}
}
void main(void)
{
P1DIR |= 0xF0;
initUART();
UartTX_Send_String(str120);
while(1)
{
if (RXTXflag==1)//串口接收
{
if (temp!=0)
{
if ((temp!=‘#‘)&&(datanumber<20))
{
Recdata[datanumber++]=temp;
}
else//单片机串口接收完所有字符
{
RXTXflag=3;
//识别控制命令
switch(Recdata[0])
{
case ‘1‘:
if (Recdata[1]==‘1‘)
D1=0;
else
D1=1;
break;
case ‘2‘:
if (Recdata[1]==‘1‘)
D2=0;
else
D2=1;
break;
case ‘3‘:
if (Recdata[1]==‘1‘)
D3=0;
else
D3=1;
break;
case ‘4‘:
if (Recdata[1]==‘1‘)
D4=0;
else
D4=1;
break;
case ‘9‘:
if (Recdata[1]==‘1‘)
{
D1=D2=D3=D4=0;
}
else
{
D1=D2=D3=D4=1;
}
break;
}
}
temp=0;
}
}
if (RXTXflag==3)//串口发送
{
U0CSR &= ~0x40;
UartTX_Send_String(str26);
UartTX_Send_String(Recdatadatanumber);
U0CSR |= 0x40;
RXTXflag=1;//继续进行串口接收操作
datanumber=0;//串口接收数据的指针清零
}
}
}
//串口接收中断服务程序
#pragma vector=URX0_VECTOR
__interrupt void UART0_ISR(void)
{
URX0IF =0;
temp=U0DBUF;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 14042 2014-11-12 09:16 UARTLED\Debug\Exe\led.hex
文件 140 2014-11-12 09:16 UARTLED\Debug\Obj\led.pbd
文件 472 2014-11-12 09:28 UARTLED\Debug\Obj\led.pbi
文件 16741 2014-11-12 09:16 UARTLED\Debug\Obj\led.r51
文件 2618 2014-11-12 09:28 UARTLED\led.c
文件 2061 2014-11-12 09:28 UARTLED\led.dep
文件 34306 2014-09-28 14:27 UARTLED\led.ewd
文件 56223 2014-09-28 14:27 UARTLED\led.ewp
文件 157 2014-09-28 14:22 UARTLED\led.eww
文件 1436 2014-11-12 09:20 UARTLED\settings\led.cspy.bat
文件 5068 2014-11-11 14:55 UARTLED\settings\led.dbgdt
文件 871 2014-11-12 09:20 UARTLED\settings\led.dni
文件 2851 2014-11-12 09:16 UARTLED\settings\led.wsdt
目录 0 2014-09-28 14:49 UARTLED\Debug\Exe
目录 0 2014-09-28 14:22 UARTLED\Debug\List
目录 0 2014-11-12 09:28 UARTLED\Debug\Obj
目录 0 2014-09-28 14:49 UARTLED\Debug
目录 0 2014-09-28 14:49 UARTLED\settings
目录 0 2014-11-12 09:28 UARTLED
----------- --------- ---------- ----- ----
136986 19
- 上一篇:手机摄像头检测心率脉搏开源代码
- 下一篇:虚拟摄像头开发SDK及调用DEMO源代码
相关资源
- 串口控件注册-mscomm32.ocx
- 支持自动回复CRC16计算的串口调试助手
- F28027延时函数控制LED流水灯
- TableCellEdit.rar
- 51单片机蓝牙串口调试源代码
- XE XE6 SPcomm 串口
- Unicode串口通信Demo
- 0011、采用实时时钟芯片DS1302+AT89C205
- oled.zip
- 2878 horizontally transferred genes in rice ge
- 我国需求端创新政策绩效实证研究-
- 富士通MB95200系列MCU完整串口及I/O口演
- Reflector.FileDisassembler.zip
- 串口转以太网<
- 双串口转以太网
- LED条屏控制卡常见问题解答
- 基于S3C2440和嵌入式Linux的扩展串口设
- 基于NiosII32位处理器的LED大屏幕显示系
- 基于51的 LED点阵 音乐频谱显示原创
- 16*16点阵 51单片机 全彩LED 全套设计带
- 矿井应急无源LED照明系统设计
- 基于单片机实现智能照明控制系统的
- 单片机控制的全桥移相式LED井下照明
- 基于ZigBee和STM32的室内智能照明系统的
- 基于单片机的LED室内照明控制系统
- 基于单片机的AC LED智能照明系统设计
- LED电子显示屏通用规范标准大全
- LED电子显示屏通用规范标准
- VHDL设计的串口通信程序
- AD7616,1kHz采集频率,突发序列器模式
评论
共有 条评论