搜索
bottom↓
回复: 22

一款 Sauna 控制器控制器原理图

[复制链接]

出0入0汤圆

发表于 2011-5-20 20:52:00 | 显示全部楼层 |阅读模式
闲话少说,上原理图。
点击此处下载 ourdev_641596LVFBGS.pdf(文件大小:64K) (原文件名:STC12C5204AD???????????÷.pdf)
按钮的处理的办法很好,节约了很多IO口。

此处只给出数码管扫描、按键读取的函数,注意下某些IO口的模式变化。其它程序都是浮云~~~~
//1ms中断,用于数码管扫描、按键检测
void Timer0Interrupt(void) interrupt 1
{
    TH0 = 0xFC;
    TL0 = 0x18;
        //add your code here!
        bit_con++; if(bit_con>6) bit_con=0;
        ms_100_con++;
        ms_1_con++;

        //关闭所有数码管,消隐
        LED1_A = 0;LED2_A = 0;LED3_A = 0;LED4_A = 0;LED5_A = 0;
        switch(bit_con)
        {
         case 0:  
                   //检测按钮
                    key_value = 0; cn_value = 0;
                    for(key_tab_con=0;key_tab_con<8;key_tab_con++)
                     {
                          put_one_char(~KEY_TAB[key_tab_con]);         //依次输出按键扫描码A-H
                          if(!KEY_in) key_value = key_value + KEY_TAB[key_tab_con];
                          if(!CN_in)  cn_value  =  cn_value + KEY_TAB[key_tab_con];
                          }
                         //if(key_value) key_flg = 1;       
                         //if(cn_value) cn_flg = 1;
                   //检测按钮结束
               break;
         case 1: //LED1
               put_one_char(Led_show_buf[0]);
               LED1_A = 1;LED2_A = 0;LED3_A = 0;LED4_A = 0;LED5_A = 0;
               break;
         case 2: //LED2
               put_one_char(Led_show_buf[1]);
                   LED1_A = 0;LED2_A = 1;LED3_A = 0;LED4_A = 0;LED5_A = 0;
               break;
         case 3: //LED3
               put_one_char(Led_show_buf[2]);
                   LED1_A = 0;LED2_A = 0;LED3_A = 1;LED4_A = 0;LED5_A = 0;
               break;
         case 4: //LED4
               put_one_char(Led_show_buf[3]);
                   LED1_A = 0;LED2_A = 0;LED3_A = 0;LED4_A = 1;LED5_A = 0;
               break;
         case 5: //LED5
               put_one_char(Led_show_buf[4]);
                   LED1_A = 0;LED2_A = 0;LED3_A = 0;LED4_A = 0;LED5_A = 1;
               break;

         default:
                   break;
        }
       
}
/*******************************/
/*   *  『 164写1个数码管 』 *  */
/*******************************/  
void put_one_char(uchar data_char)
{
  uchar temp;
  temp=data_char;
  P3M1 = 0x00; //P1强推挽输出
  P3M0 = 0xbf;
  for (i=0;i<8;i++)  
  {
    CLK_164 = 0;//拉低74HC164时钟        
    if(temp&0x80)
      DAT_164 = 1;
    else
      DAT_164 = 0;
    temp=temp<<1;//左移一位数据,先发高位       
    CLK_164 = 1;//拉高74HC164时钟
  }  
  DAT_164 = 1;
  CLK_164 = 0;
   
  P3M1 = 0x20; //P34、P35输入、其余强推挽输出
  P3M0 = 0x8f;
  _nop_();_nop_();_nop_();_nop_();
}

为了布线方便(仔细看图纸),数码管的接线也是不一般的,所以字符表也就不一般了。
code unsigned char SMG_1_3_5_TAB[]= {
        0xC0,/*0*/
        0xFC,/*1*/
        0x4A,/*2*/
        0x68,/*3*/
        0x74,/*4*/
        0x61,/*5*/
        0x41,/*6*/
        0xF8,/*7*/
        0x40,/*8*/
        0x60,/*9*/
        0x7f,/*-*/ //0x50,/*A*/
        0xbf,/* */ //0x45,/*b*/
        0xC3,/*C*/
        0x4C,/*d*/
        0x43,/*E*/
        0x53,/*F*/
};
code unsigned char SMG_2_4_TAB[]= {
        0x21,/*0*/
        0x6F,/*1*/
        0x34,/*2*/
        0x64,/*3*/
        0x6A,/*4*/
        0xE0,/*5*/
        0xA0,/*6*/
        0x67,/*7*/
        0x20,/*8*/
        0x60,/*9*/
        0xfe,/*-*/ //0x22,/*A*/
        0xff,/*b*/ //0xA8,/*b*/
        0xB1,/*C*/
        0x2C,/*d*/
        0xB0,/*E*/
        0xB2,/*F*/
};
//扫描按键用的
code unsigned char KEY_TAB[8]={
        0x01,/*A*/
        0x02,/*B*/
        0x04,/*C*/
        0x08,/*D*/
        0x10,/*E*/
        0x20,/*F*/
        0x40,/*G*/
        0x80 /*H*/
                };

----------------------分割线下面才是我的目的----------------------------------
找人(招聘),前一段时间,有个女孩子到我们公司面试(铜山新区,润泽电气),当时你说要把目前手头的工作完成才可以~~。不巧的事,人事部门主管后来离职了,你的资料我找不到了,所以借此找找你,我的邮箱64785674在163点公司。谢谢。

招聘硬件设计工程师,要求:徐州人,有工作经验,工作经验要求硬件设计>2年(含非常爱恋电子设计的新手)。

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

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2011-5-21 16:41:51 | 显示全部楼层
自己顶一下~~~

出0入0汤圆

发表于 2011-5-21 17:01:31 | 显示全部楼层
路过

出0入0汤圆

发表于 2011-5-21 17:06:43 | 显示全部楼层
回复【1楼】erxun  老孟
-----------------------------------------------------------------------
帮顶,和我同姓啊。。。

出0入0汤圆

 楼主| 发表于 2011-5-21 17:29:58 | 显示全部楼层
回复【3楼】binaimei2007 兵仔
-----------------------------------------------------------------------

谢谢!!
天下姓孟是一家啊~~~,我是宪字辈的。。。

出0入0汤圆

发表于 2011-5-21 18:23:32 | 显示全部楼层
好东西,学习学习

出0入0汤圆

发表于 2011-5-22 15:55:52 | 显示全部楼层
老孟同志要这样子吗?按理来说,人事主管离职,可它也不会把文档什么的都销毁吧,那么致电请帮个忙,应该是可以的吧。我现在还经常要给我上家公司接手研发的哥们答各种技术疑。

出0入0汤圆

 楼主| 发表于 2011-5-23 13:58:10 | 显示全部楼层
回复【6楼】kinsno
-----------------------------------------------------------------------

人事部门资料交接时没弄好。可惜了一个人才。

出0入0汤圆

发表于 2012-5-23 00:08:13 | 显示全部楼层
顶一下!

出0入0汤圆

发表于 2012-12-10 22:55:13 | 显示全部楼层
非常谢谢。这个说明非常详细。

有一个问题:
//关闭所有数码管,消隐
        LED1_A = 0;LED2_A = 0;LED3_A = 0;LED4_A = 0;LED5_A = 0;

你的数码管都是共阳。三极管是pnp。如果拉底,那就是vdd通电。

通电,怎么是关led呢?
·················································
是我看错了。其实是NPN,而不是pnp。9013

出0入0汤圆

发表于 2012-12-10 22:56:00 | 显示全部楼层
你这个资料好在,还写明了,刷新频率。

出0入0汤圆

发表于 2012-12-11 20:55:10 | 显示全部楼层
mark谢谢谢谢小星星

出0入0汤圆

发表于 2012-12-17 07:00:06 来自手机 | 显示全部楼层
顶一下了,可惜是个初学者了。

出0入0汤圆

发表于 2012-12-17 08:56:27 | 显示全部楼层
帮孟兄顶一下吧,5年不回徐州,不知道电子市场的张荣举和胡萍还在开店否,当年就这么2家能买元器件的。

出0入0汤圆

发表于 2012-12-17 09:46:11 | 显示全部楼层
mark

出0入0汤圆

发表于 2013-2-20 21:25:07 | 显示全部楼层
Thanks for sharing!

出0入0汤圆

发表于 2018-6-11 16:11:10 | 显示全部楼层

我的电路整体上跟楼主的是差不多的原理,应该也是采用类似的算法,谢谢提供思路。

本帖子中包含更多资源

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

x

出0入96汤圆

发表于 2018-6-11 17:26:41 | 显示全部楼层
天堂之泪 发表于 2018-6-11 16:11
我的电路整体上跟楼主的是差不多的原理,应该也是采用类似的算法,谢谢提供思路。 ...

目前直接上一个tm1629A之类的驱动芯片,连按键,带LED驱动都有了,而且还可以7级亮度调节,省空间,省焊接成本

出10入210汤圆

发表于 2018-6-11 17:51:47 | 显示全部楼层
gallle 发表于 2018-6-11 17:26
目前直接上一个tm1629A之类的驱动芯片,连按键,带LED驱动都有了,而且还可以7级亮度调节,省空间,省焊 ...

还省MCU的资源。

出0入0汤圆

发表于 2018-6-11 19:33:31 | 显示全部楼层
gallle 发表于 2018-6-11 17:26
目前直接上一个tm1629A之类的驱动芯片,连按键,带LED驱动都有了,而且还可以7级亮度调节,省空间,省焊 ...

你那个成本比较高吧,一个595才0.2元。

出0入96汤圆

发表于 2018-6-12 08:04:02 | 显示全部楼层
天堂之泪 发表于 2018-6-11 19:33
你那个成本比较高吧,一个595才0.2元。

没有多高,但是你这个算上限流电阻,按键二极管,焊点这些,需要多少钱?你要看整体成本啊
而且你这个只有4个8段码,可以选择适合的芯片,整体比你这个要划算的,程序也简洁的多,
当然,你是学习或研究无所谓了

出0入0汤圆

发表于 2018-6-12 08:58:06 | 显示全部楼层
gallle 发表于 2018-6-12 08:04
没有多高,但是你这个算上限流电阻,按键二极管,焊点这些,需要多少钱?你要看整体成本啊
而且你这个只 ...

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

本版积分规则

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

GMT+8, 2024-3-29 00:54

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

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