请问如何用一节3伏纽扣电池给8051供电?

[复制链接]
7781|23
logokfu 发表于 2013-5-2 11:23 | 显示全部楼层
本帖最后由 **kfu 于 2013-5-2 11:25 编辑

再发一个,这个是个段式LCD的驱动程序。




  1. #include"sn8p_init_sys.h"


  2. void init_sys(void);

  3. void init_sys(void)
  4. {
  5. unsigned char i,j;

  6. beep_lock = false;
  7. BEEPM = 1;
  8. seg1_m = 1;
  9. seg2_m= 1;
  10. seg3_m =1;
  11. seg4_m =1;
  12. seg5_m =1;

  13. Mode.OptMode = 0x00;
  14. Mode.Number = 0x03;//上电先跑第三

  15. FP54M=1;

  16. TC0M = 0x54; //TC0M register value, Fcpu: 4.000000MHZ//CLK source: Fcpu
  17. TC0C = 0x4C; //TC0C register value, time: 360.000000us(2777.777778HZ)
  18. TC0R = 0x4C; //TC0R register value
  19. FTC0IRQ = 0;
  20. FTC0IEN = 1; //TC0 Interrupt enable
  21. FTC0ENB = 1; //TC0 enable

  22. T0M = 0x70; //T0M register value, Fcpu: 4.000000MHZ//CLK source: Fcpu
  23. T0C = 0x9C; //T0C register value, time: 50.000000us
  24. FT0IRQ = 0;
  25. FT0IEN = 1; //T0 Interrupt enable
  26. FT0ENB = 1; //T0 enable


  27. FGIE= 1;

  28. }


  1. #include"sn8p_bias_lcd_driver.h"

  2. //定义22幅画面
  3. __ROM unsigned char

  4. //SetMode
  5. seg_code_1[4] = {0x40,0x20,0x68,0x20},//flash_1
  6. seg_code_2[4] = {0x80,0xE0,0x60,0xA8},//flash_2
  7. seg_code_3[4] = {0xC0,0x60,0x60,0x60},//flash_3

  8. seg_code_4[4] = {0x00,0x20,0x20,0x20},//flash_none 0000 0000,0010 0000,0010 0000,0010 0000
  9. //RunMode

  10. seg_code_1r[28] =
  11. {
  12. 0x40,0x20,0x68,0x20,
  13. 0x40,0x28,0x68,0x20,
  14. 0x48,0x28,0x68,0x20,
  15. 0x58,0x28,0x68,0x20,
  16. 0x58,0x38,0x68,0x20,
  17. 0x58,0x38,0x78,0x20,
  18. 0x58,0x38,0x78,0x30,
  19. },
  20. seg_code_2r[28] =
  21. {
  22. 0x80,0xE0,0x60,0xA8,
  23. 0x80,0xE8,0x60,0xA8,
  24. 0x88,0xE8,0x60,0xA8,
  25. 0x98,0xE8,0x60,0xA8,
  26. 0x98,0xF8,0x60,0xA8,
  27. 0x98,0xF8,0x70,0xA8,
  28. 0x98,0xF8,0x70,0xB8,
  29. },
  30. seg_code_3r[28] =
  31. {
  32. 0xC0,0x60,0x60,0xE0,
  33. 0xC0,0x68,0x60,0xE0,
  34. 0xC8,0x68,0x60,0xE0,
  35. 0xD8,0x68,0x60,0xE0,
  36. 0xD8,0x78,0x60,0xE0,
  37. 0xD8,0x78,0x70,0xE0,
  38. 0xD8,0x78,0x70,0xF0,
  39. }
  40. ;


  41. void dispp(unsigned char *pCode);


  42. static void select_seg(unsigned char seg_x);

  43. static void select_seg(unsigned char seg_x)
  44. {
  45. seg1 =(seg_x&0x80)>0x00?1:0;
  46. seg2 =(seg_x&0x40)>0x00?1:0;
  47. seg3 =(seg_x&0x20)>0x00?1:0;
  48. seg4 =(seg_x&0x10)>0x00?1:0;
  49. seg5 =(seg_x&0x08)>0x00?1:0;
  50. }

  51. void dispp(unsigned char *pCode)
  52. {
  53. static unsigned char ScanCount=0;

  54. switch(ScanCount) //动态扫描显示
  55. {
  56. case 0: //com1正向驱动


  57. select_seg(*pCode);
  58. com1 = 0;
  59. com1_m = 1;
  60. com2_m = 0;
  61. com3_m = 0;
  62. com4_m = 0; //除com1输出外,其余com设为输入

  63. break;

  64. case 1: //com1反向驱动

  65. select_seg(~*pCode);
  66. com1 = 1;

  67. break;


  68. case 2: //com2正向驱动

  69. select_seg(*(pCode+1));
  70. com2 = 0;
  71. com1_m = 0;
  72. com2_m = 1;
  73. com3_m = 0;
  74. com4_m = 0;

  75. break;

  76. case 3: //com2反向驱动
  77. select_seg(~*(pCode+1));
  78. com2 = 1;

  79. break;


  80. case 4: //com3正向驱动

  81. select_seg(*(pCode+2));
  82. com3 = 0;
  83. com1_m = 0;
  84. com2_m = 0;
  85. com3_m = 1;
  86. com4_m = 0;

  87. break;

  88. case 5: //com3反向驱动

  89. select_seg(~*(pCode+2));
  90. com3 = 1;

  91. break;

  92. case 6: //com4正向驱动

  93. select_seg(*(pCode+3));
  94. com4 = 0;
  95. com1_m = 0;
  96. com2_m = 0;
  97. com3_m = 0;
  98. com4_m = 1;


  99. break;

  100. case 7: //com4反向驱动

  101. select_seg(~*(pCode+3));//1111 1111
  102. com4 = 1;
  103. com1_m = 0;
  104. com2_m = 0;
  105. com3_m = 0;
  106. com4_m = 1;



  107. break;

  108. default:

  109. break;



  110. }

  111. ScanCount++;

  112. if(ScanCount>=8)
  113. {
  114. ScanCount=0;
  115. }
  116. }


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| sky657 发表于 2013-5-2 17:43 | 显示全部楼层
**kfu 发表于 2013-5-2 11:23
再发一个,这个是个段式LCD的驱动程序。

多谢多谢
redcar 发表于 2013-5-6 11:53 | 显示全部楼层
1个纽扣电池噢,亲
楼上都是神马人噢,叫人家在死胡同里面转,8051上1个纽扣电池噢,亲,你准备用多长时间噢.
这种方案,除了430,还是430,永远的430
过去是,现在是,将来很有可能还是,430,超低微功耗王中王
 楼主| sky657 发表于 2013-5-6 14:29 | 显示全部楼层
redcar 发表于 2013-5-6 11:53
1个纽扣电池噢,亲
楼上都是神马人噢,叫人家在死胡同里面转,8051上1个纽扣电池噢,亲,你准备用多长时间噢.
这 ...

两个纽扣电池配51,一般能用多久,能用到一年吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部