欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 請教個單片機串口通信和定時器問題 [打印本頁]

作者: jiesz185    時間: 2024-5-26 17:09
標題: 請教個單片機串口通信和定時器問題
本人小白一枚,如圖這個題請問流水閃爍各1s用定時器這一步和兩機串口通信怎么聯系到一塊,謝謝大佬,麻煩詳細點謝謝(求求詳細點代碼)

51hei圖片20240526170935.png (58.88 KB, 下載次數: 22)

51hei圖片20240526170935.png

作者: jiesz185    時間: 2024-5-26 17:11
用的Proteus仿真的
作者: cy009    時間: 2024-5-27 10:42
U1發送按鍵標志碼,U2接收標志碼,定時器+流水燈。各個擊破,難度不大。
作者: jiesz185    時間: 2024-5-27 14:31
cy009 發表于 2024-5-27 10:42
U1發送按鍵標志碼,U2接收標志碼,定時器+流水燈。各個擊破,難度不大。

哥不會寫了幫忙改一下唄謝謝

1.png (10.68 KB, 下載次數: 28)

1.png

2.jpg (60.32 KB, 下載次數: 26)

2.jpg

3.png (10.59 KB, 下載次數: 27)

3.png

作者: yzwzfyz    時間: 2024-5-27 16:22
這是兩碼事。
兩機串行通訊,只要開啟雙方的串行中斷,通訊時,約幾ms中斷一次,完成一個字節的交流。
流水閃爍中人用定時器,每間隔1S處理一下顯示就行了。

作者: lkc8210    時間: 2024-5-27 23:16


作者: xiaobendan001    時間: 2024-5-28 07:23
就兩個狀態,用啥串口啊,兩個腳各自表示一個狀態就行了啊。把兩個按鍵傳遞到P30和P31就行了吧
作者: 炸掉的電容    時間: 2024-5-30 17:04
第一個ic發送控制信息  0x01 0x02 第二個ic收到后執行 定時器里設定1秒標志位 用for循環
作者: cy009    時間: 2024-5-30 21:25
jiesz185 發表于 2024-5-27 14:31
哥不會寫了幫忙改一下唄謝謝

流水燈程序不要放在U1,U1只負責發送按鍵信息,流水燈程序由U2負責。
作者: xianfajushi    時間: 2024-6-13 14:24
昨天寫了一個非定時的串口實現運行如上圖

1.gif (226.07 KB, 下載次數: 19)

1.gif

作者: xianfajushi    時間: 2024-6-13 14:27
void CKSZ()
{
        SCON=0X50;//串口模式1允許接收
        TMOD=0X21;//T1工作模式2
        PCON=0X00;//波特率不倍增
        TH1=TL1=0XFD;//波特率9600
        TI=RI=0;
        TR1=1;
        IE=0X90;//允許串口中斷
        TH0+=0Xdc;//定時器賦初值,定時10ms觸發中斷,自動補償方式
        TL0+=0X00;
        TR0=1; //啟動定時器T0。
        ET0=1; //開啟定時器
        EA=1; //全局中斷開關
}
void ZhongDuan() interrupt 1
{
        ++Js;
        TH0+=0Xdc;
        TL0+=0X00;
}

————————————————

                            版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
                        
原文鏈接:https://blog.csdn.net/xianfajushi/article/details/139632525
作者: xianfajushi    時間: 2024-6-13 14:34
想要看就干脆看個明白從非定時轉定時代碼基本一樣。
#include "reg52.h"
unsigned char code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0,64}; //共陰0~F消隱減號
sbit k1=P3^4;
sbit k2=P3^5;
sbit k3=P3^6;
sbit k4=P3^7;
bit k=0,kk=0;
void CKF(unsigned char C)
{//向串口發送數據
        SBUF=C;
        while(!TI);
        TI=0;
}
void CKS() interrupt 4
{//串口接收數據
        if(RI)
        {
                RI=0;
                if(SBUF=='S'){k=1;kk=0;}
                if(SBUF=='X'){k=0;kk=1;}
                if(SBUF=='L'){k=kk=0;}
        }
}
void CKSZ()
{
        SCON=0X50;//串口模式1允許接收
        TMOD=0X20;//T1工作模式2
        PCON=0X00;//波特率不倍增
        TH1=TL1=0XFD;//波特率9600
        TI=RI=0;
        TR1=1;
        IE=0X90;//允許串口中斷
}
void main()
{//緣由https://ask.csdn.net/questions/8117223
        unsigned char Xd=0,ls=0,ys=0,sy=0,sm=0;
        CKSZ();
        while(1)
        {
                if(++ys==0)
                {
                                if(++sy==0)
                                {
                                        if(k)
                                        {
                                                if(ls)ls*=2;else ls=1;
                                                if(sm<9)++sm;else sm=0;
                                        }
                                        if(kk)
                                        {
                                                if(ls)ls/=2;else ls=128;
                                                if(sm)--sm;else sm=9;
                                        }
                                        if(k==kk)ls=k;
                                }
                        P1=ls;//流水燈
                        P2=smgduan[sm];//靜態數碼管
                }
                if(!k1&&!++Xd)
                {
                        CKF('S');
                        while(!k1);
                }
                if(!k2&&!++Xd)
                {
                        CKF('X');
                        while(!k2);
                }
                if(!k3&&!++Xd)
                {
                        CKF('L');
                        while(!k3);
                }
        }
}
https://blog.csdn.net/xianfajushi/article/details/139620581




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1