51单片机超声波12864显示程序.docVIP

  • 11
  • 0
  • 约3.91千字
  • 约 6页
  • 2019-10-19 发布于江西
  • 举报
#include reg52.h /************************************oê?¨ò?************************************/ #define VELOCITY_30C 3495 //30é?ê??èê±μ?éù?ù£?éù?ùV= 331.5 + 0.6*???è£? #define VELOCITY_23C 3453 //23é?ê??èê±μ?éù?ù£?éù?ùV= 331.5 + 0.6*???è£? #define uchar unsigned char #define uint unsigned int sbit INPUT = P3^2; //??éù?óê????ú sbit OUTPUT = P1^5; //3?éù′¥·¢???ú sbit psb=P0^4; //????ê?′??ú?1ê?2¢?ú sbit sclk=P0^5; //e sbit std=P0^6; //r/w sbit cs=P0^7; //rs int k; uchar l; uint h,y; uchar b,c,d,e; /********************************?¨ò?±?á?oíêy×é********************************/ long int distance=0; uchar table[]=3?éù2¨2a?à?μí3; uchar table1[]=LCD12864òo?§??ê?; uchar table2[]=?àà?=; uchar table3[]=mm; uchar table4[]=.; uchar count; /***********************************oˉêyéù?÷***********************************/ extern void write_date(uchar date); extern void write_com(uchar com); extern void delay(uint x); void init(void); void xian(); void xian1(); void senddat(uchar dat1); void sendcom(uchar com); void sendbit(uchar dat1,uchar bitcnt); void Delay_xMs(unsigned int x) { unsigned int i,j; for(i = 0;i x;i++ ) { for(j = 0;j 3;j++ ) { ; } } } void delayt(uint x) { uchar j; while(x-- 0) { for(j = 0;j 125;j++) { ; } } } void Init_MCU(void) { TMOD = 0x01; //?¨ê±?÷23?ê??ˉ,éè???a16??×??ˉ??×°?£ê? TL0 = 0x66; TH0 = 0xfc; //1ms ET0 = 1; //?a?¨ê±?÷2 EA = 1; //×ü?D??ê1?ü } void Init_Parameter(void) { OUTPUT =1; INPUT = 1; count = 0; distance = 0; } void Trig_SuperSonic(void)//3?·¢éù2¨ { OUTPUT = 1; delayt(1); OUTPUT = 0; } void Measure_Distance(void) { uchar l; uint h,y; TR0 = 1; while(INPUT) { ; } TR0 = 0; l = TL0; h = TH0; y = (h 8) + l; y = y - 0xfc66;//us2?·? distance = y + 1000 * count;//????×üê±?? TL0 = 0x66

文档评论(0)

1亿VIP精品文档

相关文档