前言

本书是为物理学院本科生电子类实践性课程“单片机与传感器基础”而编写的教材,也可以作为对单片机和传感器感兴趣的初学者自学使用。对非电子类专业的学生来说,开设此课程的主要目的是让学生开阔视野,学习和了解一些现代电子技术,尤其是单片机和传感器技术的设计方法及应用。这对于学生将来的创新创业、实验设计、科研和就业等都可能有所帮助。

现代电子技术的发展和应用,在很多领域可以说是日新月异的,尤其是测量和控制这两个方面的体现尤为突出,而它们和单片机与传感器技术密切相关。在航空航天、工农业生产、军事国防、科学研究以及日常生活中的自动控制和电子设备中,单片机与传感器都是不可或缺的技术,并有大量的应用。单片机和传感器在应用过程中常常是密不可分的,它们可以是电子爱好者手中的工具,也可以由专业人员做出功能强大的系统应用。

本书适合于AVR单片机的初学者,但要求具有计算机C语言和电子线路课程的基础。内容主要以AVR单片机为核心,结合一些常用的传感器,并融合电子线路和C语言编程,以培养学生电子技术与软件编程的综合设计能力。期望学生能对单片机基本知识及AVR单片机有较全面的了解,对部分常用的传感器有初步的认识,能掌握单片机的C语言编程方法,熟悉单片机常用的外围电路,并灵活应用单片机与传感器技术的软硬件设计方法。

本书的学习需要用到CodeVision AVR、Proteus、AVR Studio三款软件和一块单片机学习电路板。单片机的C语言编程极大地推动了单片机的应用。目前,单片机的C语言编程和编译环境有很多种,也各具特色,这里采用的是CodeVision AVR软件。单片机的学习与应用离不开硬件,但同时接触全新而陌生的软硬件,会增加学习难度和成本,而Proteus电路仿真软件很好地解决了这个问题。它不仅可以仿真硬件电路的工作,还可以让仿真的单片机加载已编好的程序,即软硬件同时仿真,这极大地方便了单片机的软硬件学习。AVR Studio是Atmel公司提供的一款AVR单片机程序调试软件,它对调试复杂程序能提供很大帮助。电路学习板是真正的单片机硬件电路,经过仿真的程序最终要在这块电路板上运行,以观察实际效果。

本书根据课堂讲义和一些器件技术资料编译而成,鉴于技术的快速发展及个人水平有限,书中难免存在疏漏之处,敬请读者批评指正。本书C语言参考部分主要来自CodeVision AVR的编译器参考手册,而ATmega8A单片机结构与原理部分主要来自ATmega8A的用户手册。