• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【我与单片机】我的PIC单片机调试心得,给苦苦寻觅的初学者一点启示

     在单片机行当已经混迹多年了。说句实话,c开发环境都大同小异,只不过烧写和在线仿真大同小异。钻研了两天,收到了很多回应和启发。下面应soso的请求,把最近的调试心得和大家分享1、 先说说我要做的东西说来惭愧,这是临时的一个小任务,做一个采集和现实的部分,用两路ad采集模拟量,通过开关进行切换,简单的说就是开关打开,显示一路模拟量;开关关闭,显示另一路模拟量。主电路及其简单,我就直接说了,不附图了。电源通过一个负载(滑动变阻器就可以)回到电源负极,在回路中接入一个电流传感器,实时采集电流信号(如果条件不允许,也可以用康铜丝或者一个大瓦数小数值的采样电阻采集电流信号。然后通过放大,隔离后送入单片机的AN0口。另外一路AN1可以用来做另外一个模拟量的采集,具体是什么待定,可以是温度,也可以是电压(时间短,我就做了1路,另一路有待高人们自己开发,哈哈)  
全部回复(12)
正序查看
倒序查看
fjfhjmh
LV.9
2
2014-03-20 18:09
2、 我遇到的问题对于我来说,pic是新事物,要从刚开始接触说起,时间不长,72小时。给我的感觉,这种单片机价格便宜,体积小,结构简单,编程用c,也比较和我的胃口。缺点(也就是苦苦煎熬着我的)就是仿真和烧录。和 其他单片机一样,每个厂商都推出了自己的c编译环境和开发环境,我们的pic使用ide和picc(不是保险公司哦)具体如图。  Picc是自己嵌入ide的进入界面,感觉无比亲切,和keil也差不多啊,于是照方抓药。  通过工程想到,建立工程。选择你使用的芯片,选择编译器,如图,picc.exe的路径也可以看到哦!  新建工程,但是不导入c文件点菜单栏VIEW下的project,在source右键,加入c文件,如果没有c文件,就新建一个c文件,然后加入到source里面。导入之后就如图了。  下面就是激动人心的编译程序了,如果程序无误,应该出现这个: 接下来就可以进行烧写和仿真了  在这之前,需要进行一些必要的设置,按上图就可以,在Configue里面。然后,通过Programer和Debugger选择要设备,我用ICD2就选ICD2下面就是要进行连接,如果你想仿真,就把Release点成Debug,然后在debugger里面点connect,如果想烧程序,就在programmer里面点connect,成功是这个样子的  我做的是烧写,所以就点program,结果如下  
0
回复
fjfhjmh
LV.9
3
2014-03-20 18:09
@fjfhjmh
2、我遇到的问题对于我来说,pic是新事物,要从刚开始接触说起,时间不长,72小时。给我的感觉,这种单片机价格便宜,体积小,结构简单,编程用c,也比较和我的胃口。缺点(也就是苦苦煎熬着我的)就是仿真和烧录。和其他单片机一样,每个厂商都推出了自己的c编译环境和开发环境,我们的pic使用ide和picc(不是保险公司哦)具体如图。 [图片] Picc是自己嵌入ide的进入界面,感觉无比亲切,和keil也差不多啊,于是照方抓药。 [图片] 通过工程想到,建立工程。选择你使用的芯片,选择编译器,如图,picc.exe的路径也可以看到哦! [图片] 新建工程,但是不导入c文件点菜单栏VIEW下的project,在source右键,加入c文件,如果没有c文件,就新建一个c文件,然后加入到source里面。导入之后就如图了。 [图片] 下面就是激动人心的编译程序了,如果程序无误,应该出现这个:[图片] 接下来就可以进行烧写和仿真了 [图片] 在这之前,需要进行一些必要的设置,按上图就可以,在Configue里面。然后,通过Programer和Debugger选择要设备,我用ICD2就选ICD2下面就是要进行连接,如果你想仿真,就把Release点成Debug,然后在debugger里面点connect,如果想烧程序,就在programmer里面点connect,成功是这个样子的 [图片] 我做的是烧写,所以就点program,结果如下[图片]  
        在线仿真本人也在研究中,如果有高人能够指点就更好了,我就和大家分享到这儿。最后说说学到了什么吧,接触新实物,第一反应就是迷茫,无从下手,当然,这不可能做成事。要想到解决这一切的方法,首先就是找个明白人,如果身边真的没有这样的人,那么就去网络,我们的论坛就有很多人才。接着我想到了网络,去找需要的资源,datasheet,参考头文件,datasheet还有我们的电路图就可以进行粗略的程序设计,我指的是框图,流程这类的东西。写好程序以后一定要反复推敲,有可能一个不留神就可能导致程序失灵。这个我遇到过,一顿找,就是找不到问题所在,结果是一个小小的寄存器的某一位写错了。
0
回复
fjfhjmh
LV.9
4
2014-03-20 18:10
写这篇帖子的目的是,给苦苦寻觅的初学者一点启示,如果能恰好帮助在困境中的求学者,将感到无比荣幸。
0
回复
fjfhjmh
LV.9
5
2014-03-20 18:12
@fjfhjmh
写这篇帖子的目的是,给苦苦寻觅的初学者一点启示,如果能恰好帮助在困境中的求学者,将感到无比荣幸。
 ARM和单片机的区别 
1、软件方面
    这应该是最大的区别了。引入了操作系统。为什么引入操作系统?有什么好处嘛?
    1)方便。主要体现在后期的开发,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还是要专业人士来做。
    2)安全。这是LINUX的一个特点。LINUX的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统死掉。这在单片机的软件开发中没见到过。
    3)高效。引入进程的管理调度系统,使系统运行更加高效。在传统的单片机开发中大多是基于中断的前后台技术,对多任务的管理有局限性。
    2、硬件方面
    现在的8位单片机技术硬件发展的也非常得快,也出现了许多功能非常强大的单片机。但是与32ARM相比还是有些差距吧。
    ARM芯片大多把SDRAM,LCD等控制器集成到片子当中。在8位机,大多要进行外扩。
    总的来说,单片机是个微控制器,ARM显然已经是个微处理器了。    引入嵌入式操作系统之后,可以实现许多单片机系统不能完成的功能。比如:嵌入式web服务器,java虚拟机等。也就是说,有很多免费的资源可以利用,上述两种服务就是例子。如果在单片机上开发这些功能可以想象其中的难度。
0
回复
2014-03-21 10:10
@fjfhjmh
2、我遇到的问题对于我来说,pic是新事物,要从刚开始接触说起,时间不长,72小时。给我的感觉,这种单片机价格便宜,体积小,结构简单,编程用c,也比较和我的胃口。缺点(也就是苦苦煎熬着我的)就是仿真和烧录。和其他单片机一样,每个厂商都推出了自己的c编译环境和开发环境,我们的pic使用ide和picc(不是保险公司哦)具体如图。 [图片] Picc是自己嵌入ide的进入界面,感觉无比亲切,和keil也差不多啊,于是照方抓药。 [图片] 通过工程想到,建立工程。选择你使用的芯片,选择编译器,如图,picc.exe的路径也可以看到哦! [图片] 新建工程,但是不导入c文件点菜单栏VIEW下的project,在source右键,加入c文件,如果没有c文件,就新建一个c文件,然后加入到source里面。导入之后就如图了。 [图片] 下面就是激动人心的编译程序了,如果程序无误,应该出现这个:[图片] 接下来就可以进行烧写和仿真了 [图片] 在这之前,需要进行一些必要的设置,按上图就可以,在Configue里面。然后,通过Programer和Debugger选择要设备,我用ICD2就选ICD2下面就是要进行连接,如果你想仿真,就把Release点成Debug,然后在debugger里面点connect,如果想烧程序,就在programmer里面点connect,成功是这个样子的 [图片] 我做的是烧写,所以就点program,结果如下[图片]  
。。呃 图片看不到,重新上传下吧
0
回复
fjfhjmh
LV.9
7
2014-03-21 12:51
@fjfhjmh
 ARM和单片机的区别 1、软件方面  这应该是最大的区别了。引入了操作系统。为什么引入操作系统?有什么好处嘛?  1)方便。主要体现在后期的开发,即在操作系统上直接开发应用程序。不像单片机一样一切都要重新写。前期的操作系统移植工作,还是要专业人士来做。  2)安全。这是LINUX的一个特点。LINUX的内核与用户空间的内存管理分开,不会因为用户的单个程序错误而引起系统死掉。这在单片机的软件开发中没见到过。  3)高效。引入进程的管理调度系统,使系统运行更加高效。在传统的单片机开发中大多是基于中断的前后台技术,对多任务的管理有局限性。  2、硬件方面  现在的8位单片机技术硬件发展的也非常得快,也出现了许多功能非常强大的单片机。但是与32ARM相比还是有些差距吧。  ARM芯片大多把SDRAM,LCD等控制器集成到片子当中。在8位机,大多要进行外扩。  总的来说,单片机是个微控制器,ARM显然已经是个微处理器了。  引入嵌入式操作系统之后,可以实现许多单片机系统不能完成的功能。比如:嵌入式web服务器,java虚拟机等。也就是说,有很多免费的资源可以利用,上述两种服务就是例子。如果在单片机上开发这些功能可以想象其中的难度。

0
回复
fjfhjmh
LV.9
8
2014-03-21 12:52
@fjfhjmh
[图片][图片]

0
回复
fjfhjmh
LV.9
9
2014-03-21 12:53
@fjfhjmh
[图片][图片][图片][图片][图片][图片]
按顺序来看
0
回复
zzq123456
LV.2
10
2014-03-24 16:34
@fjfhjmh
按顺序来看
0
回复
buer1209
LV.7
11
2014-04-04 21:44
   图片竟然还有爱板网的logo
0
回复
fjfhjmh
LV.9
12
2014-04-08 08:24
@buer1209
[图片]  图片竟然还有爱板网的logo
摘抄
0
回复
qinzutaim
LV.11
13
2014-04-11 09:14
@fjfhjmh
[图片][图片][图片][图片][图片][图片]
不能重新编辑一下么,这么看很费劲呢!
0
回复