迪文科技论坛

 找回密码
 立即注册
搜索
查看: 248|回复: 5

【提问】求助帖

[复制链接]

7

主题

24

回帖

225

积分

中级会员

Rank: 3Rank: 3

积分
225
发表于 2022-3-16 17:02:33 | 显示全部楼层 |阅读模式
各位大神,我用迪文触摸屏做上位机,发送指令控制单片机继电器开合始终无法成功,请大神们帮我看看程序哪里出错了,非常感谢。
#include<reg52.h>

typedef unsigned char u8;
#define        RX_Length        64
u8         xdata RX1_Buffer[RX_Length];        //接收缓冲

sbit Y0 = P2^0;
sbit Y1 = P2^1;
sbit Y2 = P2^2;
sbit Y3 = P2^3;


                                                                                                                                                                                                                                                                 
void init()
{
        PCON=PCON|0x80;                                        //波特率倍增。配置串口波特率115200    11.52M晶振
        SCON=0x50;                                                        //十位异步收发器,波特率可变,REN位为1,允许串口接收
        TMOD=0x21;                                                //定时器0为8位自动重装定时器,定时器1为16位定时器
        TH1=0xff;
        TL1=0xe8;
        TR1=1;                                                //开定时器1.
        TH0=0xb8;                                        //10MS定时器中断
        TL0=0x00;
        TR0=1;                                                //开定时器0
        ES=1;                                                        //开串口中断
        ET0=1;                                                //定时器0中断允许位
        EA=1;
}
                                                                                                
void main(void)
{

        init();
        while(1)
        {                                
  }
}


void Uart_interrupt(void) interrupt 4                                //串口中断方式处理和触摸屏的数据交换
{
        RX1_Buffer[RX_Length]=SBUF;
        while(!RI)                                                                //接收中断
                {
                        RI=0;  
                }
                if((RX1_Buffer[0]==0x5A)&&(RX1_Buffer[1]==0xA5)&&(RX1_Buffer[3]==0x06)&&(RX1_Buffer[4]==0X83)&&
                        (RX1_Buffer[5]==0x00)&&(RX1_Buffer[6]==0x20)&&(RX1_Buffer[7]==0x01)&&(RX1_Buffer[8]==0x00))                                //按键返回
                                        {
                                                if(RX1_Buffer[8]==0x01)//Y0
                                                {
                                                        Y0 = 1;
                                                }
                                                if(RX1_Buffer[8]==0x02)//Y1
                                                {
                                                        Y0 = 0;
                                                }
                                                if(RX1_Buffer[8]==0x03)//Y2
                                                {
                                                        Y1= 1;
                                                }
                                                if(RX1_Buffer[8]==0x04)//Y3
                                                {
                                                        Y1= 0;
                                                }
                                                if(RX1_Buffer[8]==0x05)//Y4
                                                {
                                                        Y2 = ~Y2;
                                                }
                                                if(RX1_Buffer[8]==0x06)//Y5
                                                {
                                                        Y3 = ~Y3;
                                                }
                                        }
        }
回复

使用道具 举报

0

主题

1276

回帖

5290

积分

论坛元老

Rank: 8Rank: 8

积分
5290
发表于 2022-3-16 17:20:13 | 显示全部楼层
楼主的代码看起来 数据写不进这个数组, 越界了。 另外单片机的问题最好咨询专业的单片机卖家。
回复

使用道具 举报

0

主题

762

回帖

4513

积分

论坛元老

Rank: 8Rank: 8

积分
4513
发表于 2022-3-16 17:28:19 | 显示全部楼层
本帖最后由 luoyangdwin1 于 2022-3-16 17:59 编辑

http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid=300&extra=page%3D1
参考链接中的资料。
头文件要用官方的t5los8051.h。
http://inforum.dwin.com.cn:20080/forum.php?mod=forumdisplay&fid=143  视频教学

前提是上面的代码是迪文屏的。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

7

主题

24

回帖

225

积分

中级会员

Rank: 3Rank: 3

积分
225
 楼主| 发表于 2022-3-16 19:57:06 | 显示全部楼层
奥!谢谢大神回复
回复

使用道具 举报

4

主题

309

回帖

2194

积分

金牌会员

Rank: 6Rank: 6

积分
2194
发表于 2022-3-17 09:04:30 | 显示全部楼层
去看看熊家鱼老师的视频教学,里面的IO控制比较好用(我是拿来调试步进电机了~)
回复

使用道具 举报

7

主题

24

回帖

225

积分

中级会员

Rank: 3Rank: 3

积分
225
 楼主| 发表于 2022-3-17 10:59:18 | 显示全部楼层
好的,谢谢楼主提醒。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-11-23 09:51 , Processed in 0.095195 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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