#include<ioCC2530.h>
#define D3 P1_0
#define D4 P1_1
#define D5 P1_3
#define D6 P1_4
#define uint unsigned int
#define uchar unsigned char
/*设置晶振
目标:系统时钟源和时钟32MHz,并且设置定时器标记输出为32MHz*/
void Set_Clock_32M()
{
CLKCONCMD &= ~0x40;
while((CLKCONSTA & 0x40) == 0x40);
CLKCONCMD &= ~0x7f;
}
/*端口初始化
目标:对LED3,4,5,6设为通用I/O,输出,并关闭LED灯*/
void Init_Port()
{
P1SEL &= ~0x1b;
P1DIR |= 0x1b;
P1 &= ~0x1b;
}
/*初始化USART0*/
void Init_Uart0()
{
PERCFG &= ~0x01; //设置USART0的I/O位置为备用位置1
P0SEL |= 0x0c; //对P0_2,P0_3设置为外设功能
U0BAUD = 59; //设置波特率为32MHz,9600
U0GCR = 8;
U0CSR |= 0xc0; //设置USART0为UART模式、开启UART接收器使能
U0UCR |= 0x80; //清空USART0单元
UTX0IF = 0; //清空USART0写标志
URX0IF = 0; //清空USART0读标志
URX0IE = 1; //USART0中断使能
EA = 1; //总中断使能
}
/*USART0按字节发送数据
功能:向上位机发送数据
方法:接受到的数据向U0DBUF赋值来传输到上位机,等待UTX0IF置1(等待发送完毕)后清0,在循环传输下一个字符*/
void UR0_SendByte(uchar sdata)
{
U0DBUF = sdata;
while(UTX0IF == 0);
UTX0IF = 0;
}
/*USART0按字符发送数据*/
void UR0_SendString(uchar *str)
{
while(*str != '\0')
{
UR0_SendByte(*str++);
}
}
/*URX0中断服务函数
功能:接收上位机发送的数据(数据在U0DBUF中)*/
uint count=0; //定时器秒钟计数
uchar SelectType = 0; //命令行选择类型(跑马灯/闪烁)
#pragma vector = URX0_VECTOR
__interrupt void Service_URX0Recv()
{
switch(U0DBUF)
{
case 0xD1:D4 = 1;UR0_SendString("红灯已同步开启!\n");break;
case 0xD2:D4 = 0;UR0_SendString("红灯已解除报警!\n");break;
case 0xE1:D3 = 1;UR0_SendString("绿灯已同步开启!\n");break;
case 0xE2:D3 = 0;UR0_SendString("绿灯已同步关闭!\n");break;
case 0xF1:D6 = 1;UR0_SendString("行人闯红灯!\n");break;
case 0xF2:D6 = 0;UR0_SendString("行人无违规!\n");break;
case 0xAA:D3 =D4=D6= 1;UR0_SendString("红灯、绿灯、报警灯都已同步开启\n");break;
case 0x00:D3 =D4=D6= 0;UR0_SendString("红灯、绿灯、报警灯都已同步关闭\n");break;
}
}
void main()
{
Set_Clock_32M();
Init_Port();
Init_Uart0();
while(1);
}
没有合适的资源?快使用搜索试试~ 我知道了~
物联网技术应用于维护国赛单片机开发——串口收发.rar
共14个文件
ini:1个
r51:1个
ewd:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 5 下载量 166 浏览量
2022-07-09
10:22:34
上传
评论 4
收藏 22KB RAR 举报
温馨提示
2、CC2530单片机开发 找到 1 块 ZigBee(黑色)模块,编码实现通过串口服务器控制zigbee模块板上LED灯功能: 任务要求: 黑色ZigBee模块板上电运行时,D5点亮,D4、D3、D6皆熄灭 。 ZigBee模块通过DB9公头转接端子线,使用TCP模式连接串口服务器COM2接口。 工作站电脑开启网络调试工具,通过TCP模式访问串口服务器COM2口。 工作站发送0xD1,zigbee模块上D4灯亮,工作站收到"红灯已同步开启!"回复信息(注意回复信息带回车换行)。 工作站发送0xD2,zigbee模块上D4灯灭,工作站收到"红灯已解除报警! "回复信息(注意回复信息带回车换行)。 工作站发送0xE1,zigbee模块上D3灯亮,工作站收到"绿灯已同步开启! "回复信息(注意回复信息带回车换行)。 工作站发送0xE2,zigbee模块上D3灯灭,工作站收到"绿灯已同步关闭! "回复信息(注意回复信息带回车换行)。 工作站发送0xF1,zigbee模块上D6灯亮,工作站收到"行人闯红灯! "回复信息(注意回复信息带回车换行)。 。。。。
资源推荐
资源详情
资源评论
收起资源包目录
串口收发.rar (14个子文件)
串口收发
tly.eww 157B
tly.ewd 33KB
Untitled1.c 2KB
tly.ewp 55KB
tly.dep 2KB
settings
tly.wsdt 2KB
tly.dni 835B
tly.dbgdt 3KB
tly.cspy.bat 1KB
sscom.ini 1KB
Debug
List
Exe
tly.d51 14KB
tly.hex 3KB
Obj
tly.pbd 137B
Untitled1.r51 17KB
共 14 条
- 1
资源评论
- 编程浪2022-08-19资源和描述一致,质量不错,解决了我的问题,感谢资源主。
- xia_bayern2023-02-28内容与描述一致,超赞的资源,值得借鉴的内容很多,支持!
- m0_749343932022-11-15超级好的资源,很值得参考学习,对我启发很大,支持!
- liudy9112024-01-18资源有很好的参考价值,总算找到了自己需要的资源啦。
- lhshengshi2022-11-02感谢大佬分享的资源,对我启发很大,给了我新的灵感。
小橙子物联
- 粉丝: 115
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功