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

標題: 請問如何入門單片機編程知識?比如雙機通信 [打印本頁]

作者: CrazyAwei    時間: 2018-3-29 17:04
標題: 請問如何入門單片機編程知識?比如雙機通信
RT 請問如何入門單片機編程知識?比如雙機通信?
作者: angmall    時間: 2018-3-30 07:37
怎樣才能更快更好的學好單片機呢?單片機這門課是一項非常重視動手實踐的科目,而且單片機也是一門集計算機編程與電子技術為一身的學科,如果你是單片機高手,那么說明你也是計算機編程和電子技術高手。
作者: angmall    時間: 2018-3-30 09:47
  1. //雙機通信不需要安裝虛擬端口軟件 ,兩機通過TXD <==> RXD 直接通信。
  2. // 同一個程序,程序包含了收和發。
  3. //將這個程序直接考到兩個單片機上,把端口改一下就可以了嘛
  4. #include<reg51.h>
  5. #define  uchar  unsigned  char;
  6. #define         uint  unsigneed int;
  7. uchar a0,a1,a2,a3,temp,i;
  8. uchar  code tab[ ]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
  9.             
  10. sbit  P2_0=P2^0;
  11. sbit  P2_1=P2^1;
  12. sbit  P2_2=P2^2;
  13. sbit  P2_3=P2^3;

  14. void  delay(int ms)
  15. {
  16.         while(ms--)
  17.         for(i=0;i<123;i++);
  18. }

  19. void initUART()   
  20. {
  21.         TMOD=0x20;   //M1=1,M0=0 定時器1工作方式2(定時常數重裝,8 位)
  22.         SCON=0x50;   //SM0=0,SM1=1,REN=1 串口工作方式1,允許接收
  23.         TH1=0xfd;    //晶振11.0592時,波特率9600
  24.         TL1=TH1;     //TL1計數,溢出后,TH1值送入TL1
  25.         EA=1;        //開總中斷   
  26.         ES=1;        //允許串口中斷
  27.         TR1=1;       //啟動定時器1
  28. }
  29. void disp()
  30. {
  31.         a0=temp%2;
  32.         a1=temp/2%2;
  33.         a2=temp/2/2%2;
  34.         a3=temp/2/2/2%2;
  35.         P2_0=0;
  36.         P0=tab[a0];
  37.         delay(1);
  38.         P2_0=1;
  39.         P2_1=0;
  40.         P0=tab[a1];
  41.         delay(1);
  42.         P2_1=1;
  43.         P2_2=0;
  44.         P0=tab[a2];
  45.         delay(1);
  46.         P2_2=1;
  47.         P2_3=0;
  48.         P0=tab[a3];
  49.         delay(1);
  50.         P2_3=1;
  51. }       
  52. void main()
  53. {
  54.         initUART();  //調用串口初始化子程序
  55.         while(1)
  56.         {
  57.                 disp();
  58.                 SBUF=P1;
  59.                 while(TI==0);
  60.                 TI=0;
  61.         }
  62. }

  63. void UARTinterrupt() interrupt 4        
  64. {
  65.         if(RI)
  66.         {        
  67.                 RI=0;
  68.                 temp=SBUF;
  69.         }       
  70. }

復制代碼

作者: stude    時間: 2018-3-30 11:07
多看芯片手冊,多看別人的代碼,多動手debug
作者: stude    時間: 2018-3-30 11:08
多看芯片手冊,多看別人的代碼,多動手debug
作者: hemoparrot    時間: 2018-3-30 11:23
動手啊。先找兩塊單片機,或者proteus仿真。然后寫代碼。
作者: 172928042@qq.co    時間: 2018-3-30 12:11
單片機這門課是一項非常重視動手實踐的科目,而且單片機也是一門集計算機編程與電子技術為一身的學科
作者: IdeaMing    時間: 2018-3-30 12:52
通訊可以有線通訊,可以無線通訊,最簡單的有線通訊就是,單片機的一個引腳電平的高低信號,高是一個信號,低是一個信號。
作者: IdeaMing    時間: 2018-3-30 12:55
angmall 發表于 2018-3-30 09:47

你這還用了串口,雙機通訊,不只是串口,最簡單的其實是引腳的高低電平信號就是通訊了,兩個單片機引腳連一起一個收一個發,高電平一個意思,低電平一個意思。這就是通訊了。
作者: 17ZHF    時間: 2019-6-10 15:12
angmall 發表于 2018-3-30 09:47

怎么改端口我剛入門不懂




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