打印
[PIC®/AVR®/dsPIC®产品]

天梯 之 从零开始玩转PIC

[复制链接]
楼主: 程序匠人
手机看帖
扫描二维码
随时随地手机跟帖
41
程序匠人|  楼主 | 2007-12-21 22:01 | 只看该作者 回帖奖励 |倒序浏览

匠人的调试板

使用特权

评论回复
42
程序匠人|  楼主 | 2007-12-21 22:39 | 只看该作者

第2个调试程序

#include    <pic.h>


//定义芯片工作时的配置位
//__CONFIG(HS & WDTDIS & PWRTEN & BOREN & DP & LVPDIS & DUNPROT & WRTDIS & DEBUGEN & UNPROTECT);
__CONFIG(HS & WDTDIS  & LVPDIS );

//声明函数类型


//定义变量
unsigned char i, j ,k;
bit flag1,flag2 ;


//函数
void main(void)
{
    i=0;
    j=0;    
    k=0;
    TRISA=0x00;
    
    while(1)
    {
        PORTA=0x01;

        for ( i=255; i!=0 ; i-- )
        {
            for (j=255 ; j!=0 ; j--)
            {
                //for (k=255 ; k!=0 ; k--)
                //{
                //}
            }
        }

        
        PORTA=0x00;
        for ( i=255; i!=0 ; i-- )
        {
            for (j=255 ; j!=0 ; j--)
            {
                //for (k=255 ; k!=0 ; k--)
                //{
                //}
            }
        }

    }
}

---------------------------------------------------
说明:这个程序只有一个功能,就是PA0不断翻转,控制LED闪烁。
通过这个程序,匠人完成了对开发工具和开发环境的初步学习。包括:
1、如何连接目标板和ICD2、注意事项;
2、如何选择DEBUG、如何设置参数;
3、如何下载程序到芯片;
4、如何调试,包括断点、单步、全速;
5、如何在调试过程中,观察RAM、io口、堆栈的状态;
6、如何烧芯片,并且让芯片脱离ICD2后单独工作;
7、进一步增强学习的信心。

使用特权

评论回复
评论
huster89 2019-9-3 15:23 回复TA
@狼烟客 :那个还是时灵时不灵,简直要命 
狼烟客 2019-7-10 15:32 回复TA
@huster89 :读取状态用PORT,写电平用LATx,血的教训 
huster89 2019-4-16 16:31 回复TA
PIC的电平控制,用LATA比较好,当时驱动直流电机时,找了一周的bug 
43
幸福DE饭团| | 2007-12-22 09:05 | 只看该作者

程序中应该设置下ADCON1

使用特权

评论回复
44
machunshui| | 2007-12-25 11:30 | 只看该作者

如果会一种单片机

如果会一种单片机,
学另一种,proteus就可以了.

proteus对pic的支持不错,而且和maplab联调非常稳定,比和keil,IAR联调都要稳定.

实际项目程序完全可以先仿真差不多,再上实际硬件.

使用特权

评论回复
45
程序匠人|  楼主 | 2007-12-25 13:15 | 只看该作者

谢谢各位指点,目前正在想拿这颗芯片做个什么东西玩

使用特权

评论回复
46
hotpower| | 2007-12-25 13:16 | 只看该作者

看来菜鸟毕业了~~~恭喜~~~

使用特权

评论回复
47
fsaok| | 2007-12-25 14:27 | 只看该作者

proteus对pic的支持

根本就不用联调,直接用cof文件就可以仿真了

使用特权

评论回复
48
yewuyi| | 2007-12-25 14:28 | 只看该作者

做个电动车控制器~~

俺想看连载^^

使用特权

评论回复
49
韦广远| | 2007-12-25 17:09 | 只看该作者

LS说的有理

可惜我们是代理商,不能参赛。

使用特权

评论回复
50
程序匠人|  楼主 | 2007-12-25 19:40 | 只看该作者

电动车控制器已经做过了,不好玩

yewuyi 发表于 2007-12-25 14:28 PIC 单片机 ←返回版面    

48楼: 做个电动车控制器~~ 

俺想看连载^^ 
 

使用特权

评论回复
51
machunshui| | 2007-12-25 23:32 | 只看该作者

proteus

"根本就不用联调,直接用cof文件就可以仿真了"

用cof文件运行那是最基本的功能,但只是能看到程序的运行效果.

但是联调功能更强大,把proteus当作maplab的仿真插件用,可以实现单步,断点,全速运行,和实际的硬件仿真调试一摸一样.

关键是proteus对maplab的支持非常好,非常稳定,仿真时比ICD2要稳定的多!

而且仿真PIC对计算机的cpu要求不高,不像仿真lpc2000经常不能处于实时状态,
proteus仿真pic基本上都能处于实时状态.

使用特权

评论回复
52
兰天白云| | 2007-12-26 08:28 | 只看该作者

还没用过proteus,落后了

使用特权

评论回复
53
yewuyi| | 2007-12-26 08:37 | 只看该作者

~~,俺用过PROTEUS,但用来仿真模拟电路的

仿真MCU嘛只是稍微试了一下就放弃了,呵呵,不喜欢用那东西,还是脑袋仿的快~~

使用特权

评论回复
54
fsaok| | 2007-12-26 08:47 | 只看该作者

cof文件

用cof文件运行,同样可以实现单步,断点,全速运行,用暂停键就可以看源程序了,再点 ctrl-d 还可以看机器码。

proteus 好处有很多,可以监视ic,可以直接接示波器,可以和pc的串口联调等。

和实际的硬件仿真调试一摸一样?这事情从来就没有过,只能做到大致一样,

简单举例:键盘抖动能模拟吗?发热丝能加热吗?18b20 能连续变化吗?

俺的大脑不太好,所以很多东西还是靠计算机帮忙。而计算机的确帮了不少忙。如此而已



使用特权

评论回复
55
zhaoyu2005| | 2007-12-26 09:13 | 只看该作者

proteus仿真PIC单片机确实爽

主要是不用花钱买元件和修改电路方便,不行了可以撤销,实际硬件一旦改了一个地方,想恢复很麻烦的,但是在Proteus里就很方便了。
Proteus对PIC的支持是比keil c好,但是有时也会出现错误,造成MPLAB非法退出,还有就是有时会出现莫名其妙的问题。
俺最近遇到了一个问题,就是仿真电路里有交流220V(把电压源设置一下)、可控硅、光隔离可控硅驱动器(MOC3043)、电压比较器、光耦、单片机,结果proteus报错,不能仿真,不知道问题出在哪里?也不知道怎么弄

使用特权

评论回复
56
machunshui| | 2007-12-26 11:40 | 只看该作者

proteus很好

"和实际的硬件仿真调试一摸一样?"

我说的是和ICD2硬件调试一样的操作模式.
非得扣字眼,没有意思.

proteus不可能代替硬件,但是可以从程序逻辑上省去了相当大的一部分硬件的调试工作.

18B20用proteus测到温度,就说明了程序驱动的逻辑正确性,在没有硬件的情况下,就完成了硬件的驱动的绝大部分工作,岂不快哉!!

使用特权

评论回复
57
machunshui| | 2007-12-26 11:55 | 只看该作者

proteus可以节省很大精力

proteus的最大的作用还在于程序逻辑仿真,而不是电路仿真.

一般仿真是外部器件过多,速度就会慢,做程序仿真时也没有必要.

我一般把数字输入输出就直接简化为开关输入和驱动led显示输出,这样也不影响程序的正确性.象光耦一类用proteus仿真程序时,加入好像意义不大.

用protesu仿真程序,直接把具体输入输出用模型代替是一个好办法.

proteus可以节省很大精力.

使用特权

评论回复
58
machunshui| | 2007-12-27 20:06 | 只看该作者

喧宾夺主了

喧宾夺主了,不好意思!

匠人继续!

使用特权

评论回复
59
hotpower| | 2007-12-28 00:06 | 只看该作者

哈哈~~~PIC还用仿真???真服了匠人了~~~俺PIC24三天就毕业~~~

使用特权

评论回复
60
handerson| | 2007-12-28 12:43 | 只看该作者

强!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则