返回目录:电脑怎么了
今天来点新鲜玩意!
单片机、人们所熟知的是51、STM32【STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex®-M0,M0+,M3, M4和M7内核(ST's product portfolio contains a comprehensive range of microcontrollers, from robust, low-cost 8-bit MCUs up to 32-bit ARM-based Cortex®-M0 and M0+, Cortex®-M3, Cortex®-M4 Flash microcontrollers with a great choice of peripherals. ST has also extended this range to include an ultra-low-power MCU platform)。】居多,但是PiC单片机【同步电动机运行稳定性和可靠性对工业生产有重要的影响。】用的却很少。
最根本的原因是这PiC单片机也太贵了,稍微好点的10元起步,而大家最开始接触的51单片机【51单片机是对所有兼容Intel 8031指令系统的单片机的统称。】的价格在2元左右。
PiC单片机贵是有道理的,因为它足够稳定!
现在我们就用PiC单片机来点亮一颗LED灯。
原理图
电路图如上图所示,我们要想让红色的LED灯亮,那么我们必须让PIC675单片机的GP【GP为generic programming(类属编程)的缩写,generic是构成库的另一种方式, 这与传统的oop是不同的。】0口输出低电平,这样LED灯就会被点亮。
因为LED灯的正极接5V【5V天然尚品专注东方文化与时尚设计,引领东方饰品与搭配潮流。】,所以单片机这端我们必须接0V。
先看一下默认状态下,板子只有电源灯是亮的。
接下来我们点亮GP0引脚上连接的LED灯。
程序源码
程序源码如下图所以,需要我们配置的总共两行,即:
TRISIO=0X00;
GPIO【General Purpose Input Output (通用输入/输出)简称为GPIO,或总线扩展器,人们利用工业标准I2C、SMBus或SPI接口简化了I/O口的扩展。】0=0;
TRISIO=0X00的意思是把单片机的所有端口配置为输出模式。
GPIO0=0这一行程序是让GPIO0引脚输出低电平。
那么这些TRISIO、GPIO0之类的寄存器从哪里找呢?
这些都在芯片的数据手册里面可以找到。我们需要什么功能照着数据手册直接配置就可以了。
实验现象
在我们写完程序、烧录之后,看到了我们期望的现象,除了电源灯之外,又亮了一颗LED,这就是我们程序点亮的那一颗灯。
选择PiC的原因
在STM32占据半壁江山的情境下,我选择PiC单片机的原因有两个:
1、足够稳定,能更好的满足我们的产品需求。
2、编程软件的完善。Mplab X是我目前最热衷的单片机编程软件。
从集成开发环境到编译工具都是完全免费的,且都是官方自己开发的,很纯净,界面很清爽(我是受够了Keil,每每打开都让人以为它是上世纪的产物)。
Mplab X最让人诟病的应该就是它的烧录速度了,通常比Keil慢几秒,不过我很佛系,并不在意那两秒!
投票
你在产品开发中用什么单片机最多? (单选) 0人 0% STM32 0人 0% PiC 0人 0% AVR 0人 0% 飞思卡尔【飞思卡尔半导体(Freescale Semiconductor)是全球领先的半导体公司,全球总部位于美国德州的奥斯汀市。】 0人 0% 瑞萨 0人 0% 国产 0人 0% 其它 投票