搜索
bottom↓
回复: 77

分享 某血糖仪的单片机引脚定义来了

  [复制链接]

出0入213汤圆

发表于 2015-7-11 10:22:51 | 显示全部楼层 |阅读模式
本帖最后由 jyrpxj 于 2015-7-11 10:32 编辑

坛友应该都知道,开发板 购买在此 http://www.amobbs.com/forum.php? ... &extra=page%3D1

芯片        STM8L152R8 QFP64               
引脚号        标识        功能        备注
1        PA0        SWIM,BEEP        调试时断开BEEP焊点
2        PA1        NRST        外接复位阻容
3        PA2               
4        PA3               
5        PA4        COM0       
6        PA5        COM1       
7        PA6        COM2       
8        PA7               
9        VSSA/VREF-        GND       
10        VSS        GND       
11        VDD        VCC       
12        VDDA        VCC       
13        VREF+        VCC       
14        PG0        输出高        运放供电,低使能
15        PG1        输出低        外接运放
16        PG2        TD1测试点       
17        PG3        SEG31       
18        VLCD               
19        PE0        SEG1       
20        PE1        SEG2       
21        PE2        SEG3       
22        PE3        SEG4       
23        PE4        SEG5       
24        PE5        SEG6       
25        PD0        SEG7       
26        PD1        COM3       
27        PD2               
28        PD3               
29        VDD        VCC       
30        VSS        GND       
31        PB0        SEG10       
32        PB1        SEG11       
33        PB2        SEG12       
34        PB3        SEG13       
35        PB4        SEG14       
36        PB5        SEG15       
37        PB6        SEG16       
38        PB7               
39        PF0        输出低        外接运放
40        PF1               
41        PF4        KEY0        内上拉
42        PF5        KEY1        内上拉
43        PF6        输出低        外接插座第2脚
44        PF7               
45        PD4               
46        PD5        SEG19       
47        PD6        SEG20       
48        PD7        SEG21       
49        PG4        SEG32       
50        PG5        SEG33       
51        PG6        SEG34       
52        PG7        SEG35       
53        PC0               
54        PC1               
55        VDD        VCC       
56        VSS        GND       
57        PC2        输出低        外接运放
58        PC3        SEG23       
59        PC4        SEG24       
60        PC5        OSC32        外接32768晶振
61        PC6        OSC32        外接32768晶振
62        PC7               
63        PE6               
64        PE7        SEG27       

注:未标识功能的IO为空置状态  ,为了方便当开发板使用,去掉运放部分的功能,大家把接运放的脚都输出低,运放供电脚输出高(不供电)即可.

这款开发板可用资源: 段码屏, 内部RTC,  内部温度传感,  2个KEY ,  BEEP[调试状态不可用]

各位有写出测试代码的请分享一下,谢谢了.

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入213汤圆

 楼主| 发表于 2015-7-11 10:29:49 | 显示全部楼层
补上EXCELL文档,方便大家二次改动  

有高手分享代码吗,就等代码点屏了.

计划把这个练好,搞个RTC+LCD+低功耗 的产品

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2015-7-11 10:34:25 | 显示全部楼层
我的还没到,花点时间把LCD逻辑图描述出来就更好玩了

出0入0汤圆

发表于 2015-7-11 10:36:26 | 显示全部楼层
谢谢lz有心了,里面有5p的模拟开关是什么用途?
到了管脚功能出来,看来lz原理图应该快出来了.

出75入4汤圆

发表于 2015-7-11 10:57:50 | 显示全部楼层
本帖最后由 taishandadi 于 2015-7-11 10:59 编辑

我的昨天收到。段码屏不知怎么驱动。

出0入213汤圆

 楼主| 发表于 2015-7-11 10:58:35 | 显示全部楼层
夜猫 发表于 2015-7-11 10:34
我的还没到,花点时间把LCD逻辑图描述出来就更好玩了

逻辑图,写个程序 按一下键(第N下),点亮屏的 COM[N%4] 与 SEGY[N/4] 的段码 ,打印一张表填一下就好了.

出0入213汤圆

 楼主| 发表于 2015-7-11 11:00:08 | 显示全部楼层
wzavr 发表于 2015-7-11 10:36
谢谢lz有心了,里面有5p的模拟开关是什么用途?
到了管脚功能出来,看来lz原理图应该快出来了. ...

我只想运放那边先不管.当作RTC+LCD+低功耗 来用. 那个5Pin的是模拟开关,我以为也是运放.

出0入0汤圆

发表于 2015-7-11 11:19:28 | 显示全部楼层
貌似我错过些什么,靠。。。。

出0入8汤圆

发表于 2015-7-11 11:39:58 | 显示全部楼层
赶紧买一个压压惊~

出0入0汤圆

发表于 2015-7-11 11:51:31 | 显示全部楼层
买了两个

我也是想利用这个来学习低功耗操作

出0入0汤圆

发表于 2015-7-11 16:51:06 | 显示全部楼层
jyrpxj 发表于 2015-7-11 10:58
逻辑图,写个程序 按一下键(第N下),点亮屏的 COM[N%4] 与 SEGY[N/4] 的段码 ,打印一张表填一下就好了. ...

是的      

出0入0汤圆

发表于 2015-7-11 16:58:15 | 显示全部楼层
stm8s10x 发表于 2015-7-11 11:22
买了两个,显示效果很差,太差了,有一个还没有拆包。

怎么不好呢?我收到的显示很清晰,段码LCD不都是这样吗,casio的手表也这样

出0入4汤圆

发表于 2015-7-11 18:04:44 | 显示全部楼层
我错过了机会  刚买了个9.9包邮的 好用再买 后天到 到时候和你们一起玩

出0入0汤圆

发表于 2015-7-11 18:42:52 | 显示全部楼层
这个和我从一乐收的板子有些不一样。
从一乐收了24块,啥时收的忘了。买的时候是想学习STM8单片机的,买回来新鲜过后就扔鞋盒了。

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2015-7-11 18:48:45 | 显示全部楼层
买回来点亮了一个小灯就没再玩了。改天点亮个12864的屏看看。

出0入0汤圆

发表于 2015-7-11 20:10:52 来自手机 | 显示全部楼层
这个学习板实惠啊

出0入0汤圆

发表于 2015-7-11 20:40:01 | 显示全部楼层
额,看来我还得好好学习啊,看不到那个板块

出0入0汤圆

发表于 2015-7-11 21:00:33 | 显示全部楼层
HYLG 发表于 2015-7-11 18:42
这个和我从一乐收的板子有些不一样。
从一乐收了24块,啥时收的忘了。买的时候是想学习STM8单片机的,买回 ...

你这个好像也是血糖仪的主板,好像这本身都有两种版本,也不一样的?

出0入0汤圆

发表于 2015-7-11 21:02:15 | 显示全部楼层
jyrpxj 发表于 2015-7-11 10:58
逻辑图,写个程序 按一下键(第N下),点亮屏的 COM[N%4] 与 SEGY[N/4] 的段码 ,打印一张表填一下就好了. ...

这个方法不错,够简单方便。

出0入0汤圆

发表于 2015-7-12 09:52:20 | 显示全部楼层
现在只有¥9.9包邮的了,价格不贵。就是大家需要想想能搞些什么东西.............

出0入0汤圆

发表于 2015-7-12 10:38:17 | 显示全部楼层
gwnpeter 发表于 2015-7-12 09:52
现在只有¥9.9包邮的了,价格不贵。就是大家需要想想能搞些什么东西............. ...

已经没有比9.9更便宜的开发板啦

出0入0汤圆

发表于 2015-7-12 13:19:29 | 显示全部楼层

赶紧买一个压压惊~

出0入0汤圆

发表于 2015-7-13 08:53:11 | 显示全部楼层
wzavr 发表于 2015-7-11 10:36
谢谢lz有心了,里面有5p的模拟开关是什么用途?
到了管脚功能出来,看来lz原理图应该快出来了. ...

请问那个IC是什么型号?上面的字看不清楚

出0入0汤圆

发表于 2015-7-13 09:37:43 | 显示全部楼层
买了两个,一个是别的牌子没有用,楼主说的这个做开发板很实惠

出0入0汤圆

发表于 2015-7-13 09:58:30 | 显示全部楼层
jyrpxj 发表于 2015-7-11 10:29
补上EXCELL文档,方便大家二次改动  

有高手分享代码吗,就等代码点屏了.

搜了下,坛子里有参考   http://www.amobbs.com/forum.php? ... 3065&highlight=温湿度

出0入0汤圆

发表于 2015-7-13 11:08:43 | 显示全部楼层
LK9286 发表于 2015-7-13 08:53
请问那个IC是什么型号?上面的字看不清楚

TS5A4595            

出0入8汤圆

发表于 2015-7-13 11:14:09 | 显示全部楼层
两个在路上,,主要是液晶的驱动,,

出0入213汤圆

 楼主| 发表于 2015-7-13 11:54:01 | 显示全部楼层
huangqi412 发表于 2015-7-13 09:58
搜了下,坛子里有参考   http://www.amobbs.com/forum.php?mod=viewthread&tid=5603065&highlight=温湿度 ...

感谢,感谢.这就去下载来看看

出0入0汤圆

发表于 2015-7-13 13:12:17 | 显示全部楼层

辛苦了,不错,支持一下

出0入0汤圆

发表于 2015-7-13 13:15:31 | 显示全部楼层

出0入0汤圆

发表于 2015-7-13 13:45:17 | 显示全部楼层
jyrpxj 发表于 2015-7-13 11:54
感谢,感谢.这就去下载来看看

楼主随便辛苦下描下电路图吧,免得大家都做重复工作

出0入0汤圆

发表于 2015-7-13 15:07:12 | 显示全部楼层
也收到了。9.9的一个,5.6的一个。两家时间不一,9.9的是裸机。5.6的,还有试纸、针头和采血笔送。唉!

出0入89汤圆

发表于 2015-7-13 16:03:19 | 显示全部楼层
真够便宜的

出0入4汤圆

发表于 2015-7-13 16:24:14 | 显示全部楼层
弄到个5.6了,刚到货。外壳不错,谁能把屏驱动起来D个码表玩玩

出0入0汤圆

发表于 2015-7-13 16:55:18 | 显示全部楼层
我买的9.9的,还有试纸、针头和采血笔送。

出0入213汤圆

 楼主| 发表于 2015-7-14 10:04:37 | 显示全部楼层
huangqi412 发表于 2015-7-13 13:45
楼主随便辛苦下描下电路图吧,免得大家都做重复工作

运放部分忽略不看,几乎不需要原理图啊.

出0入8汤圆

发表于 2015-7-14 16:23:17 | 显示全部楼层
怎么刷掉里面的程序啊
现在下载不了程序

出0入8汤圆

发表于 2015-7-14 19:46:34 | 显示全部楼层
UART1 printf 程序
把蜂鸣器焊掉,焊出串口引脚

压缩包是7Z格式的

本帖子中包含更多资源

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

x

出0入213汤圆

 楼主| 发表于 2015-7-15 09:12:02 | 显示全部楼层
lindabell 发表于 2015-7-14 16:23
怎么刷掉里面的程序啊
现在下载不了程序

焊掉BEEP焊点就可以下载了.

出0入8汤圆

发表于 2015-7-16 09:11:12 | 显示全部楼层
我加5V电把LCD烧了,否则今天就能驱动起来了







出0入8汤圆

发表于 2015-7-16 10:58:52 | 显示全部楼层
昨天收到,今天在折腾,感谢有这个东东,

出0入0汤圆

发表于 2015-7-16 23:26:01 | 显示全部楼层
不会吧 这么久都没有出来么 原理图是早就有了 显示个时钟啥的也早就有了 ( ̄▽ ̄")
http://v.youku.com/v_show/id_XMTI4NjQ3NTM2NA==.html

出0入4汤圆

发表于 2015-7-17 08:58:45 | 显示全部楼层
我的时钟也写起来了 可以走时了 正在研究温度这一块

出0入8汤圆

发表于 2015-7-17 13:15:50 来自手机 | 显示全部楼层
又在路上了

出0入0汤圆

发表于 2015-7-17 14:45:12 | 显示全部楼层
jlhgold 发表于 2015-7-16 23:26
不会吧 这么久都没有出来么 原理图是早就有了 显示个时钟啥的也早就有了 ( ̄▽ ̄")
...

本来是一台能用的仪器,现在搞残了,却很有成就感!
生命在于折腾还是有道理的。

出0入0汤圆

发表于 2015-7-17 17:02:57 | 显示全部楼层
下午正好有空,撸了一把,算是失败。
接口焊盘是VCC   SWIM  RST  GND  TD1(PG2)    先用头发丝大的漆包线飞下载座从试纸口出来。      没玩过STML152这种片子,先下载了个数据手册和编程手册,  找到GPIO寄存器定义,在IAR写个闪灯,观察PG2没问题。        搞LCD需要先搞时钟,看时钟树图,CPU用内部16M, RTC用外部32K,  没焊时钟输出脚,也懒得看其他模块,所以没法验证,但应该不会错。   接下来搞LCD模块图,  想着应该三下五除二分分钟就能搞定显示。  大约60HZ帧频,1/3偏压驱动  内部最高电压源 所有SEG脚使能,显存全填充FF,下进去没反应。  对着寄存器定义左看右看应该没有错,  最后把帧中断加上了,在中断闪灯,结果中断也没反应。  彻底无语了。    无意中插拔了一次ST-LINK,尼玛,居然显示了!帧中断也正常发生。  再测试发现DEBUG下程序正常跑但是LCD无反应,复位也不顶用,一定要重新上电才行,求教用过的大侠这是何解,     将显存FF修改了下,果然缺了很多笔画了。要找出段码对应表不难了,顺手用GPIO加上按键,按一次改一次显存。  焊出串口调试就更方便了。
求教,为何LCD模块DEBUG下无反应(单步和断点可知程序在正常跑),复位一次也不成,非要重新上电?

出0入0汤圆

发表于 2015-7-17 17:03:36 | 显示全部楼层
下午正好有空,撸了一把,算是失败。
接口焊盘是VCC   SWIM  RST  GND  TD1(PG2)    先用头发丝大的漆包线飞下载座从试纸口出来。      没玩过STML152这种片子,先下载了个数据手册和编程手册,  找到GPIO寄存器定义,在IAR写个闪灯,观察PG2没问题。        搞LCD需要先搞时钟,看时钟树图,CPU用内部16M, RTC用外部32K,  没焊时钟输出脚,也懒得看其他模块,所以没法验证,但应该不会错。   接下来搞LCD模块图,  想着应该三下五除二分分钟就能搞定显示。  大约60HZ帧频,1/3偏压驱动  内部最高电压源 所有SEG脚使能,显存全填充FF,下进去没反应。  对着寄存器定义左看右看应该没有错,  最后把帧中断加上了,在中断闪灯,结果中断也没反应。  彻底无语了。    无意中插拔了一次ST-LINK,尼玛,居然显示了!帧中断也正常发生。  再测试发现DEBUG下程序正常跑但是LCD无反应,复位也不顶用,一定要重新上电才行,求教用过的大侠这是何解,     将显存FF修改了下,果然缺了很多笔画了。要找出段码对应表不难了,顺手用GPIO加上按键,按一次改一次显存。  焊出串口调试就更方便了。
求教,为何LCD模块DEBUG下无反应(单步和断点可知程序在正常跑),复位一次也不成,非要重新上电?

出0入0汤圆

发表于 2015-7-17 17:44:04 | 显示全部楼层
加了按键,  按一次蜂鸣器响一声,修改一次显存。  蛋疼的还是需要重新上电才有显示,   不重新上电程序也在运行,就是没有显示。

出0入0汤圆

发表于 2015-7-17 18:08:25 | 显示全部楼层
加了按键,  按一次蜂鸣器响一声,修改一次显存。  蛋疼的还是需要重新上电才有显示,   不重新上电程序也在运行,就是没有显示。

出0入0汤圆

发表于 2015-7-17 20:45:34 | 显示全部楼层
ecat 发表于 2015-7-17 14:45
本来是一台能用的仪器,现在搞残了,却很有成就感!
生命在于折腾还是有道理的。 ...

买来就不是为了用 说实在的 淘宝上买这种类型的东西我是不敢用的

出0入213汤圆

 楼主| 发表于 2015-7-18 09:24:59 | 显示全部楼层
可分享一下代码么.

出0入213汤圆

 楼主| 发表于 2015-7-18 09:25:55 | 显示全部楼层
huangqi412 发表于 2015-7-17 18:08
加了按键,  按一次蜂鸣器响一声,修改一次显存。  蛋疼的还是需要重新上电才有显示,   不重新上电程序也 ...

可分享代码么,学习.

出0入0汤圆

发表于 2015-7-19 10:46:24 | 显示全部楼层
jyrpxj 发表于 2015-7-18 09:25
可分享代码么,学习.

我已经放弃治疗了,没想出为什么非要重新上电才有显示。代码很简单,先包含STM8L152R8.H头文件,找GPIO的DDR,ODR,CR1,完成闪灯。  再开启HSI  LSE,分别对CPU和RTC供应,使能各模块。最后设置LCD模块参数,打开SEG脚,填充显存FF全部显示,插拔一下STLINK重新上电,加起来也就半小时的事,再加上按键去慢慢修改显存找对应关系吧。         对于重新上电才有显示很无语,所以懒得折腾,还是等已经搞出时钟显示的各位放代码吧。

出0入8汤圆

发表于 2015-7-20 21:16:41 | 显示全部楼层
部分显示代码


  1. #include "LCD.h"

  2. void LCD_init(void)
  3. {
  4.     // Enable LCD clock //
  5.     CLK_PeripheralClockConfig(CLK_Peripheral_LCD, ENABLE);

  6.     // Initialize the LCD //
  7.     LCD_Init(LCD_Prescaler_2, LCD_Divider_18, LCD_Duty_1_4,
  8.              LCD_Bias_1_3, LCD_VoltageSource_External);

  9.     // Mask register//
  10.     LCD_PortMaskConfig(LCD_PortMaskRegister_0, 0xFF);
  11.     LCD_PortMaskConfig(LCD_PortMaskRegister_1, 0xFF);
  12.     LCD_PortMaskConfig(LCD_PortMaskRegister_2, 0xFF);
  13.     LCD_PortMaskConfig(LCD_PortMaskRegister_3, 0xFF);
  14.     LCD_PortMaskConfig(LCD_PortMaskRegister_4, 0xFF);
  15.     LCD_PortMaskConfig(LCD_PortMaskRegister_5, 0xFF);

  16.     LCD_ContrastConfig(LCD_Contrast_Level_7);
  17.     LCD_DeadTimeConfig(LCD_DeadTime_0);
  18.     LCD_PulseOnDurationConfig(LCD_PulseOnDuration_1);

  19.     LCD_Cmd(ENABLE); // Enable LCD peripheral //
  20. }

  21. u8 LCD_ReadRAM(LCD_RAMRegister_TypeDef LCD_RAMRegister)
  22. {
  23.     /* Check function parameters */
  24.     assert_param(IS_LCD_RAM_REGISTER(LCD_RAMRegister));

  25.     /* Copy data bytes to RAM register */
  26.     return LCD->RAM[LCD_RAMRegister];
  27. }

  28. void set_RAM_bit(u8 LCD_RAMRegister,u8 bit)
  29. {
  30.     LCD_WriteRAM(LCD_RAMRegister,LCD_ReadRAM(LCD_RAMRegister)|(1<<bit));
  31. }
  32. void reset_RAM_bit(u8 LCD_RAMRegister,u8 bit)
  33. {
  34.     LCD_WriteRAM(LCD_RAMRegister,LCD_ReadRAM(LCD_RAMRegister)&(~(1<<bit)));
  35. }

  36. void show_high_temperature(bool newstate)
  37. {
  38.     if(newstate)
  39.     {
  40.       set_RAM_bit(LCD_RAMRegister_13,1);
  41.     }
  42.     else
  43.     {
  44.         reset_RAM_bit(LCD_RAMRegister_13,1);

  45.     }

  46. }
  47. void show_low_voltage(bool newstate)
  48. {
  49.     if(newstate)
  50.     {
  51.       set_RAM_bit(LCD_RAMRegister_13,3);
  52.     }
  53.     else
  54.     {
  55.         reset_RAM_bit(LCD_RAMRegister_13,3);

  56.     }

  57. }

  58. void show_AM(bool newstate)
  59. {
  60.     if(newstate)
  61.     {
  62.         set_RAM_bit(LCD_RAMRegister_6,1);
  63.     }
  64.     else
  65.     {
  66.         reset_RAM_bit(LCD_RAMRegister_6,1);

  67.     }
  68. }
  69. void show_PM(bool newstate)
  70. {
  71.     if(newstate)
  72.     {
  73.         set_RAM_bit(LCD_RAMRegister_9,5);
  74.     }
  75.     else
  76.     {
  77.         reset_RAM_bit(LCD_RAMRegister_9,5);

  78.     }
  79. }

  80. void show_month_day(bool newstate)
  81. {
  82.     if(newstate)
  83.     {
  84.         set_RAM_bit(LCD_RAMRegister_12,3);
  85.     }
  86.     else
  87.     {
  88.         reset_RAM_bit(LCD_RAMRegister_12,3);
  89.     }
  90. }

  91. void show_error(bool newstate)
  92. {
  93.     if(newstate)
  94.     {
  95.         set_RAM_bit(LCD_RAMRegister_0,3);
  96.     }
  97.     else
  98.     {
  99.         reset_RAM_bit(LCD_RAMRegister_0,3);
  100.     }
  101. }
  102. void show_result(bool newstate)
  103. {
  104.     if(newstate)
  105.     {
  106.         set_RAM_bit(LCD_RAMRegister_4,0);
  107.     }
  108.     else
  109.     {
  110.         reset_RAM_bit(LCD_RAMRegister_4,0);
  111.     }
  112. }

  113. void show_wait(bool newstate)
  114. {
  115.     if(newstate)
  116.     {
  117.         set_RAM_bit(LCD_RAMRegister_7,4);
  118.     }
  119.     else
  120.     {
  121.         reset_RAM_bit(LCD_RAMRegister_7,4);

  122.     }
  123. }
  124. void show_blood(bool newstate)
  125. {
  126.     if(newstate)
  127.     {
  128.         set_RAM_bit(LCD_RAMRegister_11,0);
  129.     }
  130.     else
  131.     {
  132.         reset_RAM_bit(LCD_RAMRegister_11,0);

  133.     }
  134. }

  135. void show_insert(bool newstate)
  136. {
  137.     if(newstate)
  138.     {
  139.       set_RAM_bit(LCD_RAMRegister_0,4);
  140.     }
  141.     else
  142.     {
  143.         reset_RAM_bit(LCD_RAMRegister_0,4);
  144.     }
  145. }

  146. void show_adjust(bool newstate)
  147. {
  148.     if(newstate)
  149.     {
  150.       set_RAM_bit(LCD_RAMRegister_0,5);
  151.     }
  152.     else
  153.     {
  154.         reset_RAM_bit(LCD_RAMRegister_0,5);
  155.     }
  156. }
  157. void show_colon(bool newstate)
  158. {
  159.     if(newstate)
  160.     {
  161.       set_RAM_bit(LCD_RAMRegister_20,6);
  162.     }
  163.     else
  164.     {
  165.         reset_RAM_bit(LCD_RAMRegister_20,6);
  166.     }
  167. }

  168. //seg of map
  169. //                  REG,BIT  a,b,c,d,e,f,g
  170. const u8 mon_map[14]={           \
  171.                     1,6,    \
  172.                     5,2,    \
  173.                     8,6,    \
  174.                     12,2,   \
  175.                     8,5,    \
  176.                     1,5,    \
  177.                     5,1     \
  178. };
  179. //                  REG,BIT  a,b,c,d,e,f,g
  180. const u8 day_map_H[14]={           \
  181.                     2,0,    \
  182.                     5,4,    \
  183.                     9,0,    \
  184.                     12,4,   \
  185.                     8,7,    \
  186.                     1,7,    \
  187.                     5,3     \
  188. };
  189. //                  REG,BIT  a,b,c,d,e,f,g
  190. const u8 day_map_L[14]={           \
  191.                     2,4,    \
  192.                     6,0,    \
  193.                     9,4,    \
  194.                     13,0,   \
  195.                     9,3,    \
  196.                     2,3,    \
  197.                     5,7     \
  198. };
  199. //��ʾ����
  200. static void show_digit(const u8 *map,u8 digit)
  201. {
  202.     switch (digit)
  203.     {
  204.     case 0:
  205.         set_RAM_bit(map[0],map[1]);//a
  206.         set_RAM_bit(map[2],map[3]);//b
  207.         set_RAM_bit(map[4],map[5]);//c
  208.         set_RAM_bit(map[6],map[7]);//d
  209.         set_RAM_bit(map[8],map[9]);//e
  210.         set_RAM_bit(map[10],map[11]);//f
  211.         reset_RAM_bit(map[12],map[13]);//g
  212.         break;
  213.     case 1:
  214.         reset_RAM_bit(map[0],map[1]);//a
  215.         set_RAM_bit(map[2],map[3]);//b
  216.         set_RAM_bit(map[4],map[5]);//c
  217.         reset_RAM_bit(map[6],map[7]);//d
  218.         reset_RAM_bit(map[8],map[9]);//e
  219.         reset_RAM_bit(map[10],map[11]);//f
  220.         reset_RAM_bit(map[12],map[13]);//g
  221.         break;
  222.     case 2:
  223.         set_RAM_bit(map[0],map[1]);//a
  224.         set_RAM_bit(map[2],map[3]);//b
  225.         reset_RAM_bit(map[4],map[5]);//c
  226.         set_RAM_bit(map[6],map[7]);//d
  227.         set_RAM_bit(map[8],map[9]);//e
  228.         reset_RAM_bit(map[10],map[11]);//f
  229.         set_RAM_bit(map[12],map[13]);//g
  230.         break;
  231.     case 3:
  232.         set_RAM_bit(map[0],map[1]);//a
  233.         set_RAM_bit(map[2],map[3]);//b
  234.         set_RAM_bit(map[4],map[5]);//c
  235.         set_RAM_bit(map[6],map[7]);//d
  236.         reset_RAM_bit(map[8],map[9]);//e
  237.         reset_RAM_bit(map[10],map[11]);//f
  238.         set_RAM_bit(map[12],map[13]);//g
  239.         break;
  240.     case 4:
  241.         reset_RAM_bit(map[0],map[1]);//a
  242.         set_RAM_bit(map[2],map[3]);//b
  243.         set_RAM_bit(map[4],map[5]);//c
  244.         reset_RAM_bit(map[6],map[7]);//d
  245.         reset_RAM_bit(map[8],map[9]);//e
  246.         set_RAM_bit(map[10],map[11]);//f
  247.         set_RAM_bit(map[12],map[13]);//g
  248.         break;
  249.     case 5:
  250.         set_RAM_bit(map[0],map[1]);//a
  251.         reset_RAM_bit(map[2],map[3]);//b
  252.         set_RAM_bit(map[4],map[5]);//c
  253.         set_RAM_bit(map[6],map[7]);//d
  254.         reset_RAM_bit(map[8],map[9]);//e
  255.         set_RAM_bit(map[10],map[11]);//f
  256.         set_RAM_bit(map[12],map[13]);//g
  257.         break;
  258.     case 6:
  259.         reset_RAM_bit(map[0],map[1]);//a
  260.         reset_RAM_bit(map[2],map[3]);//b
  261.         set_RAM_bit(map[4],map[5]);//c
  262.         set_RAM_bit(map[6],map[7]);//d
  263.         set_RAM_bit(map[8],map[9]);//e
  264.         set_RAM_bit(map[10],map[11]);//f
  265.         set_RAM_bit(map[12],map[13]);//g
  266.         break;
  267.     case 7:
  268.         set_RAM_bit(map[0],map[1]);//a
  269.         set_RAM_bit(map[2],map[3]);//b
  270.         set_RAM_bit(map[4],map[5]);//c
  271.         reset_RAM_bit(map[6],map[7]);//d
  272.         reset_RAM_bit(map[8],map[9]);//e
  273.         reset_RAM_bit(map[10],map[11]);//f
  274.         reset_RAM_bit(map[12],map[13]);//g
  275.         break;
  276.     case 8:
  277.         set_RAM_bit(map[0],map[1]);//a
  278.         set_RAM_bit(map[2],map[3]);//b
  279.         set_RAM_bit(map[4],map[5]);//c
  280.         set_RAM_bit(map[6],map[7]);//d
  281.         set_RAM_bit(map[8],map[9]);//e
  282.         set_RAM_bit(map[10],map[11]);//f
  283.         set_RAM_bit(map[12],map[13]);//g
  284.         break;
  285.     case 9:
  286.         set_RAM_bit(map[0],map[1]);//a
  287.         set_RAM_bit(map[2],map[3]);//b
  288.         set_RAM_bit(map[4],map[5]);//c
  289.         reset_RAM_bit(map[6],map[7]);//d
  290.         reset_RAM_bit(map[8],map[9]);//e
  291.         set_RAM_bit(map[10],map[11]);//f
  292.         set_RAM_bit(map[12],map[13]);//g
  293.         break;
  294.     }
  295. }

  296. void show_month(u8 m)
  297. {
  298.     if(m>=10) set_RAM_bit(LCD_RAMRegister_12,1);
  299.     else   reset_RAM_bit(LCD_RAMRegister_12,1);

  300.     show_digit(mon_map,m%10);
  301. }

  302. void show_day(u8 d)
  303. {
  304.     show_digit(day_map_H,d/10);
  305.     show_digit(day_map_L,d%10);
  306. }

  307. void show_hour(u8 H)
  308. {

  309. }

  310. void LCD_test(void)
  311. {
  312.     u8 i;
  313.     show_high_temperature(TRUE);
  314.     show_low_voltage(TRUE);
  315.     show_AM(TRUE);
  316.     show_PM(TRUE);
  317.     show_month_day(TRUE);
  318.     show_error(TRUE);
  319.     show_result(TRUE);
  320.     show_wait(TRUE);
  321.     show_blood(TRUE);
  322.     show_insert(TRUE);
  323.     show_adjust(TRUE);
  324.     show_colon(TRUE);
  325.     for(i=0;i<10;i++)
  326.     {
  327.       show_month(i);
  328.     }
  329.     for(i=0;i<10;i++)
  330.     {
  331.       show_day(i*10+i);
  332.     }


  333.     show_high_temperature(FALSE);
  334.     show_low_voltage(FALSE);
  335.     show_AM(FALSE);
  336.     show_PM(FALSE);
  337.     show_month_day(FALSE);
  338.     show_error(FALSE);
  339.     show_result(FALSE);
  340.     show_wait(FALSE);
  341.     show_blood(FALSE);
  342.     show_insert(FALSE);
  343.     show_adjust(FALSE);
  344.     show_colon(FALSE);
  345. }
复制代码

出0入0汤圆

发表于 2015-7-21 09:16:54 | 显示全部楼层

顶了,哪位兄弟把时间与温度搞出来  让我爽一把

出0入8汤圆

发表于 2015-7-21 10:10:04 | 显示全部楼层
yanyi103 发表于 2015-7-21 09:16
顶了,哪位兄弟把时间与温度搞出来  让我爽一把

时间库例程就有啊
我把主板拆下来,安装回去LCD无法显示了,目前废了两台了
提醒大家不要把主板拆下来,因为LCD哪里很容易接触不良的

出0入8汤圆

发表于 2015-7-21 10:21:18 | 显示全部楼层
图中表示 SEGx/COMx

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2015-7-21 10:27:05 | 显示全部楼层

赞一个,谢谢分享

出0入0汤圆

发表于 2015-7-21 12:29:11 | 显示全部楼层
lindabell 发表于 2015-7-21 10:10
时间库例程就有啊
我把主板拆下来,安装回去LCD无法显示了,目前废了两台了
提醒大家不要把主板拆下来, ...

我主板拆了好几次没问题

那个导电胶要把螺丝搞紧点

出0入8汤圆

发表于 2015-7-21 13:42:20 | 显示全部楼层
yanyi103 发表于 2015-7-21 12:29
我主板拆了好几次没问题

那个导电胶要把螺丝搞紧点

螺丝搞紧了,弄了很久了就是不能显示了,放弃了

出0入0汤圆

发表于 2015-7-21 13:44:41 | 显示全部楼层
yanyi103 发表于 2015-7-21 12:29
我主板拆了好几次没问题

那个导电胶要把螺丝搞紧点

我的刚开始也是不能显示,用的这个方法搞好的

出0入0汤圆

发表于 2015-7-21 14:23:04 | 显示全部楼层
还是想问问各位,为何会出现DEBUG或者下载无显示,一定要重新上电才有显示?

出0入0汤圆

发表于 2015-7-30 15:35:55 | 显示全部楼层
本帖最后由 ppdd 于 2015-7-30 15:38 编辑

这芯片用什么仿真器 好使?

贸泽报价, 10片:        ¥25.4124

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2015-7-30 17:48:19 | 显示全部楼层
ppdd 发表于 2015-7-30 15:35
这芯片用什么仿真器 好使?

贸泽报价, 10片:        ¥25.4124

STM8  用 ST-LINK 可以仿真,14元一个,地球最便宜的仿真器了,
这个MCU 价格也不贵,5元以下,你查这个都是黑心供应商的,价格高了几倍。

出0入8汤圆

发表于 2015-9-9 11:16:49 | 显示全部楼层

你好,我把你的部分代码写入单片机,执行完LCD初始化程序就不运行了是什么原因呢?

出0入8汤圆

发表于 2015-9-9 13:11:00 来自手机 | 显示全部楼层
之前还兄弟放了代码,现在好像没有了,

出0入0汤圆

发表于 2015-9-11 13:21:11 来自手机 | 显示全部楼层
天哪,看了楼主资料,赶紧再撸两个压压惊!

出0入0汤圆

发表于 2015-9-23 22:04:13 | 显示全部楼层
不错了,买了一个正准备玩呢。

出0入0汤圆

发表于 2015-9-24 08:59:08 | 显示全部楼层
我也新痒痒的,准备入一个玩玩

出0入0汤圆

发表于 2015-9-24 16:18:24 | 显示全部楼层
提供个链接,这边也有人在玩,貌似还有一些驱动资料,希望对大家有用。
http://bbs.mydigit.cn/read.php?tid=1303057

出0入0汤圆

发表于 2015-9-24 18:24:10 | 显示全部楼层
这也太便宜了吧.

出0入0汤圆

发表于 2015-10-11 16:51:01 | 显示全部楼层
HYLG 发表于 2015-7-11 18:42
这个和我从一乐收的板子有些不一样。
从一乐收了24块,啥时收的忘了。买的时候是想学习STM8单片机的,买回 ...

多少钱买的啊?

出0入0汤圆

发表于 2015-10-11 18:05:44 | 显示全部楼层
合下来4块钱一块。

出0入0汤圆

发表于 2015-10-11 18:26:40 | 显示全部楼层
感觉还不错的样子



出0入0汤圆

发表于 2015-10-11 20:50:17 | 显示全部楼层
HYLG 发表于 2015-10-11 18:05
合下来4块钱一块。

性价比高!用来当最小系统不错啊

出0入0汤圆

发表于 2015-11-23 10:27:24 | 显示全部楼层
jyrpxj 发表于 2015-7-15 09:12
焊掉BEEP焊点就可以下载了.

你是意思是把蜂鸣器从电路板上焊接拿掉?才能正常下载程序?

出0入0汤圆

发表于 2015-11-23 13:11:56 | 显示全部楼层
有知道的吗?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-9-27 15:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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