求一个PIC单片机程序 能控制八位LED灯的闪亮 用MPLAB_LCD 并请描述下闪亮规律,谢谢各位!

求一个PIC单片机程序 能控制八位LED灯的闪亮 用MPLAB_LCD 并请描述下闪亮规律,谢谢各位!,第1张

楼上没用过PIC的就不要胡乱猜测发言。PIC10、12、16、18、24、32虽然是Microchip公司的PIC系列单片机。但结构却是完全不相同的:

首先,PIC10/PIC12/PIC16是pic八位中档单片机,汇编指令只有三十多条,没有乘法除法指令(用汇编写乘除,只能循环做移位计算),其芯片的引脚数从六个引脚的到六十四个引脚的不等,引脚多的所集成的外设功能也多……第二PIC18系列也是八位的PIC单片机,较前者高档点,集成的功能也多比如USB、CAN总线等等。汇编指令有八十多条,和前者不同,带乘法除法指令和硬件乘法器。

第三PIC24系列的是16位单片机, 近七十条汇编指令。有硬件乘法器和硬件除法器(有了它就可以在一个指令周期内完成一个1717或32/16的算法)。内部集成的存储器较大。还有一种芯片上面没提到,就是dsPIC系列,这其实就是集成了DSP(数字信号处理)功能的PIC24单片机,在进行某些信号控制的时候需要用到它,但它功耗较大。

第四种就是PIC32,它是三十二位的单片机,它出现的目的就是MICROCHIP公司为了用它来盒和ARM做市场竞争的。简单点说,它跟ARM是一个级别的。

虽然MICROCHIP公司的PIC芯片都是用RICS指令结构,但其内部结构不尽相同,如果你要学PIC单片机,建议先学PIC16F887,这款芯片几乎包括了PIC10~16系列中的大部分外设。推荐这个系列的最好先学汇编指令。先把这个学懂了,然后再用PIC10~16系列的其他芯片,你只需要从Microchip的网站上下载Datasheet仔细阅读以下和PIC16F887的区别就可以(指令都一样的)。而PIC18和PIC24和dsPIC系列的,你需要在原有的基础上,多看DATAHSEET,主要是看指令集的区别。这三个系列的可以直接学C,但也要了解一下汇编。

而PIC32,现在它还比不过ARM芯片,市场前景很难估计,也没有几个企业用这芯片的。不建议你现在学这个。

你的第一个问题,看门狗用了预分频的话,那定时器0就不能再用预分频了。有的PIC芯片还带有看门口自己独用的分频器,这样的话可以给TIMER0让出一个预分频来(比如PIC16F886)。 看门狗如何设成最优,那只能是从你的指令里计算了,还必须根据你的单片机所运行的环境来看,如果电磁环境很恶劣,最好是较短时间就设置一调喂狗指令。

啊,写了一大堆,如果有不明白的可以百度HI问我。 除了PIC32和PIC10外,其他系列的我都用过一些芯片

#include<pich>//流水灯实验

#define uchar unsigned char//宏定义

#define uint unsigned int

__CONFIG(0x3B31);//设置配置位

void delay(uint x)//延迟函数x表示毫秒

{

uint a,b;

for(a=x;a>0;a--)

for(b=110;b>0;b--);//嵌套

}

void main()

{

uchar i;//为下面的for循环作一个变量i

TRISD=0x00;//设置全为输出状态

while(1)//因为是流水灯所以是一个死循环,所以要在while里不要加分号

{

PORTD=0X01;//先点亮第一个二极管

for(i=8;i>0;i--)//因为有8个灯作流水灯

{

delay(500);//延迟500ms

PORTD=PORTD<<1;//让RD口左移动一位后再付给回PORTD

}

}

}

/软件仿真功能:打开菜单Debugger--Select Tool--MPLAB SIM进行设置断点再单步仿真

可以打开菜单View--Special Function Registers看PIC全部的I/O口;

也可以打开菜单View--Watch看I/O口和变量;

也可以打开菜单的Debugger--Setting设置晶振的频率后打开Debugger--Stopwatch看每个指今的具体时间和

流水灯的时间,先按Zero清0再单步/

例如用PORTC输出点亮8个LED,高电平点亮LED。

初始化TRISC为0;//全部输出

LATC=0x01; //第一个LED点亮

while(1)

{

if(按键按下){消抖延时;

if(按键还是按下的)

{ LATC << 1; //左移一格

if(LATC == 0) LATC =0x01;//如果第八个灯已经亮过了,点亮第一个灯

}

while(按键没有d起);//如果按键没有松开,在这里循环等待

}

}

以上就是关于求一个PIC单片机程序 能控制八位LED灯的闪亮 用MPLAB_LCD 并请描述下闪亮规律,谢谢各位!全部的内容,包括:求一个PIC单片机程序 能控制八位LED灯的闪亮 用MPLAB_LCD 并请描述下闪亮规律,谢谢各位!、【高分悬赏】PIC单片机16F877接如图所示MPLAB—— ICD演示版 使用MPLAB烧写程序 求一个程序、PIC流水灯问题,16F887等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9811915.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存