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

PIC单片机入门学习

    这段时间工作中用到了单片机,很长时间没有去琢磨单片机了,准备开一帖,把自己学习单片机的历程写下来.
全部回复(73)
正序查看
倒序查看
2016-06-17 15:24

    很多的模拟电子工程师在单片机这一块是短板,不知道如何下手.

    我也有过这样痛苦的经历,我准备把自己写的PCI单片机的程序贴上来,共享给大家,还是老套路,每天更新一点.

    这里需要提及一点,在单片机的学习过程中,我得到了很多人的帮助,其中我最感谢的是鸿哥.如果大家还不了解鸿哥是何须人也,请百度.

    我的程序的大框架就是脱胎于鸿哥在网上共享的那种结构,个人觉得挺好,思路很清晰.

    

1
回复
2016-06-17 15:32
@hello-no1
  很多的模拟电子工程师在单片机这一块是短板,不知道如何下手.  我也有过这样痛苦的经历,我准备把自己写的PCI单片机的程序贴上来,共享给大家,还是老套路,每天更新一点.  这里需要提及一点,在单片机的学习过程中,我得到了很多人的帮助,其中我最感谢的是鸿哥.如果大家还不了解鸿哥是何须人也,请百度.  我的程序的大框架就是脱胎于鸿哥在网上共享的那种结构,个人觉得挺好,思路很清晰.    

    PIC单片机点亮LED.

原理图

0
回复
2016-06-17 15:35
@hello-no1
  PIC单片机点亮LED.原理图[图片]

    源程序

实测已经调试通过,共享给大家.

0
回复
2016-06-17 16:43
@hello-no1
  源程序[图片]实测已经调试通过,共享给大家.

    我个人习惯的程序书写方法.

第一步:头文件;

第二步:字符型,整型,长整型缩写定义;

第三步:需使用的数值或变量缩写定义;

第四步,单片机端口定义;

第五步,全局变量定义;(各功能函数中包括的变量放在一起,并注明)

第六步,初始化函数定义;通常是单片机初始化以及外设初始化;

第七步,功能函数定义;

第八步,中断函数定义;

第九步,延时函数定义;

第十步,主函数模块;

第十一步,功能函数模块;

第十二步,中断函数模块;

第十三步,延时函数模块.

    这是我自己总结的单片机程序的十三步套路法,个人觉得还是比较管用的.

0
回复
2016-06-27 14:34
@hello-no1
  我个人习惯的程序书写方法.第一步:头文件;第二步:字符型,整型,长整型缩写定义;第三步:需使用的数值或变量缩写定义;第四步,单片机端口定义;第五步,全局变量定义;(各功能函数中包括的变量放在一起,并注明)第六步,初始化函数定义;通常是单片机初始化以及外设初始化;第七步,功能函数定义;第八步,中断函数定义;第九步,延时函数定义;第十步,主函数模块;第十一步,功能函数模块;第十二步,中断函数模块;第十三步,延时函数模块.  这是我自己总结的单片机程序的十三步套路法,个人觉得还是比较管用的.

    这几天埋头调试程序,将已经调试通过的程序共享给大家.

1,通过延时函数实现LED亮灭

1_LED.rar

2,通过主循环实现LED亮灭

2_LED_recycle.rar

3,通过主循环实现流水灯

3_water_lamp.rar

4,通过中断实现LED亮灭

4_interrupt_led.rar

5,通过中断实现流水灯

5_interrupt_water_lamp.rar

0
回复
2016-06-27 14:35
@hello-no1
  这几天埋头调试程序,将已经调试通过的程序共享给大家.1,通过延时函数实现LED亮灭1_LED.rar2,通过主循环实现LED亮灭2_LED_recycle.rar3,通过主循环实现流水灯3_water_lamp.rar4,通过中断实现LED亮灭4_interrupt_led.rar5,通过中断实现流水灯5_interrupt_water_lamp.rar

    懒的自己搭电路,花了将近两百大洋买了一块慧静的PIC单片机开发板,原理图共享给大家

慧静PIC单片机原理图.pdf

0
回复
2016-06-28 15:29
@hello-no1
  懒的自己搭电路,花了将近两百大洋买了一块慧静的PIC单片机开发板,原理图共享给大家慧静PIC单片机原理图.pdf

    继续更新,通过中断实现LED闪烁以及蜂鸣器鸣响功能.

6_interrupt_alarm_led.rar

0
回复
2016-06-29 15:06
@hello-no1
  继续更新,通过中断实现LED闪烁以及蜂鸣器鸣响功能.6_interrupt_alarm_led.rar

   继续更新,通过主循环实现独立按键扫描触发蜂鸣器鸣响

7_recycle_key_trigger_alarm.rar

0
回复
2016-07-01 15:39
@hello-no1
  继续更新,通过主循环实现独立按键扫描触发蜂鸣器鸣响7_recycle_key_trigger_alarm.rar

    继续更新,通过中断扫描实现矩阵键盘检测,触发蜂鸣器鸣响

8_recycle_key_trigger_alarm.rar

0
回复
2016-07-01 15:41

    帖子拉正,

    目前PIC单片机采用型号为PIC16F877A,个人觉得还是比较强大的一款芯片.我写的程序个人觉得还是比较易于理解的,希望对大家有帮助.

0
回复
2016-07-02 10:43
@hello-no1
    帖子拉正,    目前PIC单片机采用型号为PIC16F877A,个人觉得还是比较强大的一款芯片.我写的程序个人觉得还是比较易于理解的,希望对大家有帮助.

    继续更新,通过中断扫描按键实现数码管触发显示

9_interrupt_key_trigger_tube.rar

0
回复
fzzz321
LV.1
13
2016-07-04 09:08
@hello-no1
  继续更新,通过中断扫描按键实现数码管触发显示9_interrupt_key_trigger_tube.rar
发现你真的是学无止境啊
0
回复
2016-07-04 14:36
@hello-no1
  继续更新,通过中断扫描按键实现数码管触发显示9_interrupt_key_trigger_tube.rar

    继续更新.

    通过配置PIC的CPP寄存器实现PWM输出,同时通过按键触发实现PWM可调

输出波形1

输出波形2

两路波形对比

0
回复
2016-07-05 16:44
@hello-no1
  继续更新.  通过配置PIC的CPP寄存器实现PWM输出,同时通过按键触发实现PWM可调[图片]输出波形1[图片]输出波形2[图片]两路波形对比[图片]

    继续更新.

    搞定看门狗的配置,通过看门狗复位实现LED闪烁

12_watch_dog_led.rar

开发板实物

0
回复
2016-07-06 16:26
@hello-no1
  继续更新.  搞定看门狗的配置,通过看门狗复位实现LED闪烁12_watch_dog_led.rar开发板实物[图片]

    继续更新.

    今天搞定PCI单片机的CCP功能,也就是所谓的捕获功能.

    RC2端口输入PWM方波,通过单片机捕获上升沿或者下降沿等在数码管上显示出来

实物

信号波形

源代码

15_capture_tube.rar

0
回复
2016-07-06 16:26
@hello-no1
  继续更新.  今天搞定PCI单片机的CCP功能,也就是所谓的捕获功能.  RC2端口输入PWM方波,通过单片机捕获上升沿或者下降沿等在数码管上显示出来实物[图片]信号波形[图片]源代码15_capture_tube.rar
    妈的,调试了差不多大半天,两眼都发黑,需要休息了.
0
回复
2016-07-06 16:27
@hello-no1
  妈的,调试了差不多大半天,两眼都发黑,需要休息了.
注意休息呀  c版~~
0
回复
2016-07-07 08:22

你好这个可以和stc单片机通用吗

0
回复
2016-07-07 10:36
@lihui710884923
你好这个可以和stc单片机通用吗
    寄存器配置不同而已
0
回复
2016-07-07 15:39
@hello-no1
  寄存器配置不同而已

    继续更新.

    搞定CCP1的比较功能,通过CCP1寄存器的数值与TMR1的累计数值进行比较,当二者相同,则比较中断触发,CPU响应中断请求,实现某一动作.

    在该实例中,通过CCP1中断触发实现LED的亮灭.

实物

源代码

16_compare_interrupt_led.rar

0
回复
12zm
LV.5
22
2016-07-08 21:12
你的51这么快就玩熟悉了,又开始PIC了
0
回复
2016-07-11 11:01
@12zm
你的51这么快就玩熟悉了,又开始PIC了

    继续更行.

    搞定PIC单片机的ADC采样功能显示

    实物

源程序1,直接通过主循环扫描实现adc采样

17_adc_tube.rar

源程序2,通过ADC中断实现ADC采样

18_adc_tube_interrupt.rar

0
回复
2016-07-12 13:12
@hello-no1
  继续更行.  搞定PIC单片机的ADC采样功能显示  实物[图片]源程序1,直接通过主循环扫描实现adc采样17_adc_tube.rar源程序2,通过ADC中断实现ADC采样18_adc_tube_interrupt.rar

    继续更新,搞定eeprom以及usart串口通信.

程序功能,PC机通过232接口向单片机发送数据,单片机接收到数值后,通过串口软件原值返回给PC机

实物

串口数据接收发送界面

串口软件

串口调试助手.rar

源代码

20_eeprom_usart.rar

0
回复
2016-07-19 11:17
@hello-no1
  继续更新,搞定eeprom以及usart串口通信.程序功能,PC机通过232接口向单片机发送数据,单片机接收到数值后,通过串口软件原值返回给PC机实物[图片]串口数据接收发送界面[图片]串口软件串口调试助手.rar源代码20_eeprom_usart.rar

    继续更新.

    通过IIC协议对24c02进行读写操作

实物

源代码

21_iic_24c02.rar

0
回复
2016-07-23 08:13
@hello-no1
  继续更新.  通过IIC协议对24c02进行读写操作实物[图片]源代码21_iic_24c02.rar

    继续更新.

    单片机通过串口对24c02进行读写操作,并将接收的数值返回给计算机,同时使用数码管显示对应数值.

    实物

串口调试

源程序

22_24c02_usart.rar

0
回复
2016-07-23 08:15
@hello-no1
  继续更新.  单片机通过串口对24c02进行读写操作,并将接收的数值返回给计算机,同时使用数码管显示对应数值.  实物[图片]串口调试[图片]源程序22_24c02_usart.rar
    目前帖子更新速度慢了,主要是工作多了,目前需要调试一些电路产品,所以没有太多的时间更新帖子,望大家谅解,只要抽出时间,我都会取更新帖子.希望对持续关注我帖子的朋友打声招呼,谢谢.
0
回复
2016-07-26 09:47
帖子已被设置为头条,恭喜楼主可添加电源网私人官网微信(dianyuan_com)为好友,领取现金红包(备注信息:头条红包)

      注:现金红包仅限当日领取

      活动介绍:http://www.dianyuan.com/bbs/1529195.html

     

0
回复
黑夜11
LV.5
29
2016-07-27 22:23
@hello-no1
  目前帖子更新速度慢了,主要是工作多了,目前需要调试一些电路产品,所以没有太多的时间更新帖子,望大家谅解,只要抽出时间,我都会取更新帖子.希望对持续关注我帖子的朋友打声招呼,谢谢.
我也是pic学习过来的,用它做过好几款逆变驱动板,用着用着就会感觉处理器很低端(个人觉得,说的时钟60M,但是实际情况非得除以4,头大),后来改用stm32,价格也一样
0
回复
2016-07-28 06:57
@黑夜11
我也是pic学习过来的,用它做过好几款逆变驱动板,用着用着就会感觉处理器很低端(个人觉得,说的时钟60M,但是实际情况非得除以4,头大),后来改用stm32,价格也一样

    PIC单片机号称是业内最稳定的单片机,目前因为有项目用到他,所以学习了.他有很多的系列.目前接触的是8位的,他也有16位和32位的,不过用的人较少.

    目前感觉PIC单片机还可以,不过编译器没有keil人性化,同时对于8位机的支持效果不好.

    等PIC搞定了,就开始学习STM32.谢谢你,楼主,谢谢你关注我的帖子.

0
回复
2016-07-31 09:13
@电源网-fqd
帖子已被设置为头条,恭喜楼主可添加电源网私人官网微信(dianyuan_com)为好友,领取现金红包(备注信息:头条红包)     注:现金红包仅限当日领取     活动介绍:http://www.dianyuan.com/bbs/1529195.html     [图片]
    好帖!  赞一个!  我两年前买了一个80C52的开发板!到现在都木有摸到进门的路呢!继续加油!跟进中·····
0
回复