的单片机初学者,希望您能从中受益。
基于本人学习单片机的痛苦经历,特编写本教程,以此献给广大
的单片机初学者,希望您能从中受益。
作者提示:本教程乃最通俗易懂之单片机教材也,如果您还是看
不懂,请千万不要涉足此行,以免误入歧途,耽误您的前程*_*
拿到这本教程您首先就会想,什么是IAP 教学法?是不是一种什么全新的教学方法?当然不是,
我可没有那么大的本事,其实这只是我杜撰的一个新名词,意思就是In Applications Program(在应
用中编程),当然这只是针对单片机教学,说法是否正确,还得您说了算。
至于为什么要提这种说法,那我倒想说几句。大家都知道,学习电子技术是一件非常无聊和枯燥
的事情,为什么会有这种想法,就是因为我们传统的教学方法只重理论而忽略了实践,要一个人记住那
些空洞而有无聊的理论知识实在不是一件容易的事,好在我们总算熬过来了,不管如何,也多多少少的
学习了一些电子基础知识。
接下来我们应该进一步掌握些什么知识呢,凡涉足此行的朋友都知道,那就是单片机。不过这可
不是一件容易的事,倒不是因为单片机很难学,而实在是我们身边很难找到一本专为单片机入门者而编
写的教材。翻一下传统的单片机教材,都好象是为已经懂单片机的人而写的,一般总是以单片机的结构
为主线,先讲硬件原理,然后是指令,接着讲软件编程,再是系统扩展和外围器件,最后举一些实例(随
便说一点:很多书中的实例都是有错误的),很少涉及单片机的基础知识,如果按照此种学习方法,想
进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。孰不知,单片机不象模拟电路
和数字电路那样,只要搞懂了电路原理,再按照产品要求设计好相应的电路就可以了。它是一种以简单
的硬件结构,复杂而有灵活的软件系统来完成设计的通用性产品,不同的设计者只会使用其不同的功能,
几乎没有人会把它的全部指令都使用起来,所以学习使用单片机只能靠循序渐进的积累,而不可能先把
它全部掌握了再去做产品开发(当然天才就例外了*_*)。
基于以上原因,本人想尝试一种全新的单片机教学方法,打破传统的循序渐进式的教学方法,以
单片机的应用为蓝本,结合基本的工业控制系统和实践工作中的具体应用,不分先后顺序,将各条指令
贯串于一个又一个的实验中,通过所见即所得的实验来讲解各种指令的编程方法,顺便讲解相关的基本
概念,使您尽快地熟悉单片机应用的基本步骤,掌握软件编程的基本方法。
如果您学完了就能成为单片机的入门者,完全可以进行一般产品的开发;下册部分是单片机应
用的提高部分,主要学习单片机的系统扩展(比如:ROM和 RAM 存储器的扩展,并行口的扩展,串行口
的扩展,A/D 和 D/A 与单片机的接口)以及相关开发工具和软件的使用(包括 KELL C51 的应用与调试
技巧,硬件仿真器的使用)等等,如果您学完了下册部分,那就得恭喜您成为了单片机开发的高手了,
不过单片机的技术是在不断的发展和提高的,您也不要太骄傲哦!
为了尽量把最新的单片机知识和应用成果收录进我们的教程,希望您能不吝赐教,共同来努力把
我们的教程不断的改进和完善。还是那句题外话,技术是靠不断的积累和交流才会进步的,固封自守只
会更加落后。
由于时间和精力的限制,我还是希望在您学习本教程之前,自己先熟悉一点相关的电子技术知识,
特别是数字电路基础,这对您学习中碰到的相关概念会有很大的帮助。
2.各种跑马灯
1. 点亮LED 2.各种跑马灯 3.数码管显示数字和字母 4.数码管动态刷新显示
5.查询方式按键 6.中断方式按键 7.蜂鸣器发声 8.单片机奏乐
9.外部事件计数
10.TTL电平串行通讯
11.标准电平串行通讯
12.IIC总线存储器读写
13.IIC总线时钟芯片操作
14.单片机口线有否上拉的区别
15.显示驱动芯片的始能和禁止
9.外部事件计数
10.TTL电平串行通讯 11.标准电平串行通讯 12.IIC总线存储器读写
13.IIC总线时钟芯片操作 14.单片机口线有否上拉的区别 15.显示驱动芯片的始能和禁止
支持的芯片型号
支持目前最为经典和市场占有量最大的ATMEL公司生产的AT89C51、C52、C55和
最新的S51、S52; AT89C1051、2051、4051等芯片。
特别适合于渴望学习51单片机又想尽量减小学习投入的网友。51单片机多功能试验板 开发板将单片机实验板、编程器、ISP下载线进行合理的组合,
开发板上自带MCU采用了串口在系统
开发系统摆脱了传统、繁锁的单片机学习方式,将当今最流行、
51最经济有效的学习方案完美地
集成在了同一个系统中,是一个快捷、高效、灵活的单片机学习、
开发方案。具有非凡的性价比,
是单片机爱好者快速掌握51系列单片机不可多得的工具...
既适合初学者入门学习,也适合专业人员开发51单片机产品的需求,还适用于渴望快速学习和掌握
单片机应用技术的所有人员。
编控制配合串行下载编程控制软件,无需各种编程器可轻松地将编译好的代码下载到开发板上的
CPU中进行验证或演示,试验过程中无需拔插任何电缆和芯片,整个过程只需利用鼠标操作即可,
方便快捷。烧写完毕即可自动演示,比ISP使用更方便。同时也可以使用预留的ISP接口
连接ISP下载头,对其他MCU进行在系统编程(ISP-In System
Programming),对于产品的软件调试或升级,提供快捷的方案。这样一来,
开发系统又可以作为单独的ISP下载线使用了。
本开发系统的阻容元件、三极管为贴片封装,结构更紧凑,性能更稳定可靠开发系统提供了丰富的
硬件资源和接口,随机提供了大量的开发源代码,将有助于初学者更好的学习单片机,轻松地迈入
单片机的殿堂,领悟单片机给我们带来的无穷魅力。所有实验例程均提供详细源代码,并且附带
详细的注解说明。开发板的程序和原理图请参考配套光盘。板载实验资源和接口如下:
STC89C51RC单片机
8 路LED
4位LED数码管
一路继电器控制
蜂鸣器
4x4矩阵键盘
8位拨码开关
一体化红外接收头
16*2字符型液晶接口
ADC0832 2路8位串行AD转换
16K bits的I2C串行数据存储器24C16
电话机的模拟攒机电路
电话振铃检测电路
电话拨号电路(DTMF发送)拨打电话或手机用的。
DTMF接收电路(可以接收手机或电话按键发出的DTMF信号),可以用来进行电话或手机的远程控制
125KHZ的非接触IC卡读卡模块
MAX232专用串口通讯电路
ISP下载接口
外扩接口
开发板附带的实验项目:
1:跑马灯
2:拨码开关输入用LED提示
3:点亮数码管
4:10路抢答器
5:100位计数器
6:4位数的计数器(即0-9999的计数器)
7:定时器实验
8:实用单片机电子钟的制作
9:频率计
10:继电器控制实验
11:按键检测子程序
12:16*2 LCD字符液晶模块显示程序
13:用实验板拨打电话或手机,LCD显示拨出的电话号码
14:用电话或手机远程控制开发板的LED灯
15:I2C存储器读写实验
16:RS232串口通信实验
17:模数转换(AD)程序
18:实用的红外线分析仪
19:读125KHZ的非接触IC卡程序
20:STC51MCU的内部E2PROM的应用程序
21:MCU内看门狗的使用
开发系统的特色:
利用本开发系统的硬件资源和提供的实验程序稍加修改就可以开发更加复杂的程序或产品
如:绕线机或其他产品上用的计数器;带万年历的电子时钟;电压表;数据采集器;报警器,
当有情况时,可以通过预先存储的电话号码,自动拨打电话报警;电话远程控制电器;密码门锁;
还有现在最流行的用非接触IC卡(也称射频卡或感应卡)做的产品:
(1):射频感应门锁
(2):智能小区智能门禁
(3):巡更管理系统
(4):考勤系统
(5):防盗门,保险柜,密码箱
(6):野外个人识别
(7):汽车(机动车辆)防盗
(8):其它一些需要身份识别和保密的……
红外线一体接收头
125KHZ非接触IC卡
TTL电平232输出的125K非接触IC卡只读卡头
WG26输出的125K非接触IC卡只读卡头
5
第一课 单片机的概述
因为我们的主要课程是单片机的应用,本来不想讲解单片机的历史与发展(这话说现状更确切
些),但为了兼顾大多数朋友,我还是简单的介绍一下这方面的相关知识。
一.单片机的由来
单片机,专业名称—Micro Controller Unit(微控制器件),它是由大名鼎鼎的 INTEL公司发明的,
最早的系列是 MCS-48,后来有了 MCS-51,现在还有 MCS-96 系列,我们经常说的 51 系列单片机就是
MCS-51,它是一种 8 位的单片机,而 MCS-96 系列则是一种 16 位的单片机,至于它们之间有何区别,我
们以后会讲到。
后来 INTEL 公司把它的核心技术转让给了世界上很多的小公司(不过,再小也有几个亿的销售/
年哦),所以世界上就有许多公司生产 51 系列兼容单片机,比如飞利浦的 87 LPC 系列,伟邦的 W78L
系列,达拉斯的DS87系列,现代的GSM97系列等等,目前在我国比较流行的就是美国ATMEL公司的89C51,
它是一种带 Flash ROM 的单片机(至于什么是 Flash ROM,我在这儿先不作介绍,等以后大家学到相
关的知识时自然就会明白),我们的讲座就是以该型号的单片机来作实验的。讲到这里,也许有的人会