标题: VB温度曲线绘制 上位机和下位机单片机源码 [打印本页]

作者: cvhnh    时间: 2016-12-18 16:59
标题: VB温度曲线绘制 上位机和下位机单片机源码
VB温度曲线绘制


上位机vb源码:
xine001_vb.zip (5.13 MB, 下载次数: 116)

下位机单片机源程序:
xine001_keil.zip (18.13 KB, 下载次数: 80)

单片机部分源码预览:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #include <stdio.h>

  4. #define port_ad P2

  5. sbit ad_A=P0^0;
  6. sbit ad_B=P0^1;
  7. sbit ad_C=P0^2;
  8. sbit ad_ale=P0^3;
  9. sbit ad_st=P0^5;
  10. sbit ad_eoc=P0^6;
  11. sbit ad_oe=P0^7;

  12. unsigned char flag_com,ff,aa;
  13. float ff1;

  14. //void delayms(unsigned int x)
  15. //{
  16. //        unsigned int i,j;
  17. //        for(i=x;i>0;i--)
  18. //                for(j=110;j>0;j--);                          //11.0592MHz
  19. //}


  20. unsigned char get_ad()
  21. {
  22.         unsigned char val;
  23.         ad_oe=0;
  24.         ad_st=0;
  25.         ad_eoc=1;
  26.         ad_st=1;
  27.         _nop_();
  28.         ad_st=0;
  29.         while(ad_eoc);
  30.         while(!ad_eoc);
  31.         //delayms(1);
  32.         port_ad=0xff; //准双向
  33.         ad_oe=1;
  34.         _nop_();
  35.         val=port_ad;
  36.         _nop_();
  37.         ad_oe=0;
  38.         return val;
  39. }

  40. void init_com()
  41. {
  42.         TMOD=0x20;        //T1方式2
  43.         TH1=0xfd;TL1=0xfd; //T1->波特率9600bps
  44.         TR1=1;
  45.         SCON=0x50;//scon:sm0,sm1,sm2,ren,...
  46.         EA=1;ES=1;
  47. }

  48. void init_ad()
  49. {
  50.         ad_C=0;ad_B=0;ad_A=0; //ADC0809通道1
  51.         ad_ale=0;
  52.         _nop_();
  53.         ad_ale=1;
  54. }

  55. void main()
  56. {
  57.    init_com();
  58.    init_ad();
  59.         while(1)
  60.         {
  61.                 if(flag_com==1)
  62.                 {
  63.                         ES=0;
  64.                         flag_com=0;
  65.                         ff=get_ad();
  66.                         ff1=(float)ff*100.0/256.0;
  67.                         TI=1;
  68.                         printf("%4.1f",ff1);
  69.                         while(!TI);
  70.                         TI=0;
  71.                         ES=1;
  72.                 }
  73.         }
  74. }

  75. void serial() interrupt 4
  76. {
  77.         if(RI)
  78.         {
  79.                 RI=0;
  80.                 aa=SBUF;
  81.                 flag_com=1;
  82.         }
  83. }
复制代码



作者: admin    时间: 2017-1-3 21:42
51黑有你更精彩!!!

作者: 关中小河    时间: 2017-11-4 17:15
不错的设计,学习学习
作者: helloweini    时间: 2018-7-28 19:58
好东西学习了
作者: chinabj2019    时间: 2019-7-11 21:54
精彩!下载学习。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1