设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 1975|回复: 3
收起左侧

基于STC系列单片机的简易4灯摇摇棒 - 内含4x8点阵数字字母字库

[复制链接]
发表于 2018-5-10 20:58:39 | 显示全部楼层 |阅读模式

  1. #include"reg51.h"
  2. #include"intrins.h"
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sfr WDT_CONTR = 0xC1; //看门狗寄存器


  6. sbit led0=P3^0; //LED灯0
  7. sbit led1=P3^1; //LED灯1
  8. sbit led2=P3^2; //LED灯2
  9. sbit led3=P3^3; //LED灯3



  10. uchar code nbr[36][4]={ //LED字库数据(只读数组)
  11.         {
  12. 0x96, 0x66, 0x66, 0x69, },{//0
  13. 0xD9, 0x5D, 0xDD, 0xD0, },{//1
  14. 0x96, 0x5D, 0xB7, 0x70, },{//2
  15. 0x96, 0xE9, 0xEE, 0x69, },{//3
  16. 0xD9, 0x55, 0x0D, 0xDD, },{//4
  17. 0x07, 0x70, 0xE6, 0x69, },{//5
  18. 0x96, 0x71, 0x66, 0x69, },{//6
  19. 0x0E, 0xED, 0xDB, 0xBB, },{//7
  20. 0x96, 0x69, 0x96, 0x69, },{//8
  21. 0x96, 0x66, 0x8E, 0x69, },{//9
  22. 0x96, 0x66, 0x06, 0x66, },{//A
  23. 0x16, 0x61, 0x66, 0x9F, },{//B
  24. 0x96, 0x67, 0x76, 0x69, },{//C
  25. 0x34, 0x66, 0x66, 0x43, },{//D
  26. 0x07, 0x71, 0x77, 0x70, },{//E
  27. 0x07, 0x71, 0x77, 0x77, },{//F
  28. 0x96, 0x77, 0x46, 0x69, },{//G
  29. 0x66, 0x60, 0x66, 0x66, },{//H
  30. 0x0B, 0xBB, 0xBB, 0xB0, },{//I
  31. 0x0D, 0xDD, 0xD5, 0x5B, },{//J
  32. 0x65, 0x37, 0x73, 0x56, },{//K
  33. 0x77, 0x77, 0x77, 0x70, },{//L
  34. 0x60, 0x06, 0x66, 0x6F, },{//M
  35. 0xF6, 0x22, 0x44, 0x6F, },{//N
  36. 0xF9, 0x66, 0x66, 0x9F, },{//O
  37. 0x16, 0x61, 0x77, 0x77, },{//P
  38. 0x96, 0x66, 0x65, 0x9E, },{//Q
  39. 0x16, 0x61, 0x35, 0x66, },{//R
  40. 0x96, 0x79, 0xE6, 0x9F, },{//S
  41. 0x1B, 0xBB, 0xBB, 0xBF, },{//T
  42. 0x66, 0x66, 0x66, 0x09, },{//U
  43. 0x66, 0x66, 0x66, 0x69, },{//V
  44. 0x66, 0x66, 0x00, 0x6F, },{//W
  45. 0xF6, 0x99, 0x99, 0x6F, },{//X
  46. 0x66, 0x66, 0x99, 0x99, },{//Y
  47. 0x0E, 0xDD, 0xBB, 0x70  }  //Z
  48.        

  49. };




  50. void delay(){        //@6MHz 1毫秒延时程序


  51.         unsigned char i, j;

  52.         _nop_();
  53.         _nop_();
  54.         i = 6;
  55.         j = 210;
  56.         do
  57.         {
  58.                 while (--j);
  59.         } while (--i);
  60. }


  61. void set_led(uchar i){ //LED扫描图像
  62. uchar l=0;
  63. uchar k=0;
  64.         led0=1;led1=1;led2=1;led3=1;
  65. delay();
  66. delay();
  67. for(l=0;l<4;l++){

  68.         delay();
  69.         k=(nbr[i][l]&0xF0)/0x10;
  70.         led0=(k&0x01)/0x01;
  71.         led1=(k&0x02)/0x02;
  72.         led2=(k&0x04)/0x04;
  73.         led3=(k&0x08)/0x08;

  74.         delay();
  75.         led0=1;led1=1;led2=1;led3=1;
  76.         delay();
  77.         k=nbr[i][l]&0x0F;
  78.         led0=(k&0x01)/0x01;
  79.         led1=(k&0x02)/0x02;
  80.         led2=(k&0x04)/0x04;
  81.         led3=(k&0x08)/0x08;
  82.         delay();
  83.         led0=1;led1=1;led2=1;led3=1;
  84.                                
  85.                        
  86.                                
  87.                                
  88.                 }
  89.         led0=1;led1=1;led2=1;led3=1;
  90. delay();
  91. delay();

  92. }




  93. void main(){
  94. unsigned char n=0; //数字字母扫描
  95. unsigned char k=0; //显示延迟(循环次数)

  96. while(1){
  97.         for(n=0;n<10;n++){
  98.          
  99.         for(k=0;k<60;k++){
  100. WDT_CONTR=0x33;
  101.                 set_led(n);
  102.         }
  103.         }
  104. }}
复制代码


发表于 2018-5-11 09:07:54 | 显示全部楼层
这玩意以前到底有木有人发过
发表于 2018-5-11 18:18:21 | 显示全部楼层
520 发表于 2018-5-11 09:07
这玩意以前到底有木有人发过

有也是不一样的
发表于 2018-10-6 20:02:36 | 显示全部楼层
某些字母应该一般人看不清楚
您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-26 06:43 , Processed in 1.417081 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表