作者hengchieh (Hi)
看板ASM
标题Re: [问题] 关於PIC16F887的问题
时间Sun Oct 2 01:41:12 2011
※ 引述《vofeed (vofeed)》之铭言:
: 大家好,我刚才发现有这个版,想请问各位神人大大
: 小弟刚接触这一块领域,虽然之前也有碰过8051,但也只是小改一点程式
: 我的问题是,小弟用的是APP013的版子和ICD2来烧录程式,但听学长说
: 烧录完後,放在面包版上,由於小弟的功能是想简单试一下是否LED灯会亮~
: 所以使用PORTD当输出,共用了第19、20 、21、22、27、28、29、30脚接LED正端,
: 然後第11、31脚接正电,第12、32脚接地,听说是要设定configuration bits
: 但小弟看datasheet老半天,我的面包版上的LED灯还是仍无起色~,
: 最惨的是上面的电压差不多0.1V左右,我有请教客服工程师,
: 他是说要将第1只脚的MCLR接个电阻後接电源,但小弟试了仍无起色
: 已经试了一星期了~想请问神人大大给小弟一些指教~
: ;**************************************
: ;* A Simple Program *
: ;**************************************
: list p=16F887
: #include <p16F887.inc>
: A equ 0x20
: NUM equ 0x03
: org 0x00
: nop
: Start:
: movlw NUM
: addlw .201
: movwf A
: banksel TRISD
: clrf TRISD
: banksel PORTD
: movwf PORTD
: end
: 这是小弟看范例程式打的,功能是要跑出八个LED灯,这不是跑马灯~
: 请问一下BANK的设计是啥意思?
不知道你那边有没有教育训练的讲义可以看,没有的话至以下网址下载
http://www.microchip.com.tw/modules/wfdownloads/viewcat.php?list=1
101asp
若你vcc、gnd及mclr有pull up的话,且mcu可以烧录,还有一点要注意,io pin
注意是不是ad的脚位,是的话请先去改成digital的脚位,
去把ANSEL全部设定成零,不懂的话搜寻一下datasheet,这个暂存器的意思。
我玩mcu的习惯都是先确认mcu有没有跑起来,设定内振,设定clkout,
用示波器量clkout pin 脚是否为我要的clk,是的话再往下debug,
因8bit mcu算玩过满多颗的(之前在代理商当microchip fae)不一定每颗设定都一样,
在那边吃过几次亏,所以一开始习惯都会先量测clkout。
config设定可以透过直接软体来设定,可是会变成比较麻烦的就是每次compiler这个设
定有可能就会跑掉,可以参考教育文件来对照如何设定。
ex:
__config _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON
& _HS_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
当然以上的名称都是有定义过的,基本上有些改on,off可以过关,建议对照每一颗mcu
的inc档来设定,路径C:\Program Files\Microchip\MPASM Suite(不一定,看版本)
找不到的话就用搜寻的,开启p16f877A.inc,直接拉到最下面,因为设定档的定义几
乎都是在最下面。
还有你的程式只跑一次吗?你应该用个goto loop让他卡死,不然pc counter会往
下一直执行,然後就不知道跑去哪里了。
以上可能都是大概说明,若真的要学,去原厂上一下课程,这些都是免费的,
而且有免费便当吃(开玩笑的),台北、新竹、台中、高雄都有,
在台湾原厂网站的右边的教育训练,点进去看是否有101asp的课程,这门是基础入门
课程,可以去上一下,会很有帮助。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.251.165.46
1F:推 kikiqqp:点全提出来了 10/02 12:30