找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)+LM016動態(tài)計數(shù)程序

[復(fù)制鏈接]
ID:780508 發(fā)表于 2020-6-21 00:31 | 顯示全部樓層 |閱讀模式
51單片機(jī)學(xué)習(xí)記錄,按時計數(shù)選取顯示
11.png
單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #include<string.h>
  3. #define uchar unsigned char

  4. sbit RS=P1^0;
  5. sbit RW=P1^1;
  6. sbit E=P1^2;
  7. unsigned int num,units=0,tens=0,hundreds=0;
  8. uchar row1[]={"Welcome to China"};
  9. uchar row2[]={"0123456789"};

  10. void delay(uchar ms)
  11. {
  12. uchar k;
  13. while(ms--)
  14. for(k=0;k<123;k++);
  15. }

  16. void command(uchar com)
  17. {
  18. RS=0;
  19. RW=0;
  20. E=1;
  21. P0=com;
  22. E=0;
  23. delay(1);
  24. }

  25. void WriteData(uchar dat)
  26. {
  27. RS=1;
  28. RW=0;
  29. E=1;
  30. P0=dat;
  31. E=0;
  32. delay(1);
  33. }

  34. void init()
  35. {
  36. command(0x38);
  37. command(0x0c);
  38. command(0x06);
  39. command(0x01);
  40. }

  41. void display()
  42. {
  43. if(units==10)units=0,tens++;
  44. if(tens==10)tens=0,hundreds++;
  45. if(hundreds==10)hundreds=0;

  46.         
  47. command(0x80);
  48. for(num=0;num<16;num++)
  49. WriteData(row1[num]),delay(5);

  50. command(0x80+0x40);
  51. WriteData(row2[hundreds]);
  52. command(0x80+0x40+0x01);
  53. WriteData(row2[tens]);
  54. command(0x80+0x40+0x02);
  55. WriteData(row2[units]);
  56. units++;
  57. delay(10);
  58. }

  59. void main()
  60. {
  61. init();
  62. while(1)
  63. display();
  64. }
復(fù)制代碼

exp41.zip

75.24 KB, 下載次數(shù): 4, 下載積分: 黑幣 -5

keil和proteus8.9

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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