第10章 AT89C51单片机与输入外设和输出外设的接口设计

合集下载

基于单片机AT89C51的输入输出控制板设计

基于单片机AT89C51的输入输出控制板设计
Key WordsAT89C51 micro-controller;The host computer;Serial communication;MCU
目录
摘要I
AbstractII
第1章绪论1
1.1选题背景和意义1
1.2发展前景1
1.3八路继电器控制板的应用2
1.4本章小结2
第2章系统设计方案3
2.1系统设计步骤3
HEBEI UNITED UNIVERSITY
毕业设计说明书
GRADUATEDESIGN
设计题目:

随着经济的快速发展,单片机的应用也越来越广泛,不仅在工业上,而且在我们日常生活中见到的很多东西也都会用到单片机,可见单片机已成为我们生活中必不可少的一部分。近年来,由于智能化楼宇不断增温,加上人们对安全防护的需求也逐渐扩大,智能化门禁管理应运而生。人们逐渐习惯以门禁替代传统钥匙的出入方式,门禁管理给企业管理带来的效益和便利,使它的使用越来越广泛。门禁管理系统为通道和出入口的管理提供智能化手段,达到正常出入、维护秩序、防入侵等目的。解决钥匙管理和人员管理的难题,减低保安人员的工作压力,为工作场所提供一个高度安全有序的环境。
In this paper,input and output control panel design is based on AT89C51 ,The next bit micro- controller to achieve access control and access control PC control and PC host computer communication.Finally,associated with the information network .

AT89C51的引脚功能

AT89C51的引脚功能

—VCC:供电电压。

—GND:接地。

—P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。

当P1口的管脚写“1”时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。

—P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1—P2门电流,当P2位地址外编程—P3P3口写入“1P3口将输出电流P3P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。

—RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

—PROGALE/:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

—PSEN:外部程序存储器的选通信号。

在由外部程序存储器取址期间,每个机器周期PSENRESET;当EA(VPP)。

如图11所示,在X1和X2之间接一只石英振荡晶体构成了单片机的时钟电路,它还有另一种接法,是把外部振荡器的信号直接连接到XTAL1端,XTAL2端悬空不用。

AT89C51复位引脚RST/VP通过片内一个施密特触发器(抑制噪声作用)与片内复位电路相连,施密特触发器的输出在每一个机器周期由复位电路采样一次。

89C51单片机各接口

89C51单片机各接口

AT89C51单片机简介2.管脚说明VCC 供电电压。

GND 接地。

P0口 P0口为一个8 漏级开路 向I/O口, 脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据 储器,它可 被定义为数据/地址的第八 。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码, 时P0外部必须被拉高。

P1口 P1口是一个内部提供 拉电阻的8 向I/O口,P1口缓冲器能接收输出4TTL 门电流。

P1口管脚写入1后,被内部 拉为高,可用作输入,P1口被外部 拉为 电平时,将输出电流,这是由于内部 拉的缘故。

在FLASH编程和校验时,P1口作为第八 地址接收。

P2口 P2口为一个内部 拉电阻的8 向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部 拉电阻拉高,且作为输入。

并因 作为输入时,P2口的管脚被外部拉 ,将输出电流。

这是由于内部 拉的缘故。

P2口当用于外部程序 储器或16 地址外部数据 储器进行 取时,P2口输出地址的高八 。

在给出地址“1”时,它利用内部 拉优势,当对外部八 地址数据 储器进行读写时,P2口输出其特殊 能寄 器的内容。

P2口在FLASH编程和校验时接收高八 地址信号和控制信号。

P3口 P3口管脚是8个带内部 拉电阻的 向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部 拉为高电平,并用作输入。

作为输入,由于外部 拉为 电平,P3口将输出电流 ILL 这是由于 拉的缘故。

P3口也可作为AT89C51的一些特殊 能口,如 表所示口管脚备选 能P3.0 RXD 串行输入口P3.1 TXD 串行输出口P3.2 /INT0 外部中断0P3.3 /INT1 外部中断1P3.4 T0 记时器0外部输入P3.5 T1 记时器1外部输入P3.6 /WR 外部数据 储器写选通P3.7 /RD 外部数据 储器读选通P3口同时为闪烁编程和编程校验接收一些控制信号。

AT89C51的引脚功能和说明

AT89C51的引脚功能和说明

AT89C51单片机各引脚图如下2-5所示:P1.0 ┫1 40┣ VccP1.1 ┫2 39┣ P0.0P1.2 ┫3 38┣ P0.1P1.3 ┫4 37┣ P0.2P1.4 ┫5 36┣ P0.3P1.5 ┫6 35┣ P0.4P1.6 ┫7 34┣ P0.5P1.7 ┫8 33┣ P0.6RST/Vpd ┫9 AT89C51 32┣ P0.7RXD P3.0 ┫10 31┣ -EA/Vpp(内1/外0 程序地址选择)TXD P3.1 ┫11 30┣ ALE/-P (地址锁存输出) -INT0 P3.2 ┫12 29┣ -PSEN (外部程序读选通输出)-INT1 P3.3 ┫13 28┣ P2.7T0 P3.4 ┫14 27┣ P2.6T1 P3.5 ┫15 26┣ P2.5-WR P3.6 ┫16 25┣ P2.4-RD P3.7 ┫17 24┣ P2.3X2 ┫18 23┣ P2.2X1 ┫19 22┣ P2.1GND ┫20 21┣ P2.0图2-5 AT89C51的引脚图AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

外形及引脚排列如图所示特性:与MCS-51 兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz ·三级程序存储器锁定·128×8位内部RAM ·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

(完整版)at89c51引脚图及功能

(完整版)at89c51引脚图及功能

at89c51引脚图及功能AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

主要性能参数:·与MCS-51产品指令系统完全兼容·4k字节可重擦写Flash闪速存储器·1000次擦写周期·全静态操作:0Hz-24MHz ·三级加密程序存储器·128×8字节内部RAM ·32个可编程I/O口线·2个16位定时/计数器·6个中断源·可编程串行UART通道·低功耗空闲和掉电模式功能特性概述:AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

·P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

第10章AT89C51单片机与键盘显示器等的接口设计

第10章AT89C51单片机与键盘显示器等的接口设计

COM2=0 十位
COM1=0 个位
(b)
送显示位扫描信号: COM4=0 COM3=1 COM2=0 COM1=0 个位 十位 百位 千位 g 送 2 的显示段码: hgfedcba =10100100 f e d c b a COM3=0 百位 COM2=1 COM1=0 个位 十位
(c)
只要扫描信号的频率足够 快,加上LED数码显示器发光 的余晖效应和人的视觉暂留现 象,人们感觉到的好像是各位 同时显示的效果,而无闪烁现 象。 一般每个LED数码显示器 的显示时间为1~5ms。
b. 线反转法
第1步:列线输出为全低电平, 则行线中电平由高变低(或由 低变高)的所在行为按键所在 行。 第2步:行线输出为全低电平, 则列线中电平由高变低(或由 低变高)所在列为按键所在列。 结合上述两步,可确定按键所 在行和列。
编程说明:


在单片机应用系统中,键盘扫描只是系统的部分程序。进 行软件系统编程时,一般作为子程序调用或中断服务程序 使用。该子程序入口参数为无,出口参数为键码值,一般 存于A。因此,其调用十分简单,但一定要注意返回的键码 值所对应的键在键盘的哪个位臵,即要掌握键码分配表。 矩阵式键盘尽管比独立式键盘复杂。但有了上述子程序后, 只要学会调用,你甚至不需要知道键盘扫描程序是如何编 写的,COPY即可,编程也就变得十分简单了。从这可以看 出平时注意查阅资料,收集实用子程序,掌握子程序的调 用,对提高编程效率是多么重要。
DELY10MS
JAN1 ANJ JAN1_PRG JAN1
;P1.0=0键被按下,延时消抖
;P1.0是否仍为低电平,否则重 新查询 ;按键有效,等待键释放 ;调用键功能程序 ;返回继续查询
P1.0

at89c51单片机与dac实验原理

at89c51单片机与dac实验原理

at89c51单片机与dac实验原理实验目的:通过将AT89C51单片机与DAC(数模转换器)连接,实现数字信号到模拟信号的转换,并通过外部模拟电路将转换后的信号输出到外部设备,进而实现对外部设备的控制或反馈。

实验原理:AT89C51单片机是一种常用的8位单片机,具有强大的数据处理能力和丰富的外设资源。

而DAC则是一种能够将数字信号转换为模拟信号的电子组件。

将AT89C51与DAC连接,可以实现通过单片机控制DAC输出模拟信号的功能。

DAC的工作原理是通过将一个数字信号转换为与之等效的模拟信号。

一般情况下,DAC的输入端接收到的是一个n位的数字信号。

而DAC的输出端则是一个与输入数字信号等效的模拟电压或电流信号。

通过改变输入端的数字信号,可以控制输出信号的幅度,实现对模拟信号的控制。

AT89C51单片机与DAC连接时,其输入端通过端口连接到单片机的IO 口,而DAC的输出端则通过外部模拟电路连接到外部设备。

在这个过程中,单片机通过编写程序控制IO口的输出信号,将对应的数字信号输入到DAC的输入端。

DAC将输入的数字信号转换为模拟信号,并通过外部电路将模拟信号输出到外部设备。

通过改变单片机输出信号的方式、频率和幅度,可以实现对外部设备进行控制或反馈。

实验步骤:1.连接AT89C51单片机与DAC。

根据DAC的引脚定义,将单片机的IO 口与DAC的输入端连接,同时将DAC的输出端与外部设备连接。

2.编写单片机程序。

根据实验需求,编写单片机程序,控制IO口的输出信号。

通过改变IO口输出信号的方式、频率和幅度,实现对DAC的输入信号的控制。

4.进行实验观察。

观察外部设备是否输出相应的结果,检测转换过程是否正常。

实验所需材料:-AT89C51单片机-DAC数模转换器-外部模拟电路-外部设备(如电机、灯光等)实验心得:通过将AT89C51单片机与DAC连接,可以实现数字信号到模拟信号的转换。

该实验具有一定的重要性,因为它可以通过单片机实现对外部设备的精确控制。

AT89C51单片机说明

AT89C51单片机说明

EA A8H AF
ET2 ES
ET1 EX1 ET0 EX0
AD AC AB AA A9 A8 IE
A0H A7 A6 A5 A4 A3 A2 A1 A0 P2
SM0 SM1 SM2 REN TB8 RB8 TI
RI
98H 9F 9E 9D 9C 9B 9A 99 98 SCON
90H 97 96 95 94 93 92 91 90 P1
工作寄存器组3 18H
17H 工作寄存器组2
10H
0FH 工作寄存器组1
08H
07H 工作寄存器组0
00H
图 2-4 内部低 128 个字节地址 RAM 空间
第 3 页 共 9页
附录
AT89C51 单片机说明
寄存器符号 ACC B PSW SP
DPTR
P0 P1 P2 P3 IP IE TMOD TCON TH0 TL0 TH1 TL1 SCON SBUF PCON
IP 中断优先次序寄存器
位地址 - - BD BC BB BA B9 B8
符号
- - PT2 PS PT1 PX1 PT0 PX0
-(IP.7) :保留位,无定义。 -(IP.6) :保留位,无定义。 PT2(IP.5) :设定计时器 2 的优先次序(8052 使用)。 PS(IP.4) :设定串行端口的中断优先次序。 PT1(IP.3) :设定时/计时器 1 的优先次序。 PX1(IP.2) :设定外部中断 INT1 的优先次序。 PT0(IP.1) :设定计时器 0 的优先次序。 PX0(IP.0) :设定外部中断 INT0 的优先次序。
(60KB)
0FFFFH
1000H
外部 程序 存储器

AT89C51设计

AT89C51设计

AT89C51设计1. 简介AT89C51是一种经典的8位单片机,由凯瑞电子(Keil)公司生产。

它是Intel 8051指令集架构的一部分,具有强大的功能和广泛的应用。

AT89C51具有51个I/O引脚,4KB flash存储器,128字节的RAM,以及4个8位定时器/计数器。

它适用于各种嵌入式系统,如家电控制,电子设备,工业自动化,安全系统等。

本文将分享AT89C51的设计相关知识,包括硬件配置、编程语言和开发工具等内容。

2. 硬件配置AT89C51的硬件配置包括以下几个方面:2.1. 晶体振荡器AT89C51支持外部晶体振荡器,用于提供时钟信号。

一般情况下,使用11.0592MHz的晶体振荡器可以满足大多数应用需求。

2.2. 电源AT89C51工作电压为4.5V至5.5V,可以通过外部电源供电。

在设计中,需要提供稳定的电源电压,并通过适当的电源滤波电路降低电源噪音。

2.3. 外部存储器AT89C51内置4KB的闪存和128字节的RAM。

如果需要更大的存储空间,可以通过外部存储器扩展。

此外,还可以通过外部EEPROM实现数据的长期存储。

2.4. 输入/输出设备AT89C51具有51个I/O引脚,可用于连接各种输入/输出设备,如LED,键盘,LCD显示器等。

在设计中,需要根据具体需求配置合适的输入/输出设备。

3. 编程语言AT89C51支持多种编程语言,如汇编语言和C语言。

以下将介绍两种常见的编程语言。

3.1. 汇编语言汇编语言是一种符号化的低级语言,直接操作计算机硬件。

AT89C51使用的汇编语言是51系列的汇编语言,具有良好的指令集和寻址模式。

以下是一个简单的AT89C51汇编代码示例:ORG 0HMOV A, #20HMOV P1, AEND3.2. C语言C语言是一种高级编程语言,具有结构化的特点,能够更方便地编写和维护代码。

AT89C51的C语言编程通常使用凯瑞电子(Keil)公司的Keil C编译器。

(完整版)AT89C51单片机USB接口驱动和应用程序的开发毕业论文

(完整版)AT89C51单片机USB接口驱动和应用程序的开发毕业论文

北方民族大学学士学位论文论文题目:AT89C51单片机USB接口驱动和应用程序的开发院(部)名称:电信学院学生姓名:杨闯指导教师姓名:周春艳论文提交时间: 2010年5月24日论文答辩时间:2010年5月29日学位授予时间:北方民族大学教务摘要通用串行总线USB是一种新兴的并逐渐取代其他接口标准的数据通信标准。

USB,由于速度快,使用方便灵活,易于扩展,支持即插即用,成本低廉等一系列优点,得到了广泛的应用。

本论文以基于USB总线的数据采集系统的研制过程为主要内容,阐述了利用CH372与ATMEL的AT89C51等组成的一套数据采集系统的设计方案、开发方法和开发过程,并给出了具体实现方案。

论文首先简要介绍了USB总线的相关内容,然后介绍了数据采集系统的设计。

数据采集系统的设计包括硬件设计、固件程序开发、驱动程序开发和应用程序开发四部分。

在硬件设计部分,首先介绍了设计中所用的CH372的性能和特点,然后给出了具体硬件设计方案,并对设计中应该注意的问题进行了说明。

驱动和应用程序主要完成USB设备的读写和即插即用功能,并提供一个友好的人机界面,对数据采集系统进行控制并显示采集后的数据。

本论文已完成了基于USB总线的数据采集系统的设计,用其实现了基本的数据采集功能。

使用USB总线传输数据,为数据采集系统与计算机之间的通讯开辟了新的道路。

关键词:USB、驱动程序、应用程序、AT89C51、CH372AbstractUniversal serial bus USB is one kind of emerging and replace other interface standards of data communication standards. USB, due to fast, convenient and flexible easy to expand, to support plug and play, low cost advantages, such as widely application.The paper is mainly concerned with design process of data acquisition system that is based on USB bus. The design scheme, developing method and developing process of a suit of data acquisition system used with CH372 and ATMEL’s AT89C51 are expatiate. In addition, the paper also gives the material realization scheme.At fist, the paper introduces the protocol of USB bus in brief, and then discusses the design of data acquisition system, which includes four parts, , firmware design, device driver and application program. In the in detail; the questions which should be paid attention to in design is explained. Drivers and applications of the main equipment and USB plug and play function, and provide a friendly -machine interface, control ofdata acquisition system and display the data collection.The paper of data acquisition system based on USB bus and realizedthe basal data acquisition foundation. Using USB bus to transfer data blazed a way in communication between data acquisition system and computer.Keywords: USB、Drive、Applications、AT89C51、CH372目录第1章绪论 (1)1.1 引言 (5)1.2 USB的特点 (5)1.3 USB实时数据采集系统的实现方案 (7)第2章 USB体系简介 (8)2.1 体系概述 (8)2.2 USB的传输类型 (10)2.3 USB的设备状态 (13)第3章 USB数据采集系统的硬件设计 (16)3.1 USB 接口方案 (16)3.2 USB接口的硬件设计 (17)3.2.1 CH372简介 (17)3.2.2 USB接口的硬件电路设计 (23)3.3 USB接口硬件的实现 (25)3.3.1时钟电路 (25)3.3.2 复位电路 (25)3.3.3 AD转换电路 (26)3.3.4 CH372接口电路 (27)3.3.5 单片机扩展RAM接口电路 (28)第4章 USB数据采集系统设备固件编写 (28)4.1 固件设计方案及工作流程 (29)4.1.1固件的设计思想 (29)4.1.2固件的工作流程 (29)4.2固件开发 (30)4.2.1主循环模块(MAINLOOP.C) (30)4.2.2外接口模块 (31)4.2.3 CH375_INIT初始化模块 (31)4.2.4上传数据块模块 (31)4.2.5上传中断数据模块 (31)第5章 USB设备驱动程序及应用程序 (32)5.1驱动开发工具的选择 (32)5.2 WDM概述 (32)5.3 主要模块设计 (33)5.3.1 初始化模块 (34)5.3.2即插即用管理模块 (34)5.3.3 I\O控制模块 (37)5.4 应用程序设计与实现 (37)5.4.1 操作例程及初始化 (38)5.4.2 设备读写接口程序的实现 (39)5.4.3 数据传输程序的设计和实现 (40)5.5 用户应用程序的具体实现 (45)结束语 (46)致谢 (47)参考文献 (47)附录一 (48)附录二 (48)第1章绪论1.1 引言现代工业生产和科学研究对数据采集系统的要求日益提高,目前比较通用的方法已逐渐不能适应其要求。

AT89S51单片机输入输出外设接口

AT89S51单片机输入输出外设接口
人机界面
3
单片机典型应用系统组成
单片机系统组成
A/D接口:实现模拟信号的采集
并行A/D 串行A/D
D/A接口:输出模拟量的控制信号
并行D/A 串行D/A
开关量输入输出:实现开关信号的检测和控制
步进电机、PWM控制的直流电机 开关量输出的传感器(如光电、霍尔传感器等)
4
通信接口:实现系统和外界(单片机或PC)的数据交换
RN1
1
16 1
2
15 2
3
14 3
4
13 4
5
12 5
6
11 6
7
10 7
8
98
220
程序设计
延时扫描 段选码,位选码,每送入一次后延时1ms,因人眼的视觉
暂留时间为0.1s,所以每位显示的间隔不必超过20ms,并保 持延时一段时间,造成视觉暂留效果。 定时器中断刷新显示
17
8.1.2 用SPI接口显示驱动芯片控制数码管多位显示
理想按键过程: 断开
按下
实际按键过程: 断开
按下
消除按键抖动解决办法
抖动 约 10ms
延时10ms后等待按键稳定再次判断是否有键按下;
采用按键消抖电路;
专用键盘接口芯片含有按键自动去抖电路。
29
键盘设计中需要考虑的问题:
多键同时闭合 当有两个或多个键同时闭合时,可以采用条件判断的方式
来确认哪个按键有效。例如以下方式。 ●以先按下的键为有效键。 ●以按下时间最长的键为有效键。 ●将最后释放的键视为有效键。 有复合按键的设计按照复合按键的功能进行编程,无复合
LED显示器工作方式有两种:静态显示方式和动 态显示方式。静态显示的特点是每个数码管的段选 必须接一个8位数据线来保持显示的字形码。当送入 一次字形码后,显示字形可一直保持,直到送入新 字形码为止。这种方法的优点是占用CPU时间少,显 示便于监测和控制。缺点是硬件电路比较复杂,成 本较高。

AT89C51接口技术

AT89C51接口技术

第8章AT89C51系统接口技术难点•8255的控制字•8255的工作方式1和工作方式2•DAC0832工作方式•ADC0809工作方式要求掌握:•8255接口芯片•MCS-51单片机与D/A转换器的接口连接•MCS-51单片机与A/D转换器的接口连接•初始化编程及应用了解:•I/O口扩展的原因•简单I/O口的扩展•单片机的键盘技术8.1 I/O口扩展概述8.2 简单I/O口扩展8.3 8255可编程通用并行接口芯片8.4 8155可编程通用并行接口芯片8.1 I/O口扩展概述8.1.1 I/O口扩展的原因MCS-51系列单片机共有四个并行I/O口,分别是P0、P1、P2和P3。

其中P0口一般作地址线的低八位和数据线使用;P2口作地址线的高八位使用;P3是一个双功能口,其第二功能是一些很重要的控制信号,所以P3一般使用其第二功能。

这样供用户使用的I/O口就只剩下P1口了。

另外,这些I/O口没有状态寄存和命令寄存的功能,因此难以满足复杂的I/O操作要求。

由于MCS-51系列单片机I/O口数量和功能有限,所以在实际应用中不得不使用扩展的方法,来增加I/O口的数量,增强I/O口的功能。

8.1.2 I/O口的编址技术用户可以通过对I/O口进行读和写操作来完成数据的输入和输出。

例如:P0口的地址为80H。

用户可以使用MOV指令对P0口进行写操作。

MOV P0, A8.1.3 单片机I/O传送的方式单片机为了实现数据的输入/输出传送,通常使用3种控制方式。

1. 无条件传送方式当外设和单片机能够同步工作时,可以采用无条件方式进行传送,即数据可以随时进行传送。

2. 查询方式查询方式又称为有条件传送方式,即数据的传送是有条件的。

在进行I/O操作之前,用户要通过软件查询外设是否为数据传送做好准备,只有确认外设为数据传送做好准备。

单片机才能执行数据的输入/输出(I/O)操作。

3. 中断方式当外设和计算机进行数据交换时,外设向单片机发出中断请求(即通知单片机)。

《单片机原理与应用设计》总结

《单片机原理与应用设计》总结

单片机原理与应用设计第一章单片机概述在一块半导体硅片上集成了中央处理单元(CPU)、存储器(RAM/ROM)、和各种I/O接口的集成电路芯片由于其具有一台微型计算机的属性,因而被称为单片微型计算机,简称单片机。

单片机主要应用于测试和控制领域。

单片机的发展历史分为四个阶段。

1974—1976年是单片机初级阶段,1976—1978年是低性能单片机阶段,1978—1983年是高性能单片机阶段,期间各公司的8位单片机迅速发展。

1983至现在是8位单片机巩固发展及16位、32位单片机推出阶段。

单片机的发展趋势将向大容量、高性能、外围电路内装化等方面发展。

单片机的发展非常迅速,其中MCS-51系列单片机应用非常广泛,而在众多的MCS-51单片机及其各种增强型、扩展型的兼容机中,AT89C5x系列,尤其是AT89C51单片机成为8位单片机的主流芯片之一。

第二章89C51单片机的硬件结构89C51单片机的功能部件组成如下:8位微处理器,128B数据存储器片外最多可外扩64KB,4KB程序存储器,中断系统包括5个中断源,片内2个16位定时器计数器且具有4种工作方式。

1个全双工串行口,具有四种工作方式。

4个8位并行I/O口及特殊功能寄存器。

89C51单片机的引脚分为电源及时钟引脚、控制引脚及I/O口。

电源为5V 供电,P0口为8位漏极开路双向I/O口,字节地址80H,位地址80H—87H。

可作为地址/数据复用口,用作与外部存储器的连接,输出低8位地址和输出/输入8位数据,也可作为通用I/O口,需外接上拉电阻。

P1、P2、P3为8位准双向I/O 口,具有内部上拉,字节地址分别为90H,A0H,B0H。

其中P0、P2口可作为系统的地址总线和数据总线口,P2口作为地址输出线使用时可输出外部存储器的的高8位地址,与P0口输出的低8位地址一起构成16位地址线。

P1是供用户使用的普通I/O口,P3口是双向功能端口,第二功能很重要。

AT89C51单片机高速串行输出口设计

AT89C51单片机高速串行输出口设计

AT89C51单片机高速串行输出口设计AT89C51(与MCS-51 兼容)单片机的串行口在方式0 工作状态下,使用移位寄存器芯片可以扩展多个8 位并行I/O 口。

在LED 点阵显示屏应用系统中,一般都采用数据同步移位输出方式,并使用移位寄存器芯片(如74LS595)扩展并行I/O 口驱动LED 点阵显示。

LED 点阵显示采用扫描方式,为不产生闪烁感,每秒需要传送50 屏点阵显示数据,因此有大量的数据要通过同步移位的方式送到显示驱动电路部分,这就要求单片机能够快速地输出数据。

AT89C51 单片机的串行口在方式0 工作状态下,数据以fosc/12 的波特率输出,1 个字节数据写入SBUF 后,需检查中断标志位TI 是否为1 并清0TI 或延时几个机器周期后才能继续写入了一个数据,输出速度慢。

在LED 点阵显示屏应用系统中,系统与PC 机之间的通讯需要使用单片机的串行口,显示数据的同步移位输出口只有另外扩展。

本文介绍的高速串行同步移位输出口(以下简称扩展串行口)电路,采用模块化设计,给出基于TTL 和PLD 两种电路的实现方案,波特率提高到fosc,数据输出不需要等待或延时。

一、扩展串行口与单片机的连接扩展串行口电路框图如图1 所示。

与并行存储器芯片类似,扩展串行口被视为一个外部RAM 地址单元,直接挂接在AT89C51 的外部数据总线上,D0~D7 为数据线,CE 为片选信号,WE 为写脉冲信号,也是扩展串行口的输出控制信号。

AT89C51 外接晶体振荡器的振荡信号经二个与非门整形后为扩展串行口提供时钟脉冲XTAL2。

DAT 和CLK 分别是扩展串行口的数据输出端和同步移位脉冲输出端。

二、操作指令假设AT89C51 分配给扩展串行口的地址是0000H,使用MOVX@DPTR,A。

AT89C51单片机-毕业设计.doc

AT89C51单片机-毕业设计.doc

1. 绪论 (2)1.1 课程设计要求 (2)1.2 数字电压表介绍 (2)2. 硬件单元电路设计 (2)2.1数字电压表结构框图 (2)2.1.1 AT89C51单片机简介 (3)2.1.2 ADC0832转换器简介 (4)2.1.3 时钟电路 (5)2.1.4 复位电路 (5)2.1.5 LED显示电路 (6)3. 软件单元电路设计 (6)3.1 主程序流程图 (6)3.2显示子程序流程图 (7)3.3 A/D转换子程序流程图 (8)3.4 数据处理子程序流程图 (8)4. 数字电压表仿真设计图与实物图 (9)4.1 仿真图 (9)4.2 器件清单 (9)4.3 硬件电路实物图 (10)5. 程序代码 (11)6. 项目设计总计 (18)7. 参考文献 (18)1.绪论1.1 课程设计要求使用单片机AT89C51和ADC0832设计一个数字电压表,能够测量0-5V之间的直流电压值,两位数码显示。

在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为 5V;能用两位LED进行轮流显示或单路选择显示,显示精度0.1伏。

1.2 数字电压表介绍数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。

而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。

因此AD转换是此次设计的核心元件。

输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。

2.硬件单元电路设计2.1数字电压表结构框图结构如(图1)所示2.1.1 AT89C51单片机简介AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4kBytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89C51在众多嵌入式控制应用系统中得到广泛应用。

AT89C51单片机键盘接口实验

AT89C51单片机键盘接口实验

班级电科081 班姓名龚浪学号080712110073 实验名称键盘接口实验指导教师马光喜理学院时间:2011年月日实验九键盘接口实验(设计性实验)一、实验目的:⑴熟悉单片机通过行列键盘的接口方法⑵掌握键盘扫描及处理程序的编程方法和调试方法二、实验内容:程序运行后,根据按下的数字键,数码管上应能显示相应数字。

三、实验硬件电路四、实验步骤:1、进入Keil C51组合软件的操作环境2、在Keil C51组合软件环境中, 根据实验硬件电路编辑源程序并对源文件进行编译,生成目标代码;源程序如下:;EXP9ORG 0000HLJMP MAINORG 8000H;*******检查是否有键按下******************** MAIN: MOV P0,#00MOV A,P2ANL A,#0FHSUBB A,#0FHJNC MAINACALL DELAY ;延时去抖动;****寄存器赋初值****************MOV R2,#4 ;R2记录行数MOV R3,#4 ;R3记录列数MOV A,#0FEH ;行扫描初始值MOV R4,#0FFH ;R4记录键号初值;*******按键扫描***************************** NEXT1: MOV P0,ARLC AMOV R0,A ;修改扫描码并送R0保存MOV A,P2 ;读入列值ANL A,#0FH ;清除高4位CJNE A,#0FH,NEXT2 ;有列值为0,转NEXT2MOV A,R4ADD A,R3 ;否则指向该行最后一列MOV R4,AMOV A,R0DJNZ R2,NEXT1 ;扫描下一行LJMP MAINNEXT2: INC R4 ;键号加1RRC AJC NEXT2 ;不是按键所在列,转NEXT2使键号加1MOV A,R4MOV P3,A ;键号送P3口显示LJMP MAIN ;转MAIN进行下一次等待扫描;*********延时函数***************************** DELAY: MOV R7,#2DELAY1: MOV R6,#100DELAY2: MOV R5,#200DELAY3: DJNZ R5,DELAY3DJNZ R6,DELAY2DJNZ R7,DELAY1RETEND3、运行、调试程序和结果检查⑴采用单步,设置断点等方法,观察程序走向是否正确;⑵连续运行程序,依次按动数字键观察LED的显示是否相符。

第10章 AT89C51单片机应用实例【精选】

第10章 AT89C51单片机应用实例【精选】

10.1 单片机系统设计方法
单片机系统本身就是一个硬件和软件结合非常紧密的系统, 要求设计者具有硬件设计和软件设计方面的综合能力,具有对单片机 以及各种外围设备的接口电路和驱动电路的应用能力。
单片机应用系统的设计应按照以下几个步骤来进行。
总体方பைடு நூலகம்设计
可行性分析、单片机的选型、对系统各项功能的划分。
系统硬件设计
各个模块的硬件部分设计、硬件系统功能框图、电路图及PCB板
系统软件设计
单片机系统的软件设计
系统调试
可使用仿真器进行系统功能的调试
系统完善与升级
10.2 温度采集与显示系统的设计
电源输入 8V~24VDC
电源模块
显示驱动
LED显示屏
温度传感器
单片机
温度采集与显示系统原理框图
第十章at89c51单片机应用实例101单片机系统设计方法102温度采集与显示系统的设计1021温度采集与显示系统原理1022一总线1wire数字温度传感器ds18b201023at89c51单片机与ds18b20的接口1024at89c51单片机读取ds18b20温度值的编程1025显示驱动芯片max72191026at89c51单片机与max7219的接口与编程1027温度的采集处理与显示程序101单片机系统设计方法单片机系统本身就是一个硬件和软件结合非常紧密的系统要求设计者具有硬件设计和软件设计方面的综合能力具有对单片机以及各种外围设备的接口电路和驱动电路的应用能力
第十章 AT89C51单片机应用实例
10.1 单片机系统设计方法 10.2 温度采集与显示系统的设计
10.2.1 温度采集与显示系统原理 10.2.2 一总线(1-Wire)数字温度传感器DS18B20 10.2.3 AT89C51单片机与DS18B20的接口 10.2.4 AT89C51单片机读取DS18B20温度值的编程 10.2.5 显示驱动芯片MAX7219 10.2.6 AT89C51单片机与MAX7219的接口与编程 10.2.7 温度的采集处理与显示程序

第10章 AT89S51单片机与输入、输出外部设备的接口

第10章 AT89S51单片机与输入、输出外部设备的接口

6、LCM引脚功能介绍
10.3.2 一些常用的LCD显示控制命令
①清屏。功能:清除屏幕显示,并给地址计数器AC置“0”。
②返回。功能:置DDRAM(显示数据RAM)及显示RAM的地址为 “0”,显示返回到原始位置。
③输入方式设置。功能:设置光标的移动方向,并指定整体 显示是否移动。其中:I/D=1,为增量方式;I/D=0,为减量 方式;如S=1,表示移位;如S=0,表示不移位。
10.1.1 一位LED数码管的显示原理及接口程序
接高电平
a f g d b
hgfedcba 接高电平点亮 h g f a a f g d b
e
c h h g f a h gfedcb 接低电平点亮 a
共阳极
e
c h
接地
共阴极
hgfedcba 接I/O口 高位 低位
八段LED数码管段码表(分析,理解)
10.2.2 键盘的工作原理
1.独立式按键
特点:一线一键,按键识别(编程)简单;但占用较多 口线,适合8键以下使用.
识别某一键是否按下的子程序: KEYIN:MOV MOV CJNE LJMP QUDOU:MOV MOV CJNE KEY0: MOV JC LJMP KEY1: MOV JC LJMP P1,#0FFH A,P1 A,#0FFH,QUDOU RETURN R3,A A,P1 A,R3,RETURN C,P1.0 KEY1 PKEY0 C,P1.1 KEY2 PKEY1 ;P1口写入1,设置P1口为输入状态 ;读入8个按键的状态 ;有键按下,去抖动 ;无键按下,返回 ;8个按键的状态送R3保存 ;调用延时子程序,软件去键抖动 ;再一次读入8个按键的状态 ;两次键值比较,没有按键按下则返回 ; 读P1.0的按键状态 ;该键未按下,跳KEY1,判下一个键 ;该键按下,跳PKEY0处理 ;读P1.1的按键状态 ; 该键未按下,跳KEY2,判下一个键 ;该键按下,跳PKEY1处理

at89c51双机串口通信课程设计

at89c51双机串口通信课程设计

课程设计报告书设计名称:计算机控制技术题目:AT89C51的串口通信学生姓名:XXX专业:计算机科学与技术班别:计科本XXX班学号:XXXXXXXX指导老师:XXX日期:2012 年 7月 12 日一、主要内容:本课程设计利用两片AT89C51实现双机串口通信;主机发送并显示 10 以下的随机数,从机显示该数的阶乘值,通过开关改变主机输出的数值。

设计电路并编写一个串行口方式1收发程序,实现两片AT89C51之间的通信,甲机将数据发送到乙机并显示出来,同样,乙机也可将数据发送到甲机显示出来。

二、硬件电路设计及描述1、方案选择及设计思想2、工作原理在串行通信中,数据是在两个站之间传送的。

按照数据传送方向,串行通信可分为三种制式。

1). 单工制式(Simplex)单工制式是指甲乙双方通信只能单向传送数据。

单工制式如图1所示。

发送器A接收器B图1 单工制式2). 半双工制式(Half duplex)半双工制式是指通信双方都具有发送器和接收器,双方既可发送也可接收,但接收和发送不能同时进行,即发送时就不能接收,接收时就不能发送。

半双工制式如图2所示。

发送接收发送接收A 端B端图2半双工制式单片机(主机)单片机(从机)显示发的数显示阶乘值3). 全双工制式(Full duplex)全双工制式是指通信双方均设有发送器和接收器,并且将信道划分为发送信道和接收信道,两端数据允许同时收发,因此通信效率比前两种高。

全双工制式如图3所示。

发送接收接收发送A 端B端图3 全双工制式AT89C51内部有一个可编程全双工串行通信接口。

该部件不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。

下面将对其内部结构、工作方式以及波特率进行介绍。

图4 AT89C51串行口结构框图串口通信方式1 1).方式1发送方式1输出时,数据由TXD 输出,一帧信息为10位,1位起始位0,8位数据位(先低位)和1位停止位1。

当执行一条数据写发送缓冲器SBUF 的指令,就启动发送。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第10章 AT89C51单片机与输入外设和输出外设的接口设计1.下列项说法正确。

A.HD7279是一个用于键盘和LED显示器的专用接口芯片
B.在单片机与微型打印机的接口中,打印机的BUSY信号可作为查询信号或中断请求信号使用
C.为给扫描法工作的8 8键盘提供接口电路,在接口电路中只需要提供两个输入口和一个输出口
D.LED显示器的字型码是固定不变的
答:A.对;B.对;C.错;D.错。

2.为什么要消除按键的机械抖动?软件消除按键机械抖动的原理是什么?
答:在按键的闭合和断开过程中,由于开关的机械特性,导致了按键抖动的产生。

如果不消除按键的机械抖动,按键的状态读取将有可能出现错误。

消除按键抖动一般是采用软件或硬件去抖。

软件去抖的原理是,在第一次检测到有键按下时,该键所对应的行线为低电平,执行一端延时10ms的子程序后,确认该行线电平是否仍然为低电平,如果仍为低电平,则确认该行确实有键按下。

3.LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?答:静态显示时,数据是分开送到每一位LED上的。

而动态显示时,则数据是同时送到每一个LED上,再根据位选线来确定是哪一位LED被显示。

静态显示亮度很高,但口线占用较多。

动态显示口线占用较少,适合用在显示位数较多的场合。

4.写出表10-1中仅显示小数点“.”的段码。

答:80H(共阴极);7FH(共阳极)。

5.说明矩阵式键盘按键按下的识别原理。

答:按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。

行线通过上拉电阻接到+5V上,无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。

列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平亦为高。

将行、列线信号配合起来并做适当的处理,才能确定闭合键的位置。

6.对于图10-10所示的键盘,采用线反转法原理编写出识别某一按键被
按下并得到其键号的程序。

答:先对P1口高4位送低电平,读取P1口低4位的值;再对P1口低4位送低电平,读取P1口高4位的值,将两次读到的值组合在一起就得到了按键的特征码,再根据特征码查找键值。

参考程序如下:
KEYIN: MOV P1,#0FH ;反转读键
MOV A,P1
ANL A,#0FH
MOV B,A
MOV P1,#0F0H
MOV A,P1
ANL A,#0F0H
ORL A,B
CJNE A,#0FFH,KEYIN1
RET ;未按键
KEYIN1: MOV B,A ;暂存特征码
MOV DPTR,#KEYCOD ;指向特征码表
MOV R3,#0FFH ;顺序码初始化
KEYIN2: INC R3
MOV A,R3
MOVC A,@A+DPTR
CJNE A,B,KEYIN3
MOV A,R3 ;找到,取顺序码
RET
KEYIN3: CJNE A,#0FFH,KEYIN2 ;未完,再查
RET ;已查完,未找到,以未按键处理
KEYCOD: DB 0E7H,0EBH,0EDH,0EEH ;特征码表
DB 0D7H,0DBH,0DDH,0DEH
DB 0B7H,0BBH,0BDH,0BEH
DB 77H,7BH,7DH,7EH
7.键盘有哪3种工作方式,它们各自的工作原理及特点是什么?
答:(1)编程扫描方式。

当单片机空闲时,才调用键盘扫描子程序,反复扫描键盘,等待用户从键盘上输入命令或数据,响应键盘的输入请求。

(2)定时扫描方式。

单片机每隔一定的时间对键盘扫描一次。

(3)中断扫描方式。

只有在键盘有键按下时,才执行键盘扫描程序并执行该按键功能程序,如果无键按下,单片机将不理睬键盘。

8.根据图10-11所示的电路,编写在6个LED显示器上轮流显示“1,2,3,4,5,6”的显示程序。

答:参见教材P170的显示程序。

9.简述TPP-40A/16A微型打印机的Centronics接口的主要信号线及功能,与AT89C51单片机相连接时,如何连接几条控制线?
答:DB0~DB7——数据线,单向传输,由单片机输入给打印机。

STB(STROBE)——数据选通信号。

在该信号的上升沿,数据线上的8位并行数据被打印机读入机内锁存。

BUSY——打印机忙状态信号。

当该信号有效(高电平)时,表示打印机正忙于处理数据。

此时,单片机不得使STB信号有效,向打印机送入新的数据。

ACK——打印机的应答信号。

低电平有效,表明打印机已取走数据线上的数据。

ERR——出错信号。

当送入打印机的命令格式出错时,打印机立即打印1行出错信息,提示出错。

在打印出错信息之前。

该信号线出现一个负脉冲,脉冲宽度为30νs。

用一条地址线来控制写选通信号STB和读取BUSY引脚状态。

10.如果把图10-25所示的打印机的BUSY线断开,然后与AT89C51单片机的线相接,请简述电路的工作原理并编写将以20H为起始地址的连续20个内存单元中的内容输出的打印程序。

答:本程序采用外部中断来完成数据打印,先打印一个数据,当BUSY 线从高电平变成低电平时,再打印下一个数据。

参考程序如下:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP IN
ORG 0030H
MAIN: SETB EX0 ;允许外部中断
SETB IT0
SETB EA
MOV R0,#7FH ;控制口地址
MOV A,#81H ;控制字
MOVX @R0,A
MOV R1,#20H ;数据区首地址
MOV R2,#19 ;计数器
MOV A,@R1 ;打印内容
MOV R0,#7CH ;A口地址
MOVX @R0,A
MOV R0,#7FH
MOV A,#0EH
MOVX @R0,A ;PC7=0
MOV A,#0FH
MOVX @R0,A ;PC7=1
SJMP $
IN: DJNZ R2,EX ;20个数据都结束了吗?
INC R1 ;指向下一个数据
MOV A,@R1
MOV R0,#7CH
MOVX @R0,A
MOV R0,#7FH
MOV A,#0EH
MOVX @R0,A
MOV A,#0FH
MOVX @R0,A
EX: RETI。

相关文档
最新文档