当前位置:文档之家› 51单片机应用从零开始课件05

51单片机应用从零开始课件05

手把手教你STC51的ISP下载线

手把手教你STC51的ISP下载线 说起我从认识学习使用C51单片机到现在有两年多,时间不长,菜鸟一只。从用TOP151烧写AT89C51,到用easy51pro在线编程AT89S51,再到用STC-ISP 软件在线编程STC89C51,最后现在变得越来越懒,干脆用protues仿真单片机外围电路。 现在简单的总结一下,入门级的C51学习在没有昂贵的单片机仿真器情况下,怎样算是方便调试又花费少吧。 先说说AT89C51,噢,差点忘了,这型号的单片机不知何年被停产了,现在就靠它的库存仍在这个历史的舞台上挣扎。 缺点:对入土为安的芯片没什么好说了。 那就说AT89S51,这可是一个令人振奋的产物,最大的特点莫过于它的ISP(在线编程)功能,就是使用者每编译好程序,就可以立即通过ISP下载线写到单片机上去。而且ISP下载线的制作简单令单片机和我们的距离更加接近了。它的ISP原理图如下:

其中ISP下载程序可以用easy 51pro v2.0。相比昂贵的仿真器,做上图的元器件总共也就十块钱左右吧。 缺点:一、并口连接电脑,1.可能占用打印机口;2.是笔记本是没有并口的。 二、下载线制作一次成功率不大,不是漏接了这个脚就是那个口,对于新手而言尤其这样。 三、下载线寿命不长,一两次不知明的原因(通常静电),就可以把里面的那块芯片(74LS244)烧坏。并且,实际你都不知道到底哪里出毛病了。 也许,世界上真的没有最好,只要更好,自从好友张JL和陈Y介绍了STC的51系列单片机给我之后,发现竟然有这么方便好用功能强大的单片机。

STC51单片机的型号跟ATMEL的大致一样,有STC89C51,C52等,对应于AT89C51,C52等对应它们的内部RAM内部ROM中断口等,是完全一样的。 当然,STC系列单片机是改进型的单片机,它的热重启,串口ISP等功能确实为我准备介绍给大家提供了理由。 先说说ISP功能,它跟电脑连接就只有三根线,就是通过RS-232传输。它ISP 过程是这样的:冷重启(上电)-单片机运行系统ISP监控程序(出厂时已烧到里面)-检测P3.0/RXD有没有合法下载命令流,有的话,就下载用户程序进户程序区;没有的话,就跳到用户程序区,运行用户程序。所以,第一次下载程序,用户需要先点ISP下载软件的“download”,再把单片机通电。如图: 到了这里,大家不禁会说,下载线虽然简单,但每次都要断电上电,烦不烦?答:我都觉得烦。不过眼睛锐利的读者发现了上图右下片有一段文字。说什么的呢?哦,原来是自定义下载。什么是自定义下载?首先我先说个高兴的事儿——用自定义下载,从此告别断电上电的冷重启ISP下载。 所谓自定义下载,就是我从上面软件的自定义下载命令文本框中打入十六进制数字(如:FEH)然后点击发送,程序自动下载到用户单片机里。神奇吧。究其不用断电上电冷重启的原因,就是上面我所说的STC单片机具有热重启功能。用户只需简单控制ISP_CONTOR特殊功能寄存器即可实现系统复位了。汇编语

51单片机实例程100讲全集

目录 目录 (1) 函数的使用和熟悉 (4) 实例3:用单片机控制第一个灯亮 (4) 实例4:用单片机控制一个灯闪烁:认识单片机的工作频率 (4) 实例5:将P1口状态分别送入P0、P2、P3口:认识I/O口的引脚功能 (5) 实例6:使用P3口流水点亮8位LED (5) 实例7:通过对P3口地址的操作流水点亮8位LED (6) 实例8:用不同数据类型控制灯闪烁时间 (7) 实例9:用P0口、P1 口分别显示加法和减法运算结果 (8) 实例10:用P0、P1口显示乘法运算结果 (9) 实例11:用P1、P0口显示除法运算结果 (9) 实例12:用自增运算控制P0口8位LED流水花样 (10) 实例13:用P0口显示逻辑"与"运算结果 (10) 实例14:用P0口显示条件运算结果 (11) 实例15:用P0口显示按位"异或"运算结果 (11) 实例16:用P0显示左移运算结果 (11) 实例17:"万能逻辑电路"实验 (11) 实例18:用右移运算流水点亮P1口8位LED (12) 实例19:用if语句控制P0口8位LED的流水方向 (13) 实例20:用swtich语句的控制P0口8位LED的点亮状态 (13) 实例21:用for语句控制蜂鸣器鸣笛次数 (14) 实例22:用while语句控制LED (15) 实例23:用do-while语句控制P0口8位LED流水点亮 (16) 实例24:用字符型数组控制P0口8位LED流水点亮 (17) 实例25:用P0口显示字符串常量 (18) 实例26:用P0 口显示指针运算结果 (19) 实例27:用指针数组控制P0口8位LED流水点亮 (19) 实例28:用数组的指针控制P0 口8 位LED流水点亮 (20) 实例29:用P0 、P1口显示整型函数返回值 (21) 实例30:用有参函数控制P0口8位LED流水速度 (22) 实例31:用数组作函数参数控制流水花样 (22) 实例32:用指针作函数参数控制P0口8位LED流水点亮 (23) 实例33:用函数型指针控制P1口灯花样 (25) 实例34:用指针数组作为函数的参数显示多个字符串 (26) 实例35:字符函数ctype.h应用举例 (27) 实例36:内部函数intrins.h应用举例 (27) 实例37:标准函数stdlib.h应用举例 (28) 实例38:字符串函数string.h应用举例 (29) 实例39:宏定义应用举例2 (29) 实例40:宏定义应用举例2 (29) 实例41:宏定义应用举例3 (30)

云龙51单片机视频教程大全

云龙51单片机视频教程简介 本视频教程是针对YL-51单片机开发板讲的配套DVD视频教程目录: 讲次内容细节 第一课如何学好单片机单片机能做什么,学习单片机需要什么,如何学好单片机技术。 第二课预备知识点亮一个发光管认识单片机由来及内部结构,单片机最小工作单元组成;单片机开发软件操作:KEIL软件开发环境认识、单片机烧录软件使用。 第三课预备知识 C51基础知识及流水灯设计简单延时程序、子程序调用、、流水灯同时蜂鸣器响、如何驱动蜂鸣器,及如何驱动继电器,集电极开路的概念及应用。 第四课数码管显示的原理,数码管的静态显示共阳、共阴数码管显示原理、带参数子程序设计。 第五课中断和定时器原理定时器工作方式介绍、重点讲述工作方式2、中断概念及中断函数写法、定时器中断应用 第六课数码管的动态显示原理及应用实现动态扫描概念及定时器、中断加深 第七课按键学习:独立按键和矩阵按键键盘检测、消抖、键盘编码、带返回值函数写法及应用 第八课数模转换(DA)工作原理及应用数字电压与模拟电压的关系、如何使用DAC0832的实成DA转换 第九课模数转换(AD)工作原理及应用模拟电压与数字电压的关系,如何使用ADC0804的实成AD转换 第十课1602液晶显示原理及实现最简单液晶工作原理、如何开始对一个没有任何概念的芯片开始单片机的操作 第十一课串口原理及应用串口通讯工作方式、重点讲述最常用的10位数据通讯、波特率概念及如何根据波特率计算定时器初值 第十二课IIC总线原理和模块化编程方法 IIC总线工作原理、目前非常通用的一种通信机制; 项目开发模块化编程方法。 第十三课红外通信原理及应用红外通信是目前应用最为广泛的通信和遥控手段。在本课程中以红外遥控为代表,具体讲解红外通信的具体过程。

MCS-51单片机串行接口

第七章MCS-51单片机串行接口 第一节串行通信的基本概念 (一)学习要求 1.掌握串行通信的基本概念。 2. 掌握异步通信和同步通信的区别。 (二)内容提要 一:基本概念及分类 串行通信是将数据的各位一位一位地依次传送。适合于计算机之间、计算机与外部设备之间的远距离通信。 串行通信从传输方式分为: 单工方式、半双工方式、全双工方式。 从接收方式来说,串行通信有两种方式: 异步通信方式、同步通信方式。 二:串行口的功能 MCS-51单片机中的异步通信串行接口能方便地与其他计算机或传送信息的外围设备(如串行打印机、CPU终端等)实现双机、多机通信。 串行口有4种工作方式,见表7-1。方式0并不用于通信,而是通过外接移位寄存器芯片实现扩展并行I/O接口的功能。该方式又称为移位寄存器方式。方式1、方式2、方式3都是异步通信方式。方式1是8位异步通信接口。一帧信息由10位组成,其格式见图7-2a。方式1用于双机串行通信。方式2、方式3都是9位异步通信接口、一帧信息中包括9位数据,1位起始位,1位停止位,其格式见图7-2b。方式2、方式3的区别在于波特率不同,方式2、方式3主要用于多机通信,也可用于双机通信。 表7-1 (三)习题与思考题 1、什么是并行通信?什么是串行通信?各有何优缺点? 答:并行通信指数据的各位同时传输的通信方式,串行通信是指各位数据逐位顺序传输的通信方式。 2、什么是异步通信?什么是同步通信?各有何优缺点? 3、什么是波特率?某异步串行通信接口每分钟传送1800个字符,每个字符由11位组成,请计算出传送波特率。 第二节MCS-51串行接口的组成 (一)学习要求

单片机百度盘资料

一、51单片机 1、祥云51单片机学习光盘(视频教程、例程、操作系统)适合初学者 资料下载链接:https://https://www.doczj.com/doc/5e10735870.html,/cJzLQdrBfp2KD 访问密码8f77 2、普中51单片机学习光盘 https://www.doczj.com/doc/5e10735870.html,/s/1pK0c4BL 3、郭天祥----十天征服单片机 https://www.doczj.com/doc/5e10735870.html,/s/1i4N2Hrn 4、新概念51单片机C语言教程.入门、提高、开发(500页,郭天祥著) https://https://www.doczj.com/doc/5e10735870.html,/cYAYJtgFJNUup 访问密码9eb1 5、力天电子51单片机视频教程 https://www.doczj.com/doc/5e10735870.html,/s/1hrulifU 6、天狼星51单片机视频教程 链接:https://www.doczj.com/doc/5e10735870.html,/s/1pKsD3b9 密码:scy4 8、STC12C5A60S2例程 https://https://www.doczj.com/doc/5e10735870.html,/cjPpH7uBBbIr8 访问密码a471 二、AVR单片机 1、郭天祥--十天学会AVR单片机视频教程 https://https://www.doczj.com/doc/5e10735870.html,/cwVbV5mWw9pxk 访问密码34ba 1、锐志电子AVR单片机视频教程

https://https://www.doczj.com/doc/5e10735870.html,/cweRHU4JUSypY 访问密码64b2 2、手把手AVR单片机视频教程 https://https://www.doczj.com/doc/5e10735870.html,/cm926G3YrWKhG 访问密码dccb 3、DY_miniAVR单片机光盘资料 https://https://www.doczj.com/doc/5e10735870.html,/c3fIFUrWu4LEG 访问密码0036 4、AVR代码生成器 https://https://www.doczj.com/doc/5e10735870.html,/c3fILqj5h3aT9 访问密码2061 5、AVR开发工具 https://https://www.doczj.com/doc/5e10735870.html,/c3fI3satMGmSh 访问密码d356 6、AVR例程 https://https://www.doczj.com/doc/5e10735870.html,/c3fIFfSgCzhWE 访问密码48c1 三、msp430单片机 1、郭天祥---十天学会msp430单片机 https://https://www.doczj.com/doc/5e10735870.html,/cYAYvyxDBaHgr 访问密码4dca 2、力天msp430单片机视频教程 https://https://www.doczj.com/doc/5e10735870.html,/cYAY83HwRumTn 访问密码d66c 3、msp430 c语言.pdf https://https://www.doczj.com/doc/5e10735870.html,/cYAY577Ucc7b2 访问密码86b3 4、msp430教程.pdf https://https://www.doczj.com/doc/5e10735870.html,/cYAYtXwXYesgC 访问密码ccbf 5、IAR C 430标准库函数.pdf https://https://www.doczj.com/doc/5e10735870.html,/cYAYnInwURHZx 访问密码52ef

跟我学51单片机(一):单片机最小系统组成与IO输出控制

跟我学51单片机(一):单片机最小系统组成与I/O输出控制 1 单片机是一门实践性较强的技术,很多初学者在学习单片机技术开发的时候往往一头雾水,不知何从下手。为此,笔者结合自己使用单片机多年的经验,特意设计了单片机开发所需的Stud y-c 整机和硬件套件,并结合套件精心编写了单片机从入门到精通系列教程。通过讲述单片机原理、电路设计、应用开发软件工具、编写实验实例让读者全面接触单片机技术。教程编排上由浅入深,循序渐进,内容力求完整、实用、趣味并存,使读者在轻松愉快的学习过程中逐步提高单片机软硬件综合设计水平。 一、内容提要 本讲主要向大家介绍51 系列单片机的最小系统的实现并通过编写程序来实现对单片机IO 口的输出控制。以点亮外部连接的LED(发光二极管)为例,简要的介绍单片机的原理、最小系统的组成,并通过简单的C51 程序设计来讲述编译软件Keil的使用并下载Hex 文件烧写单片机。 二、原理简介 在了解原理之前,首先让我们思考一个问题,什么是单片机,单片机有什么用?这是一个有意思的问题,因为任何人都不能给出一个被大家都认可的概念,那到底什么是单片机呢?普遍来说,单片机又称单片微控制器,是在一块芯片中集成了CPU(中央处理器)、RAM (数据存储器)、ROM(程序存储器)、定时器/ 计数器和多种功能的I/O(输入/ 输出)接口等一台计算机所需要的基本功能部件,从而可以完成复杂的运算、逻辑控制、通信等功能。在这里,我们没必要去找到明确的概念来解析什么是单片机,特别在使用C 语言编写程序的时,不用太多的去了解单片机的内部结构以及运行原理等。从应用的角度来说,通过从简单的程序入手,慢慢的熟悉然后逐步深入精通单片机。 在简单了解了什么是单片机之后,然后我们来构建单片机的最小系统,单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少的元件组成的单片机可以工作的系统。对51 系列单片机来说,最小系统一般应该包括:单片机、时钟电路、复位电路、输入/ 输出设备等(见图1)。

c51单片机实例下载大全

单片机资料教程下载,省去找资料的麻烦,只供学习参考用,下载24内删掉,祝大家学习进步 单片机点阵学习资料 https://www.doczj.com/doc/5e10735870.html,/thread-1703-1-1.html 手把手教你学单片机--教程视频 https://www.doczj.com/doc/5e10735870.html,/thread-1688-1-1.html 力天把手教你学单片机视频教程 https://www.doczj.com/doc/5e10735870.html,/thread-1689-1-1.html 谱中单片机开发板例程 https://www.doczj.com/doc/5e10735870.html,/thread-1683-1-2.html 初学单片机的30,硬件简单对初学者有帮助 https://www.doczj.com/doc/5e10735870.html,/thread-1962-1-1.html 用单片机制作的MP3 https://www.doczj.com/doc/5e10735870.html,/thread-1701-1-2.html 51单片机应用开发大全所含100个范例代码及电路图 https://www.doczj.com/doc/5e10735870.html,/thread-1820-1-1.html 【含28个单片机实例流程图】 https://www.doczj.com/doc/5e10735870.html,/thread-1959-1-2.html 谱中单片机程序烧录工具STC https://www.doczj.com/doc/5e10735870.html,/thread-1682-1-2.html 《单片机技术》32讲

https://www.doczj.com/doc/5e10735870.html,/thread-1693-1-1.html 51单片机c语言100例教程 https://www.doczj.com/doc/5e10735870.html,/thread-1700-1-1.html 单片机超级精华包 https://www.doczj.com/doc/5e10735870.html,/thread-1687-1-1.html 新手学的多功能电子钟 https://www.doczj.com/doc/5e10735870.html,/thread-1679-1-1.html 十天学会单片机和c语言视频教程 https://www.doczj.com/doc/5e10735870.html,/thread-1692-1-1.html C语言函数库速查手册 https://www.doczj.com/doc/5e10735870.html,/thread-1696-1-1.html 历史上最全的KEIL中文学习资料 https://www.doczj.com/doc/5e10735870.html,/thread-1729-1-2.html 单片机c语言程序设计实训100例--基于AVR+PROTUES https://www.doczj.com/doc/5e10735870.html,/thread-1695-1-2.html (有电路图和程序) https://www.doczj.com/doc/5e10735870.html,/thread-1965-1-1.html 关于单片机抗干扰的资料 https://www.doczj.com/doc/5e10735870.html,/thread-1961-1-1.html 单片机矩阵扫描键盘程序 https://www.doczj.com/doc/5e10735870.html,/thread-1723-1-1.html 共享通过串口在线调试51单片机的专业版培训资料

(完整版)51单片机汇编指令(全)

指令中常用符号说明 Rn当前寄存器区的8个工作寄存器R0~R7(n=0~7) Ri当前寄存器区可作为地址寄存器的2个工作寄存器R0和R1(i=0,1) Direct8位内部数据寄存器单元的地址及特殊功能寄存器的地址 #data表示8位常数(立即数) #data16表示16位常数 Add16表示16位地址 Addr11表示11位地址 Rel8位代符号的地址偏移量 Bit表示位地址 @间接寻址寄存器或基址寄存器的前缀 ( )表示括号中单元的内容 (( ))表示间接寻址的内容 指令系统 数据传送指令(8个助记符) 助记符中英文注释 MOV Move 移动 MOV A , Rn;Rn→A,寄存器Rn的内容送到累加器A MOV A , Direct;(direct)→A,直接地址的内容送A MOV A ,@ Ri;(Ri)→A,RI间址的内容送A MOV A , #data;data→A,立即数送A MOV Rn , A;A→Rn,累加器A的内容送寄存器Rn MOV Rn ,direct;(direct)→Rn,直接地址中的内容送Rn MOV Rn , #data;data→Rn,立即数送Rn MOV direct , A;A→(direct),累加器A中的内容送直接地址中 MOV direct , Rn;(Rn)→direct,寄存器的内容送到直接地址 MOV direct , direct;(direct)→direct,直接地址的内容送到直接地址 MOV direct , @Ri;((Ri))→direct,间址的内容送到直接地址 MOV direct , #data;8位立即数送到直接地址中 MOV @Ri , A;(A)→@Ri,累加器的内容送到间址中 MOV @Ri , direct;direct→@Ri,直接地址中的内容送到间址中 MOV @Ri , #data; data→@Ri ,8位立即数送到间址中 MOV DPTR , #data16;data16→DPTR,16位常数送入数据指针寄存器,高8位送入DPH,低8位送入DPL中(单片机中唯一一条16位数据传送指令) (MOV类指令共16条)

03 第三讲 数字电路基础知识--力天手把手教你学单片机之入门篇

手把手教你学51单片机 ——之MCS-51入门篇 主讲: 尹延辉 策划:张勇 开发板:LT-Super51 QQ群:31646346 网址:https://www.doczj.com/doc/5e10735870.html, E-Mail:litianmcu@https://www.doczj.com/doc/5e10735870.html, litianmcu@https://www.doczj.com/doc/5e10735870.html,

入门篇第三讲——数字电路基础知识?本讲内容提要 数字量和模拟量 数制和码制 算术运算和逻辑运算 数字芯片 常用数字芯片简介 可编程逻辑器件 存储器 学习板上扩展IO口 的实现

——数字量和模拟量 ?数字量和模拟量定义 模拟量:随时间连续变化的电压或电流信号称之为模拟量 数字量:随时间离散变化的量称之为数字量 ?数字量的实质为加入判决门限的模拟量

——数字电路’0’与’1’的定义?数字电路’0’与’1’的定义 TTL电平:电压+5V代表’1’,电压0代表’0’ LVTTL:+3.3V~’1’,0~’0’ RS232:-15V~’1’,+15V~’0’ LVDS:2根线上电压差的正负表示’1’或’0’

——数制和码制 ?数制的定义 计数过程中一位数字通常是不够用的,多位数码中每一位的构成方法及从低位向高位进位规则称为数制。 N进制数的通俗定义:逢N进1 ?十进制:逢十进一 ?十六进制:逢十六进一 ?二进制:逢二进一 ?常用数制 十进制、二进制、十六进制 ?人类有十个指头,所以习惯采用十进制 ?计算机只能识别0和1,采用二进制 ?为了计算机学中的数据书写方便,采用十六进制

——数制转换详解 ?数制间的转换 二-十转换 十-二转换 二-十六转换 十六-二转换 ?位与字节的概念: 位(bit):简写为b,表示二进制数的一位。 字节(Byte):简写为B,8位为一字节。 ?数制转换工具: Windows自带的计算器

51单片机与串口通信代码

51单片机与串口通信代码 2011年04月22日 17:18 本站整理作者:佚名用户评论(0) 关键字:串口通信(35) 串口调试 1. 发送:向总线上发命令 2. 接收:从总线接收命令,并分析是地址还是数据。 3. 定时发送:从内存中取数并向主机发送. 经过调试,以上功能基本实现,目前可以通过上位机对单片机进行实时控制。 程序如下: //这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收 //和查询发送,另外我觉得发送没有必要用中断,因为程序的开销是一样的 #i nclude #i nclude #i nclude #define INBUF_LEN 4 //数据长度 unsigned char inbuf1[INBUF_LEN]; unsigned char checksum,count3 , flag,temp,ch; bit read_flag=0; sbit cp=P1^1; sbit DIR=P1^2; int i; unsigned int xdata *RAMDATA; /*定义RAM地址指针*/ unsigned char a[6] ={0x11,0x22,0x33,0x44,0x55,0x66} ; void init_serialcomm(void) { SCON=0x50; //在11.0592MHz下,设置串行口波特率为9600,方式1,并允许接收

PCON=0x00; ES=1; TMOD=0x21; //定时器工作于方式2,自动装载方式 TH0=(65536-1000)%256; TL0=(65536-1000)/256; TL1=0xfd; TH1=0xfd; ET0=1; TR0=1; TR1=1; // TI=0; EA=1; // TI=1; RAMDATA=0x1F45; } void serial () interrupt 4 using 3 { if(RI) { RI=0; ch=SBUF; TI=1; //置SBUF空 switch(ch) { case 0x01 :printf("A"); TI=0;break; case 0x02 :printf("B"); TI=0;break; case 0x03 :printf("C"); TI=0;break;

51单片机和计算机之间实现串口通信的电路图

51单片机和计算机之间实现串口通信的电路图 串口通讯参考程序如下: 来源:深入浅出AVR单片机 #include unsigned char UART_RX; //定义串口接收数据变量 unsigned char RX_flag; //定义穿行接收标记 /**************************************************************************************** ***** 函数名:UART串口初始化函数 调用:UART_init(); 参数:无 返回值:无 结果:启动UART串口接收中断,允许串口接收,启动T/C1产生波特率(占用) 备注:振荡晶体为12MHz,PC串口端设置[ 4800,8,无,1,无] /**************************************************************************************** ******/ void UART_init (void){ EA = 1; //允许总中断(如不使用中断,可用//屏蔽) ES = 1; //允许UART串口的中断 TMOD = 0x20; //定时器T/C1工作方式2 SCON = 0x50; //串口工作方式1,允许串口接收(SCON = 0x40 时禁止串口接收) TH1 = 0xF3; //定时器初值高8位设置 TL1 = 0xF3; //定时器初值低8位设置 PCON = 0x80; //波特率倍频(屏蔽本句波特率为2400) TR1 = 1; //定时器启动 } /**************************************************************************************** ******/ /**************************************************************************************** ***** 函数名:UART串口接收中断处理函数 调用:[SBUF收到数据后中断处理] 参数:无 返回值:无 结果:UART串口接收到数据时产生中断,用户对数据进行处理(并发送回去)备注:过长的处理程序会影响后面数据的接收

[用微课学51单片机][白炽贵][电子教案和教学指南] 《用微课学51单片机》教学指南0513

《用微课学51单片机》教学指南 教学模式 本书与电子工业出版社出版的《用微课学电子CAD》教材对接,即以学生电子CAD 课程所完成制作的51单片机电路板为编程验证平台,进行51单片机编程实操实训。因此,需在本课程开课前,先进行本书所需的51单片机实验板CAD设计及安装焊接。这既提高了电子CAD课程的教学目标和教学档次,又为单片机课程创建了学生得心应手功能强劲的编程开发平台,从而满足学生单片机技术高档次的研发平台之需,能让职业院校学生在电子CAD和单片机技术两课程对接上实现“1+1>2”的效果。 教学目标 借助学生亲手完成的单片机实验板平台,在单片机程序实训案例的数量上和质量上有所突破和创新,引用蓝牙技术和WIFI技术,让学生充分享受单片机程序设计的乐趣和成功,为学生胜任单片机技术职业岗位打下必须的技能基础。 教学内容 1.数码管显示编程实操; 2.单片机中断编程实操; 3.单总线双总线三总线器件编程实操; 4.LED16乘16点阵汉字显示编程实操; 5.串行通信编程实操; 6.存储器编程实操; 7.使用蓝牙模块和WIFI模块编程实操; 8.ADC0804和DAC0832编程实操; 9.LCD液晶屏编程实操; 10.红外解码超声测距步进电机编程实操; 11.程序综合编程实操。 12. 教学重点 每个单片机程序设计项目的实操步骤和代码输入过程是教学的重点 。 教学难点 理解单片机程序的执行逻辑分析是教学难点。 教学时数 全书实操视频约540分钟,学生实操以4倍计算,计2160分钟,以40分钟为1课时,约54课时,加14课时机动,合计68课时。 教学建议 1.本书以任务驱动展开教学和实操,为方便教师的教和学生的学,全书的每个任务实操都配有一个不差一秒的实操全程录屏视频,可手把手指导学生正确完成编程任务。学生实操时应两人一组进行合作学习,即学生甲用一台电脑进行单片机程序设计,学生乙用另一台电脑放实操视频,学生甲要参照学生乙所放视频进行代码输入,学生乙要对照检查学生甲屏幕上的代码输入是否正确,两学生的角色定时轮换。两学生这样合作实操,就能保证编程实操的正确性。 1

跟我学51单片机5单片机动态扫描驱动数码管

跟我学51单片机(五):单片机动态扫描驱动数码管 一、本文内容提要 本刊第四期介绍了单片机外接键盘的原理,并给出了应用实例。本期将介绍单片机动态驱动段式数码管。通过该讲,读者可以掌握段式数码管的工作原理和如何通过动态驱动的方法设计电路以及程序。 二、原理简介 常用的段式数码管有七段式和八段式,八段比七段多了一个小数点,其他的基本相同。所谓的几段就是指数码管里有相应的几个小LED 发光二极管,通过控制不同的LED 的亮灭来显示出不同的字形(见图1(a))。从各发光二极管的电极连接方式又可以分为共阳极和共阴极两种类型。共阴极则是所有的二极管的阴极连接在一起,而阳极是分离的(见图1(b));而共阳极就是所有二极管的阳极是公共相连,而阴极则是分离的(见图1(c))。本学习板采用的是八段共阴极数码管,型号为LG3641AH。 图1 数码管内部结构图

前文所述,数码管与发光二极管的工作原理相同,共阳极时,所有正端接电源正极,当负端有低电平时,该段有电流流过,发光管亮,当负端为高电平时,该段无电流流过,发光管不亮。要显示什么数字,就使对应的段为低电平(见表1)。共阴极与共阳极的电平变化状态相反。当每个段的驱动电流为2~20mA,电流越大,发光越亮。 表1 显示的数字和七段码各位的对应关系表 常用的七段式数码管的硬件驱动设计方法有:静态驱动与动态驱动。 静态驱动即指每个数码管的数据线都有一个单独的数据锁存器,数据锁存器输入的数据由使能端控制,当使能端为高电平时,数据线上的数据(要显示的七段码)进入显示器,使能端与地址译码器的输出相连,要显示那位,则选通那位的地址,在软件设计上不要求程序循环,也不存在显示数字发生闪烁。但是这样会占用很多口线。 动态显示是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而节省了口线,地简化了硬件电路。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。 三、电路详解

51单片机经典教程

单片机经典教程 目录
第一课 第二课 第三课 第四课 第五课 第六课 第七课 第八课 第九课 第十课 第十一课 第十二课 第十三课 第十四课 第十五课 第十六课 第十七课 第十八课 第十九课 第二十课 第二十一课 第二十二课 第二十三课 第二十四课 单片机的概述 单片机的硬件结构与开发过程 单片机的内部结构 一 半导体存储器 单片机的内部结构 二 工作寄存器 单片机的内部结构 三 时序与时钟 单片机的内部结构 四 并行口 单片机的内部结构 五 数据与地址 单片机的内部结构 六 特殊功能存储器 单片机的工作方式 单片机的寻址 单片机的指令 一 数据传递类指令 单片机的指令 二 数据传递类指令 单片机的指令 三 算术逻辑运算类指令 单片机的指令 四 控制转移类指令 单片机的指令 五 位及位操作指令 单片机的程序设计方法 单片机的定时 计数器 单片机的中断系统 单片机的定时/中断实验 一 单片机的定时/中断实验 二 键盘接口及编程方法 一 独立式按键 键盘接口及编程方法 二 矩阵式按键 单片机显示器接口及编程方法 数码管的静态扫描与编程方法 6 9 11 15 18 20 24 27 29 32 35 38 42 47 51 55 64 68 73 78 81 87 90 94
4

第一课 单片机的概述
因为我们的主要课程是单片机的应用 本来不想讲解单片机的历史与发展 这话说现状更确切 些 但为了兼顾大多数朋友 我还是简单的介绍一下这方面的相关知识 一 单片机的由来 单片机 专业名称—Micro Controller Unit(微控制器件) 它是由大名鼎鼎的 INTEL 公司发明的 最早的系列是 MCS-48 后来有了 MCS-51 我们经常说的 51 系列单片机就是 MCS-51 micro controller system 它是一种 8 位的单片机 8 位是什么意思 我们以后再讲 后来 INTEL 公司把它的核心技术转让给了世界上很多的小公司 不过 再小也有几个亿的销售/ 年哦 所以世界上就有许多公司生产 51 系列兼容单片机 比如飞利浦的 87LPC 系列 华邦的 W78 系列 达拉斯的 DS87 系列 现代的 GSM97 系列等等 目前在我国比较流行的就是美国 ATMEL 公司的 89C51 它是一种带 Flash ROM 的单片机 至于什么是 Flash ROM 我在这儿先不作介绍 等以后大家学到相 关的知识时自然就会明白 我们的讲座就是以该型号的单片机来作实验的 讲到这里 也许有的人会 问 我平时在各种书上看到全是讲解 8031 8051 等型号的单片机 它们又有什么不同呢 其实它们同 属于一个系列 只是 89C51 的单片机更新型一点(事实上,89C51 目前正在用 89S51 代替 我们的实验系 统采用就是 89S52 的 兼容 89C52) 这里随便说一下 目前国内的单片机教材都是以 8051 为蓝本的 尽管其内核也是 51 系列的 但毕竟 8051 的单片机已经属于淘汰产品 在市场上也很少见到了 所以由 此感叹 国内的高等教育是如此的跟不上时代的发展需要 这话可能会引起很多人的不满,所以大家别 说是我讲的哦 二 主要单片机的分类 接着上面的话题 再给大家介绍一下我们经常在各种刊物上看到的 AVR 系列和 PIC 系列单片机是 怎么回事 以便让大家对单片机的发展有一个较全面的认识 在没有学习单片机之前 这是一个令很多 初学者非常困惑的问题 这么多的单片机我该先学哪一种呢 AVR 系列单片机也是 ATMEL 公司生产的一种 8 位单片机 它采用的是一种叫 RISC 精简指令集单 片机 的结构 所以它的技术和 51 系列有所不同 开发设备也和 51 系列是不通用的 它的一条指令的 运行速度可以达到纳秒级 即每秒 1000000000 次 是 8 位单片机中的高端产品 由于它的出色性能 目前应用范围越来越广 大有取代 51 系列的趋势 所以学完了 51 系列的 看来必须学会 AVR 的才行 可叹知识爆炸 人生苦短 说完了 AVR 的 再来说说另一种--PIC 系列单片机 它是美国 MICROCHIP 公 司 唉 又是老美 叫微芯公司的生产的另一种 8 位单片机 它采用的也是 RISC 的指令集 它的指令 系统和开发工具与 51 系列更是不同 但由于它的低价格和出色性能 目前国内使用的人越来越多 国 内也有很多的公司在推广它 不过它的影响力远没有 51 系列的大 所以作为初学者 51 系列当然是首 选 以上几种只是比较多见的系列 其实世界上还有许多的公司生产各种各样的单片机 比如 MOTOROLA 的 MC68H 系列 老牌的单片机 TI 的 MSP430C 系列 极低功耗的单片机 德国的西门子 SIEMENS 等等 它们都有各自的结构体系 并不与 51 系列兼容 为了不搞大家的脑筋 这里就不介绍了 等大 家入了门以后自己去研究它吧 我们还是回来了解一下 51 系列单片机到底是个什么东西 它有那些部 分组成 请接着往下看 三 单片机的结构及组成 单片机到底是一种什么 DD 它究竟能做什么呢 其实它就是一种能进行数学和逻辑运算 根据不 同使用对象完成不同控制任务的面向控制而设计的集成电路 此话好象有点绕口 没关系 大家都应该 知道我们经常使用的电脑吧 在电脑上 我们可以用不同的软件在相同的硬件上实现不同的工作 比如 我们用 WORD 可以打字 用 PROTEL 可以设计图纸等等 单片机其实也是如此 同样的芯片可以根据我们 不同的要求做出截然不同的产品 只不过电脑是面向应用的 而单片机是面向控制的 比如控制一个指
6

51单片机最小系统讲解及应用

51单片机最小系统 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路. 下面给出一个51单片机的最小系统电路图. 说明 复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系 统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典 型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的 取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的, 原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平.至于如何具体定 量计算,可以参考电路分析相关书籍. 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率, 用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作) 单片机:一片AT89S51/52或其他51系列兼容单片机

特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行.这一点是初学者容易忽略的. 因此可以看出,其实要熟悉51单片机的40个引脚功能也很容易: 总共40个脚,电源用2个(Vcc和GND),晶振用2个,复位1个,EA/Vpp用1个,剩下还有34个.29脚PSEN,30脚ALE为外扩数据/程序存储器时才有特定用处,一般情况下不用考虑,这样,就只剩下32个引脚,对于初学者,这32个引脚就是要经常跟它们打交道的了.它们是: P0端口P0.0~P0.7共8个 P1端口P1.0~P1.7共8个 P2端口P02.0~P2.7共8个 P3端口P3.0~P3.7共8个 使得单片机工作的最小电路 80C51为例 首先,我们在使用protel和proteus的软件画电路图时,你会发现原先40个引脚的芯片变成了38个引脚,那是因为它把第40和第20个引脚VCC和GND隐藏了,所以要是的单片机开始工作至少需要一个VCC(电源)和GND(接地)。 其次,学习过组成原理的同学或者说学习过计算机导论的同学一定知道,计算机的冯·诺依曼体系,什么是冯·诺依曼体系。简单的说就是程序(指令)存储,顺序执行,也就是说指令是一条一条执行的,即CPU从ROM(他可以称为程序存储器,但不准确)中取出指令然后再执行。取指令并执行有严格的先后顺序,那么就需要一个时钟来准确的使CPU 稳定工作。 所以,第二个需要的就一个时钟电路。一个内部时钟电路是由两个电容(CAP)和一个石英晶振(Crystal)组成。CPU的时钟周期(震荡周期)由石英晶振决定(常用6MHZ或12MHZ),两个电容取10~30pF,并把他们接在XTAL1(输入)和XTAL2(输出)两端。

51单片机的学习经验(附学习总结)

51单片机的学习经验(附学习总结) OFweek工控网讯:作为一名电子技术从业人员,你学过单片机吗?你会运用单片机吗?我想你一定学过,但不一定会运用。因为学习单片机比学习其他学科需要付出更多的努力和代价,不仅要学习理论知识还要练习实际操作,而且主要是在实际操作中才能真正学到单片机技术。此外,学习单片机还需要投入一定的学习成本,随着你学习知识的扩展成本还会增加。 单片机作为一种简单的控制器在生活中有这广泛的应用,当然在工业型单片机在生产中也扮演着很重要的角色,所以对于一个学习自动化的工控人来说,学习单片机是非常有必要的。 单片机的学习经验 1、学习电子技术基础知识,如电路、模拟电路和数字电路。这是学习电类相关专业的基础。 2、学习计算机硬件知识,如计算机的简单组成原理(只需要了解),当然要知道CPU是什么?总线是什么?一些相关概念。 3、程序编写的相关知识,主要是汇编语言和C语言。了解结构化语言的程序设计方法,也就是三种结构(顺序结构、分支结构(或称选择结构)、循环结构),会一些常用的算法。 4、以上是基础,有了这些基础,学习51单片机就只要花几周的时间就能上手。但学习单片机时,主要从单片机的存储器开始,其中特殊功能寄存器是重点,学会之后,就可以学习单片机的基础部分了,主要是四个部分:51单片机I/O口的使用、中断的使用、定时器的使用、外部器件的扩展。这些部分都可以用软件仿真(可以用proteus软件)。 5、可以买一两块廉价的单片机开发板,用廉价的方法(可以用热转印法做PCB板)仿制一些更简单的实验功能板,开始做板时千万不做得太复杂,我带过的很多学生中,有少部分人总是觉得太简单了,做个复杂的,结果做了个把星期,没有成功,最后只有放弃。还有一点很重要,就是用PROTEUS仿真时,最好只做单一功能的仿真,否则可能与实际在硬件上做的结果不一样。 6、从网上下载一些实例进行研究学习,不断提高。 学习单片机的步骤

51单片机学习心得

51单片机学习心得 51单片机的那些事儿(一) 记:笔者在大三下学期开始接触51系列单片机,历时120天的苦苦琢磨,方有小成,回首望去,颇有感慨。现将心得分享一下。希望对广大志同道合之士有所启发和帮助。 一,单片机到底是个什么东东 初学单片机,很容易被吓到,看着密密麻麻的管脚,还有一堆什么诸如MOV,DJNZ,AJMP,ORG,EQU等等让人头疼不已的东东,确实摸不着头脑。 不用怕,单片机就是一个数字集成电路,一个芯片,可以以一定的频率执行你规划好的一个过程,快速守时,节能高效,并且指令相对精简,过程明了,是一个很给力的助手。单片机具有其工控方面的独特优势,但是由于51系列是8位的,不适合处理多媒体,只可以做一些相对简单的流程控制。 说得再简单一些,单片机就是个什么也不知道的孩子,你教他做什么,怎么做,他就一遍遍不厌其烦的重复你教他的东西。 二,单片机的内部应用特点 单片机的应用很有特点。大体分为I/O,串行通信,PWM脉宽调制(属于I/O的一部分),定时/计数,中断这几类。至于I/O嘛,就是输入和输出,方式有并行,串行,I2C,PWM脉宽调制等等。以后会一一讲来。 (一),基础I/O应用 单片机最常见的就是I/O应用,一片51单片机,共40个引脚,有32个引脚是负责I/O的,可见单片机就是一个吞吐数据的黑盒子。

单片机首先要看的就是四个I/O端口,什么叫端口,就是负责I/O管脚与外部沟通的数据寄存器。51单片机有4个I/O端口,分别为P0,P1,P2,P3口。我们可以 直接对这四个寄存器写入数值,控制这32个管脚的电平高低,高就是1,低就是0。 这四个端口一共管辖32个管脚,单片机中的布尔操作(按位操作)是很人性化的,我们可以针对这32个管脚中的某一个管脚进行单独控制。例如,我们让P2.1管脚位高电平,那么我们就用汇编语句“SETB P2.1”或者C51语句,“SBIT P2_1=P2^1 P2_1=1”即可实现。 当然,你会发现,很多集成芯片都是用低电平来控制的,这是为什么呢。C51单片机复位之后,P0,P1,P2,P3四个端口的值均被设置为0FF,也就是说,那32个输入输出的管脚都被设置为高电平。如果那些外部芯片的使能信号是高电平有效,还没等我们操作,刚复位,那些外部芯片就开始该干嘛干嘛去了,整个系统岂不乱了套。所以,单片机无论是控制外部电路还是从外部读取数据,一般都是对低电平很敏感。例如,我们想通过P1.1管脚接一个开关来控制P0.1上面接的LED的亮灭。因为P1.1复位后初始状态时高电平,所以我们得给它一个低电平,它才知道外部发生了情况,所以,单片机在I/O中,低电平是很常用的。 一个端口对应了8个管脚,寄存器就有8位,对应那8个管脚的高低电平,哪位是1,哪位就是高电平。如P0拥有8位,分别是P0.0,P0.1,P0.2,P0.3, P0.4,P0.5,P0.6,P0.7。P0中存入的数据也是转化为8位二进制码,最高位对应P0.7,最低位对应P0.0。例如,MOV P0,#7FH,我们发现,7FH转化成二进制是01111111,所以P0.7为低电平,P0.0为高电平。

相关主题
文本预览
相关文档 最新文档