找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1026|回复: 3
打印 上一主题 下一主题
收起左侧

求助,单片机初学者大家可以帮忙解释下这段代码的意思嘛?

[复制链接]
跳转到指定楼层
楼主
ID:1023023 发表于 2022-4-30 21:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
初学者,大家可以帮忙解释下这段代码嘛
#include <reg51.h>
#define uchar unsigned char
#define NODE1_ADDR 1
#define NODE2_ADDR 2
uchar KeyValue=0;
uchar code str[]="0123456789ABCDEF";//将定义的数据放入rom
uchar pointer_1=0,pointer_2=0;
void delay(uchar time)
{
uchar i,j;
for(i=0;i<130;i++)
for(j=0;j<time;j++);
}
void proc_key(uchar node_number)
{
delay(200);
SCON=0xc0;//串口初始化
TMOD=0x20;
TH1=TL1=0xfd;
TR1=1;
TB8=1;
SBUF=node_number;//发送数据
while(TI==0);
TI=0;
TB8=0;
switch(node_number)
{
case 1:
{
SBUF=str[pointer_1++];
if(pointer_1>=16)
pointer_1=0;
break;
}
case 2:
{
SBUF=str[pointer_2++];
if(pointer_2>=16)
pointer_2=0;
break;
}
default:break;
while(TI==0);
TI=0;
}
}
void main(void)
{
while(1)
{
P1=0xff;
while(P1==0xff);
switch(P1)
{
case 0xfe:proc_key(NODE1_ADDR);break;
case 0xef:proc_key(NODE2_ADDR);break;
}
}
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:94031 发表于 2022-5-1 07:18 | 只看该作者
看main函数就知道,在p1口接按键,当p1口等于0xfe执行proc_key(NODE1_ADDR)函数,当p1口等于0xef执行proc_key(NODE2_ADDR)函数。
回复

使用道具 举报

板凳
ID:390416 发表于 2022-5-1 08:40 | 只看该作者
单片机发送到串口助手,以及串口助手显示到LCD1602
http://www.51hei.com/bbs/dpj-214747-1.html

单片机串口1打印程序 可以打印3个十六位的变量 波特率9600
http://www.51hei.com/bbs/dpj-201660-1.html
回复

使用道具 举报

地板
ID:121859 发表于 2022-5-1 11:04 | 只看该作者
串口发送每个按键键值及其按下的次数。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表