找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2185|回復: 0
打印 上一主題 下一主題
收起左側

原創(chuàng)VB上位機控制單片機數(shù)碼管-流水燈-蜂鳴器 下位機聯(lián)合測試源程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:601620 發(fā)表于 2020-3-31 11:23 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式


單片機源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar flag,CPdata,count;
  5. sbit dula=P2^6;
  6. sbit wela=P2^7;
  7. sbit beep=P2^3;
  8. uchar code table[]={

  9.                 0x3F,  //"0"
  10.                 0x06,  //"1"
  11.                 0x5B,  //"2"
  12.                 0x4F,  //"3"
  13.                 0x66,  //"4"
  14.                 0x6D,  //"5"
  15.                 0x7D,  //"6"
  16.                 0x07,  //"7"
  17.                 0x7F,  //"8"
  18.                 0x6F,  //"9"
  19.                 0x77,  //"A"
  20.                 0x7C,  //"B"
  21.                 0x39,  //"C"
  22.                 0x5E,  //"D"
  23.                 0x79,  //"E"
  24.                 0x71,  //"F"
  25.                          };
  26. void delay1(uint z)//1ms
  27. {
  28.         uint x,y;
  29.         for(x=z;x>0;x--)
  30.                 for(y=120;y>0;y--);       
  31. }
  32. void display(uchar value)
  33. {
  34.         uchar bai,shi;
  35.         bai=value/16;
  36.         shi=value%16;

  37.         dula=1;
  38.         P0=table[bai];
  39.         dula=0;
  40.         P0=0xff;
  41.         wela=1;
  42.         P0=0xfe;
  43.         wela=0;
  44.         delay1(1);

  45.         dula=1;
  46.         P0=table[bai];
  47.         dula=0;
  48.         P0=0xff;
  49.         wela=1;
  50.         P0=0xfd;
  51.         wela=0;
  52.         delay1(1);

  53.         dula=1;
  54.         P0=table[bai]|0x80;
  55.         dula=0;
  56.         P0=0xff;
  57.         wela=1;
  58.         P0=0xfb;
  59.         wela=0;
  60.         delay1(1);

  61.         dula=1;
  62.         P0=table[shi];
  63.         dula=0;
  64.         P0=0xff;
  65.         wela=1;
  66.         P0=0xf7;
  67.         wela=0;
  68.         delay1(1);

  69.         dula=1;
  70.         P0=table[shi];
  71.         dula=0;
  72.         P0=0xff;
  73.         wela=1;
  74.         P0=0xef;
  75.         wela=0;
  76.         delay1(1);

  77.         dula=1;
  78.         P0=table[shi];
  79.         dula=0;
  80.         P0=0xff;
  81.         wela=1;
  82.         P0=0xdf;
  83.         wela=0;
  84.         delay1(1);
  85. }
  86. void init()
  87. {
  88.         TMOD=0x20;//設置定時計數(shù)器T1為工作方式2,8位自動重裝
  89.         TH1=0xfd;//此溢出率為波特率9600
  90.         TL1=0xfd;
  91.         TR1=1; //啟動定時器1
  92.         SM1=1; //設置串口工作方式1,10位異步收發(fā)器
  93.         REN=1; //允許串口接受位
  94.         EA=1;  //開總中斷
  95.         ES=1;  //開串口中斷
  96. }
  97. void main()
  98. {
  99.         init();
  100.         while(1)
  101.         {
  102.                 display(CPdata);
  103.                 if(CPdata==0xeb)
  104.                   beep=0;
  105.                 else
  106.                         beep=1;
  107.                 if(flag==1)
  108.                 {
  109.                         ES=0;
  110.                         flag=0;
  111.                         SBUF=CPdata;
  112.                         while(!TI);
  113.                         TI=0;
  114.                         ES=1;
  115.                 }       
  116.         }
  117. }
  118. void timer3() interrupt 4        //串口中斷
  119. {
  120.         RI=0;
  121.         P1=SBUF;
  122.         CPdata=SBUF;
  123.         flag=1;
  124. }
復制代碼

所有資料51hei提供下載:
原創(chuàng)VB上位機控制數(shù)碼管-流水燈-蜂鳴器.zip (106.69 KB, 下載次數(shù): 25)


評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

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