51单片机RLC测量仪程序设计 源码和proteus仿真

[复制链接]
查看1 | 回复0 | 2021-4-21 03:22:24 | 显示全部楼层 |阅读模式
RLC.pdsprj 仿真文件需要Proteus8.7以上版本才能打开,没有则可以打开Proteus软件后打开RLC.DSN文件进行仿真=
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
1.png
单片机部分源程序如下:
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5. sbit RS=P2^6;
  6. sbit RW=P2^5;
  7. sbit E=P2^7;
  8. sbit R=P1^0;
  9. sbit C=P1^1;
  10. sbit L=P1^2;
  11. sbit A1=P1^3;
  12. sbit A0=P1^4;

  13. #define LCD_data  P0                                       
  14. uchar   code  table1[10]={"R=      R"};
  15. uchar   code  table2[10]={"C=      pF"};
  16. uchar   code  table3[10]={"L=      mH"};

  17. uchar code f_table[88]={13,14,15,16,17,        18,        19,        20,        21,        22,        23,        24,        25,        26,        27,        28,        29,        30,        31,        32,        33,        34,        35,        36,        37,        38,        39,        40,        41,        42,        43,        44,        45,        46,        47,        48,        49,        50,        51,        52,        53,        54,        55,        56,        57,        58,        59,        60,        61,        62,        63,        64,        65,        66,        67,        68,        69,        70,        71,        72,        73,        74,        75,        76,        77,        78,        79,        80,        81,        82,        83,        84,        85,        86,        87,        88,        89,        90,        91,        92,        93,        94,        95,        96,        97,        98,        99,        100};
  18. uchar code f_correct[88]={9,10,        11,        12,        12,        12,        13,        14,        15,        16,        17,        18,        18,        18,        19,        20,        21,        21,        22,        23,        24,        25,        25,        26,        26,        27,        28,        29,        29,        30,        30,        31,        32,        33,        33,        34,        35,        35,        36,        37,        38,        38,        39,        40,        41,        41,        42,        42,        43,        44,        45,        45,        46,        47,        48,        49,        49,        50,        51,        51,        52,        53,        54,        54,        55,        55,        56,        57,        57,        58,        59,        60,        60,        62,        62,        63,        64,        64,        65,        66,        66,        67,        67,        68,        69,        70,        71,        71,};

  19. uchar a6,a5,a4,a3,a2,a1;
  20. uchar flag;
  21. unsigned long cnt,cnt1;
  22. uchar f_cnt;


  23. /********************************/

  24. void delay_us(); //18us
  25. void delay_ms(uint);
  26. void lcd_init();
  27. void lcd_write_com(uchar com);
  28. void lcd_write_dat(uchar dat);
  29. void lcd_init();
  30. void lcd_display(uchar add,uchar dat);
  31. /***********************************/

  32. void delay_us()
  33. {
  34.         uchar x;
  35.         for(x=0;x<5;x++);
  36. }

  37. void delay_ms(uint z)
  38. {
  39.         uint x,y;
  40.         for(x=0;x<z;x++)
  41.                 for(y=0;y<123;y++);
  42. }
  43. void lcd_write_com(uchar com)
  44. {
  45.   E=0;
  46.   RS=0;
  47.   RW=0;
  48.   delay_us();
  49.   LCD_data=com;
  50.   E=1;           //???????
  51.   delay_us();
  52.   E=0;
  53. }
  54. void lcd_write_dat(uchar dat)
  55. {
  56.   E=0;
  57.   RS=1;
  58.   RW=0;
  59.   delay_us();
  60.   LCD_data=dat;
  61.   E=1;           //???????
  62.   delay_us();
  63.   E=0;
  64. }
  65. 完整程序请下载附件查看
复制代码
仿真文件和C语言代码: RLC仿真和程序.zip (167.64 KB, 售价: 5 工控币)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则