论文部分内容阅读
中图分类号:TP107 文献标识码:A 文章编号:1009-914X(2018)38-0261-02
一、单片机的研究背景
(一)单片机的定义
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片機,发展到现在的300M的高速单片机。
此次,我们以当下较为热门的单片机Arduino为例,深入开发研究单片机的作用,挖掘其潜在价值。
(二)ARDUINO的定义
Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。
它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是通过 Arduino编程语言 (基于 Wiring)和Arduino开发环境(基于 Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。
(三)ARDUINO的辅助资料
下面是Arduino官网对Arduino开发板的一些介绍:
Arduino is an open-source electronics platform based on easy-to-use hardware and software. Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online. You can tell your board what to do by sending a set of instructions to the microcontroller on the board. To do so you use the Arduino programming language (based on Wiring), and the Arduino Software (IDE), based on Processing.
Over the years Arduino has been the brain of thousands of projects, from everyday objects to complex scientific instruments. A worldwide community of makers - students, hobbyists, artists, programmers, and professionals - has gathered around this open-source platform, their contributions have added up to an incredible amount of accessible knowledge that can be of great help to novices and experts alike.
Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast prototyping, aimed at students without a background in electronics and programming. As soon as it reached a wider community, the Arduino board started changing to adapt to new needs and challenges, differentiating its offer from simple 8-bit boards to products for IoT applications, wearable, 3D printing, and embedded environments. All Arduino boards are completely open-source, empowering users to build them independently and eventually adapt them to their particular needs. The software, too, is open-source, and it is growing through the contributions of users worldwide. Arduino引脚图:
二、单片机的研究准备
(一)项目部件的准备
Arduino UNO rev.3开发板1块
300孔免焊面包板1块
公对公杜邦线2根(一红一黑)
面包板跳线若干
各种电子元件
计算机1台
(二)开发设备&环境的准备
主板:华硕PRIME B350M-A
CPU:AMD Ryzen 3 1300X
GPU:AMD Radeon RX 560 Series
操作系統:Windows 10 Professional Version 1709
集成开发环境:Arduino IDE 1.8.5 (Windows Store 1.8.10.0)
(三)研究的研主要目的
此次研究开发的主要目的在于探索单片机在生活中的实际应用,具体分为以下三个问题:
1. 单片机在生活中的应用价值
2. 如何制作一个简单的单片机装置
3. 单片机的发展前景
三、单片机的开发项目——电子温度计
(一)情景再现
最近天气忽冷忽热,天气预报又经常不准,使得注重保养身体的小明很是苦恼。“到底穿什么衣服”这一问题每天都困扰着小明。他想到了一个办法,用温度计测量实时温度,可是每天穿着睡衣出门量温度又容易感冒。怎么办呢?小明向我们求助。擅长单片机开发的我们爽快地接受了这一请求,并立即开始了此次项目的开发。
(二)开发计划
利用温度传感器进行室外温度的检测,并通过Arduino实时显示到LCD液晶显示器上,做到实时显示室外温度。
(三)思考过程
此次项目开发需要一个温度传感器进行室外温度的检测,我们选用TMP36温度传感模块作为温度传感装置。我们阅读了TMP36温度传感模块的数据手册,了解到它的工作电压为5V,输出电压范围为0~5V,测量的温度范围为-50~450℃,每10mV的电压改变等同于1℃的温度改变。它有3个管脚,外侧的两个管脚连接电源和地,中间的管脚会根据元件温度的高低输出不同的电压。我们使用temperature=(voltage-0.5)*100语句计算元件温度,其中减去的0.5是传感器的偏移量。因为Arduino的模数转换器会将0~5V的电压范围映射到0~1023范围的一个值,所以我们还将用到voltage=value/1024.0*5语句。
考虑到此次项目需要输出显示的内容不多,我们选用了一块很小的16*2字符LCD屏幕作为输出。
(四)分析总结
此次项目分别使用了TMP36温度传感模块和LCD液晶显示器作为电子温度计的输入和输出,做到了实时显示室外温度的目的。这是一个简单的单片机检测装置,检测的目标也很简单,仅仅是一个模拟物理值——温度。此次项目用到了Arduino自带的模数转换器,并且还引用了LCD的函数库。我表示此次项目圆满完成。
四、单片机的前景展望
单片机的市场潜力十分巨大,而且将来依然会越来越大。人们很少听说过单片机,殊不知单片机已经进入千家万户,融入到每个人的日常生活中去了。电子门锁、数字闹钟、电动牙刷、电动剃须刀,这些都是单片机在生活中的实际应用。大的方面来讲,用于公共场合的火灾控制系统、烟雾报警器,用于医疗装置的植入式心律转复除颤器、胃窥镜,这些设备中都有单片机的身影。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,从某种意义上来说,手机也算一种高算力、智能化、多功能的多输入多输出单片机。
未来,单片机会朝着更低功耗、更高性能、更大容量的方向发展。单片机是物联网的基础,只有单片机将物品的模拟信号与电子信号相互转化,物联网技术才能真正控制各种物品,对其进行信息交换和通信。随着物联网技术的深入发展,单片机有望进入更多的物品当中去,为构建一个物物相连、物物相息的世界提供一种强有力的方式。
参考资料
[1]https://baike.baidu.com/item/%E5%8D%95%E7%89%87%E6%9C%BA/102396?fr=aladdin
[2]https://baike.baidu.com/item/Arduino/9362389?fr=aladdin
[3]https://www.arduino.cc/en/Guide/Introduction
[4]http://forum.arduino.cc/index.php/topic,146315.0.html
[5]https://www.arduino.cc/
[6]https://www.asus.com.cn/Motherboards/PRIME-B350M-A/
[7]https://www.amd.com/zh-hans/products/cpu/amd-ryzen-3-1300x
[8]https://gaming.radeon.com/en/rx500/rx-560/
[9]https://www.microsoft.com/zh-cn/windows/
一、单片机的研究背景
(一)单片机的定义
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片機,发展到现在的300M的高速单片机。
此次,我们以当下较为热门的单片机Arduino为例,深入开发研究单片机的作用,挖掘其潜在价值。
(二)ARDUINO的定义
Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。
它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是通过 Arduino编程语言 (基于 Wiring)和Arduino开发环境(基于 Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信 (比如 Flash, Processing, MaxMSP)来实现。
(三)ARDUINO的辅助资料
下面是Arduino官网对Arduino开发板的一些介绍:
Arduino is an open-source electronics platform based on easy-to-use hardware and software. Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online. You can tell your board what to do by sending a set of instructions to the microcontroller on the board. To do so you use the Arduino programming language (based on Wiring), and the Arduino Software (IDE), based on Processing.
Over the years Arduino has been the brain of thousands of projects, from everyday objects to complex scientific instruments. A worldwide community of makers - students, hobbyists, artists, programmers, and professionals - has gathered around this open-source platform, their contributions have added up to an incredible amount of accessible knowledge that can be of great help to novices and experts alike.
Arduino was born at the Ivrea Interaction Design Institute as an easy tool for fast prototyping, aimed at students without a background in electronics and programming. As soon as it reached a wider community, the Arduino board started changing to adapt to new needs and challenges, differentiating its offer from simple 8-bit boards to products for IoT applications, wearable, 3D printing, and embedded environments. All Arduino boards are completely open-source, empowering users to build them independently and eventually adapt them to their particular needs. The software, too, is open-source, and it is growing through the contributions of users worldwide. Arduino引脚图:
二、单片机的研究准备
(一)项目部件的准备
Arduino UNO rev.3开发板1块
300孔免焊面包板1块
公对公杜邦线2根(一红一黑)
面包板跳线若干
各种电子元件
计算机1台
(二)开发设备&环境的准备
主板:华硕PRIME B350M-A
CPU:AMD Ryzen 3 1300X
GPU:AMD Radeon RX 560 Series
操作系統:Windows 10 Professional Version 1709
集成开发环境:Arduino IDE 1.8.5 (Windows Store 1.8.10.0)
(三)研究的研主要目的
此次研究开发的主要目的在于探索单片机在生活中的实际应用,具体分为以下三个问题:
1. 单片机在生活中的应用价值
2. 如何制作一个简单的单片机装置
3. 单片机的发展前景
三、单片机的开发项目——电子温度计
(一)情景再现
最近天气忽冷忽热,天气预报又经常不准,使得注重保养身体的小明很是苦恼。“到底穿什么衣服”这一问题每天都困扰着小明。他想到了一个办法,用温度计测量实时温度,可是每天穿着睡衣出门量温度又容易感冒。怎么办呢?小明向我们求助。擅长单片机开发的我们爽快地接受了这一请求,并立即开始了此次项目的开发。
(二)开发计划
利用温度传感器进行室外温度的检测,并通过Arduino实时显示到LCD液晶显示器上,做到实时显示室外温度。
(三)思考过程
此次项目开发需要一个温度传感器进行室外温度的检测,我们选用TMP36温度传感模块作为温度传感装置。我们阅读了TMP36温度传感模块的数据手册,了解到它的工作电压为5V,输出电压范围为0~5V,测量的温度范围为-50~450℃,每10mV的电压改变等同于1℃的温度改变。它有3个管脚,外侧的两个管脚连接电源和地,中间的管脚会根据元件温度的高低输出不同的电压。我们使用temperature=(voltage-0.5)*100语句计算元件温度,其中减去的0.5是传感器的偏移量。因为Arduino的模数转换器会将0~5V的电压范围映射到0~1023范围的一个值,所以我们还将用到voltage=value/1024.0*5语句。
考虑到此次项目需要输出显示的内容不多,我们选用了一块很小的16*2字符LCD屏幕作为输出。
(四)分析总结
此次项目分别使用了TMP36温度传感模块和LCD液晶显示器作为电子温度计的输入和输出,做到了实时显示室外温度的目的。这是一个简单的单片机检测装置,检测的目标也很简单,仅仅是一个模拟物理值——温度。此次项目用到了Arduino自带的模数转换器,并且还引用了LCD的函数库。我表示此次项目圆满完成。
四、单片机的前景展望
单片机的市场潜力十分巨大,而且将来依然会越来越大。人们很少听说过单片机,殊不知单片机已经进入千家万户,融入到每个人的日常生活中去了。电子门锁、数字闹钟、电动牙刷、电动剃须刀,这些都是单片机在生活中的实际应用。大的方面来讲,用于公共场合的火灾控制系统、烟雾报警器,用于医疗装置的植入式心律转复除颤器、胃窥镜,这些设备中都有单片机的身影。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,从某种意义上来说,手机也算一种高算力、智能化、多功能的多输入多输出单片机。
未来,单片机会朝着更低功耗、更高性能、更大容量的方向发展。单片机是物联网的基础,只有单片机将物品的模拟信号与电子信号相互转化,物联网技术才能真正控制各种物品,对其进行信息交换和通信。随着物联网技术的深入发展,单片机有望进入更多的物品当中去,为构建一个物物相连、物物相息的世界提供一种强有力的方式。
参考资料
[1]https://baike.baidu.com/item/%E5%8D%95%E7%89%87%E6%9C%BA/102396?fr=aladdin
[2]https://baike.baidu.com/item/Arduino/9362389?fr=aladdin
[3]https://www.arduino.cc/en/Guide/Introduction
[4]http://forum.arduino.cc/index.php/topic,146315.0.html
[5]https://www.arduino.cc/
[6]https://www.asus.com.cn/Motherboards/PRIME-B350M-A/
[7]https://www.amd.com/zh-hans/products/cpu/amd-ryzen-3-1300x
[8]https://gaming.radeon.com/en/rx500/rx-560/
[9]https://www.microsoft.com/zh-cn/windows/