第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
外部 程序 存储器
  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。

相关文档
最新文档