µ±Ç°Î»ÖãºÊ×Ò³ > ¼òÒ×µç×è¡¢µçÈݺ͵ç¸Ð²âÊÔÒÇÉè¼Æ_±ÏÒµÉè¼ÆÂÛÎÄ
write_com(0x80); for(num=0;num<6;num++) { write_data(table[num]); delayms(5); }
delayms(2000); }
//ÑÓʱº¯Êý
void delayms(uint xms) {
uint i,j;
for(i=xms;i>0;i--) for(j=110;j>0;j--); }
//Òº¾§Ð´ÃüÁÊý
void write_com(uchar com) {
lcdrs=0; P0=com; delayms(5); lcden=1; delayms(5); lcden=0; }
//Òº¾§Ð´Êý¾Ýº¯Êý
void write_data(uchar date) {
lcdrs=1; P0=date; delayms(5); lcden=1; delayms(5); lcden=0; }
//ÉèÖÃÊý¾ÝµØÖ·Ö¸Õë //ÏÔʾ×Ö·û´®table[6]
//Êý¾ÝÏÔʾ2s
³ÌÐò2£ºµç×è¡¢µçÈݺ͵ç¸Ð²âÁ¿ÖµµÄÏÔʾ //¼òÒ×µç×è¡¢µçÈÝ¡¢µç¸Ð²âÁ¿ÒdzÌÐò
//³õʼ»¯
#include
#define uint unsigned int #define uchar unsigned char #define ulong unsigned long #define PI 3.1415926
uchar code table1[8]=%uchar table2[16]=%uchar table3[16]=%uchar table4[16]=%uchar table5[16]=\
uchar num,a=0,th0,tl0; uint C,L; ulong f,R;
sbit lcden=P2^4; //Òº¾§Ê¹ÄÜ¶Ë sbit lcdrs=P2^5; //Òº¾§Êý¾ÝÃüÁîÑ¡Ôñ¶Ë
sbit key_R=P1^5; //²âÁ¿µç×è°´¼ü sbit key_C=P1^6; //²âÁ¿µçÈݰ´¼ü sbit key_L=P1^7; //²âÁ¿µç¸Ð°´¼ü
sbit R_out=P1^2; //²âÁ¿µç×èÐźÅÊäÈë sbit C_out=P1^3; //²âÁ¿µçÈÝÐźÅÊäÈë sbit L_out=P1^4; //²âÁ¿µç¸ÐÐźÅÊäÈë
//ÉùÃ÷×Óº¯Êý
void delayms(uint xms); //ÑÓʱº¯Êý void write_com(uchar com); //Òº¾§Ð´ÃüÁÊý void write_data(uchar date); //Òº¾§Ð´Êý¾Ýº¯Êý void led_init(); //Òº¾§³õʼ»¯º¯Êý void t_init(); //¶¨Ê±Æ÷0³õʼ»¯º¯Êý void keyscan(); //¼üÅ̼ì²âº¯Êý(È·¶¨±»²âÔª¼þΪµç×è¡¢µçÈÝ»òµç¸Ð) void display_f(ulong f); //ƵÂÊÏÔʾº¯Êý void display_R(ulong R); //µç×èÏÔʾº¯Êý void display_C(uint C); //µçÈÝÏÔʾº¯Êý void display_L(uint L); //µç¸ÐÏÔʾº¯Êý
//Ö÷º¯Êý
void main() {
led_init(); t_init(); keyscan();
write_com(0x01); while(1) { display_f(f); switch(a) { case 1:R=(ulong)(5000000.0/0.6931472/f-150+0.5);display_R(R);break; case 2:C=(int)(100000000.0/153/0.6931472/f+0.5);display_C(C);break; case 3:L=(int)(1000000000000.0/0.1/PI/PI/f/f+0.5);display_L(L);break; } } }
//ÖжϺ¯Êý
void T0_count() interrupt 1 {
switch(a) {
case 1:while(R_out); while(!R_out); TH0=0; TL0=0; while(R_out); while(!R_out); th0=TH0; tl0=TL0; TR0=0; break;
case 2:while(C_out); while(!C_out); TH0=0; TL0=0; while(C_out); while(!C_out); th0=TH0; tl0=TL0; TR0=0; break; case 3:while(L_out);
while(!L_out); TH0=0; TL0=0; while(L_out); while(!L_out); th0=TH0; tl0=TL0; TR0=0; break; }
f=1000000.0/1.085069/(th0*256+tl0)+0.5; }
//ÑÓʱº¯Êý
void delayms(uint xms) {
uint i,j;
for(i=xms;i>0;i--) for(j=110;j>0;j--); }
//Òº¾§Ð´ÃüÁÊý
void write_com(uchar com) {
lcdrs=0; P0=com; delayms(5); lcden=1; delayms(5); lcden=0; }
//Òº¾§Ð´Êý¾Ýº¯Êý
void write_data(uchar date) {
lcdrs=1; P0=date; delayms(5); lcden=1; delayms(5); lcden=0; }
//Òº¾§³õʼ»¯º¯Êý
¹²·ÖÏí92ƪÏà¹ØÎĵµ