TA的每日心情 | 郁闷 2024-10-28 10:11 |
---|
签到天数: 1703 天 连续签到: 1 天 [LV.Master]伴坛终老
|
本帖最后由 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'”,然后按下图连接配置:
之后设置输出映射:
就可以了。
2】来点儿汇编:通过修改PSoC 3的 register实现
这个在《8051片上可编程系统原理及应用》上有例子,大家可以看6.2.3节,不过书上例子是在CY8CKIT-030上用的,因此不能照搬。
首先,新建一个project,然后在项目上点鼠标右键,选“add item”:
然后,文件类型选第一个,在下面起文件名:
之后打开a51文件,内容换成这个:- ; ========================================
- ;
- ; Copyright YOUR COMPANY, THE YEAR
- ; All Rights Reserved
- ; UNPUBLISHED, LICENSED SOFTWARE.
- ;
- ; CONFIDENTIAL AND PROPRIETARY INFORMATION
- ; WHICH IS THE PROPERTY OF your company.
- ;
- ; ========================================
- $NOMOD51
- $INCLUDE (PSoC3_8051.inc)
- NAME CONTROL_GPIO
- segmaxcode segment code
- public CONTROL_GPIO
- segmaxdata segment data
- rseg segmaxdata
-
- rseg segmaxcode
- CONTROL_GPIO:
- NOP
- loop:
- NOP
- CONTROL_GPIO_II:
- MOV DPTR,#05120H ;GPIO P2
- MOV A,#00H
- MOVX @DPTR,A
- CONTROL_GPIO_IV:
- MOV DPTR,#05140H ;GPIO P4
- MOV A,#00H
- MOVX @DPTR,A
-
- JMP loop
- RET
- END
- ;[] END OF FILE
复制代码 第29行、第33行的地址从这里332页『勘误:应为331页,感谢ht868788指出』查得:
PSoC 3 Registers TRM_001-50581.pdf
(4.21 MB, 下载次数: 151)
|
|