当前位置:   article > 正文

51单片机——数码管、八位数码管、数码管显示0-9显示屏输入abc_单片机数码管0到9编程代码

单片机数码管0到9编程代码

一、八位数码管

  1. #include<reg51.h>
  2. void delay(unsigned int i);
  3. void main()
  4. {
  5. unsigned char button;
  6. unsigned char code disp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0xbf};
  7. P0=0xff;
  8. P1=disp[8];
  9. while(1)
  10. {
  11. button=P0;
  12. delay(1200);
  13. button=P0;
  14. switch(button)
  15. {
  16. case 0xfe:P1=disp[0];delay(10000);while(1);break;
  17. case 0xfd:P1=disp[1];delay(10000);while(1);break;
  18. case 0xfb:P1=disp[2];delay(10000);while(1);break;
  19. case 0xf7:P1=disp[3];delay(10000);while(1);break;
  20. case 0xef:P1=disp[4];delay(10000);while(1);break;
  21. case 0xdf:P1=disp[5];delay(10000);while(1);break;
  22. case 0xbf:P1=disp[6];delay(10000);while(1);break;
  23. case 0x7f:P1=disp[7];delay(10000);while(1);break;
  24. default:break;
  25. }
  26. }
  27. }

二、数码管显示0-9

  1. #include<reg51.h>
  2. void delay(unsigned int i);
  3. void main()
  4. {
  5. P1=0xc0;
  6. delay(1000);
  7. P1=0xf9;
  8. delay(1000);
  9. P1=0xa4;
  10. delay(1000);
  11. P1=0xb0;
  12. delay(1000);
  13. P1=0x99;
  14. delay(1000);
  15. P1=0x92;
  16. delay(1000);
  17. P1=0x82;
  18. delay(1000);
  19. P1=0xf8;
  20. delay(1000);
  21. P1=0xbf;
  22. delay(1000);
  23. }

三、在显示屏上输入abc

  1. #include <reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit RS=P3^1;
  5. sbit E=P3^2;
  6. uchar code table[]="I LOVE YOU ZZY";
  7. void delay(ms){
  8. uint i,j;
  9. for(i=0;i<ms;i++){
  10. for(j=0;j<123;j++){
  11. }
  12. }
  13. }
  14. void write_com(uchar com){
  15. E=0;
  16. RS=0;
  17. P0=com;
  18. delay(5);
  19. E=1;
  20. delay(5);
  21. E=0;
  22. }
  23. void write_data(uchar dat){
  24. E=0;
  25. RS=1;
  26. P0=dat;
  27. delay(5);
  28. E=1;
  29. delay(5);
  30. E=0;
  31. }
  32. void init(){
  33. write_com(0x38);
  34. write_com(0x0c);
  35. write_com(0x06);
  36. write_com(0x01);
  37. }
  38. void main(){
  39. uint i;
  40. init();
  41. write_com(0x80+0x40);
  42. for(i=0;i<16;i++){
  43. write_data(table[i]);
  44. delay(5);
  45. }while(1);
  46. }

仿真

链接:https://pan.baidu.com/s/1VZf1vfGFXAgWXgk8R3Mrlg 
提取码:2222

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/946708
推荐阅读
相关标签
  

闽ICP备14008679号