佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1783|回复: 9

PIC入门

[复制链接]
发表于 21-6-2007 10:40 AM | 显示全部楼层 |阅读模式
第一次学PIC,有些疑问:
1)C#可以用来写pic16fXX吗?
2)用C#篇写如要debug是否会比较困难?
回复

使用道具 举报


ADVERTISEMENT

发表于 21-6-2007 11:11 PM | 显示全部楼层
原帖由 sH3n 于 21-6-2007 10:40 AM 发表
第一次学PIC,有些疑问:
1)C#可以用来写pic16fXX吗?
2)用C#篇写如要debug是否会比较困难?

不可以。
回复

使用道具 举报

 楼主| 发表于 23-6-2007 10:35 PM | 显示全部楼层
电路上看到的crystal编号:4.194H 是 4MHz?
每个command cycle是不是需要1uS?
回复

使用道具 举报

发表于 24-6-2007 09:33 AM | 显示全部楼层
原帖由 sH3n 于 23-6-2007 10:35 PM 发表
电路上看到的crystal编号:4.194H 是 4MHz?

4.194 是4.194Mhz。

每个command cycle是不是需要1uS?

如果你是用PIC, 4Mhz, 那一个Clock Cycle 是 1uS。 (4Mhz/4)
回复

使用道具 举报

 楼主| 发表于 26-6-2007 09:48 PM | 显示全部楼层
谢谢大大。

前天写了一个二极光跑马灯,灯的跑法是以二制逐步增加。每当号码增加时就会被送去portb (portb 连接去二极光)然后将时间展缓 一秒。可是我无法拿到一秒的展缓(delay1)。是我计算的方法错误吗?
我的计算方法:


pic16f84a
crystal 4.194H

clock cycle speed with down scale 256
(4.194MHz/4) / 256 = 4095Hz = 244uS per clock cycle

每call delay1 将用上(256*5)+5= 1285 clock cycle
也是用上 244uS * 1285 = 0.31354 sec
1 sec delay 就必须 1/0.31354 = 3.2 次的展缓。

list        p=16f84a
        include        "p16f84a.inc"
       
        trisb        equ        86h
        portb        equ        06h
        status        equ        03h
        tmr0        equ        01h
        opt_reg        equ        81h
       
        count        equ        0ch
       
        org        0
        goto        start
                                ; clycle
delay1        clrf        tmr0                ;   1
loopa        movf        tmr0,w                ;   1
        sublw        .255                ;   1
        btfss        status,2        ;   1   (if tue, 2cycle)
        goto        loopa                ;   2
        retlw        0                ;   2



start        bsf        status,5
        clrf        trisb               
        movlw        b'00000111'
        movwf        opt_reg                       
        bcf        status,5
       

        movlw        b'11111111'
re        movwf        portb
        movwf        count
        call        delay1
        call        delay1
        call        delay1
        decf        count,1
        movf        count,w

        goto        re

        end
回复

使用道具 举报

发表于 1-7-2007 10:41 AM | 显示全部楼层
想知道一下, PIC 一粒会贵吗?
需要crystal 才能用?
有build in oscillator 吗?
对 pic 不太清楚, 之前看到pasar road 买 programmer , 所以打算买来学习。
能不能像 PLD , 直接connect 就能用了? 还是需要 driver ?
回复

使用道具 举报

Follow Us
 楼主| 发表于 2-7-2007 05:23 PM | 显示全部楼层

回复 #6 chan1314 的帖子

哈咯,我是初学者,如有错误请大大纠正。

pic 不会贵, 一粒大约 rm 10 至 rm 40 左右, 视产品而定。
需要外置cyrstal。
有build in oscillator ?---〉不清楚
PLD? 是指plc吗?
pic 是MCU, 必须写一些程式才能让它操作。
回复

使用道具 举报

发表于 2-7-2007 07:35 PM | 显示全部楼层
原帖由 sH3n 于 26-6-2007 09:48 PM 发表
谢谢大大。

前天写了一个二极光跑马灯,灯的跑法是以二制逐步增加。每当号码增加时就会被送去portb (portb 连接去二极光)然后将时间展缓 一秒。可是我无法拿到一秒的展缓(delay1)。是我计算的方法错误吗? ...


参考:PIC ASM Routine Library
http://www.piclist.com/techref/microchip/routines.htm

从里面你应该能够学到一点东西。。。
回复

使用道具 举报


ADVERTISEMENT

发表于 2-7-2007 07:55 PM | 显示全部楼层
原帖由 chan1314 于 1-7-2007 10:41 AM 发表
想知道一下, PIC 一粒会贵吗?

PIC 16F628A (RM8 ~RM15)
PIC 16F877A (RM18 ~RM30)


需要crystal 才能用?有build in oscillator 吗?

16F628A有Build-In 4MHz 的Internal OSC。
16F877A 就需要4Mhz ~ 20MHZ 的Crystal。
如果不要用Crystal, 也能用RC, 只要 4.7K + 22pf, 也可以得到4Mhz的 Clock speed。


对 pic 不太清楚, 之前看到pasar road 买 programmer , 所以打算买来学习。
不用买, 你可以DIY一个Programmer, 翻旧帖有电路。


能不能像 PLD , 直接connect 就能用了? 还是需要 driver ?

你可以做ICSP (In-Circuit Serial Programming), 直接connect RB6, RB7, MCLR 就可以program了。
回复

使用道具 举报

 楼主| 发表于 6-7-2007 10:30 PM | 显示全部楼层

回复 #8 pic 的帖子

谢谢。。。。。
实在是好棒的东西
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 24-1-2025 05:05 AM , Processed in 0.116440 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表