查看: 2962|回复: 4

【CY8CKIT-003手记】一题多解

[复制链接]
  • TA的每日心情
    郁闷
    2024-10-28 10:11
  • 签到天数: 1703 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2012-11-29 17:26:55 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 nemon 于 2012-11-30 09:09 编辑

    先讲个小明同学上小学的故事:学分数的概念时2/3有这样2个说法,一张饼分3份取其中的2份,或者是2张饼分三份取其中的一份。作为一名注重锻炼发散思维的有志儿童,小明立即敏锐的意识到“剩下的饼给谁吃呢?”随着岁月的流逝和老师的教导,小明终于意识到,掌握不同的方法或思想,可以适应多种不同的情况,就好象会学狗叫的老鼠能吓跑猫一样,是非常有用滴。在学习了加法分配率和结合律之后,小明有了第一个巨大的发现,就是3个数相加可以出现6种不同数序的排列,每种排列又有2种不同的结合方式,所以一到老师留“一题多解”作业时候,小明总能把一个简单问题搞出一大堆同构的垃圾答案。老师被填塞的发狂,终于发飙“请你父亲过来聊聊你这个天才的将来吧”,后来的恐怖片很老套,就不讲了。
    下面来说说一道题“点亮CY8CKIT-003板上的led灯”,其实就是“GPIO输出有哪些方式”围观的群众注意适度使用,如果导致家长暴走,楼主很是欣慰。不,应该是很遗憾。
    楼主手上板子的芯片是 CY8C3866AXI-040ES2,经过坛子里几位先进同学扫雷经验,可以使用creator2.0,2.1就不行了。楼主的教训是,以下实验中2、3在1.0下没成功,有喜欢钻牛角的童鞋可以坚韧不拔的再试试。
    1】最简单的:配出来!
    感觉PSoC3最大的特点就是不仅不用费心写汇编,甚至经常不用写程序,比如这第一个例子,按下面配就可以了(如果不改名字,只用鼠标就可以,懒人福音啊):
    先在原理图里加2个“Digital Output Pin”和一个“Logic Low '0'”,然后按下图连接配置:
    2012-11-29_172147_00002.png
    之后设置输出映射:
    2012-11-29_172131_00001.png
    就可以了。

    2】来点儿汇编:通过修改PSoC 3的 register实现
    这个在《8051片上可编程系统原理及应用》上有例子,大家可以看6.2.3节,不过书上例子是在CY8CKIT-030上用的,因此不能照搬。
    首先,新建一个project,然后在项目上点鼠标右键,选“add item”:
    2012-11-29_173623_00003.png
    然后,文件类型选第一个,在下面起文件名:
    2012-11-29_173729_00004.png
    之后打开a51文件,内容换成这个:
    1. ; ========================================
    2. ;
    3. ; Copyright YOUR COMPANY, THE YEAR
    4. ; All Rights Reserved
    5. ; UNPUBLISHED, LICENSED SOFTWARE.
    6. ;
    7. ; CONFIDENTIAL AND PROPRIETARY INFORMATION
    8. ; WHICH IS THE PROPERTY OF your company.
    9. ;
    10. ; ========================================
    11. $NOMOD51
    12. $INCLUDE (PSoC3_8051.inc)

    13. NAME CONTROL_GPIO

    14. segmaxcode segment code
    15. public CONTROL_GPIO

    16. segmaxdata segment data
    17.   rseg segmaxdata
    18.   
    19.   rseg segmaxcode

    20. CONTROL_GPIO:
    21.   NOP
    22. loop:
    23.   NOP
    24. CONTROL_GPIO_II:
    25.   MOV     DPTR,#05120H ;GPIO P2
    26.   MOV     A,#00H
    27.   MOVX    @DPTR,A
    28. CONTROL_GPIO_IV:
    29.   MOV     DPTR,#05140H ;GPIO P4
    30.   MOV     A,#00H
    31.   MOVX    @DPTR,A
    32.   
    33.   JMP loop
    34.   RET
    35. END
    36. ;[] END OF FILE
    复制代码
    第29行、第33行的地址从这里332页勘误:应为331页,感谢ht868788指出查得:
    PSoC 3 Registers TRM_001-50581.pdf (4.21 MB, 下载次数: 151)
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-11-29 20:54:48 | 显示全部楼层
    nemon又有新的作品面世了,语言不错啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-11-29 21:00:50 | 显示全部楼层
    好文采!!!顶~~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-6-4 13:58
  • 签到天数: 188 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2012-12-3 17:42:16 | 显示全部楼层
    看看
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2012-12-4 09:24:31 | 显示全部楼层
    支持nemon{:soso_e192:}
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-24 21:10 , Processed in 0.161931 second(s), 24 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.