单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6681|回复: 40
打印 上一主题 下一主题
收起左侧

山寨码表.自行车码表

  [复制链接]
跳转到指定楼层
楼主
因缺乏锻炼,加上之前上了2个月的"长夜班",身体有米其林化的趋势.为了阻止这种不良的发展.决定在家骑自行车锻炼锻炼.

光骑车没劲,做个码表装上看看能骑多少快,骑了多少路.

1月1日回家开始正式制作.


单片机用stc89c52,因为之前买了几片还没用掉,因为它只要3块多钱,因为我只要几个IO加上外部中断,定时器.
显示用yleee的12232液晶,因为已经放了快2年了.3片只用掉一片,而且做完之后依然压箱底.  不用掉浪费.
电源用白菜模块做单锂升压到5.2v来使用. 因为买了太多了,不用掉浪费.


电池暂时找了块yleee的太阳能移动电源中的大肚子锂聚合物电池. 当时肚子很大,电压很低.给它捅了一刀以后继续充电,身材恢复苗条,就是有点皱纹. 500ma放电能有3,400 mah容量.
传感器用了大家都说好的干簧管,还是从中学劳技课的板子上拆下来的. 磁钢安装就尽显山寨本色了.



既然画了PCB,就顺便加上了 1302, 18b20,万一没事干又想加上去了.


板子继续热转印,这次买了瓶新的三氯化铁,放在新买的电磁炉里水浴加热到80°,竟然还花了10几分钟. 期间还把三氯化铁滴到了锅子里,以后吃火锅能吃到正宗的化学锅底了. 恩.



这是之前的试做版本.

话说制作期间,一天都没运动过,终于在第六天倒下了,去医院把我全新的医保卡上写上了历史性的一页,而配的药的纸壳,就成了这次的山寨码表暂时蜗居的地方.

刚才完成基本功能,发现我的破车骑在20km/h已经很吃力了. 全力只能跑到30km/h. 看来也就这水平了.


为了看得清, 用了四倍字体大小. 很给力.







界面就改成这样了. 显示这些东西也够看了
按第一个键保存总行程. 第三个键背光开关.  开机时摁住第一第二键 总行程清零.

今天风大,还骑了10公里.  有点蛋疼的感觉..

程序,和电路图在包里,  PCB因为有几条线没连通,几个设计bug没修改,所以就没放在里面. speed_meter_keil_51.rar (90.44 KB, 下载次数: 210)



评分

参与人数 2黑币 +10 收起 理由
zhaok2013 + 5 很给力!
xmd1972 + 5 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 转播转播 分享分享 分享淘帖 顶 踩
回复

使用道具 举报

沙发
 楼主| niujia 发表于 2015-7-18 15:53 | 只看该作者
  1. #include "12232.h"
  2.   

  3. #define A0_0()  LCD_A0 = 0
  4. #define A0_1()  LCD_A0 = 1     
  5. #define E1_0()  LCD_E1 = 0
  6. #define E1_1()  LCD_E1 = 1
  7. #define E2_0()  LCD_E2 = 0
  8. #define E2_1()  LCD_E2 = 1


  9. #define LCD_DISPLAYON   0xaf      //af 开显示
  10. #define LCD_DISPLAYOFF  0xae      //ae 关显示
  11. #define LCD_DRIVERON    0xa5      //a5 静态显示驱动
  12. #define LCD_DRIVEROFF   0xa4      //a4 正常驱动
  13. #define LCD_DUTY16      0xa8      //占空比1/16
  14. #define LCD_DUTY32      0xa9      //占空比1/32

  15. #define LCD_END         0xee  
  16. /*关闭“读-修改-写”模式,并把列地址指针
  17.                               恢复到打开“读-修改-写”模式前的位置。*/

  18. #define LCD_RESET       0xe2  
  19. /*初始化。① 设置显示初始行为第一行;
  20.                                         ②页地址设置为第三页。*/

  21. #define LCD_RWMODE      0xe0  
  22. /*“读-修改-写”模式 。执行该指令以后,
  23.                               每执行一次写数据,指令列地址自动加1;
  24.                               但执行读数据指令时列地址不会改变。
  25.                               这个状态一直持续到执行“END”指令。
  26.                               注意:在“读-修改-写”模式下,
  27.                               除列地址设置指令之外,其他指令照常执行。 */
  28.                               
  29. #define LCD_STARTLINE0  0xc0    //设置显示起始行 可以加0-31
  30. #define LCD_PAGE0       0xb8    //页地址设置     可以加0-3
  31. #define LCD_COLUMNADDR0 0x00    //列地址设置     可以加0-60

  32. #define LCD_ON()            LCD_Command(LCD_DISPLAYON)
  33. #define LCD_OFF()           LCD_Command(LCD_DISPLAYOFF)
  34. #define LCD_StaticON()      LCD_Command(LCD_DRIVERON)
  35. #define LCD_StaticOFF()     LCD_Command(LCD_DRIVEROFF)
  36. #define LCD_Select16()      LCD_Command(LCD_DUTY16)
  37. #define LCD_Select32()      LCD_Command(LCD_DUTY32)
  38. #define LCD_StartRW()       LCD_Command(LCD_RWMODE)
  39. #define LCD_EndRW()         LCD_Command(LCD_END)
  40. #define LCD_Reset()         LCD_Command(LCD_RESET)
  41. #define LCD_SetStartLine(i) LCD_Command(LCD_STARTLINE0|i)
  42. #define LCD_SetPage(i)      LCD_Command(LCD_PAGE0|i)
  43. #define LCD_SetColumn(i)    LCD_Command(LCD_COLUMNADDR0|i)


  44. unsigned char code ascii[][6]={
  45. {0x00,0x00,0x00,0x00,0x00,0x00},/*0 SPACE*/
  46. {0x00,0x00,0x00,0x4f,0x00,0x00},/*1 !*/  
  47. {0x00,0x00,0x00,0x07,0x00,0x07},/*2 "*/
  48. {0x00,0x14,0x7f,0x14,0x7f,0x14},/*3 #*/
  49. {0x00,0x24,0x2a,0x7f,0x2a,0x12},/*4 $*/
  50. {0x00,0x23,0x13,0x08,0x62,0x61},/*5 %*/
  51. {0x00,0x36,0x49,0x55,0x22,0x50},/*6 &*/
  52. {0x00,0x00,0x00,0x05,0x03,0x00},/*7 '*/
  53. {0x00,0x00,0x1c,0x22,0x41,0x00},/*8 (*/                              
  54. {0x00,0x00,0x41,0x22,0x1c,0x00},/*9 )*/
  55. {0x00,0x14,0x08,0x3e,0x08,0x14},/*10 **/
  56. {0x00,0x08,0x08,0x3e,0x08,0x08},/*11 +*/
  57. {0x00,0x00,0x00,0x28,0x18,0x00},/*12 ,*/
  58. {0x00,0x08,0x08,0x08,0x08,0x08},/*13 -*/
  59. {0x00,0x00,0x00,0x60,0x60,0x00},/*14 .*/
  60. {0x00,0x20,0x10,0x08,0x04,0x02},/*15 /*/
  61. {0x00,0x3e,0x51,0x49,0x45,0x3e},/*16 0*/
  62. {0x00,0x00,0x42,0x7f,0x40,0x40},/*17 1*/                           
  63. {0x00,0x62,0x51,0x51,0x49,0x46},/*18 2*/                              
  64. {0x00,0x21,0x41,0x45,0x4b,0x31},/*19 3*/                              
  65. {0x00,0x18,0x14,0x12,0x7f,0x10},/*20 4*/                              
  66. {0x00,0x27,0x45,0x45,0x45,0x39},/*21 5*/                              
  67. {0x00,0x3c,0x4a,0x49,0x49,0x30},/*22 6*/                              
  68. {0x00,0x01,0x71,0x09,0x05,0x03},/*23 7*/                              
  69. {0x00,0x36,0x49,0x49,0x49,0x36},/*24 8*/                              
  70. {0x00,0x06,0x49,0x49,0x29,0x1e},/*25 9*/
  71. {0x00,0x00,0x36,0x36,0x00,0x00},/*26 :*/
  72. {0x00,0x00,0x56,0x36,0x00,0x00},/*27 ;*/
  73. {0x00,0x08,0x14,0x22,0x41,0x00},/*28 <*/
  74. {0x00,0x14,0x14,0x14,0x14,0x14},/*29 =*/
  75. {0x00,0x00,0x41,0x22,0x14,0x08},/*30 >*/
  76. {0x00,0x02,0x01,0x51,0x09,0x06},/*31 ?*/
  77. {0x00,0x3e,0x59,0x55,0x79,0x3e},/*32 @*/                           
  78. {0x00,0x7e,0x21,0x21,0x21,0x7e},/*33 A*/                              
  79. {0x00,0x7f,0x49,0x49,0x49,0x36},/*34 B*/                              
  80. {0x00,0x3e,0x41,0x41,0x41,0x22},/*35 C*/                              
  81. {0x00,0x7f,0x41,0x41,0x22,0x1c},/*36 D*/                              
  82. {0x00,0x7f,0x49,0x49,0x49,0x49},/*37 E*/                              
  83. {0x00,0x7f,0x09,0x09,0x09,0x01},/*38 F*/                              
  84. {0x00,0x3e,0x41,0x49,0x49,0x7a},/*39 G*/                              
  85. {0x00,0x7f,0x08,0x08,0x08,0x7f},/*40 H*/                              
  86. {0x00,0x41,0x7f,0x41,0x00,0x00},/*41 I*/                              
  87. {0x00,0x20,0x40,0x41,0x3f,0x01},/*42 J*/                              
  88. {0x00,0x7f,0x08,0x14,0x22,0x41},/*43 K*/                              
  89. {0x00,0x7f,0x40,0x40,0x40,0x40},/*44 L*/                              
  90. {0x00,0x7f,0x02,0x0c,0x02,0x7f},/*45 M*/                              
  91. {0x00,0x7f,0x04,0x08,0x10,0x7f},/*46 N*/                              
  92. {0x00,0x3e,0x41,0x41,0x41,0x3e},/*47 O*/                              
  93. {0x00,0x7f,0x09,0x09,0x09,0x06},/*48 P*/                              
  94. {0x00,0x3E,0x41,0x51,0x21,0x5E},/*49 Q*/                              
  95. {0x00,0x7f,0x09,0x19,0x29,0x46},/*50 R*/                              
  96. {0x00,0x46,0x49,0x49,0x49,0x31},/*51 S*/                              
  97. {0x00,0x01,0x01,0x7f,0x01,0x01},/*52 T*/                              
  98. {0x00,0x3f,0x40,0x40,0x40,0x3f},/*53 U*/                              
  99. {0x00,0x1f,0x20,0x40,0x20,0x1f},/*54 V*/                              
  100. {0x00,0x3f,0x40,0x38,0x40,0x3f},/*55 W*/                              
  101. {0x00,0x63,0x14,0x08,0x14,0x63},/*56 X*/                              
  102. {0x00,0x07,0x08,0x70,0x08,0x07},/*57 Y*/                              
  103. {0x00,0x61,0x51,0x49,0x45,0x43},/*58 Z*/
  104. {0x00,0x00,0x7f,0x41,0x41,0x00},/*59 [*/
  105. {0x00,0x01,0x02,0x08,0x10,0x20},/*50 \*/                              
  106. {0x00,0x00,0x41,0x41,0x7f,0x00},/*61 ]*/
  107. {0x00,0x04,0x02,0x01,0x02,0x04},/*62 ^*/
  108. {0x00,0x40,0x40,0x40,0x40,0x40},/*63 _*/
  109. {0x00,0x00,0x01,0x02,0x04,0x00},/*64 `*/                              
  110. {0x00,0x20,0x54,0x54,0x54,0x7c},/*65 a*/                              
  111. {0x00,0x7f,0x48,0x44,0x44,0x38},/*66 b*/                              
  112. {0x00,0x38,0x44,0x44,0x44,0x20},/*67 c*/                              
  113. {0x00,0x38,0x44,0x44,0x48,0x7f},/*68 d*/                              
  114. {0x00,0x38,0x54,0x54,0x54,0x18},/*69 e*/                              
  115. {0x00,0x08,0x7e,0x09,0x01,0x02},/*70 f*/                              
  116. {0x00,0x0c,0x52,0x52,0x52,0x3e},/*71 g*/                              
  117. {0x00,0x7f,0x08,0x04,0x04,0x78},/*72 h*/                              
  118. {0x00,0x00,0x44,0x7d,0x40,0x00},/*73 i*/                              
  119. {0x00,0x40,0x40,0x44,0x3d,0x00},/*74 j*/                              
  120. {0x00,0x7f,0x10,0x28,0x44,0x00},/*75 k*/                                 
  121. {0x00,0x00,0x41,0x7e,0x40,0x00},/*76 l*/                              
  122. {0x00,0x7c,0x04,0x18,0x04,0x78},/*77 m*/                              
  123. {0x00,0x7c,0x08,0x04,0x04,0x78},/*78 n*/                              
  124. {0x00,0x38,0x44,0x44,0x44,0x38},/*79 o*/                              
  125. {0x00,0x7c,0x14,0x14,0x14,0x08},/*80 p*/                              
  126. {0x00,0x08,0x14,0x14,0x14,0x7c},/*81 q*/                              
  127. {0x00,0x7c,0x08,0x04,0x04,0x08},/*82 r*/                              
  128. {0x00,0x48,0x54,0x54,0x54,0x20},/*83 s*/                                
  129. {0x00,0x04,0x3f,0x44,0x44,0x24},/*84 t*/                              
  130. {0x00,0x3c,0x40,0x40,0x20,0x7c},/*85 u*/                              
  131. {0x00,0x1c,0x20,0x40,0x20,0x1c},/*86 v*/                              
  132. {0x00,0x3c,0x40,0x30,0x40,0x3c},/*87 w*/                              
  133. {0x00,0x44,0x28,0x10,0x28,0x44},/*88 x*/                              
  134. {0x00,0x06,0x48,0x48,0x48,0x3e},/*89 y*/                              
  135. {0x00,0x44,0x64,0x54,0x4c,0x44},/*80 z*/
  136. {0x00,0x00,0x08,0x36,0x41,0x00},/*91 {*/
  137. {0x00,0x00,0x00,0x7e,0x00,0x00},/*92 |*/                              
  138. {0x00,0x00,0x41,0x36,0x08,0x00},/*93 }*/                        
  139. {0x00,0x04,0x08,0x04,0x08,0x04},/*94 ~*/
  140. {0x10,0x20,0x40,0x20,0x10,0x08},//95对号一半
  141. {0x04,0x02,0x00,0x00,0x00,0x00},//96对号一半

  142. };

  143. unsigned char target1,target2,target3,target4;

  144. /******************************************************************************************
  145. * 函数名称    :LCD_Command
  146. * 功能描述    :写命令
  147. * 参数        :  参数名称:        输入/输出?        类型                描述
  148. *
  149. * 返回值      :
  150. * 作者        :
  151. * 创建日期    :2006-12-19
  152. * 全局变量    :
  153. * 全局静态变量:
  154. * 局部静态变量:
  155. *----------------------------------------修改历史------------------------------------------
  156. * 当前版本    :                          修改人:                  修改日期:
  157. * 修改说明    :
  158. ******************************************************************************************/
  159. void LCD_Command(unsigned char nCommand)
  160. {                                 
  161.           A0_0();
  162. //    asm("nop");
  163. //    asm("nop");
  164.           E1_1();
  165.           E2_1();
  166. //    asm("nop");
  167. //    asm("nop");
  168.           DATA=nCommand;
  169. //    asm("nop");
  170. //    asm("nop");
  171.           E1_0();
  172.           E2_0();
  173. }
  174. /******************************************************************************************
  175. * 函数名称    :LCD_SetRam
  176. * 功能描述    :送显示数据ndata,setMS为0主,1从
  177. * 参数        :  参数名称:        输入/输出?        类型                描述
  178. *
  179. * 返回值      :
  180. * 作者        :
  181. * 创建日期    :2006-12-19
  182. * 全局变量    :
  183. * 全局静态变量:
  184. * 局部静态变量:
  185. *----------------------------------------修改历史------------------------------------------
  186. * 当前版本    :                          修改人:                  修改日期:
  187. * 修改说明    :
  188. ******************************************************************************************/
  189. void LCD_SetRam(unsigned char ChipSelect,unsigned char ndata)
  190. {               
  191.     A0_1();
  192. //    asm("nop");
  193. //    asm("nop");
  194.     if( ChipSelect )
  195.     {
  196.         E1_0();
  197.         E2_1();     //选择左半屏
  198.     }
  199.     else
  200.     {
  201.         E1_1();     //选择右半屏
  202.         E2_0();
  203.     }     
  204. //    asm("nop");
  205. //    asm("nop");
  206.     DATA=ndata;
  207. //    asm("nop");
  208. //    asm("nop");
  209.     E1_0();
  210.     E2_0();
  211. }
  212. /******************************************************************************************
  213. * 函数名称    :LCD_Init
  214. * 功能描述    :
  215. * 参数        :  参数名称:        输入/输出?        类型                描述
  216. *
  217. * 返回值      :
  218. * 作者        :
  219. * 创建日期    :2006-12-19
  220. * 全局变量    :
  221. * 全局静态变量:
  222. * 局部静态变量:
  223. *----------------------------------------修改历史------------------------------------------
  224. * 当前版本    :                          修改人:                  修改日期:
  225. * 修改说明    :
  226. ******************************************************************************************/
  227. void LCD_init(void)
  228. {   
  229.           LCD_OFF();               //关闭显示
  230.     LCD_Command(LCD_RESET);  //复位
  231.           LCD_Command(0xa0);       //列与段驱动反方向
  232.           LCD_Command(LCD_DUTY32); //1/32
  233.           LCD_Command(0xa4);       //关闭静态显示    打开正常驱动
  234.           LCD_EndRW();             //关闭自动列加1
  235.           LCD_SetStartLine(0);     //设置起始行
  236.           LCD_SetColumn(0);        //起始列
  237.           LCD_SetPage(0);          //起始页
  238.           LCD_ON();                //开显示
  239. }

  240. /******************************************************************************************
  241. * 函数名称    :clrscr
  242. * 功能描述    :清屏
  243. * 参数        :  参数名称:        输入/输出?        类型                描述
  244. *
  245. * 返回值      :
  246. * 作者        :
  247. * 创建日期    :2006-12-19
  248. * 全局变量    :
  249. * 全局静态变量:
  250. * 局部静态变量:
  251. *----------------------------------------修改历史------------------------------------------
  252. * 当前版本    :                          修改人:                  修改日期:
  253. * 修改说明    :
  254. ******************************************************************************************/   
  255. void clrscr(unsigned char hdata)
  256. {
  257.     unsigned char i;
  258.     unsigned char page;
  259.     for(page=0;page<4;page++)
  260.           {
  261.                   LCD_SetPage(page);
  262.                    for(i=0;i<61;i++)
  263.         {
  264.             LCD_SetColumn(i);
  265.                  LCD_SetRam(0,hdata);
  266.                  LCD_SetRam(1,hdata);
  267.                }
  268.            }
  269. }
  270. /******************************************************************************************
  271. * 函数名称    :drawword
  272. * 功能描述    ://layer 值为0,2;wenzi 码表中的几个字
  273. * 参数        :  参数名称:        输入/输出?        类型                描述
  274. *
  275. * 返回值      :
  276. * 作者        :
  277. * 创建日期    :2006-12-19
  278. * 全局变量    :
  279. * 全局静态变量:
  280. * 局部静态变量:
  281. *----------------------------------------修改历史------------------------------------------
  282. * 当前版本    :                          修改人:                  修改日期:
  283. * 修改说明    :
  284. ******************************************************************************************/
  285. /*
  286. void drawword(unsigned char liedizhi,unsigned char layer,unsigned char *buff)
  287. {
  288.     unsigned char column,i;//layer 值为0,2;wenzi 码表中的几个字
  289.     unsigned char cs;
  290.     for(i=0;i<16;i++)
  291.     {
  292.         column=liedizhi+i;   
  293.         if(column>60)
  294.         {
  295.             cs=1;
  296.             column-=61;
  297.         }
  298.                    else
  299.         cs=0;
  300.         
  301.         //LCD_SetStartLine(0);//设置起始行
  302.             LCD_SetColumn(column);//设置起始列
  303.             LCD_SetPage(layer);
  304.             LCD_SetRam(cs,*(buff+i));
  305.         //LCD_SetStartLine(0);//设置起始行
  306.                    LCD_SetColumn(column);//设置起始列
  307.             LCD_SetPage(layer+1);
  308.             LCD_SetRam(cs,*(buff+16+i));
  309.         }
  310. }
  311. */

  312. void drawascii(unsigned char liedizhi,unsigned char layer,unsigned char *text)
  313. {
  314.     unsigned char column,i;//layer 值为0,2;wenzi 码表中的几个字
  315.     unsigned char cs;
  316.    
  317.     while(*text)
  318.     {
  319.         for(i=0;i<6;i++)
  320.         {
  321.             column=liedizhi+i;   
  322.             if(column>60)
  323.             {
  324.                 cs=1;
  325.                 column-=61;
  326.             }
  327.             else cs=0;
  328.         
  329.             //LCD_SetStartLine(0);//设置起始行
  330.             LCD_SetColumn(column);//设置起始列
  331.             LCD_SetPage(layer);
  332.             LCD_SetRam(cs,ascii[*text-32][i]);
  333.         }
  334.         text++;
  335.         liedizhi+=6;
  336.     }
  337. }


  338. void make_ascii_big(unsigned char c)
  339. {
  340.         target1 = 0;
  341.         target2 = 0;

  342.         if((c&0x80) != 0)
  343.         {
  344.                 target1 += 192;
  345.         }
  346.         if((c&0x40) != 0)
  347.         {
  348.                 target1 += 48;
  349.         }
  350.         if((c&0x20) != 0)
  351.         {
  352.                 target1 += 12;
  353.         }
  354.         if((c&0x10) != 0)
  355.         {
  356.                 target1 += 3;
  357.         }

  358.         if((c&0x08) != 0)
  359.         {
  360.                 target2 += 192;
  361.         }
  362.         if((c&0x04) != 0)
  363.         {
  364.                 target2 += 48;
  365.         }
  366.         if((c&0x02) != 0)
  367.         {
  368.                 target2 += 12;
  369.         }
  370.         if((c&0x01) != 0)
  371.         {
  372.                 target2 += 3;
  373.         }
  374. }

  375. void make_ascii_very_big(unsigned char c)
  376. {
  377.         target1 = 0;
  378.         target2 = 0;
  379.         target3 = 0;
  380.         target4 = 0;

  381.         if((c&0x80) != 0)
  382.         {
  383.                 target1 += 240;
  384.         }
  385.         if((c&0x40) != 0)
  386.         {
  387.                 target1 += 15;
  388.         }
  389.         if((c&0x20) != 0)
  390.         {
  391.                 target2 += 240;
  392.         }
  393.         if((c&0x10) != 0)
  394.         {
  395.                 target2 += 15;
  396.         }

  397.         if((c&0x08) != 0)
  398.         {
  399.                 target3 += 240;
  400.         }
  401.         if((c&0x04) != 0)
  402.         {
  403.                 target3 += 15;
  404.         }
  405.         if((c&0x02) != 0)
  406.         {
  407.                 target4 += 240;
  408.         }
  409.         if((c&0x01) != 0)
  410.         {
  411.                 target4 += 15;
  412.         }
  413. }

  414. void draw_big_ascii(unsigned char liedizhi,unsigned char layer,unsigned char *text)
  415. {
  416.     unsigned char column,i;
  417.     unsigned char cs;

  418.    
  419.     while(*text)
  420.     {
  421.         for(i=0;i<6;i++)
  422.         {
  423.             column=liedizhi+i+i;   
  424.             if(column>60)
  425.             {
  426.                 cs=1;
  427.                 column-=61;
  428.             }
  429.             else cs=0;

  430.                         make_ascii_big(ascii[*text-32][i]);
  431.         
  432.             LCD_SetColumn(column);//设置起始列
  433.             LCD_SetPage(layer);
  434.             LCD_SetRam(cs,target2);

  435.                         LCD_SetColumn(column);//设置起始列
  436.             LCD_SetPage(layer+1);
  437.             LCD_SetRam(cs,target1);

  438.             LCD_SetColumn(column+1);//设置起始列
  439.             LCD_SetPage(layer);
  440.             LCD_SetRam(cs,target2);

  441.                         LCD_SetColumn(column+1);//设置起始列
  442.             LCD_SetPage(layer+1);
  443.             LCD_SetRam(cs,target1);
  444.         }
  445.         text++;
  446.         liedizhi+=12;
  447.     }
  448. }

  449. void draw_very_big_ascii(unsigned char liedizhi,unsigned char *text)
  450. {
  451.     unsigned char column,i,j;
  452.     unsigned char cs;

  453.    
  454.     while(*text)
  455.     {
  456.         for(i=0;i<6;i++)
  457.         {
  458.             column=liedizhi+i+i+i+i;   

  459.                         make_ascii_very_big(ascii[*text-32][i]);
  460.         
  461.                         for(j=0;j<4;j++)
  462.                         {
  463.                         column=liedizhi+i+i+i+i;
  464.             if(column+j>60)
  465.             {
  466.                 cs=1;
  467.                 column-=61;
  468.             }
  469.             else cs=0;

  470.             LCD_SetColumn(column+j);
  471.             LCD_SetPage(0);
  472.             LCD_SetRam(cs,target4);

  473.                         LCD_SetColumn(column+j);
  474.             LCD_SetPage(1);
  475.             LCD_SetRam(cs,target3);

  476.                         LCD_SetColumn(column+j);
  477.             LCD_SetPage(2);
  478.             LCD_SetRam(cs,target2);

  479.                         LCD_SetColumn(column+j);
  480.             LCD_SetPage(3);
  481.             LCD_SetRam(cs,target1);
  482.                         }
  483.         }
  484.         text++;
  485.         liedizhi+=24;
  486.     }
  487. }
复制代码
回复

使用道具 举报

板凳
1qaz2wsx77 发表于 2015-7-21 22:55 | 只看该作者
这个很实用
回复

使用道具 举报

地板
stewart_leung 发表于 2015-8-14 08:09 | 只看该作者
可以可以
回复

使用道具 举报

5#
lig_ngailik@163 发表于 2015-8-15 14:53 | 只看该作者
太有材了!大赞!!
回复

使用道具 举报

6#
liaihua1997 发表于 2015-9-17 23:45 | 只看该作者
楼主动手能力真强啊,呵呵
回复

使用道具 举报

7#
ludaijin 发表于 2015-9-29 14:07 | 只看该作者
自行车的轮子大小可以设置嘛
回复

使用道具 举报

8#
血一 发表于 2015-9-30 21:13 | 只看该作者
果断做一个。。。。。。。。。。。。。
回复

使用道具 举报

9#
zgs660429 发表于 2015-10-3 16:46 来自手机 | 只看该作者
我也想做一个,学习一下
回复

使用道具 举报

10#
邰夏留 发表于 2015-10-4 11:21 | 只看该作者
顶。。。对于有用的资料,一定要顶上去供大家参考学习。
不能让那些资料不全,拿出来炫耀,又不肯共享技术的人的帖子在前面挡住大家学习的脚步。。。
回复

使用道具 举报

11#
qwa123 发表于 2015-10-6 23:14 | 只看该作者
怎么设轮子大小
回复

使用道具 举报

12#
yangkai3bu 发表于 2015-10-21 16:49 | 只看该作者
时速是按照中断一次,周长/时间还是什么。如何判断,代码太多,看花眼。
回复

使用道具 举报

13#
neemxyang 发表于 2015-11-19 21:35 | 只看该作者
我想是否可以用在我的老中华汽车上?哈哈
回复

使用道具 举报

14#
wu147 发表于 2016-2-14 03:30 来自手机 | 只看该作者
真好,,就是不懂
回复

使用道具 举报

15#
试试水 发表于 2016-5-17 13:24 | 只看该作者
厉害,我都快搞疯了,做这个
回复

使用道具 举报

16#
後輪追前輪 发表于 2016-9-20 13:18 | 只看该作者
学习学习看看自己能不能做出来
回复

使用道具 举报

17#
封古 发表于 2016-9-21 15:07 | 只看该作者
学习了
回复

使用道具 举报

18#
封古 发表于 2016-9-21 15:07 | 只看该作者
谢谢楼主
回复

使用道具 举报

19#
gy9319 发表于 2016-9-30 13:55 | 只看该作者
学习学习看看自己能不能做出来
回复

使用道具 举报

20#
gy9319 发表于 2016-9-30 13:58 | 只看该作者
谢谢楼主!学习了
回复

使用道具 举报

21#
starwaver 发表于 2016-10-2 10:53 | 只看该作者
学习了!
谢谢楼主!
回复

使用道具 举报

22#
cdma008 发表于 2017-1-3 11:12 | 只看该作者
正好需要,下载过来学习一下,感谢楼主
回复

使用道具 举报

23#
faridzled 发表于 2017-1-4 21:54 | 只看该作者
thanks for sharing
回复

使用道具 举报

24#
越快乐越堕落 发表于 2017-2-20 18:10 | 只看该作者
程序里没有测温度的。LCD12232如果用1602如何替换?
回复

使用道具 举报

25#
wc86110 发表于 2017-2-22 08:51 | 只看该作者
越快乐越堕落 发表于 2017-2-20 18:10
程序里没有测温度的。LCD12232如果用1602如何替换?

自行添加测温功能。只能重新编写显示部分了
回复

使用道具 举报

26#
zhaok2013 发表于 2017-2-22 15:45 | 只看该作者
楼主很给力
回复

使用道具 举报

27#
mmx950124 发表于 2017-3-2 18:05 | 只看该作者
谢谢。正好在做这个
回复

使用道具 举报

28#
山鬼谣 发表于 2017-3-2 22:31 | 只看该作者
楼主可以加Q向你学习一下吗
回复

使用道具 举报

29#
shuma520 发表于 2017-3-3 19:49 | 只看该作者
谢谢分享,个人觉得1602 比较常用,小巧一点
回复

使用道具 举报

30#
叶落雪舞 发表于 2017-3-8 14:03 | 只看该作者
学习,谢楼主
回复

使用道具 举报

31#
micmiutom 发表于 2017-5-7 06:53 | 只看该作者

学习了!
谢谢楼主!
回复

使用道具 举报

32#
323额 发表于 2017-5-16 21:32 | 只看该作者
本帖最后由 323额 于 2017-5-16 21:52 编辑

楼主,ds1302的接口在哪个程序里,想改一下,主函数没找到
回复

使用道具 举报

33#
A17094430 发表于 2017-12-1 21:09 | 只看该作者
支持楼主,学习了
回复

使用道具 举报

34#
tieq1952 发表于 2017-12-2 18:51 | 只看该作者
支持楼主,学习了
回复

使用道具 举报

35#
还有谁? 发表于 2019-2-9 05:29 | 只看该作者
不[ 好,支持一下

评分

参与人数 2黑币 +26 收起 理由
shuisheng60 + 16
就你?呸! + 10

查看全部评分

回复

使用道具 举报

36#
kadnn 发表于 2019-2-22 10:57 来自手机 | 只看该作者
感谢楼主,对我有很大启发
回复

使用道具 举报

37#
starwaver 发表于 2019-2-24 17:10 | 只看该作者
感谢楼主, 学习了
回复

使用道具 举报

38#
zpz181818 发表于 2019-2-24 19:41 | 只看该作者
动手能力真强。学习了。
回复

使用道具 举报

39#
tigerzq 发表于 2019-2-24 21:39 | 只看该作者
楼主这体力不行呀!山地车怎么也要上40km/h
回复

使用道具 举报

40#
tigerzq 发表于 2019-2-24 21:40 | 只看该作者
不过楼主这创意还是不错的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51hei电子论坛2群 联系QQ:125739409;技术交流QQ群219535678

Powered by 单片机教程网

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