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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4331|回復: 4
收起左側

單片機與PC機串口通訊Proteus仿真程序

[復制鏈接]
ID:762393 發表于 2020-12-11 20:59 | 顯示全部樓層 |閱讀模式
單片機與PC機串口通訊仿真,包含程序和仿真圖
51hei.png

單片機源程序如下:
  1. /***************   writer:shopping.w   ******************/
  2. #include <reg52.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. uchar Receive_Buffer[101];
  6. uchar Buf_Index = 0;
  7. uchar code DSY_CODE[]=
  8. {
  9.         0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00
  10. };

  11. void Delay(uint x)
  12. {
  13.         uchar i;
  14.         while(x--)
  15.         {
  16.                  for(i=0;i<120;i++);
  17.         }
  18. }

  19. void main()
  20. {
  21.         uchar i;
  22.         P0 = 0x00;
  23.         Receive_Buffer[0]=i;
  24.         SCON = 0x50;
  25.         TMOD = 0x20;
  26.         PCON = 0x00;
  27.         TH1  = 0xfd;
  28.         TL1  = 0xfd;
  29.         EA   = 1;
  30.         EX0  = 1;
  31.         IT0  = 1;
  32.         ES   = 1;
  33.         IP   = 0x01;
  34.         TR1  = 1;
  35.         while(1)
  36.         {
  37.                  for(i=0;i<100;i++)
  38.                 {
  39.                          if(Receive_Buffer[i]==-1)
  40.                                 break;
  41.                         P0 = DSY_CODE[Receive_Buffer[i]];
  42.                         Delay(200);
  43.                 }
  44.                 Delay(200);
  45.         }
  46. }

  47. void Serial_INT() interrupt 4
  48. {
  49.         uchar c;
  50.         if(RI==0)
  51.                 return;
  52.         ES = 0;
  53.         RI = 0;
  54.         c  = SBUF;
  55.         if(c>='0' && c<='9')
  56.         {
  57.                  Receive_Buffer[Buf_Index]=c-'0';
  58.                 Receive_Buffer[Buf_Index+1]=-1;
  59.                 Buf_Index = (Buf_Index+1)%100;       
  60.         }
  61.         ES = 1;
  62. }

  63. void EX_INT0() interrupt 0
  64. {
  65.         uchar *s = ("Receiving From 8051...\r\n");
  66.         uchar i = 0;
  67.         while(s[i]!='\0')
  68.         {
  69.                  SBUF = s[i];
  70.                 while(TI == 0);
  71.                 TI = 0;
  72.                 i++;
  73.         }
  74. }
復制代碼

所有資料51hei提供下載:
單片機與PC機串口通訊仿真.zip (35.02 KB, 下載次數: 91)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:691185 發表于 2021-2-8 15:29 | 顯示全部樓層
有沒有更加詳細的注釋呢
回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:639169 發表于 2021-3-3 19:19 | 顯示全部樓層
開啟仿真啥都沒有

評分

參與人數 1黑幣 +13 收起 理由
51hei團團 + 13

查看全部評分

回復

使用道具 舉報

ID:328014 發表于 2021-3-4 15:23 | 顯示全部樓層
2676681386 發表于 2021-3-3 19:19
開啟仿真啥都沒有

肯定沒有啊,你看這個函數void Serial_INT() interrupt 4,串口中斷以后 置一才有顯示,,你得向pc發送一個字符才顯示
回復

使用道具 舉報

ID:483407 發表于 2021-12-24 17:02 | 顯示全部樓層
仿真時,向PC發送,PC收到“D5 E2 CA C7 D3 C9 38 30 35 31 B7 A2 CB CD B5 C4 D7 D6 B7 FB B4 AE 21 0D 0A ”。從PC發送時,一次只能發一個ASCII,如41,則VT1顯示“A"
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表