找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2445|回復(fù): 4
收起左側(cè)

幫忙檢查下程序,數(shù)字電壓表

[復(fù)制鏈接]
ID:208134 發(fā)表于 2017-6-5 19:09 | 顯示全部樓層 |閱讀模式
  1. include<reg52.h>
  2. #include<intrins.h>         //調(diào)用_nop_();延時(shí)函數(shù)用
  3. #define uchar unsigned char#define uint unsigned int
  4. uchar code table[]="0123456789.";//定義顯示的數(shù)組

  5. sbit lcden=P3^5;//定義管腳
  6. sbit lcdrs=P3^3;
  7. sbit lcdrw=P3^4;
  8. sbit a=P2^1;
  9. sbit b=P2^2;
  10. sbit c=P2^3;
  11. sbit st=P2^4;
  12. sbit eoc=P2^5;
  13. sbit oe=P2^6;
  14. uchar num,flag;
  15. void delay(uint z)//延時(shí)函數(shù)
  16. {
  17. uint x,y;
  18. for(x=z;x>0;x--)
  19. for(y=110;y>0;y--);
  20. }
  21. void write_com(uchar com)//1602讀指令
  22. { lcdrw=0;
  23. lcdrs=0;
  24. P1=com;
  25. delay(5);
  26. lcden=1;
  27. delay(5);
  28. lcden=0;
  29. }


  30. void write_data(uchar date)//1602讀數(shù)據(jù)
  31. { lcdrw=0;
  32. lcdrs=1;
  33. P1=date;
  34. delay(5);
  35. lcden=1;
  36. delay(5);
  37. lcden=0;
  38. }


  39. void lcd_init()//1602初始化函數(shù)
  40. {

  41. lcden=0;
  42. write_com(0x38);
  43. write_com(0x0c);
  44. write_com(0x06);
  45. write_com(0x01);

  46. }


  47. void main()
  48. {
  49. uchar date=0;
  50. float temp=0.0;
  51.     uchar q,b,s,g;
  52.   a=1;//選著ADC0809的第7通道
  53.   b=1;
  54.   c=1;
  55.      lcd_init();   
  56.      oe=0;
  57.     while(1)
  58.    {
  59.        st=0;
  60.     st=1;
  61.     st=0;
  62.        delay(5);
  63.     while(!eoc)
  64.      {
  65.        oe=1;
  66.     date=P0;
  67.     oe=0;
  68. temp= (float) date*5.0/256;//數(shù)據(jù)處理


  69. temp=temp/100.0;
  70. temp=temp*100000.0;
  71. q=(int)temp/1000;
  72. b=(int)temp%1000/100;
  73. s=(int)temp%1000%100/10;
  74. g=(int)temp%10;



  75.      write_com(0x80);//1602顯示處理好的數(shù)據(jù)
  76.   write_data(table[q]);
  77.   delay(20);
  78.   write_data(table[11]);
  79.   delay(20);
  80.   write_data(table[b]);
  81.   delay(20);
  82.   write_data(table[s]);
  83.   delay(20);
  84.   write_data(table[g]);
  85.   delay(20);
  86.      }

  87.    }   

  88. }



復(fù)制代碼

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:208172 發(fā)表于 2017-6-5 20:55 | 顯示全部樓層
有沒(méi)有仿真圖
回復(fù)

使用道具 舉報(bào)

ID:208215 發(fā)表于 2017-6-5 22:46 | 顯示全部樓層
管腳定義對(duì)了嘛
回復(fù)

使用道具 舉報(bào)

ID:34643 發(fā)表于 2017-6-6 06:34 | 顯示全部樓層
你的這個(gè)程序,沒(méi)看出什么啊。
回復(fù)

使用道具 舉報(bào)

ID:162136 發(fā)表于 2017-6-7 10:20 | 顯示全部樓層
oe=1;
    date=P0;
    oe=0;
temp= (float) date*5.0/256;//數(shù)據(jù)處理
oe=1是不是A/D芯片轉(zhuǎn)換使能。要不要延時(shí)?還有這里是芯片為高電平使能。
另:
temp=temp/100.0;
temp=temp*100000.0;
這兩句能不能直接改為 temp=temp*1000.0;
這句s=(int)temp%1000%100/10;能不能改為 s=(int)temp%100/10;
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表