返回列表 发帖
回复 40# panfeng881112


    #define CHOICE1_1   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_1_ON ;}

上面的的CHOICE1_NOCE在哪里定义了?
CHOICE2_NOCE在哪里定义了?

TOP

非常不错,人机界面的板上基本功能的实现基本上已经OK了,顶!
软件开发非常繁琐,希望可以继续加油,辛苦!

TOP

上面的数码管显示字符是所有的数码管同时显示同一个字符,如果要控制某一位数码管单独显示一个字符的话,就SET_*和CHOICE1_*  /  CHOICE2_*来配合使用了。这一功能将会在我们后面的函数里面实现。

TOP

本帖最后由 panfeng881112 于 2010-10-31 20:43 编辑

下面是数码管的相关宏定义(未调试
/*数码管亮灭使能 */
#define CHOICE1_1_ON GPIO_ResetBits(GPIOD, GPIO_Pin_3)
#define CHOICE1_2_ON GPIO_ResetBits(GPIOD, GPIO_Pin_4)
#define CHOICE1_3_ON GPIO_ResetBits(GPIOD, GPIO_Pin_5)
#define CHOICE1_4_ON GPIO_ResetBits(GPIOD, GPIO_Pin_6)
#define CHOICE1_5_ON GPIO_ResetBits(GPIOD, GPIO_Pin_7)
#define CHOICE1_6_ON GPIO_ResetBits(GPIOB, GPIO_Pin_5)
#define CHOICE1_7_ON GPIO_ResetBits(GPIOB, GPIO_Pin_9)
#define CHOICE1_8_ON GPIO_ResetBits(GPIOE, GPIO_Pin_0)

#define CHOICE2_1_ON GPIO_ResetBits(GPIOE, GPIO_Pin_4)
#define CHOICE2_2_ON GPIO_ResetBits(GPIOE, GPIO_Pin_3)
#define CHOICE2_3_ON GPIO_ResetBits(GPIOE, GPIO_Pin_2)
#define CHOICE2_4_ON GPIO_ResetBits(GPIOE, GPIO_Pin_1)
#define CHOICE2_5_ON GPIO_ResetBits(GPIOC, GPIO_Pin_1)
#define CHOICE2_6_ON GPIO_ResetBits(GPIOC, GPIO_Pin_0)
#define CHOICE2_7_ON GPIO_ResetBits(GPIOE, GPIO_Pin_6)
#define CHOICE2_8_ON GPIO_ResetBits(GPIOE, GPIO_Pin_5)

#define CHOICE1_1_OFF GPIO_SetBits(GPIOD, GPIO_Pin_3)
#define CHOICE1_2_OFF GPIO_SetBits(GPIOD, GPIO_Pin_4)
#define CHOICE1_3_OFF GPIO_SetBits(GPIOD, GPIO_Pin_5)
#define CHOICE1_4_OFF GPIO_SetBits(GPIOD, GPIO_Pin_6)
#define CHOICE1_5_OFF GPIO_SetBits(GPIOD, GPIO_Pin_7)
#define CHOICE1_6_OFF GPIO_SetBits(GPIOB, GPIO_Pin_5)
#define CHOICE1_7_OFF GPIO_SetBits(GPIOB, GPIO_Pin_9)
#define CHOICE1_8_OFF GPIO_SetBits(GPIOE, GPIO_Pin_0)

#define CHOICE2_1_OFF GPIO_SetBits(GPIOE, GPIO_Pin_4)
#define CHOICE2_2_OFF GPIO_SetBits(GPIOE, GPIO_Pin_3)
#define CHOICE2_3_OFF GPIO_SetBits(GPIOE, GPIO_Pin_2)
#define CHOICE2_4_OFF GPIO_SetBits(GPIOE, GPIO_Pin_1)
#define CHOICE2_5_OFF GPIO_SetBits(GPIOC, GPIO_Pin_1)
#define CHOICE2_6_OFF GPIO_SetBits(GPIOC, GPIO_Pin_0)
#define CHOICE2_7_OFF GPIO_SetBits(GPIOE, GPIO_Pin_6)
#define CHOICE2_8_OFF GPIO_SetBits(GPIOE, GPIO_Pin_5)

/*分别的控制点亮那一个数码管或是全亮全灭使能*/
#define CHOICE1_1   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_1_ON ;} //选择上排的第一个数码管亮,其他的都不亮。
#define CHOICE1_2   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_2_ON ;}//选择上排的第二个数码管亮,其他的都不亮。
#define CHOICE1_3   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_3_ON ;}//选择上排的第三个数码管亮,其他的都不亮。
#define CHOICE1_4   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_4_ON ;}//选择上排的第四个数码管亮,其他的都不亮。
#define CHOICE1_5   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_5_ON ;}//选择上排的第五个数码管亮,其他的都不亮。
#define CHOICE1_6   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_6_ON ;}//选择上排的第六个数码管亮,其他的都不亮。
#define CHOICE1_7   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_7_ON ;}//选择上排的第七个数码管亮,其他的都不亮。
#define CHOICE1_8   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE1_8_ON ;}//选择上排的第八个数码管亮,其他的都不亮。

#define CHOICE2_1   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_1_ON ;}//选择下排的第一个数码管亮,其他的都不亮。
#define CHOICE2_2   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_2_ON ;}//选择下排的第二个数码管亮,其他的都不亮。
#define CHOICE2_3   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_3_ON ;}//
#define CHOICE2_4   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_4_ON ;}//
#define CHOICE2_5   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_5_ON ;}//
#define CHOICE2_6   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_6_ON ;}//
#define CHOICE2_7   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_7_ON ;}//
#define CHOICE2_8   {CHOICE1_NOCE;CHOICE2_NOCE;CHOICE2_8_ON ;}//

/*数码管每段亮灭宏定义*/
#define D12_ON    GPIO_ResetBits(GPIOD, GPIO_Pin_12)
#define C6_ON      GPIO_ResetBits(GPIOC, GPIO_Pin_6)
#define D15_ON    GPIO_ResetBits(GPIOD, GPIO_Pin_15)   //这一位是数码管中的小数点
#define D11_ON    GPIO_ResetBits(GPIOD, GPIO_Pin_11)
#define D10_ON    GPIO_ResetBits(GPIOD, GPIO_Pin_10)
#define D14_ON    GPIO_ResetBits(GPIOD, GPIO_Pin_14)
#define D13_ON    GPIO_ResetBits(GPIOD, GPIO_Pin_13)
#define C7_ON      GPIO_ResetBits(GPIOC, GPIO_Pin_7)

#define D12_OFF   GPIO_SetBits(GPIOD, GPIO_Pin_12)
#define C6_OFF     GPIO_SetBits(GPIOC, GPIO_Pin_6)
#define D15_OFF   GPIO_SetBits(GPIOD, GPIO_Pin_15)
#define D11_OFF   GPIO_SetBits(GPIOD, GPIO_Pin_11)
#define D10_OFF   GPIO_SetBits(GPIOD, GPIO_Pin_10)
#define D14_OFF   GPIO_SetBits(GPIOD, GPIO_Pin_14)
#define D13_OFF   GPIO_SetBits(GPIOD, GPIO_Pin_13)
#define C7_OFF     GPIO_SetBits(GPIOC, GPIO_Pin_7)

/***************************
         
         
         
            _________
           |     PD10    |
   PD11 |                | PD12
           |                |
           |_________|
           | PC7          |
  PD13 |                 | PC6
           |                |
           |_________|  O   PD15
             PD14
              


**************************/

/*数码管显示不同的字符*/
#define ALLON   {D12_ON;  C6_ON;  D15_ON;  D11_ON;  D10_ON;  D14_ON;  D13_ON;  C7_ON;}     
#define ALLOFF  {D12_OFF; C6_OFF; D15_OFF; D11_OFF; D10_OFF; D14_OFF; D13_OFF; C7_OFF;}

#define SET_0   {D12_ON;  C6_ON;  D15_OFF;  D11_ON;  D10_ON;  D14_ON;  D13_ON;  C7_OFF;}   //数码管显示0
#define SET_1   {D12_ON;  C6_ON;  D15_OFF;  D11_OFF; D10_OFF; D14_OFF; D13_OFF; C7_OFF;}
#define SET_2   {D12_ON;  C6_OFF; D15_OFF;  D11_OFF; D10_ON;  D14_ON;  D13_ON;  C7_ON;}
#define SET_3   {D12_ON;  C6_ON;  D15_OFF;  D11_OFF; D10_ON;  D14_ON;  D13_OFF; C7_ON;}
#define SET_4   {D12_ON;  C6_ON;  D15_OFF;  D11_ON;  D10_OFF; D14_OFF; D13_OFF; C7_ON;}
#define SET_5   {D12_OFF; C6_ON;  D15_OFF;  D11_ON;  D10_ON;  D14_ON;  D13_OFF; C7_ON;}
#define SET_6   {D12_OFF; C6_ON;  D15_OFF;  D11_ON;  D10_ON;  D14_ON;  D13_ON;  C7_ON;}
#define SET_7   {D12_ON;  C6_ON;  D15_OFF;  D11_OFF; D10_ON;  D14_OFF; D13_OFF; C7_OFF;}
#define SET_8   {D12_ON;  C6_ON;  D15_OFF;  D11_ON;  D10_ON;  D14_ON;  D13_ON;  C7_ON;}
#define SET_9   {D12_ON;  C6_ON;  D15_OFF;  D11_ON;  D10_ON;  D14_ON;  D13_OFF; C7_ON;}

#define SET_A   {D12_ON;  C6_ON;  D15_OFF;  D11_ON;  D10_ON;  D14_OFF; D13_ON;  C7_ON;}//数码管显示A
#define SET_B   {D12_OFF; C6_ON;  D15_OFF;  D11_ON;  D10_OFF; D14_ON;  D13_ON;  C7_ON;}
#define SET_C   {D12_OFF; C6_OFF; D15_OFF;  D11_ON;  D10_ON;  D14_ON;  D13_ON;  C7_OFF;}
#define SET_D   {D12_ON;  C6_ON;  D15_OFF;  D11_OFF; D10_OFF; D14_ON;  D13_ON;  C7_ON;}
#define SET_E   {D12_OFF; C6_OFF; D15_OFF;  D11_ON;  D10_ON;  D14_ON;  D13_ON;  C7_ON;}
#define SET_F   {D12_OFF; C6_OFF; D15_OFF;  D11_ON;  D10_ON;  D14_OFF; D13_ON;  C7_ON;}
#define SET_G   {D12_OFF; C6_ON;  D15_OFF;  D11_ON;  D10_ON;  D14_ON;  D13_ON;  C7_OFF;}
#define SET_H   {D12_ON;  C6_ON;  D15_OFF;  D11_ON;  D10_OFF; D14_OFF; D13_ON;  C7_ON;}
#define SET_L   {D12_OFF; C6_OFF; D15_OFF;  D11_ON;  D10_OFF; D14_ON;  D13_ON;  C7_OFF;}
#define SET_U   {D12_ON;  C6_ON;  D15_OFF;  D11_ON;  D10_OFF; D14_ON;  D13_ON;  C7_OFF;}
#define SET_Y   {D12_ON;  C6_ON;  D15_OFF;  D11_ON;  D10_OFF; D14_ON;  D13_OFF; C7_ON;}
#define SET_J   {D12_ON;  C6_ON;  D15_OFF;  D11_OFF; D10_OFF; D14_ON;  D13_ON;  C7_OFF;}
#define SET_P   {D12_ON;  C6_OFF; D15_OFF;  D11_ON;  D10_ON;  D14_OFF; D13_ON;  C7_ON;}

TOP

本帖最后由 panfeng881112 于 2010-10-31 20:08 编辑

这个是获取5路按键信息的宏定义(未调试版

/* 5路按键 */
#define GET_SET  (!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13))   //读PB13口的电平  再取反赋给GET_SET  
#define GET_ENT  (!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14))
#define GET_LFL  (!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_15))   
#define GET_DWN  (!GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_8))
#define GET_UP  (!GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_9))
当GET_*的值是1时,说明相对应的按键被按下了;为0时,相对应按键没有被按下。

TOP

本帖最后由 panfeng881112 于 2010-10-31 20:07 编辑

这是控制器的9个灯的控制宏定义(未调试版
/* 9个led灯 */
#define CH2_ON                GPIO_ResetBits(GPIOA, GPIO_Pin_12)         //PA口输出低电平     led灯 CH2点亮
#define CH2_OFF                GPIO_SetBits(GPIOA, GPIO_Pin_12)           //PA口输出高电平     led灯 CH2熄灭
#define YH2_ON                GPIO_ResetBits(GPIOA, GPIO_Pin_11)
#define YH2_OFF                GPIO_SetBits(GPIOCA GPIO_Pin_11)
#define CH1_ON                GPIO_ResetBits(GPIOA, GPIO_Pin_10)
#define CH1_OFF                GPIO_SetBits(GPIOA, GPIO_Pin_10)
#define YH1_ON                GPIO_ResetBits(GPIOA, GPIO_Pin_9)
#define YH1_OFF                GPIO_SetBits(GPIOA, GPIO_Pin_9)
#define HND_ON                GPIO_ResetBits(GPIOC, GPIO_Pin_9)
#define HND_OFF                GPIO_SetBits(GPIOC,GPIO_Pin_9)
#define AUT_ON                GPIO_ResetBits(GPIOC, GPIO_Pin_8)
#define AUT_OFF                GPIO_SetBits(GPIOC, GPIO_Pin_8)
#define DC_ON                GPIO_ResetBits(GPIOC, GPIO_Pin_2)
#define DC_OFF                GPIO_SetBits(GPIOC, GPIO_Pin_2)
#define INA_ON                GPIO_ResetBits(GPIOC, GPIO_Pin_3)
#define INA_OFF                GPIO_SetBits(GPIOC, GPIO_Pin_3)
#define OUT_ON                GPIO_ResetBits(GPIOC, GPIO_Pin_4)
#define OUT_OFF                GPIO_SetBits(GPIOC, GPIO_Pin_4)

就是控制9个led灯对应的io口的高低电平从而控制led灯是否点亮
我们的控制器这里是低电平是点亮led灯

TOP

对于stm32系列的代码编写
我们用的是这个2.0的库

STM32固件库V2.0(适合参考).pdf (2.79 MB)

TOP

期待中。。。。。。。。。。。

TOP

步进电机控制器PCB图.pdf (88.1 KB)

TOP

这个是问题,包括程序下载的时候,不太方便。调试时艰苦点。

TOP

复位键在面板和主板之间么?这样的话,在调试的时候复位键会不会被面板挡住了按不到?

TOP

基本已经修正,马上出下面控制板的PCB图.

控制器的原理图和PCB板图,请大家找问题,提意见。

控制器.ddb (602 KB)

TOP

回复 23# 小叶子


    引脚还是有问题啊

TOP

经过十几天画pcb板,终与觉的自己能够画硬件电路了,很期待能够参与进来。

TOP

学习了。

TOP

人机界面的原理图、封装库、PCB板,请参考。
界面.ddb (1.55 MB)

TOP

上面人机界面的PCB板,PDF格式下载,查看如下:
INTERFACE.pdf (79.59 KB)

TOP

回复 25# admin


    PCB布局.rar (42.71 KB)

TOP



pc面膜最终定稿,感谢各大电子爱好者对面膜修改提出的意见。

珩源LOGO取意“珩源”开头字母“H.Y”“H”形为电子技术,知识的力量;“Y”形为江河汇聚,希望网站能成为工控爱好者交流的一个平台。

TOP

海军是该好好加油!希望这个也是08计算机应用嵌入式方向的技术交流平台,能为你们以后就业、找工作提供些帮助!
能参与到这个开源的产品开发过程的所有学生、朋友,我们都表示欢迎。
硬件电路PCB,希望小叶子主导下,稻草人等几位好好协助,出PCB板;
软件开发方面:Panfeng主导下,张宝协助好好进行计划软件部分的开发;
方那进行总体协调和PVC面膜图等工作。
      大家要齐心协力,抱着虔诚的心态,还有很多技术的东西需要慢慢去琢磨,我们其中有部分人已经有些基础,但远远不够,离成为一名真正的嵌入式工程师还有很长的距离要走。大家切记!!!做技术很累,但希望做成一件开心的事;做成一件以后能够让自己好好生存的一门手艺。

TOP

修改后的图

本帖最后由 小叶子 于 2010-10-20 20:02 编辑

控制器V1.1.rar (60.51 KB) [attach]142回复 21# andylee


   这是修改后的图··之前的图有些引脚没画好出了点问题,在这里感谢大家帮忙查看,提出意见。还有救是  谢谢子雷的帮忙。

TOP

我要加油啦 跟不上你们

TOP

最新硬件电路原理图,欢迎大家拍砖:

MyDesignV1.1.ddb (690 KB)


分成2个功能区,一个是界面程序;一个核心控制板。

TOP

OK ,加油!!
I CAN

TOP


最新公布:面膜PVC图如下:欢迎拍砖,不过自认为设计的不错。

TOP

返回列表

最新关注 关闭


关于论坛注册,最新修改,请网友们注意

由于最近大量垃圾信息出现在我们的论坛,为了营造一个良好的氛围,目前论坛只开发邀请注册,你可以点击以下链接自动邀请注册(如果有人使用了点击下一个试一试) ...


查看
珩源工控论坛热诚欢迎您联系我们进行合作!

Powered by Discuz! 7.2© 2001-2009 Comsenz Inc.

珩源工控论坛 ( 桂ICP备19004328号) |论坛统计|WAP| 客服中心-www.hymcu.com
  

GMT+8, 2024-5-6 16:48, Processed in 1.040619 second(s), 6 queries, Gzip enabled.