找回密碼
         注冊會員
        搜索附件  

        代碼.zip

         

        高手請進~~請教關于定時器和串口收發的問題:
        /***********************************************************************
        要求:? ? ? ? 首先由單片機發送"please input numner: ",在通過串口助手發送4
        然后單片機接收后燈亮四秒;
        ***********************************************************************/
        #include<reg52.h>
        #include<intrins.h>
        #define uchar unsigned char
        #define??uint unsigned int
        sbit??LED=P0^0;
        void??Com_Init(void);
        void? ?transmit(void);
        void? ? receive_then_ring(void);
        uchar idata trdate[]= "please input numner: " ;
        uchar??IntCount=0;? ? ? ? ? ? ? ? // 宣告IntCount變數,計算T0中斷次數
        uchar seconds=0;
        main()
        {
        ? ? ? ? Com_Init();
        ? ? while(1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???
        ? ? ? ? {
        ? ? ? ? ? ? ? ? while(1)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???//發送
        ? ? ? ? ? ? ? ? {
        ? ? ? ? ? ? ? ???transmit();
        ? ? ? ? ? ? ? ???break;
        ? ? ? ? ? ? ? ? }
        ? ? ? ? ? ? ? ? while(1)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //接收
        ? ? ? ? ? ? ? ? {
        ? ? ? ? ? ? ? ?? ?receive_then_ring();
        ? ? ? ? ? ? ? ?? ?ET0=1;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???? ? ? ? //開T0中斷
        ? ? ? ? ? ? ? ?? ?break;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
        ? ? ? ? ? ? ? ???}
        ? ? ? ? ? ? ? ? while(1)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //響鈴
        ? ? ? ? ? ? ? ?? ? {? ? ? ?
        ? ? ? ? ? ? ? ?? ?? ?? ?TR1 = 0;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???//關閉TIMER1
        ? ? ? ? ? ? ? ?? ? ? ? ? ?? ???TR0= 1;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???//啟動TIMER0 ? ? ? ?
        ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? while(1);
        ? ? ? ? ? ? ? ?? ? }? ? ? ?
        ? ? ? ? }
        }

        void timer0(void) interrupt 1? ? ? ? // T0中斷子程序開始
        {? ? ? ? ? ? ? ?
        ? ? TH0=(65536-50000)/256;? ? ? ?
        ? ? ? ? TL0 =(65536-50000)%256;? ? ? ? ? ? ? ? ? ? ? ? // 設置T0計數量高8位元、低8位元
        ? ? ? ?? ?IntCount++;? ? ? ?
        ? ? ? ? if (IntCount==20)? ? ? ? ? ? ? ? ? ? ? ? // 若T0已中斷20次數,即一秒
        ? ? ? ? {? ? ? ? IntCount=0;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // 重新計次
        ? ? ? ? ? ? ? ? seconds++; ? ? ? ?
        ? ? ? ???if (seconds==5)
        ? ? ? ???{? ? ? ???LED=1;
        ? ? ? ? ? ? ? ???TR0= 0;? ? ? ?
        ? ? ? ?? ?}
        ? ? ? ? }
        }


        void??Com_InitT1(void)
        {
        ? ? ? ???EA=1;? ? ? ? ? ? ? ? ? ? ? ?? ? //開總中斷EA=1
        ? ? ? ???ES=1;? ?? ?? ?? ?? ? //串行口中斷? ? ? ???
        ? ? ? ???ET1=1;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???//開T1中斷
        ? ???TMOD = 0x21;? ? ? ? ? ? ? ? ? ? ? ? //將定時器1設置為Mode2以產生波特率;TO=mode1
        ? ???PCON = 0x00;? ? ? ? ? ? ? ? ? ? ? ???//SMOD為0
        ? ???SCON = 0xd8;? ? ? ? ? ? ? ? ? ? ? ?? ?//串行口設置為方式3
        ? ? ? ???TH0=(65536-50000)/256;? ? ? ?
        ? ? ? ???TL0=(65536-50000)%256;
        ? ???TH1 = 0xFd;? ? ? ? ? ? ? ? ? ? ? ???//波特率9600
        ? ???TL1 = 0xFd;
        ? ???TR1 = 1;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???//啟動TIMER1
        }


        void??transmit(void)
        {? ? ? ?? ?uchar *p;
        ? ? ? ?? ?p=trdate;
        ??while((*p)!='\0')? ? ? ?
        ? ? ? ? ? ? ? ???{
        ? ? ? ? ? ? ? ? ? ? ? ???SBUF=*p;
        ? ? ? ? ? ? ? ? ? ? ? ???while(TI==0);? ? ? ? ? ? ? ? ? ? ? ? //為發送完,等待
        ? ? ? ? ? ? ? ? ? ? ? ???TI=0;
        ? ? ? ? ? ? ? ? ? ? ? ???_nop_();
        ? ? ? ? ? ? ? ? ? ? ? ???++p;
        ? ? ? ? ? ? ? ???}
        }


        void? ?receive_then_ring(void)
        {
        ? ? ? ?? ? uchar a;
        ? ? ? ?? ? while(RI==0);
        ? ? ? ?? ? RI=0;
        ? ? ? ?? ? a= SBUF;? ?? ? /*接收到的字節,立即發送出去*/
        ? ? ? ?? ???_nop_();
        ? ? ? ?? ? SBUF=a;
        ? ? ? ?? ? while(TI==0);
        ? ? ? ?? ? TI=0;
        ? ? ? ?? ? LED=0;
        }

        為什么定時器,串口收發都沒反應?程序沒錯的呀~~請高手指教
        代碼.zip (24.56 KB)


        QQ|手機版|MCU資訊論壇 ( 京ICP備18035221號-2 )|網站地圖

        GMT+8, 2025-5-4 19:28 , Processed in 0.039991 second(s), 8 queries , Redis On.

        Powered by Discuz! X3.5

        © 2001-2025 Discuz! Team.

        返回頂部
        国产精品国产三级国产专播| 亚洲国产精品成人精品无码区在线| 亚洲精品高清无码视频| 精品一区二区三区四区| 台湾佬综合娱乐网| 精品a在线观看| 精品福利资源在线| 久久夜色精品国产噜噜麻豆| 久久久久久久久久久免费精品| 日韩人妻无码精品久久久不卡 | 久久精品国产精品亚洲艾草网美妙| 久久久精品一区二区三区| 欧美人与性动交α欧美精品成人色XXXX视频 | 欧美亚洲色综久久精品国产| 国产精品一区二区不卡| 99久久伊人精品综合观看| 免费看美女隐私部位| 日本精品一区二区三区在线视频| 国产亚洲精品美女久久久| 亚洲国产精品无码久久久秋霞2| 三级在线免费观看| 亚洲精品成人片在线观看| 精品无码三级在线观看视频| 亚洲国产精品婷婷久久| 青青草精品视频| 中文字幕成人精品久久不卡| 国产一成人精品福利网站| 精品久久久久中文字幕一区| 精品午夜福利1000在线观看| 亚洲欧洲精品无码AV| 久久久无码人妻精品无码| 国产精品 日韩欧美| 99热精品久久只有精品| 亚洲视频在线精品| 国产av无码专区亚洲国产精品 | 亚洲精品视频在线| 一本久久精品一区二区| 国产精品视频第一页| 中文字幕在线视频不卡| 一级做性色a爰片久久毛片| 一二三四观看在线视频中文|