[学习要求] 掌握MCS-51单片机的基本应用。[重点与难点]重点:动态扫描LED显示电路编程范例;定时/计数器软件编程范例;A/D接口电路;矩阵式键盘接口技术及编程。难点:动态扫描LED显示电路编程范例;定时/计数器软件编程范例。[理论内容]一、并行I/O口编程范例单片机I/O的应用最典型的是通过I/O口与7段LED数码管构成显示电路,下面从常用的LED显示原理开始,详尽讲解利用单片机驱动LED数码管的电路及编程原理,目的在于通过这一编程范例,让初学者了解I/O口的编程原理,意在起举一反三,抛砖引玉的作用。LED的发光原理,稍有电子技术基础的人士都很清楚,这里不想作过多的介绍,7段LED数码管,则在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图1是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
上传时间: 2013-10-19
上传用户:linlin
Keil C51 中文说明:8051 系列微处理器基于简化的嵌入式控制系统结构被广泛应用于从军事到自动控制再到PC 机上的键盘上的各种应用系统上仅次于Motorola 68HC11 在 8 位微控制器市场上的销量很多制造商都可提供8051 系列单片机像Intel Philips Siemens 等这些制造商给51 系列单片机加入了大量的性能和外部功能像I2C 总线接口模拟量到数字量的转换看门狗PWM 输出等不少芯片的工作频率达到40M 工作电压下降到1.5V 基于一个内核的这些功能使得8051 单片机很适合作为厂家产品的基本构架它能够运行各种程序而且开发者只需要学习这一个平台8051 系列的基本结构如下1 一个8 位算术逻辑单元2 32 个I/O 口4 组8 位端口可单独寻址3 两个16 位定时计数器4 全双工串行通信5 6 个中断源两个中断优先级6 128 字节内置RAM7 独立的64K 字节可寻址数据和代码区每个8051 处理周期包括12 个振荡周期每12 个振荡周期用来完成一项操作如取指令和计算指令执行时间可把时钟频率除以12 取倒数然后指令执行所须的周期数因此如果你的系统时钟是11.059MHz 除以12 后就得到了每秒执行的指令个数为921583条指令取倒数将得到每条指令所须的时间1.085ms.
上传时间: 2013-10-24
上传用户:xauthu
微型计算机课程设计论文—通用微机发声程序的汇编设计 本文讲述了在微型计算机中利用可编程时间间隔定时器的通用发声程序设计,重点讲述了程序的发声原理,节拍的产生,按节拍改变的动画程序原理,并以设计一个简单的乐曲评分程序为引子,分析程序设计的细节。关键字:微机 8253 通用发声程序 动画技术 直接写屏 1. 可编程时间间隔定时器8253在通用个人计算机中,有一个可编程时间间隔定时器8253,它能够根据程序提供的计数值和工作方式,产生各种形状和各种频率的计数/定时脉冲,提供给系统各个部件使用。本设计是利用计算机控制发声的原理,编写演奏乐曲的程序。 在8253/54定时器内部有3个独立工作的计数器:计数器0,计数器1和计数器2,每个计数器都分配有一个断口地址,分别为40H,41H和42H.8253/54内部还有一个公用的控制寄存器,端地址为43H.端口地址输入到8253/54的CS,AL,A0端,分别对3个计数器和控制器寻址. 对8353/54编程时,先要设定控制字,以选择计数器,确定工作方式和计数值的格式.每计数器由三个引脚与外部联系,见教材第320页图9-1.CLK为时钟输入端,GATE为门控信号输入端,OUT为计数/定时信号输入端.每个计数器中包含一个16位计数寄存器,这个计数器时以倒计数的方式计数的,也就是说,从计数初值逐次减1,直到减为0为止. 8253/54的三个计数器是分别编程的,在对任一个计数器编程时,必须首先讲控制字节写入控制寄存器.控制字的作用是告诉8253/54选择哪个计数器工作,要求输出什么样的脉冲波形.另外,对8253/54的初始化工作还包括,向选定的计数器输入一个计数初值,因为这个计数值可以是8为的,也可以是16为的,而8253/5的数据总线是8位的,所以要用两条输出指令来写入初值.下面给出8253/54初始化程序段的一个例子,将计数器2设定为方式3,(关于计数器的工作方式参阅教材第325—330页)计数初值为65536. MOV AL,10110110B ;选择计数器2,按方式3工作,计数值是二进制格式 OUT 43H,AL ; j将控制字送入控制寄存器 MOV AL,0 ;计数初值为0 OUT 42H,AL ;将计数初值的低字节送入计数器2 OUT 42H,AL ;将计数初值的高字节送入计数器2 在IBM PC中8253/54的三个时钟端CLK0,CLK1和CLK2的输入频率都是1.1931817MHZ. PC机上的大多数I/O都是由主板上的8255(或8255A)可编程序外围接口芯片(PPI)管理的.关于8255A的结构和工作原理及应用举例参阅教材第340—373页.教材第364页的”PC/XT机中的扬声器接口电路”一节介绍了扬声器的驱动原理,并给出了通用发声程序.本设计正是基于这个原理,通过编程,控制加到扬声器上的信号的频率,奏出乐曲的.2.发声程序的设计下面是能产生频率为f的通用发声程序:MOV AL, 10110110B ;8253控制字:通道2,先写低字节,后写高字节 ;方式3,二进制计数OUT 43H, AL ;写入控制字MOV DX, 0012H ;被除数高位MOV AX, 35DEH ;被除数低位 DIV ID ;求计数初值n,结果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;读入8255A端口B的内容MOV AH, AL ;保护B口的原状态OR AL, 03H ;使B口后两位置1,其余位保留OUT 61H,AL ;接通扬声器,使它发声
上传时间: 2013-10-17
上传用户:sunjet
在伟福集成环境下使用PICC.讲述在伟福集成环境如可设置PICC, 简单的调试步骤. 更详细的说明请参阅伟福仿真器使用手册.关于如何在MPLAB 下使用PICC C 语言, 请参阅Microchip 相应的手册. 2-1 安装PICC将CD-ROM 装入光驱, 自动运行程序将自动启动, 如果你已禁止自动运行功能, 可以直接运行: cd_drive:\compiler\install.exe安装程序将指导你完成PICC 的安装.2-2 设置伟福集成环境在伟福集成环境中, 将编译器路径指向PICC 所在目录将C命令行设置为: -16F877 –G –O –Zg -c将连接命令行设置为: -16F877 –G –O -Zg其中: -16F877 为芯片型号–G –O -c 为源程序调试设置项, 不可修改–Zg 为打开优化你可以在命令行中加入其它控制项2-3 调试C语言在WAVE\SAMPLES 目录下有一个PIC C 语言的例子程序: PIC_C.PRJ.1. 打开PIC_C 项目.2. 编译该项目(F9)3. 用F7,F8 单步调试例子程序4. 打开观察窗口观察变量
上传时间: 2013-10-16
上传用户:lili123
HI-TECH PICC C 的使用说明. 这里我们只讲述了PICC C 与标准C 的不同,它不是一本C 语言的教程, 并且我们假定你有C 语言的基础. 为了对PIC 单片机有更好的支持,PICC 在标准C 的基础上作了一些扩充: 定义I/O 函数,以便在你的硬件系统中使用<stdio.h>中定义的函数。 用C 语言编写中断服务程序 用C 语言编写I/O 操作程序 C 语言与汇编语言间的接口1-1 与标准C 的不同PICC 只在一处与标准C 不同:函数的重入。因为PIC 单片机的寄存器及堆栈有限,所以PICC 不支持可重入函数。1-2 支持的PIC 芯片PICC 支持很多PIC 单片机,支持PIC 单片机的类型在LIB 目录下的picinfo.ini文件中有定义。1-3 PICC 包含一些标准库1-4 PICC 编译器可以输出一些格式的目标文件,缺省设置为输出Bytecraft 的'COD'格式和 Intel 的'HEX'格式。你可以用表1-1 中的命令来指定输出格式。
上传时间: 2013-10-10
上传用户:781354052
Σ-ΔA/D技术具有高分辨率、高线性度和低成本的特点。本文基于TI公司的MSP430F1121单片机,介绍了采用内置比较器和外围电路构成类似于Σ-△的高精度A/D实现方案,适合用于对温度、压力和电压等缓慢变化信号的采集应用。 在各种A/D转换器中,最常用是逐次逼近法(SAR)A/D,该类器件具有转换时间固定且快速的特点,但难以显著提高分辨率;积分型A/D 有较强的抗干扰能力,但转换时间较长;过采样Σ-ΔA/D由于其高分辨率,高线性度及低成本的特点,正得到越来越多的应用。根据这些特点,本文以TI公司的MSP430F1121单片机实现了一种类似于Σ-ΔA/D技术的高精度转换器方案。 MSP430F1121是16位RISC结构的FLASH型单片机,该芯片有14个双向I/O口并兼有中断功能,一个16位定时器兼有计数和定时功能。I/O口输出高电平时电压接近Vcc,低电平时接近Vss,因此,一个I/O口可以看作一位DAC,具有PWM功能。 该芯片具有一个内置模拟电压比较器,只须外接一只电阻和电容即可构成一个类似于Σ-Δ技术的高精度单斜率A/D。一般而言,比较器在使用过程中会受到两种因素的影响,一种是比较器输入端的偏置电压的积累;另一种是两个输入端电压接近到一程度时,输出端会产生振荡。 MSP430F1121单片机在比较器两输入端对应的单片机端口与片外输入信号的连接线路保持不变的情况下,可通过软件将比较器两输入端与对应的单片机端口的连接线路交换,并同时将比较器的输出极性变换,这样抵消了比较器的输入端累积的偏置电压。通过在内部将输出连接到低通滤波器后,即使在比较器输入端两比较电压非常接近,经过滤波后也不会出现输出端的振荡现象,从而消除了输出端震荡的问题。利用内置比较器实现高精度A/D图1是一个可直接使用的A/D转换方案,该方案是一个高精度的积分型A/D转换器。其基本原理是用单一的I/O端口,执行1位的数模转换,以比较器的输出作反馈,来维持Vout与Vin相等。图1:利用MSP430F1121实现的实用A/D转换器电路方案。
上传时间: 2013-11-10
上传用户:lliuhhui
单片机原理与应用教程采用教、学、做相结合的模,以理论为基础、着眼应用,系统详尽地介绍了单片机应用技术所需的基本知识和技能。全书共分9章,包括MCS-51系列单片机的硬件结构、工作原理、指令系统、接口技术、串行通信、中断系统、语言程序设计及各功能部件的组成和应用等。通过学习这些内容,可对MCS-51系列单片机有一个总体的概念和认识,并在掌握基本硬件的基础上用软件实现其功能。 第1章 MCS-51单片机系统结构1.1 单片机概述1.2 MCS-51单片机结构简介1.3 并行I/O接口1.4 单片机的复位电路与时钟电路1.5 单片机的工作方式1.6 构建MCS-51型单片机的最小系统本章小结习题第2章 MCS-51指令系统与程序设计2.1 概述2.2 寻址方式2.3 指令系统2.4 汇编程序设计本章小结 习题第3章 单片机的定时与中断系统3.1 定时器/计数器3.2 中断系统3.3 单片机中断与定时器/计数器的应用训练本章小结习题第4章 串行通信技术4.1 串行通信概念4.2 MCS-51串行通信接口4.3 串行口的扩展应用4.4 串行通信的应用本章小结习题第5章 单片机的系统扩展技术5.1 程序存储器的扩展5.2 数据存储器的扩展5.3 TTL芯片扩展I/O并行接口的应用训练5.4 Intel系列可编程序接口芯片5.5 8155/8156可编程I/O接口应用训练5.6 8253/8254可编程定时器/计数器的应用训练……第6章 单片机接口实用技术及应用第7章 单片机开发系统第8章 单片机应和系统的设计方法第9章 单片机高级语言C51的应用
上传时间: 2013-10-28
上传用户:tzrdcaabb
一个完整的微机系统是由硬件和软件共同构成的。微机系统的硬件有CPU、存储器和I/O口,外设组成。CPU与存储器之间的信息交换比较简单,而CPU与外设之间进行信息交换之前必须确定外设是否准备好,即选择I/O传送方式。I/O传送方式有4种:无条件、查询、中断和DMA。本章学习中断传送方式的有关内容。 4.1 中断概述 4.2 MCS-51中断系统 1、中断的定义: 中断是指如下过程:CPU与外设同时工作,CPU执行主程序,外设做准备工作,当外设准备好时向CPU发中断请求信号,若条件满足,则CPU终止主程序的执行,转去执行中断服务程序,在中断服务程序中CPU与外设交换信息,待中断服务程序执行完后,CPU再返回刚才终止的主程序继续执行。 2、中断系统的定义:中断系统是指为了实现中断传送过程在CPU内外设置的硬件和有关中断的指令。3、中断源:⑴中断源的定义:中断源是指引起中断请求的来源。⑵中断源的分类: ①软中断和 ②硬中断4、中断处理的全过程 中断处理的全过程分成3个阶段:中断请求、中断响应和中断服务。5、多重中断与中断优先级 ⑴ 当系统中有多个设备提出中断请求时,多个外设的中请信号要通过门电路送到CPU的中请输入端,使CPU能收到多个外设提出的中请。 ⑵ CPU在收到多个外设的请求后,按中断处理原则处理中断。 ⑶ 确定优先级的方法解决优先级的问题一般可有三种方法:软件查询法、简单硬件方法及专用硬件方法(采用可编程的中断控制器芯片,如Intel8259A)。
标签: 中断技术
上传时间: 2013-10-12
上传用户:ysjing
2.1 MCS-51系列单片机概述 2.1.1 MCS - 51系列单片机的基本结构单片机是一个大规模集成电路芯片,其上集成有CPU、存储器、I/O口(串行口、并行口)、其它辅助电路(如中断系统,定时/计数器,振荡电路及时钟电路等)。 其基本结构框图如下: 2.1.2 MCS - 51系列单片机的分类2.2 89C51单片机内部结构 2.3 89C51单片机的引脚 2.4 MCS-51系列单片机的工作方式
上传时间: 2013-10-09
上传用户:18165383642
随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言到逐渐使用高级语言开发,其中主要是以C语言为主,市场上几种常见的单片机均有其C语言开发环境。这里以最为流行的80C51单片机为例来学习单片机的C语言编程技术。大家都有C语言基础,但是编单片机程序,大家还得找专门的书来学习一下。这里我们只介绍Keil这种工具软件的用法。学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil软件是目最流行开发80C51系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(µVision)将这些部份组合在一起。下面我以一个实验举一个例子,一步一步学习Keil软件的使用。 首先我们看硬件原理图: 很明显,要点亮使发光二极管,必须使单片机的I/O口P1.0输出低电平。于是我们的任务就是编程序使P1.0输出地电平。1. 使用Keil前必须先安装。安装过程简单,这里不在叙述。2. 安装好了Keil软件以后,我们打开它。打开以后界面如下:
上传时间: 2013-11-07
上传用户:wtrl