如何利用89C51单片机与8279实现键盘接口电路显示

如何利用89C51单片机与8279实现键盘接口电路显示
如何利用89C51单片机与8279实现键盘接口电路显示

如何利用89C51单片机与8279实现键盘接口电路显示

悬赏分:30 - 提问时间2008-5-24 16:12问题为何被关闭

因为最大长度为10000mm。因此,显示器的最小位数应为五位,且用2*8的键盘,另还有7407驱动器以及译码器最好用两片等器件连接而成,如谁有这方面的请发到我邮箱内:liushang310@https://www.360docs.net/doc/f011970002.html,.

提问者:dzxxkxyjsh - 助理二级答复共1 条

第六章单片机接口技术应用

在设计各种单片机应用系统中,还需扩展很多外部接口器件才能充分发挥单片机的智能控制功能。如扩展键盘与显示器件接口,可实现人机对话功能;扩展A/D转换接口,可实现对外部各种模拟信号的检测与转换;扩展D/A转换接口可将数字信号转换为模拟信号,从而完成对控制对象的驱动。本章将主要介绍常见的键盘、显示(LED、LCD)、A/D和D/A 转换接口电路。

第一节键盘接口电路

键盘是计算机最常用的输入设备,是实现人机对话的纽带。按其结构形式可分为非编码键盘和编码键盘。

编码键盘采用硬件方法产生键码。每按下一个键,键盘能自动生成键盘代码,键数较多,且具有去抖动功能。这种键盘使用方便,但硬件较复杂,PC机所用键盘即为编码键盘。非编码键盘仅提供按键开关工作状态,其键码由软件确定,这种键盘键数较少,硬件简单,广泛应用于各种单片机应用系统,本书主要介绍非编码键盘的设计与应用。

一、独立式键盘

按照键盘与单片机的连接方式可分为独立式键盘与矩阵式键盘。独立式键盘相互独立,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他按键的工作状态。这种按键软件程序简单,但占用I/O口线较多(一根口线只能接一个键),适用于键盘应用数量较少的系统中。

图6-1为4个独立式按键的应用电路。其键盘程序如下:

1.键闭合测试,检查是否有键闭合

KCS:MOV P1,#0FFH

MOV A,P1

CPL A

ANL A,#0FH

RET

若有键闭合,则(A≠0), 若无键闭合,则(A=0)。

2.去抖动

当测试到有键闭合后,需进行去抖动处理。由于按键闭合时的机械弹性作用,按键闭合时不会马上稳定接通,按键断开时也不会马上断开,由此在按键闭合与断开的瞬间

会出现电压抖动,如图6-2所示。键盘抖动的时间一般为5~10ms,抖动现象会引起CPU 对一次键操作进行多次处理,从而可能产生错误,因而必须设法消除抖动的不良后果。通过去抖动处理,可以得到按键闭合与断开的稳定状态。去抖动的方法有硬件与软件两种:硬件方法是加去抖动电路,如可通过RS触发器实现硬件去抖动;软件方法是在第一次检测到键盘按下后,执行一段10ms的延迟子程序后再确认该键是否确实按下,躲过抖动,待信号稳定之后,再进行键扫描。通常多采用软件方法。

3.采用查询方式确定键位

如图可见,若某键闭合则相应单片机引脚输入低电平。

4.键释放测试

键盘闭合一次只能进行一次键功能操作,因此必须等待按键释放后再进行键功能操作,否则按键闭合一次系统会连续多次重复相同的键操作。(对于开关式按键,可不必等待键释放)。程序如下:

KEY:ACALL KCS ;检查有键闭合否

JZ RETURN ;无键闭合则返回

ACALL DELAY ;有键闭合,延时12ms消抖动

KEY0:JNB ACC.0,KEY1 ;不是0号键,查下一键

KSF0:ACALL DELAY ;是0号键,调延时等待键释放

ACALL KCS ;检查键释放否

JNZ KSF0 ;没释放等待

ACALL FUN0 ;若键已释放,执行0号键功能

JMP RETURN ;返回

KEY1:JNB ACC.1,KEY2 ;检测1号键

KSF1:ACALL DELAY

ACALL KCS

JNZ KSF1

ACALL FUN1

KEY3:JNB ACC.3,RETURN ;检测3号键

KSF3:ACALL DELAY

ACALL KCS

JNZ KSF3

ACALL FUN3

RETURN:RET ;子程序返回

二、矩阵式键盘

矩阵式键盘又称行列式键盘,见图6-3。图中,P1口的8根口线分别作为4根行线与4根列线,在其行、列交汇点接有16个键盘。与独立式键盘相比,单片机口线资源利用率提高了一倍。但若需要更多的键盘,需采用接口扩展的方式,见图6-4。图中利用8155芯片进行键盘扩展,利用PA口作为输出口,8根口线作为列线,利用PC口作为输入口,4根口线作为行线,由此产生32键的矩阵式键盘。这种

键盘采用扫描方式检测按键闭合情况及识别确定键码,因此称扫描方式键盘。

(一)扫描方式键盘工作原理

图6-4 32键矩阵式键盘应用电路

1.键闭合测试

图6-4中,键盘的行线一端经电阻接+5V电源,另一端通过8155 PC口送单片机。各列线的一端通过8155PA口连至单片机,另一端悬空。首先由PA口向所有列线输出低电平,然后再由PC口输入各行线状态。若行线状态皆为高电平,则表示无键闭合;若行线状态中有低电平则表明有键闭合。

设8155A口地址为0101H,C口地址为0103H,键闭合测试子程序KCS如下:

KCS:MOV DPTR,#0101H ;送A口地址

MOV A,#00H ;A口送00H

MOVX @DPTR,A

INC DPTR

INC DPTR ;建立C口地址

MOV A,@DPTR ;读C口

CPL A ;A取反,无键闭合则全为0

ANL A,#0FH ;屏蔽A高半字节

RET

该程序功能是检查是否有键闭合,若有键闭合则(A)≠0,否则(A)=0。

2.去抖动

仍采用软件延时的方法。

3.键位识别

为了准确判断闭合键的位置,要对每个按键进行编码。根据矩阵式键盘的结构,采用行扫描的键位识别方法。使某条列线为低电平,如果这条列线上没有闭合键,则各行线的状态都为高电平;如果列线上有键闭合,则相应的那条行线即变为低电平。于是就可以根据行线号与列线号计算出闭合键的键码。扫描时由第一列开始,即由PA口先输出0FEH,然后由PC 口输入行线状态,判断哪一行有键闭合,若无键闭合,再输出0FDH检测下一列各行键闭合状态,由此一直扫描下去。

根据图6-4 中各键的编号情况,各键的键码可按如下公式计算:

键码= 行首键号+列号

4.键释放测试

(二)键盘扫描程序

EKY: ACALL KCS ;检查有键闭合否

JNZ LK1 ;有键按下则转移至消抖动

AJMP KEY ;无键按下则返回

LK1: ACALL DELAY ;12ms延时消抖动

ACALL KCS ;再查有键闭合否

JZ KEY ;有键闭合则进行键扫描计算键码

MOV R2,#0FEH ;置第一列扫描值

MOV R4,#00H ;置初始列号

XYL: MOV DPTR,#0101H ;建立A口地址

MOV A,R2

MOVX @DPTR,A ;输出扫描初值

INC DPTR

INC DPTR ;建立C口地址

MOVX A,@DPTR ;读C口

JB ACC.0,LINE1 ;第一行无键闭合,转查第二行

MOV A,#00H ;第一行有键闭全,置第一行首键值

AJMP KJS ;转到计算键码

LINE1: JB ACC.1,LINE2 ;第二行无键闭合,转查第三行

MOV A,#08H ;第二行有键闭全,置第二行首键值

AJMP KJS ;转到计算键码

LINE2: JB ACC.2,LINE3 ;第三行无键闭合,转查第四行

MOV A,#10H ;第三行有键闭全,置第三行首键值

AJMP KJS ;转到计算键码

LINE3: JB ACC.3,NEXT ;第四行无键闭全,转查下一列

MOV A,#18H ;第四行有键闭全,置第四行首键值

KJS: ADD A,R4 ;计算键码

PUSH ACC ;保存键码

KSF: ACALL DELAY

ACALL KCS ;键释放否,若仍闭合则延时等待

JNZ KSF

POP ACC ;若键已释放,则键码送A

RET

NEXT: INC R4 ;列扫描号加1

MOV A,R2

JNB ACC.7,KEY ;第8列已扫描完则进行下一循环扫描

RL A ;置下一列列扫描值

MOV R2,A

AJMP XYL ;扫描下一列

此程序执行后,键码保存在累加器A中。主程序可根据累加器A中的键码执行相应的功能程序。

(三)键盘扫描的中断控制方式

在单片机系统中,CPU除了对键盘进行处理外,还要进行数据处理、结果输出显示及其它各种控制,因此键盘处理不应占用CPU过多的时间,但又必须保证CPU能够检测到键盘的工作。为提高CPU的工作效率,可采用中断扫描方式。当无键闭合时,CPU处理自已的工作,当有键闭合时,产生中断请求,CPU转去执行键盘扫描子程序并执行相应的功能。图6-5 即为采用中断方式的键盘扫描电路。与图6-3相比,本电路采用4输入与门用于产生键盘中断,其输入端与各行线相连,输出端接至8031的外部中断输入端。当无键盘闭合时,与门各输入端均为高电平,输出端为高电平;当有键闭合时,为低电平,于是向CPU 申请中断。若CPU开放中断,则会响应该键盘中断,转去执行键盘扫描子程序。

第二节LED显示接口电路

一、LED显示器

LED(Light Emitting Diode)显示器是由发光二极管作为显示字段的数码型显示器件,具有显示清晰、成本低廉、配置灵活、与单片机接口简单易行的特点,在单片机应用系统中得到了广泛的应用。

1.LED显示器结构与分类

LED显示器内部由7段发光二极管组成,因此亦称之为七段LED显示器,由于主要用于显示各种数字符号,故又称之为LED数码管。每个显示器还有一个圆点型发光二极管(用符

号DP表示),用于显示小数点,图6-6为LED显示器的符号与引脚图。根据其内部结构,LED显示器可分为共阴极与共阳极两种LED显示器,见图6-7所示。

(a)共阴极结构(b)共阳极结构

图6-6 LED显示器的符号与引脚图图6-7 LED显示器内部结构图

(1)共阴极LED显示器。图6-7(a)为共阴极LED显示器的内部结构。图中各二极管的阴极连在一起,公共端接低电平时,若某段阳极加上高电平则该段发光二极管就导通发光,而输入低电平的段则不发光。

(2)共阳极LED显示器。图6-7(b)为共阳极LED显示器的内部结构。图中各二极管的阳极连在一起,公共端接高电平时,若某段阴极加上低电平则该段发光二极管就导通发光,而输入高电平的段则不发光。

LED数码管通常有红色、绿色、黄色三种,以红色应用最多。由于二极管的发光材料不同,数码管有高亮与普亮之分,应用时根据数码管的规格与显示方式等决定是否加驱动电路。2.LED显示器的段码

7段LED显示器可采用硬件译码与软件译码两种方式。在数字电路中曾介绍硬件译码显示方法,如利用74LS47等实现译码显示,这里主要介绍软件方式实现译码显示。加在显示器上对应各种显示字符的二进制数据称为段码。数码管中,七段发光二极管加上一个小数点位共计8段,因此段码为8位二进制数,即一个字节。由于点亮方式不同,共阴与共阳两种LED数码管的段码是不同的,详见表6-1。

表6-1 LED数码管段码表

字型共阳极段码共阴极段码字型共阳极段码共阴极段码

0 C0H 3FH 9 90H 6FH

1 F9H 06H A 88H 77H

2 A4H 5BH B 83H 7CH

3 B0H 4FH C C6H 39H

4 99H 66H D A1H 5EH

5 92H 6DH E 86H 79H

6 82H 7DH F 8EH 71H

7 F8H 07H 灭FFH 00H

8 80H 7FH

二、LED并行显示技术

1.利用8155做LED显示器并行接口电路

在单片机应用系统中,通常具有多位LED显示器,在编程时采用动态显示方式。所谓动态显示是指利用单片机控制显示器逐位点亮,而不是同时点亮。由于人眼的视觉残留效应,仍然感觉显示器是同时点亮的,但要求显示器动态点亮的速度应足够快,否则会有闪烁感。图6-8 利用8155芯片扩展6位LED显示器

在实现动态显示时,除了必须给各位数码管提供段码外还必须对各位显示器进行位的控制,即进行段控与位控。工作时,各位数码管的段控线对应并联在一起,由一个8位的I/O口控制;各位的位控线(公共阳极或阴极)由另一I/O控制。在某一时刻只选通一位数码管,并送出相应的段码。

图6-8为利用8155扩展6位LED显示器接口电路。利用8155PC口作为位控输出口。7

路达林顿反向驱动输出芯片MC1413作为位控驱动;利用8155PA口作为段控输出口,输出8位段码。为增加显示亮度,采用双向驱动芯片74LS245进行段码输出驱动。

2.建立显示缓冲区

显示缓冲区是指在内存中开辟的一块存储区域,专门用于存放待显示的数据,存储区域大小至少应与LED数码管位数相同。设显示缓存单元为30H~35H,显示内容自右至左为为1、2、3、4、5、6,则缓存与LED数码管对应关系如下表所示:

数码管LED5 LED4 LED3 LED2 LED1 LED0

缓存单元35H 34H 33H 32H 31H 30H

显示数据06H 05H 04H 03H 02H 01H

3、显示子程序设计

设8155A口地址(即段控口)为0101H,C口地址为0103H。寄存器R0作为地址指针,寄存器R3存放当前位控值,DELAY为延时子程序,延时时间大约为1ms。程序如下:DISPLAY: MOV R0,#30H ;建立显示缓冲区首址

MOV R3,#01H ;从右边第一位数码管开始显示

MOV A,R3 ;置位控码初值

LD0: MOV DPTR,#0103H ;置位控口地址

MOVX @DPTR,A ;输出位控码

MOV DPTR,#0101H ;置段控口地址

MOV A,@R0 ;取待显示数据

DIS0: ADD A,#0DH ;计算查表偏移量

MOVC A,@R0 ;查表法得到对应段码

DIS1: MOVX @DPTR,A ;输出段码

ACALL DELAY ;延时以使显示器作显示停留

INC R0 ;指向下一缓冲单元

MOV A,R3

JB ACC.5,DIS1 ;最后位显示完了吗,完则返回

RL A ;修改位控码,指向高位

MOV R3,A ;位控码送R3保存

AJMP DIS0 ;继续显示下一位

LD1: RET

TAB: DB 3FH,06H,5BH,4FH … 00H ;段码表

三、串行LED显示技术

在单片机系统设计中,LED显示方式由于具有使用方便、价格低廉等优点而得到广泛应用。在采用并行显示方式时,显示电路的段码与位控码要占用单片机的较多口线,尽管可采用8155等接口芯片进行扩展,但口线利用率仍较低,不能满足大型控制系统的要求。采用串行显示方式则只需占用2至3根口线,节约单片机大量的I/O线,且使用效果很好。下面介绍一种基于74HC595A的LED串行显示技术。

1.74HC595A工作原理

74HC595A内部含有8位移位寄存器和8位D锁存器,内部结构见图6-9所示。

串行移位寄存器接收外部输入串行数据,一方面可进行串行数据输出,同时向锁存器提供8位并行输入数据,并具有异步复位功能;8位锁存器可三态输出并行数据。该芯片具有串行输入、并行输出两个独立的时钟信号。表6-2为该芯片的逻辑功能表。

表6-2 74HC595A逻辑功能表

工作状态输入输出

SER SRCLK RCLK

SQH Q0-Q7

复位L ×× L H ↓ L L U

串行输入H D ↑ L H ↓ L SRG SRH U

锁存输出H × L H↓ ↑ L U N

高阻× × × × H Z

注:U:不变;N:数据刷新;Z:高阻。

输入数据在串行移位时钟SCLK上升沿由串行输入端SER输入到芯片内部串行移位寄存器中,同时SQH端串行输出;在锁存时钟信号LCLK上升沿到来时,芯片将内部串行移位寄存器8位数据并行输出。正常工作时,应将复位端与使能端分别接高电平、低电平。2.应用电路设计

图6-10为12位LED显示器应用电路。若采用普通的LED并行显示方式需扩展单片机接口,电路复杂、成本高。本系统利用三片74HC595A芯片实现12位串行LED显示控制。使用时,在串行时钟的控制下,可将显示器位控码与段控码逐位串行输入至三个芯片中,然后利用锁存信号实现并行输出,完成12数数码显示更新。利用此显示方式仅占用单片机三根口线,极大节约单片机口线资源。采用串行数据输入,显示速度相对较慢,实际使用时显示效果稳定、可靠,完全满足设计要求。

单片机键盘显示接口电路设计说明

中北大学 单片机及其接口技术 课程设计说明书 学生:学号: 学院: 专业: 题目:单片机键盘显示接口电路设计 指导教师:小林职称: 副教授 2012年6月17日

中北大学 单片机及其接口技术 课程设计任务书 11/12 学年第二学期 学院: 专业: 学生姓名:学号: 课程设计题目:单片机键盘显示接口电路设计 起迄日期:6月11日~6月17日 课程设计地点:中北大学 指导教师:小林 系主任:王忠庆

下达任务书日期: 2012年06月11日课程设计任务书

课程设计任务书

第一章、绪论89C51是一种带4KB闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL 的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。在本次课程设计中,便采用89C51单片机。 第二章、设计容 一、4×4键盘 原理:4 行 行 行 行

图1 电路原理图见附图一 本次设计为4×4的矩阵键盘,这样的设计可以有效的减少键盘与单片机接口时所占用的I/O接口。在这种非编码键盘的单片机系统中,键盘处理程序首先执行有无按键按下的程序段,当确认有按键按下后,下一步就要识别哪一个按键被按下,对键的识别常采用逐行(逐列)扫描的方法。 首先判断有无按键按下。方法是:向行线输出全扫描字00H,把全部行线置为低电平,然后将列线的电平状态读入到累加器A中,如果有按键按下,会使列线电平被拉至低电平,是列输入不全为1。 判断键盘哪一个键被按下。方法是:一次给行线送低电平,然后查所有列线状态,称为行扫描,如果全为1,则所按下键不在此行,如果不全为1,则所按下键必在此行,而且是在与零电平列线相交的交点上的那个键。 在此,按键的位置码并不等于按键的实际定义键值,因此还必须进行转换,即键值译码,本次设计中采用软件实现键值的译码,译码方式如下: 第0行键值为:0行×4+列号(0~3)为0、1、2、3; 第1行键值为:1行×4+列号(0~3)为4、5、6、7; 第2行键值为:2行×4+列号(0~3)为8、9、A、B; 第3行键值为:3行×4+列号(0~3)为C、D、E、F; 译码程序如下:

C51单片机和电脑串口通信电路图

C51单片机和电脑串口通信电路图与源码 51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。 串口通讯的硬件电路如上图所示 在制作电路前我们先来看看要用的MAX232,这里我们不去具体讨论它,只要知道它是TTL和RS232电平相互转换的芯片和基本的引脚接线功能就行了。通常我会用两个小功率晶体管加少量的电路去替换MAX232,可以省一点,效果也不错,下图就是MAX232的基本接线图。

按图7-3加上MAX232就可以了。这大热天的拿烙铁焊焊,还真的是热气迫人来呀:P串口座用DB9的母头,这样就可以用买来的PC串口延长线进行和电脑相连接,也可以直接接到电脑com口上。

为了能够在电脑端看到单片机发出的数据,我们必须借助一个WINDOWS软件进行观察,这里我们利用一个免费的电脑串口调试软件。本串口软件在本网站https://www.360docs.net/doc/f011970002.html,可以找到 软件界面如上图,我们先要设置一下串口通讯的参数,将波特率调整为4800,勾选十六进制显示。串口选择为COM1,当然将网站提供的51单片机实验板的串口也要和电脑的COM1连接,将烧写有以下程序的单片机插入单片机实验板的万能插座中,并接通51单片机实验板的电源。

郭天祥老师51单片机中矩阵键盘显示程序

3.键盘的应用,第一排。 #include #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; void delay(uint); uchar code table[]= { //段选的数字决定显示的数字,这里的是数字0~15 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,}; uchar num,temp; void main() { dula=0; wela=1; P0=0xc0; //位选6数码管 wela=0; while(1) { P3=0xfe; temp=P3; temp=temp&0xf0; while(temp!=0xf0) { delay(5); temp=P3; temp=temp&0xf0; while(temp!=0xf0) { temp=P3; switch(temp) { case 0xee:num=1; break; case 0xde:num=2; break; case 0xbe:num=3; break;

case 0x7e:num=4; break; } } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; } } dula=1; P0=table[num-1]; dula=0; } } void delay(uint z) //延时函数 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }

51单片机复位电路有关问题

想问一下单片机复位电路问题 复位过程我明白,RST接高电平复位,接低电平单片机正常工作 但电路连接不太理解什么意思, 想知道图中电解电容的作用,既然是按键高电平复位为什么要加电解电容呢不加可以吗?如果一定要加原因是什么? 另外想知道电容作用是隔直流通交流,是绝对的直流不通过还是什么充电过程无电流放电过程有电流,求指教 我认为绛红的蓝同学说的不太好。 电容确实可以起到按键去除抖动的作用,但是这里的电容还有一个更重要的作用就是上电复位,因为考虑到芯片刚刚上电时由于供电不稳定而做出错误的计算,所以增加一个上电复位以达到延时启动CPU的目的,使芯片能够正常工作。虽然现在很多芯片自带了上电延时功能,但是我们一般还是会增加额外的上电复位电路,提高可靠性。 上电复位是如此工作的,此时不用考虑按键和你图中1K电阻的作用。上电瞬间,电压VCC短时间内从0V上升到5V(比方说5V),这一瞬间相当于交流电,电容相当于导线,5V的电压全部加在10K电阻上,也就是说,这时RST的电平状态为高电平。但是从上电开始,电容自己就慢慢充电,其两端电压呈曲线上升,最终达到5V,也就是说其正端电位为5V,负端电位为0V,其负端也就正好是RST,此时RST为低电平,单片机开始正常工作。 添加按键是为了手动复位,一般那个1K电阻可以不加。当按键按下时,电容两端构成回路并放电,使RST端重新变为高电平,按键抬起时电容又充电使RST 变回低电平。 复位电路的作用 在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。 无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。 基本的复位方式 单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位 1、手动按钮复位 手动按钮复位需要人为在复位输入端RST上加入高电平(图1)。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。

根据C51单片机的键盘及LCD显示

基于C51单片机的键盘及LCD显示 一、实验目的 1.掌握矩阵式键盘的数字键和功能键的编程方法。 2.掌握LCD的接口技术和编程方法。 3.掌握仪器监控程序设计和调试方法。 二、预习与参考 1. 结合ST7920 控制器系列中文图形液晶模块有关资料手册,详细了解ST7920接口设计技术。 2. 参考资料 1)实验板说明书 2)ST7920 控制器系列中文图形液晶模块资料手册 三、设计指标 利用实验板上提供的键盘电路,LCD显示电路,设计一人机界面,能实现以下功能: 1.LCD上显示“重庆科技学院” 2.按键至少包括0-9的数字键 3.LCD显示按键值 4.电子钟显示:时,分,秒(选作) 四、实验要求 1.以单片机为核心,设计4*4非编码键盘及LCD的硬件电路,画出电路原理图。 2.设计4*4非编码键盘及LCD的控制软件,画出流程图,编写控制程序。

五、实验仪器设备和材料清单 单片机实验板、连接导线、ST7920图形液晶模块、PC机; Keil c51软件 六、实验设计及实施的指导 1.实验课前布置实验任务,提出实验要求,预习相关资料,完成硬件草图设计和软件流程图备查。 2.经指导教师检查,预习达到要求者进入实验室实验。 3.按照设计的电路连线,构建键盘及显示系统,经检查无误方可进入下一步。 4.在指导教师指导下调试LCD显示程序。 5.在指导教师指导下调试按键程序。 6.综合调试直到满足设计要求。 七、实验成绩评定方法 实验成绩包括预习、实验完成质量、实验报告质量4部分组成,各部分所占比例分别为30%、30%、40%。 八、实验报告要求 1.实验报告格式: 一.实验名称 二.实验目的 三.实验内容 四.设计思想 五.硬件设计 六.程序代码

单片机电路图详解

单片机:交通灯课程设计(一) 目录 摘要--------------------------------------------------------- 1 1.概述 -------------------------------------------------------- 2 2.硬件设计----------------------------------------------------- 3 2.1单片机及其外围--------------------------------------------3 2.1.1单片机的选择-----------------------------------------3 2.1.2单片机的特点及其应用范围----------------------------- 3 2.1.3存储器的扩展----------------------------------------- 4 2.1.4内存的扩展------------------------------------------- 6 2.1.5MCS-52的I/O接口扩展--------------------------------- 8 2.2电路部分--------------------------------------------------11 2.2.1元器件选用-------------------------------------------11 2.2.2电路完成功能-----------------------------------------13 3.软件设计------------------------------------------------------15 3.1软件概述-------------------------------------------------15 3.2汇编语言指令说明-----------------------------------------16 3.3定时/计数器的原理----------------------------------------16 3.3.1定时/计数器的概述-----------------------------------16 3.3.2 8255A片选及各端口地址-------------------------------18 3.3.3信号控制码------------------------------------------18 3.3.4工作方式寄存器--------------------------------------19 3.3.5定时/计数器初值及定时器T0的工作方式----------------20

单片机课程设计4X4矩阵键盘显示要点

长沙学院 《单片机原理及应用》 课程设计说明书 题目液晶显示4*4矩阵键盘按键号 程序设计 系(部) 电子与通信工程系 专业(班级) 电气1班 姓名龙程 学号2011024109 指导教师刘辉、谢明华、王新辉、马凌 云 起止日期2014.5.19—2014.5.30

长沙学院课程设计鉴定表

《单片机技术及应用》课程设计任务书系(部):电子与电气工程系专业:11级电子一班指导教师:谢明华、刘辉

目录 前言 (5) 一、课程设计目的 (6) 二、设计内容及原理 (6) 2.1 单片机控制系统原理 (6) 2.2阵键盘识别显示系统概述 (6) 2.3键盘电路 (7) 2.4 12864显示器 (8) 2.5整体电路图 (9) 2.6仿真结果 (9) 三、实验心得与体会 (10) 四、实验程序 (10) 参考文献 (18)

前言 单片机,全称单片微型计算机(英语:Single-Chip Microcomputer),又称微控制器 应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。现代人类生活中所用的几乎每件有电子器件的产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电子产品中都含有单片机。汽车上一般配备40多片单片机,复杂的工业控制系统上甚至可能有数百片单片机在同时工作!单片机的数量不仅远超过PC机和其他计算机的总和,甚至比人类的数量还要多。 是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。液晶显示器功耗低,因此倍受工程师青睐,适用于使用电池的电子设备。英国科学家在上世纪制造了第一块液晶显示器即LCD。而第一台可操作的LCD基于动态散射模式(Dynamic Scattering Mode,DSM),是RCA公司乔治·海尔曼带领的小组开发的。 LED点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示文字、图片、动画、视频等,是各部分组件都模块化的显示器件,通常由显示模块、控制系统及电源系统组成。LED点阵显示屏制作简单,安装方便,被广泛应用于各种公共场合,如汽车报站器、广告屏以及公告牌等。 交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键, 键盘是合理的。

51单片机数码管显示矩阵键盘键入值

51单片机实现数码管显示矩阵键盘键入值 #include #define uchar unsigned char uchar code decode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1 ,0x86,0x8e}; void delay(uchar); uchar temp,b,c,d,num; void display(uchar); void main() { while(1) { P0=0xfe; temp=P0; temp=temp&0xf0; if(temp!=0xf0) { delay(100); if(temp!=0xf0) { switch(temp)

case 0xe0:num=0;break; case 0xd0:num=1;break; case 0xb0:num=2;break; case 0x70:num=3;break; } } } P0=0xfd; temp=P0; temp=temp&0xf0; if(temp!=0xf0) { delay(100); if(temp!=0xf0) { switch(temp) { case 0xe0:num=4;break; case 0xd0:num=5;break; case 0xb0:num=6;break; case 0x70:num=7;break;

} } P0=0xfb; temp=P0; temp=temp&0xf0; if(temp!=0xf0) { delay(100); if(temp!=0xf0) { switch(temp) { case 0xe0:num=8;break; case 0xd0:num=9;break; case 0xb0:num=10;break; case 0x70:num=11;break; } } } P0=0xf7; temp=P0;

单片机课程设计 模拟键盘输入及显示系统设计..

课程设计说明书课程名称:单片机应用基础 设计题目:模拟键盘输入及显示系统设计专业:机械设计制造及其自动化 指导教师: 设计者: 学号:

目录 第一章课程设计的目的和要求 (1) 1.1课程设计的目的和要求 (1) 1.2课程设计预备知识 (1) 1.3课题设计的任务 (2) 第二章总体设计 介绍对系统设计的总体认识及解决方案,并对采取的方案进行论证 第三章硬件设计 介绍本系统所选用的各种芯片的功能、引脚、相应的命令控制字格式等,画出系统工作原理图及实现方法 第四章软件设计 介绍本系统的主要功能模块程序的框图,以及总体程序框图和设计思路 第五章系统调试 介绍系统调试过程以及出现的问题、解决方法 第六章结束语 简述课程设计的收获、体会以及对本教学环节的意见和建议 参考文献

第一章、课程设计目的和要求 1.1 课程设计目的和要求 《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 1.2课程设计预备知识 总的来说,设计者要具备Mcs-51单片机的有关硬件及软件知识,汇编语言编程或者C 语言编程的有关知识,I\O接口的有关知识,WAVE6000集成调试软件的应用,能利用PROTEUS 软件绘制系统工作原理,一定的设计经验等等。本次设计所要掌握的一些基本知识如下:(1)键盘工作原理 键盘是由若干按键组成的开关矩阵,是嵌入式控制系统的一种输入部件。键盘分两种:一种是独立式按键,另一种是矩阵式按键。如图所示。独立式按键用的比较少,可以直接与单片机的P1口某一位进行连接,通过判断这一位的状态知道是否有键输入。在应用中通常需要数量较多的按键,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 独立式键盘和4*4矩阵式键盘

51单片机AD89电路设计程序+原理图

AD0809在51单片机中的应用 我们在做一个单片机系统时,常常会遇到这样那样的数据采集,在这些被采集的数据中,大部分可以通过我们的I/O口扩展接口电路直接得到,由于51单片机大部分不带AD转换器,所以模拟量的采集就必须靠A/D或V/F实现。下现我们就来了解一下AD0809与51单片机的接口及其程序设计。 1、AD0809的逻辑结构 ADC0809是8位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成(见图1)。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

2、AD0809的工作原理 IN0-IN7:8条模拟量输入通道 ADC0809对输入模拟量要求:信号单极性,电压围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道

的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表所示。 C B A 选择的通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 数字量输出及控制线:11条 ST为转换启动信号。当ST上跳沿时,所有部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(+),VREF(-)为参考电压输入。

单片机8279键盘显示实验

6.4 可编程键盘/显示器接口——Intel 8279 Intel 8279是一种可编程键盘/显示器接口芯片,它含有键盘输入和显示器输出两种功能。键盘输入时,它提供自动扫描,能与按键或传感器组成的矩阵相连,接收输入信息,它能自动消除开关抖动并能对多键同时按下提供保护。显示输出时,它有一个16×8位显示RAM,其内容通过自动扫描,可由8位或16位LED数码管显示。 1.8279的内部结构和工作原理 8279的内部结构框图如图6.28所示。下面分别介绍电路各部分的工作原理。 1) I/O控制及数据缓冲器 数据缓冲器是双向缓冲器,连接内外总线,用于传送CPU和8279之间的命令或数据,对应的引脚为数据总线D0~D7。 I/O控制线是CPU对8279进行控制的引线,对应的引脚为数据选择线A0、片选线、读/写信号线和。 2) 控制与定时寄存器及定时控制 控制与定时寄存器用来寄存键盘及显示工作方式控制字,同时还用来寄存其它操作方式控制字。这些寄存器接收并锁存各种命令,再通过译码电路产生相应的信号,从而完成相应的控制功能。与其对应的引脚为时钟输入端CLK及复位端RESET。 定时控制电路由N个基本计数器组成,其中,第一个计数器是一个可编程的N级计数器,N为2~31之间的数。定时控制经软件编程,将外部时钟CLK分频,得到内部所需的100 kHz 时钟,为键盘提供适当的扫描频率和显示扫描时间。与其相关的引脚是显示熄灭控制端。 3) 扫描计数器 扫描计数器由键盘和显示器共用,为它们提供扫描信号。扫描计数器有两种工作方式:编码方式和译码方式。按编码方式工作时,计数器作二进制计数,4位计数状态从扫描线SL0~SL3输出,经外部译码器译码后,为键盘和显示器提供扫描信号。按译码方式工作时,扫描计数器的最低两位被译码后,从SL0~SL3输出,提供了4选1的扫描译码。与其相关的引脚是扫描线SL0~SL3。 4) 回复缓冲器、键盘去抖及控制 在键盘工作方式下,回复线作为行列式键盘的列输入线,相应的列输入信号称为回复信号,由回复缓冲器缓冲并锁存。在逐行列扫描时,回复线用来搜寻每一行列中闭合的键,当某一键闭合时,去抖电路被置位,延时等待10 ms后,再检查该键是否仍处在闭合状态。如不闭合,则当作干扰信号不予理睬;如闭合,则将该键的地址和附加的移位、控制状态等键

单片机复位电路参数计算

系统上电时,随着Vcc 电压由0V 增加到5V ,电容C1的上极板电位随之增加,电容的内电场增强,使C1能吸引更多的电子通过R 到达下极板,从外面看就电流通过C1 和R10入地。按电压在随着电流方向逐惭降低的原则,电流的出现会在R10端形成一大于0的电位。由于电容的充电逐渐饱和,所以电流会逐渐减小,电位也会逐渐减小。该电位的大小和持续的时间将直接影响到我们的系统能否上电复位。在AT89C51的规格书中有这么一段描述: 如果当Reset Pin 有两个机器周期的时间是高电平,那么就会系统就会被复位。 震荡频率震荡周期1 = 12*震荡周期机器周期= 所以对于12M 晶振做为“原动力”的系统来说,使系统复位的时间t 应大于: us M t 212*121 *2== 两个机器周期的时间求出来了,但是多高的电平才算是高电平呢?由AT89C51是规格书中关于其DC 特性的描述中可以知道,当Reset Pin 上的电压超过Min=0.7Vcc 时Reset Pin 就会认为是高电平。事先假设的系统电压为5V ,Vcc 在这里可以看成5V ,所以如果Reset Pin 上的电压超过0.7Vcc=3.5V ,就可以看成Reset Pin 为高电平,如果这超过3.5V 的电平持续时间超过2uS ,那么系统就会复位。 最后一步就是计算RST_H 处的电位了。不考虑流入Reset Pin 内电流,该电路就是一阶RC 电路。电容两端暂态电流与电压的关系式如下:

()()()()[]RC t C C C C U U U t U -+∞-+∞=e 因为()V U C 5=∞;()V U C 00=+;所以 ()RC t C t U --= 55 设Reset pin 电压为()t U R ,那么: ()()t U V t U C CC R -= 所以, ()RC t R t U -= 5, 当()V t U R 4.3=的时, RC t 357.0= 当且仅当 us RC t 2357.0≥=时,系统才会复位,即满足条件 610*6.5-≥RC 所以用R=1K Ω、C=22μF 符合要求

单片机各种复位电路原理

单片机各种复位电路原理 复位电路的作用 在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是 一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁 兼容性能。 无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设 计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可 靠引起的。 基本的复位方式 单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始 工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位 1、手动按钮复位 手动按钮复位需要人为在复位输入端RST上加入高电平(图1)。一般采用的办法是在RST 端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒, 所以,完全能够满足复位的时间要求。

图1 图2 2 、上电复位 AT89C51 的上电复位电路如图 2 所示,只要在RST 复位输入引脚上接一电容至Vcc 端,下接一个电阻到地即可。对于CMOS 型单片机,由于在RST 端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1μF。上电复位的工作过程是在加电时,复位电路通 过电容加给RST 端一个短暂的高电平信号,此高电平信号随着Vcc 对电容的充电过程而 逐渐回落,即RST 端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地 复位,RST 端的高电平信号必须维持足够长的时间。上电时,Vcc 的上升时间约为10ms ,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz ,起振时间为1ms ;晶振频率为1MHz ,起振时间则为10ms 。在图 2 的复位电路中,当Vcc 掉电时,必然会使RST 端电压迅速下降到0V 以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生 损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l态”。如果系统在上电时得不到有效的复位,则程序计数器PC 将得不到一个合适的初值,因此,CPU 可能会从一个未被定义的位置开始执行程序。 2 、积分型上电复位 常用的上电或开关复位电路如图 3 所示。上电后,由于电容C3 的充电和反相门的作用,使RST 持续一段时间的高电平。当单片机已在运行当中时,按下复位键K 后松开,也能使RST 为一段时间的高电平,从而实现上电或开关复位的操作。 根据实际操作的经验,下面给出这种复位电路的电容、电阻参考值。 图3 中:C:=1uF ,Rl=lk ,R2=10k

51单片机的若干电路原理图

51单片机的若干电路原理图 单片机 2007-10-23 20:36:31 阅读198 评论0 字号:大中小订阅 利用下面这些原理图,就可以自己动手做个简单的实验板啦~~~~ 1 外接电源供电电路及电源指示灯 在单片机实训板上为系统设计了一个外接电源供电电路,这个电源电路具备两种电源供电方式:一种是直接采用PC的USB接口5V直流电源给实训板供电,然后在电源电路中加入一个500mA电流限制的自恢复保险丝给PC的USB电源提供了保护的作用;另一种是采用小型直流稳压电源供电,输出的9V直流电源加入到电源电路中,通过LM7805稳压芯片的降压作用,给实训板提供工作所需的5V电源。 如图2.4所示为采用LM7805稳压芯片进行降压供电的电源电路。 图2.4 外接电源供电电路 同时,为了显示外接电源给实训板提供了电源,在系统中增加了电源指示灯电路,如图2.5。 发光二极管工作在正常工作状态时,流过LED的电流只需要5~10mA左右就行,在电路中采用白发红高亮LED,所以可以取5mA左右

的电流值,通过计算,可知:连接LED的限流电阻的阻值可以采用680Ω。 图2.5 电源指示灯电路 2 系统复位电路 复位是单片机的初始化操作,只要给RESET引脚加上2个机器周期以上的高电平信号,即可使单片机复位。除了进入系统的正常初始化之外,当程序运行出错或是操作错误使系统处于死锁状态时,为了摆脱死锁状态,也需要按复位键重新复位。 在系统中,为了实现上述的两项功能,采用常用的按键电平复位电路,如图2.6所示。 2.6 按键电平复位电路 从途中可以看出,当系统得到工作电压的时候,复位电路工作在上电自动复位状态,通过外部复位电路的电容充电来实现,只要Vcc

实验四 8279键盘显示实验

(0F000H)CS1 A0 (B2)2M VCC OE1 1 A1 2 A2 4 A3 6 A4 8 Y4 12 Y3 14 Y2 16 Y1 18 Y8 3 Y7 5 GND 10 Y6 7 Y5 9 A5 11 VCC 20 OE2 19 A6 13 A8 17 A7 15 SN74LS240P U40 OUTA0 27 OUTB0 31 OUTA1 26 OUTB1 30 OUTA2 25 OUTB2 29 OUTA3 24 OUTB3 28 DB0 12 BD 23 DB1 13 DB2 14 SL0 32 DB3 15 SL1 33 DB4 16 SL2 34 DB5 17 SL3 35 DB6 18 DB7 19 RL0 38 RL1 39 IRQ 4 RL2 1 RL3 2 CS 22 RL4 5 RD 10 RL5 6 WR 11 RL6 7 A0 21 RL7 8 CLK 3 SHIFT 36 RESET 9 CNTL/S 37 8279 U37 D0 D1 D2 D3 D4 D5 D6 D7 RST WR RD 8279 1 2 3 4 5 6 7 8 JP62 A 1 B 2 C 3 OE2A 4 OE2B 5 OE1 6 Y7 7 GND 8 Y6 9 Y5 10 Y4 11 Y3 12 Y2 13 Y1 14 Y0 15 VCC 16 SN74LS138N U39 VCC VCC 12345678 JP93 a b c d f g dp e CLK A0 INT OE1 1 A1 2 A2 4 A3 6 A4 8 Y4 12 Y3 14 Y2 16 Y1 18 Y8 3 Y7 5 GND 10 Y6 7 Y5 9 A5 11 VCC 20 OE2 19 A6 13 A8 17 A7 15 SN74LS240P U40 1 2 3 4 5 6 7 8 JP78 a b c d f g dp e VCC 1 2 3 4 5 6 7 8 9 10K R123 VCC CS 1 2 3 4 5 6 7 8 JP77 C D B A

单片机复位电路理图解

单片机复位电路原理图解 复位电路的作用 在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。 无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。 基本的复位方式 单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位 1、手动按钮复位 手动按钮复位需要人为在复位输入端RST上加入高电平(图1)。一

般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。 图1 图2 2、上电复位 AT89C51的上电复位电路如图2所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电

容减至1µF。上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2的复位电路中,当Vcc 掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。 2、积分型上电复位 常用的上电或开关复位电路如图3所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。 根据实际操作的经验,下面给出这种复位电路的电容、电阻参考值。图3中:C:=1uF,Rl=lk,R2=10k

单片机键盘显示实验报告

单片机得键盘与显示实验报告 ㈠实验目得 1.掌握单片机I/O得工作方式; 2.掌握单片机以串行口方式0工作得LED显示; 3.掌握键盘与LED显示得编程方法. ㈡实验器材 1.G6W仿真器?一台 2.MCS—51实验板?一台 3.PC机???一台 4.电源一台 ㈢实验内容及要求 实验硬件线路图见附图 从线路图可见,8051单片机得P1口作为8个按键得输入端,构成独立式键盘。四个LED显示器通过四个串/并移位寄存器74LS164接口至8051得串行口,该串行口应工作在方式0发送状态下,RXD端送出要显示得段码数据,TXD则作为发送时钟来对显示数据进行移位操作。 编写一个计算器程序,当某一键按下时可执行相应得加、减、乘、除运算方式,在四个显示器上显示数学算式与最终计算结果。 注:①通过按键来选择加、减、乘、除四种运算方式。 ②输入两个数字均为一位十进制数,可预先放在内存中。 ㈣实验框图(见下页) ㈤思考题 1.当键盘采用中断方式时,硬件电路应怎样连接? P1、4~P1、7就是键输出线,P1、0~P1、3就是扫描输入线。输入与门用于产生按键中断,其输入端与各列线相连,再通过上拉电阻接至+5 V电源,输出端接至8051得外部中断输入端。 2、74LS164移位寄存器得移位速率就是多少? 实验中要求计算得式子与结果之间相差一秒,移位寄存器得移位速率应该就是每秒一位吧。其实这个问题确实不知道怎么回答。.。。。

?LED

实验代码: ORG0000H AJMPMAIN ORG 0030H MAIN:MOV 41H,#0BBH;对几个存放地址进行初始化MOV 42H,#0BBH MOV43H,#0BBH MOV44H,#0BBH MOV SCON,#00H ;初始化串行口控制寄存器,设置其为方式0 LCALLDISPLAY ;初始化显示 KEY:MOV R3,#08H;用来存放两个数据 MOV R4,#02H MOVP1,#0FFH ;初始化P1口 MOVA,P1 ;读取按键状态 CPL A ;取正逻辑,高电平表示有键按下 JZ KEY ;A=0时无键按下,重新扫描键盘 LCALL DELAY1 ;消抖 MOVA,P1;再次读取按键状态 CPL A JZ KEY;再次判别就是否有键按下 PUSH A KEY1:MOVA,P1 CPL A ANL A,#0FH ;判别按键释放 JNZKEY1;按键未释放,等待 LCALLDELAY1;释放,延时去抖动 POPA JB ACC、0,ADD1 ;K1按下转去ADD1 JBACC、1,SUB1 ;K1按下转去SUB1 JB ACC、2,MUL1 ;K1按下转去MUL1 JBACC、3,DIV1;K1按下转去DIV1 LJMP KEY ADD1:LCALL BUFFER ;显示加数与被加数MOV43H,#049H LCALL DISPLAY;显示加号 MOV A,R3 ADDA,R4 DA A MOV R3,A;相加结果放入R6

最新8279键盘显示汇总

8279键盘显示

精品资料 攀枝花学院电信学院专业基础综合实验 [设计实验室单片机计数器实验] 学生姓名: 学生学号: 院(系):电信学院 年级专业: 指导教师: 二〇一二年六月 仅供学习与交流,如有侵权请联系网站删除谢谢I

设计准备 1、课程设计的目的 (1)检查学生对本门课程所学知识的掌握程度及对知识的灵活的运用情况。 (2)检查学生对具体问题的分析能力和解决问题的能力。 (3)锻炼学生的实际设计能力。 (4)加强学生对单片机在应用设计中的感性认识,为日后的单片机应用打基础。 2、课程设计的内容和要求 (1)实验要求: 编制程序,利用8279及键盘显示接口电路,编程实现按键的读取,并将按键值显示在数码管上。 (2)实验目的: 1)掌握在MSC-51系统中扩展8279键盘显示接口 的方法。 2)掌握8279工作原理和编程方法。 (3)设计要求: 1) 实验电路及连线。 2) 给出实验程序设计框图及程序清单。 3) 验证实验的可靠性。 一、8279芯片

8279是一种可编程的键盘/显示器接口芯片。 (1)8279的内部结构图 (2)8279的内部结构及功能 按其功能分为:键盘功能块;显示功能块;控制功能块;与CPU接口功能块 控制功能块: 控制和定时寄存器,定时和控制,扫描计数器三部分,它主要是用来控制键盘和显示功能块工作的. 控制和定时寄存器 : 用于存贮来自CPU的编程命令,CPU对8279编程以确定键盘与显示器工作方式和其它工作条件时,先把命令控制数据放到数据总线上,然后使A0=1,WR=0CS=0,并在WR上升沿把命令键存在控制和定时寄存器中,并经译码,建立适当的功能. 定时和控制: 它含基本的定时计数器,第一个计数器是一个分频系数为2-31的前置定时器,分频系数可由程序预置,使内部频率为100KHz,从而能给出5.1ms 键盘扫描时间和10.3ms反跳时间,其它计数器将此基本频率分频后,提供适当的按键扫描.行扫描.键盘阵列扫描.以及显示器扫描次数. 扫描计数器:扫描计数器有两种工作方式,在编码工作方式时,计数器提供一种二进制计数,通过管脚SL0-SL3输出后经外部译码才能提供给键盘和显示器的扫描作用,在译码工作方式时,扫描计数器对最低二位进行译码,SL0-SL3输出4选1 的译码信号,作为显示器和键盘的译码扫描. 键盘功能块:

相关文档
最新文档