5291|28

324

帖子

2

TA的资源

纯净的硅(初级)

楼主
 

SHOW!^=^ 我的的工控板.持续改进中。。。。 [复制链接]

工作久了,难免有些想法,总想搞一点属于自己的东西。
从2010年就在构思这个问题,当时还是以AVR的8位芯片为主打,所以就设计了第一版,基于MEGA16的工控板,显示部分是12864,主板和继电器输出板之间用串口连接。由于IO口太少,所以用了一些扩展的芯片,整个电路显示部分调试过了,其他部分由于忙时间长,也就丢下了


[ 本帖最后由 ydcman 于 2013-7-10 20:40 编辑 ]

最新回复

不错啊,非常不错!  详情 回复 发表于 2013-12-27 17:27
点赞 关注
 

回复
举报

324

帖子

2

TA的资源

纯净的硅(初级)

沙发
 
提供主控板部分原理图,也许对同行有用吧,由于本人积分较低,所以收一个芯币,望见谅!

基于MEGA16的12864工控板原理图.pdf

134.32 KB, 下载次数: 9

售价: 1 分芯积分  [记录]

MEGA16+12864原理图

 
 

回复

324

帖子

2

TA的资源

纯净的硅(初级)

板凳
 
再晒一晒PCB截图,
 
 
 

回复

324

帖子

2

TA的资源

纯净的硅(初级)

4
 
AVR的功能和指标若和51比,是有很大的进步,但若和STM32比那是差远了去了!
 
 
 

回复

324

帖子

2

TA的资源

纯净的硅(初级)

5
 
其实细心的朋友可能发现,我PCB上屏画反了,CAD忘了镜像,  ,害的我调试时好麻烦,板子实物一点都不美观,直接影响调试的情绪

[ 本帖最后由 ydcman 于 2013-7-10 20:53 编辑 ]

点评

八小时工作开外还能怀揣着曾经的梦想和爱好……支持你:handshake 快去这里 https://bbs.eeworld.com.cn/thread-375690-1-1.html 把帖子的链接贴上去吧!加油!  详情 回复 发表于 2013-7-10 21:33
 
 
 

回复

648

帖子

2

TA的资源

纯净的硅(高级)

6
 
学习学习,顺便展示一下个人作品https://bbs.eeworld.com.cn/thread-375758-1-1.html,新手,请多多指教!

点评

你的PCB中好像有线漏了,看上去好像是好几个  详情 回复 发表于 2013-7-10 20:57
 
 
 

回复

648

帖子

2

TA的资源

纯净的硅(高级)

7
 

回复 6楼philips_lu 的帖子

你的PCB中好像有线漏了,看上去好像是好几个
 
 
 

回复

9185

帖子

6

TA的资源

管理员

8
 

回复 5楼ydcman 的帖子

八小时工作开外还能怀揣着曾经的梦想和爱好……支持你  快去这里 https://bbs.eeworld.com.cn/thread-375690-1-1.html 把帖子的链接贴上去吧!加油!
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

9
个人签名我的博客
 
 
 

回复

324

帖子

2

TA的资源

纯净的硅(初级)

10
 
,是的初版不仔细,除了没有镜像,还有一个要飞线。有些插件焊反面就是因为屏画反了,为了可以调试不得不反之
 
 
 

回复

324

帖子

2

TA的资源

纯净的硅(初级)

11
 
谢谢大家关注!
 
 
 

回复

324

帖子

2

TA的资源

纯净的硅(初级)

12
 
 
 
 

回复

324

帖子

2

TA的资源

纯净的硅(初级)

13
 
这是再版的,基于STM32的,再也不愁引脚不够了,利用工作时间,忙里偷闲画的,本来准备不忙时发出去,没想到,最近又开始忙了!
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

14
 
不错,可以先打样,慢慢弄。
个人签名我的博客
 
 
 

回复

324

帖子

2

TA的资源

纯净的硅(初级)

15
 
电路中MEGA16部分程序
/*
*********************************************************************************************************
** 函数名称 :PortInit()
** 函数功能 :端口初始化
** 入口参数 :无
** 出口参数 :无
** 创建人   :YDCMAN
** 创建时间 :2009年11月27日13:58:33
*********************************************************************************************************
*/
void PortInit(void)
{
  //PORTA_BIT0~1为输入“0”,2-7为输出“1”,
  PORTA=0xfc;
  DDRA=0xfc;
  
  //PORTB_BIT5~7为输入“0”,0-4为输出“1”,
  PORTB=0x1f;
  DDRB=0x1f;
  
  //初始设置总线为输出,值“0”
  PORTC=0x00;
  DDRC=0xff;
  
  //PORTD_BIT0&3为输入“1”,1-2&4-7为输出“1”,
  PORTD=0xff;
  DDRD=0x76;
  //T0定时器使用,
  TCCR0=0x00;
  TCNT0=0xe4;
  OCR0=0x00;
  //T1定时器不用
  TCCR1A=0x00;
  TCCR1B=0x00;
  TCNT1H=0x00;
  TCNT1L=0x00;
  ICR1H=0x00;
  ICR1L=0x00;
  OCR1AH=0x00;
  OCR1AL=0x00;
  OCR1BH=0x00;
  OCR1BL=0x00;
  //T2定时器不用
  ASSR=0x00;
  TCCR2=0x00;
  TCNT2=0x00;
  OCR2=0x00;
  
  MCUCR=0x00;
  MCUCSR=0x00;
  
  //开T0中断
  TIMSK=0x01;
  TCCR0=0x03;
  
  //串口,波特率9600,8位
  UCSRA=0x00;
  UCSRB=0x98;
  UCSRC=0x86;
  UBRRH=0x00;
  UBRRL=0x2F;

  //ADC初始化
  SFIOR=0x00;
  ACSR=0x80;
  ADCSRA=0x00;
  ADCSRA=0x8e;
  ADMUX=FIRST_ADC_INPUT|ADC_VREF_TYPE;
  ADCSRA=(0x8e|(1<<6));
  
  //SPI口不用
  SPCR=0x00;
  SPSR=0x00;
  
  //TWI不用
  TWSR=0x00;
  TWBR=0x00;
  TWAR=0x00;
  TWCR=0x00;  
  //12864使用并口
  PB1=1;
  PSB=0;
}
 
 
 

回复

324

帖子

2

TA的资源

纯净的硅(初级)

16
 
/*
*********************************************************************************************************
** 函数名称 :Int_char()
** 函数功能 :字符转换程序
** 入口参数 :无
** 出口参数 :无
** 创建人   :YDCMAN
** 创建时间 :2009年11月27日13:58:33
*********************************************************************************************************
*/
void Int_char(int data)
{
  if(data/1000)
  {
    Result[0]=data/1000+'0';
    Result[1]=data/100%10+'0';
    Result[2]=data/10%10+'0';
    Result[3]=data%10+'0';
    Result[4]=0;
  }
   else if(data/100)
  {
    Result[0]=data/100+'0';
    Result[1]=data/10%10+'0';
    Result[2]=data%10+'0';
    Result[3]=0;
    Result[4]=0;
  }
   else if(data/10)
  {
    Result[0]=data/10%10+'0';
    Result[1]=data%10+'0';
    Result[2]=0;
    Result[3]=0;
    Result[4]=0;
  }
  else
  {
    Result[0]=data%10+'0';
    Result[1]=0;
    Result[2]=0;
    Result[3]=0;
    Result[4]=0;
  }
}
 
 
 

回复

324

帖子

2

TA的资源

纯净的硅(初级)

17
 
/*
*********************************************************************************************************
** 函数名称 :chek_busy()
** 函数功能 :测试12864是否忙
** 入口参数 :无
** 出口参数 :无
** 创建人   :YDCMAN
** 创建时间 :2012年3月22日13:58:33
*********************************************************************************************************
*/
void chek_busy(void)
{
  unsigned char temp1=0x01;  //状态信息(判断是否忙)
   while(temp1)
  {
   PA4=0;                    //245的E脚使能
   PA5=0;                    //245的DIR脚使能,从12864读取
   RS=0;                      // RS = 0;
   RW=1;                      // RW = 1;
   E=0;                       // E = 0;
   delay_nus(1);
   E=1;
   DDRC=0x00;
   PORTC=0xff;
   delay_nus(1);
   temp1=PINC;
   temp1=temp1&0x80;
   delay_nus(100);
   E=0;
   RS=0;                      // RS = 0;
   RW=1;                      // RW = 1;
   PA4=1;                    //245的高阻
  }
}
 
 
 

回复

324

帖子

2

TA的资源

纯净的硅(初级)

18
 
/*
*********************************************************************************************************
** 函数名称 :write_code()
** 函数功能 :写命令子程序
** 入口参数 :无
** 出口参数 :无
** 创建人   :YDCMAN
** 创建时间 :2012年3月22日13:58:33
*********************************************************************************************************
*/
void write_code(unsigned char cmd)
{
  chek_busy();
  PA4=0;                    //245的E脚使能
  PA5=1;                    //245的DIR脚使能,写12864
  DDRC=0xff;
  delay_nus(1);  
  RS=0;                     // RS = 0;
  RW=0;                     // RW = 0;
  E=0;
  PORTC=cmd;                //写入命令
  delay_nus(1);
  E=1;
  delay_nus(50);
  E=0;
  RS=0;                      // RS = 0;
  RW=0;                      // RW = 1;
  PA4=1;                    //245的高阻
}
 
 
 

回复

324

帖子

2

TA的资源

纯净的硅(初级)

19
 
/*
*********************************************************************************************************
** 函数名称 :write_data()
** 函数功能 :写命令子程序
** 入口参数 :无
** 出口参数 :无
** 创建人   :YDCMAN
** 创建时间 :2012年3月22日13:58:33
*********************************************************************************************************
*/
void write_data(unsigned char dat)
{
  chek_busy();
  PA4=0;                    //245的E脚使能
  PA5=1;                    //245的DIR脚使能,写12864
  RS=1;                     // RS = 1;
  RW=0;                     // RW = 0;
  E=0;
  DDRC=0xff;
  delay_nus(1);
  PORTC=dat;                //写入命令   
  E=1;
  delay_nus(50);
  E=0;
  RS=0;                     // RS = 0;
  RW=0;                     // RW = 0;
  PA4=1;                    //245的高阻
 
 
 

回复

324

帖子

2

TA的资源

纯净的硅(初级)

20
 
/*
*********************************************************************************************************
** 函数名称 :set_xy()
** 函数功能 :设置显示位置
** 入口参数 :无
** 出口参数 :无
** 创建人   :YDCMAN
** 创建时间 :2009年11月28日13:24:56
*********************************************************************************************************
*/
void set_xy(unsigned char xpos,unsigned char ypos)
{
unsigned char byAddress ;
switch(ypos)
{
   case 1:
    byAddress=(0X80|xpos);break;
   case 2:
    byAddress=(0X90|xpos);break;
   case 3:
    byAddress=(0X88|xpos);break;
   case 4:
    byAddress=(0X98|xpos);break;
   default:break;
}
write_code(byAddress);
}
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表