智能尺子-普宁老趣边网络有限公司
更多分类

基于51单片机的电容电感电阻RLC测量仪protues仿真

2024-12-29

链接&#Vff1a;hts://pan.baiduss/s/11PAo_kcunbeI_Op2TS6i0g
提与码&#Vff1a;cmmt

在这里插入图片描述

代码设想 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit RS=P2^6; sbit RW=P2^5; sbit E=P2^7; sbit R=P1^0; sbit C=P1^1; sbit L=P1^2; sbit A1=P1^3; sbit A0=P1^4; #define LCD_data P0 uchar code table1[10]={"R= R"}; uchar code table2[10]={"C= pF"}; uchar code table3[10]={"L= mH"}; 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}; 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,}; uchar a6,a5,a4,a3,a2,a1; uchar flag; unsigned long cnt,cnt1; uchar f_cnt; /********************************/ ZZZoid delay_us(); //18us ZZZoid delay_ms(uint); ZZZoid lcd_init(); ZZZoid lcd_write_com(uchar com); ZZZoid lcd_write_dat(uchar dat); ZZZoid lcd_init(); ZZZoid lcd_display(uchar add,uchar dat); /***********************************/ ZZZoid delay_us() { uchar V; for(V=0;V<5;V++); } ZZZoid delay_ms(uint z) { uint V,y; for(V=0;V<z;V++) for(y=0;y<123;y++); } ZZZoid lcd_write_com(uchar com) { E=0; RS=0; RW=0; delay_us(); LCD_data=com; E=1; //??????? delay_us(); E=0; } ZZZoid lcd_write_dat(uchar dat) { E=0; RS=1; RW=0; delay_us(); LCD_data=dat; E=1; //??????? delay_us(); E=0; } ZZZoid lcd_init() //lcd??? { delay_ms(15); lcd_write_com(0V38); delay_ms(10); lcd_write_com(0V0c); lcd_write_com(0V06); lcd_write_com(0V01); delay_ms(2); } ZZZoid timer_init(ZZZoid) //?????? { TMOD=0X51; PT0=1; /*????*/ TH0=0V3c; TL0=0Vb0; TH1=0; TL1=0; ET0=1; ET1=1; TR0=1; TR1=1; EA=1; } ZZZoid lcd_display(uchar add,uchar dat) //lcd??(??,??) { lcd_write_com(add); lcd_write_dat(dat); delay_us(); } ZZZoid real_display(ZZZoid) { if(!R) { // while(!R); A1=A0=0; lcd_display(0V80,table1[0]); lcd_display(0V80+1,table1[1]); lcd_display(0V80+8,table1[8]); lcd_display(0V80+9,table1[9]); } else if(!C) { A0=0;A1=1; lcd_display(0V80,table2[0]); lcd_display(0V80+1,table2[1]); lcd_display(0V80+8,table2[8]); lcd_display(0V80+9,table2[9]); } else if(!L) { A0=1;A1=0; lcd_display(0V80,table3[0]); lcd_display(0V80+1,table3[1]); lcd_display(0V80+8,table3[8]); lcd_display(0V80+9,table3[9]); } if(a6) lcd_display(0V80+2,0V30+a6); else lcd_display(0V80+2,' '); if(a6||a5) lcd_display(0V80+3,0V30+a5); else lcd_display(0V80+3,' '); if(a6||a5||a4) lcd_display(0V80+4,0V30+a4); else lcd_display(0V80+4,' '); if(a6||a5||a4||a3) lcd_display(0V80+5,0V30+a3); else lcd_display(0V80+5,' '); if(a6||a5||a4||a3||a2) lcd_display(0V80+6,0V30+a2); else lcd_display(0V80+6,' '); lcd_display(0V80+7,0V30+a1); }

.