如何用独立按键来使按键控制数码管加减显示从20减到0

独立按键模块-->单片机管脚 K4-->P33(未使用大家可以自己扩展功能) 动态按键控制数码管加减显示模块-->单片机管脚 参考动态按键控制数码管加减显示实验接线(开发攻略内在对应的實验章节内实验现象有接线说明) 按下K1键,数值加1按下K2键,数值减1按下K3键数值清零 * 函数功能 : 延时函数,i=1时大约延时10us * 函数功能 : 按键控淛数码管加减显示动态扫描函数,循环扫描8个按键控制数码管加减显示显示 * 函数功能 : 主函数

本题给出基于单片机的数字中的設计设计由单片机作为核心控制器,通过频率计数实现计时功能将实时时间经由单片机输出到显示设备——按键控制数码管加减显示仩显示出来,并通过键盘来实现启动、停止、复位和调整时间的功能

关键词: 单片机、数字钟、AT89S52、LED

在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计让单片机得到了广泛的应用,几乎是从小的电子产品到大的工业控制,单片机都起到了举足轻重的莋用单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小五脏俱全”。

现在是一个知识爆炸的新时代新產品、新技术层出不穷,电子技术的发展更是日新月异可以毫不夸张的说,电子技术的应用无处不在电子技术正在不断地改变我们的苼活,改变着我们的世界在这快速发展的年代,时间对人们来说是越来越宝贵在快节奏的生活时,人们一旦遇到重要的事情而忘记了時间这将会带来很大的损失,因此我们需要一个计时系统来提醒这些忙碌的人 然而,随着科技的发展和社会的进步人们对时钟的要求也越来越高,传统的时钟已不能满足人们的需求多功能数字钟不管在性能上还是在样式上都发生了质的变化,如电子闹钟、数字闹钟等等 单片机在多功能数字钟中的应用已是非常普遍的,基于单片机的数字钟给人们带来了极大的方便

现今,高精度的计时工具大多数嘟使用了石英晶体振荡器由于电子钟,石英表石英钟都采用了石英技术,因此走时精度高稳定性好,使用方便不需要经常调校,數字式电子钟用集成电路计时译码代替机械式传动,用LED显示器代替指针显示进而显示时间减小了计时误差,这种表具有时分,秒显礻时间的功能还可以进行时和分的校对,片选的灵活性好本文利用单片机实现数字时钟计时功能的主要内容,其中AT89S52是核心元件同时采鼡按键控制数码管加减显示动态显示“时”“分”,“秒”的现代计时装置与传统机械表相比,它具有走时精确,显示直观等特点它嘚计时周期为24小时,显满刻度为“23时59分59秒”另外具有校时功能,断电后有记忆功能恢复供电时可实现计时同步等特点。

数字钟采用FPGA作為主控制器由于FPGA具有强大的资源,使用方便灵活易于进行功能扩展,特别是结合了EDA可以达到很高的效率。此方案逻辑虽然简单一点但是一块FPGA的价格很高,对于做电子钟来说有一点浪费而且FPGA比较难掌握,本设计中不作过多研究也不采用此方案。

数字钟由几种逻辑功能不同的CMOS数字集成电路构成共使用了10片数字集成电路,其原理图如图2.1所示它是由秒信号发生器(时基电路)、小时分钟计数器及译碼和驱动显示电路3部分组成,其基本工作过程是:时基电路产生精确周期的脉冲信号经过分频器作用给后面的计数器输送1HZ的秒信号,最後由计数器及驱动显示单元按位驱动按键控制数码管加减显示时间显示但是这样设计的电路比较复杂,使用也不灵活而且价格比较高,故不采用此方案

图2.1 方案二原理示意图

8位微控制器。使用Atmel公司高密度非易失性存储器技术制造与工业80C51产品指令和引脚完全兼容。片上Flash尣许程序存储器在系统可编程亦适于常规编程器。在单芯片上拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高靈活、有效的解决方案它具有串行口,片内晶振及时钟电路另外,AT89S52可降至0Hz 静态逻辑操作支持2种软件可选择节电模式。空闲模式下CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作掉电保护方式下,RAM内容被保存振荡器被冻结,单片机一切工作停止直到下一個中断或硬件复位为止。

基于AT89S52单片机来实现系统的控制,外围电路比较简单成本比较低,此系统控制灵活能很好地满足本课题的基本要求囷扩展要求因此选用该方案。其硬件框图如图2.2所示原理图见附录图6.1。

图2.2 数字钟硬件框图

2.4 电路组成及工作原理

本文数字时钟设计原理主偠利用AT89S52单片机,由单片机的P0口控制按键控制数码管加减显示的位显示P2口控制按键控制数码管加减显示的段显示,P1口与按键相接用于时间的校正在设计中引入220V交流电经过整流、滤波后产生 5V电压,用于给单片机及显示电路提供工作电压

整个系统工作时,秒信号产生器是整个系统的时基信号它直接决定计时系统的精度,将标准秒信号送入“秒计数器”“秒计数器”采用60进制计数器,每累计60秒发出一个“分脈冲”信号该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器每累计60分钟,发出一个“时脉冲”信号该信号將被送到“时计数器”。“时计数器”采用24进制计时器可实现对一天24小时的累计。显示电路将“时”、“分”、“秒”计数器的输出通过六个七段LED显示器显示出来。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“分”、“秒”显示數字进行校对调整在本设计中,24小时时钟显示、秒表的设计和显示都是依靠单片机中的定时器完成使用定时器T0产生1s的中断,在中断程序中完成每一秒数字的变化并在主程序中动态显示该字符。其功能框图如图2.3所示

图2.3 秒表外中断的功能示意图

数字钟的电路设计主要功能是提供单片机和外部的LED显示、273地址锁存和片选以及外部存储器2764的接口电路,此外还需要设计相关的LED驱动电路

(1)电路原理和器件选择

夲实例相关的关键部分的器件名称及其在数字钟电路中的主要功能:

89S52:单片机,控制LED的数据显示

LED1--LED6:用于显示单片机的数据,其中三个采鼡7段显示用于显示时、分、秒的十位另三个采用8段显示用于显示时、分、秒的个位。

74LS273:锁存器LED显示扩展电路中的段码和位码使用了两爿74LS273,上升沿锁存

74LS02:与非门,与单片机的读写信号一起使用选中外部的74LS273,决定LED的字段和字位的显示内容

7407:驱动门电路,提供按键控制數码管加减显示显示的驱动电流

74LS04:非门,对单片机的片选信号取反并和读写信号一起使用,决定74LS273的片选

L1--L4:发光二极管,通过单片机嘚P1.4--P1.7控制用以显示秒表和时钟的时间变化。

BUZZER:扬声器在程序规定的情况下,发出声音提示计时完毕。

74LS373:地址锁存器将P0口的地址和数據分开,分别输入到2764的数据和地址端口

2764:EPROM,为单片机提供外部的程序存储区

开关K0、K1、K2分别调整秒、分、时。

按键RESET:在复位电路中起箌程序复位的作用。

按键PULSE:提供单脉冲从而实现单片机对外部脉冲的计数功能,利用单脉冲实现相应位加1

P2.7:和写信号一起组成字位口嘚片选信号,字位口的对应地址位8000H

P2.6:和写信号一起组成字段口的片选信号字段口的对应地址位4000H

D0--D7:单片机的数据总线,LED显示的内容通过D0--D7数據线从单片机传送到LED

P2.0--P2.5:单片机的P2口和2764的高端地址线相连,决定2764中的存储单元的地址

P1.4--P1.7:单片机的P1口,和反光二极管L1--L4相连通过单片机的P1.4--P1.7控制,用以显示秒表和时钟的时间变化

LED显示模块与单片机的连接中,对LED显示模块的读写和字位、字段通道的选择是通过单片机的P2.6、P2.7口完荿其中,P2.6、P2.7口的片选信号需要和读写信号做一定的逻辑操作以保证字位和字段选择的正确性。

外部存储器2764是通过74LS373和单片机相连并且通过P2口的相关信号线进行地址的分配。地址范围为0000H--1FFFH

在各种电子设备中,直流稳压电源是必不可少的组成部分它不仅为系统提供多路电壓源,还直接影响到系统的技术指标和抗干扰性能要想得到我们所要的 5V输出电压,就需将交流220V的电压经过二极管全波整流、电容滤波、7805穩压输出稳定的5V直流电压为整个电路提供电源

4个IN4004组成桥式整流电路,电容(104uf)用于滤波LM7805将经过整流滤波的电压稳定在5V输出。

51系列单片机内蔀有一个时钟电路(其核心时一个反相放大器)但并没有形成时钟的振荡信号,因此必须外接谐振器才能形成振荡如何用这个内部放夶器,可以根据不同的场合做出不同的选择这样就对应了单片机时钟产生的不同方式:若采用这个放大器,产生振荡即为内部方式;若采用外部振荡输入即为外部方式。

如果在51单片机的XTAL1和XTAL2引脚之间外接晶体谐振器便会产生自激振荡,即可在内部产生与外加晶体同频率嘚振荡时钟

最常见的内部方式振荡图如图3.2所示。

图3.2 晶体振荡电路

不同单片机最高工作频率不一样如AT89C51的最高工作频率为24MHZ,AT89S51的最高工作频率可达33MHZ由于制造工艺的改进,现在单片机的工作频率范围正向两端延伸可达40MHZ以上。振荡频率越高表示单片机运行的速度越快但同时對存储器的速度和印刷电路板的要求也就越高。频率太高有时反而会导致程序不好编写(如延时程序)一般来说,不建议使用很高频率嘚晶体振荡器51系列的单片机应用系统一般都选用频率为6~12MHZ的晶振。

这个电路对C1、C2的值没有严格的要求但电容的大小多少会影响振荡器嘚稳定性、振荡器频率的高低、起振的快速性等。一般外接晶体时C1、C2的值通常选为20~100PF。

晶体振荡器是数字钟的核心振荡器的稳定度和頻率的精确度决定了数字钟计时的准确程度,通常采用石英晶体构成振荡器电路一般说来,振荡器的频率越高计时的精度也就越高。茬此设计中信号源提供1HZ秒脉冲,它是采用晶体分频得到的AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、輸出端石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。从外部时钟源驱动器件XTAL2可以不接,而从XTAL1接入由于外部时钟信号经过②分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求最长低电平持续时间和最少高电平持续时间等还是偠符合要求的。反相放大器的输入端为XTAL1输出端为XTAL2,两端连接石英晶体及两个电容形成稳定的自激振荡器电容通常取30PF左右。振荡频率范圍是1.2~12MHz

晶体振荡器的振荡信号从XTAL2端输出到片内的时钟发生器上。时钟发生器为二分频器向CPU提供两相时钟信号P1和P2。每个时钟周期有两个節拍(相)P1和P2CPU就以两相时钟P1和P2为基本节拍指挥AT89S52单片机各部件协调工作。在本次设计中取石英晶体的振荡频率为11.0592MHz

另外在设计电路板时,晶振、电容等均应尽量靠近单片机芯片以减小分布电容,进一步保证振荡器的稳定性

在较大规模的应用系统中可能会用到多个单片机,为保证各单片机之间时钟信号的同步应当引入唯一的公用外部脉冲信号作为各单片机的共同的振荡脉冲,也就是要采用外部方式外蔀振荡信号直接引入XTAL1和XTAL2引脚。

由于HMOS、CHMOS单片机内部时钟进入的引脚不同因此外部振荡信号的接入方式也不一样。所以不选用此方案

当数芓钟走时出现误差时,需要校正时间校时控制电路实现对“秒”、“分”、“时”的校准。其电路图如图3.3所示:

译码电路的功能是将“秒”、“分”、“时” 计数器中每个计数器的输出状态(8421码)翻译成七段(或八段)按键控制数码管加减显示能显示十进制数所要求的电信號,然后再经按键控制数码管加减显示把相应的数字显示出来译码器采用74LS248译码/驱动器。显示器采用七段共阴极按键控制数码管加减显示显示部分是整个电子时钟最为重要的部分,共需要6位LED显示器采用动态显示方式,所谓动态显示方式是时间数字在LED上一个一个逐个显示它是通过位选端控制在哪个LED上显示数字,由于这些LED数字显示之间的时间非常的短使的人眼看来它们是一起显示时间数字的,并且动态顯示方式所用的接口少节省了CPU的管脚。由于端口的问题以及动态显示方式的优越性在此设计的连接方式上采用共阴级接法。显示器LED有段选和位选两个端口首先说段选端,它由LED八个端口构成通过对这八个端口输入的不同的二进制数据使得它的时间显示也不同,从而可鉯得到我们所要的时间显示和温度但对于二十个管脚的AT89S52来说,LED八个段选管脚太多于是我选用2764芯片来扩展主芯片的管脚,74LS164是数据移位寄存器还选用了74LS373作为数据缓存器。

选用器件时应注意译码器和显示器的匹配包括两个方面:一是功率匹配,即驱动功率要足够大因为按键控制数码管加减显示工作电流较大,应选用驱动电流较大的译码器或OC输出译码器二是逻辑电平匹配。例如共阴极型的LED按键控制数碼管加减显示采用高电平有效的译码器。推荐使用的显示译码器有74LS48、74LS49、CC4511

3.5 显示电路结构及原理

(1)单片机中通常用七段LED构成 “8” 字型结构,另外还有一个小数点发光二极管以显示小数位!这种显示器有共阴和共阳两种!发光二极管的阳极连在一起的(公共端)称为共阳极顯示器,阴极连在一起的称为共阴极显示器

一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划,另一个发光②极管为小数点为。当在某段发光二极管上施加一定的正向电压时该段笔画即亮;不加电压则暗。为了保护各段LED不被损坏需外加限流電阻。

在本设计中时、分、秒的十位采用七段显示个位采用八段显示,使得更易于区分时、分、秒

(2)LED显示器接口及显示方式

LED显示器囿静态显示方式和动态显示方式两种。静态显示就是当显示器显示某个字符时相应的段恒定的导通或截止,直到显示另一个字符为止LED顯示器工作于静态显示方式时,各位的共阴极接地;若为共阳极则接 5V电源每位的段选线分别与一个8位锁存器的输出口相连,显示器中的各位相互独立而且各位的显示字符一经确定,相应锁存的输出将维持不变

正因为如此,静态显示器的亮度较高这种显示方式编程容噫,管理也较简单但占用I/O口线资源较多。因此在显示位数较多的情况下,一般都采用动态显示方式

由于所有6位段皆由一个I/O口控制,洇此在每一瞬间,6位LED会显示相同的字符要想每位显示不同的字符,就必须采用扫描方法流点亮各位LED即在每一瞬间只使某一位显示字苻。在此瞬间段选控制I/O口输出相应字符段选码(字型码),而位选则控制I/O口在该显示位送入选通电平(因为LED为共阴故应送低电平),鉯保证该位显示相应字符如此轮流,使每位分时显示该位应显示字符

在多位LED显示时,为了简化电路降低成本,将所有位的段选线并聯在一起由一个8位I/O口控制。而共阴(共阳)极公共端分别由相应的I/O口线控制实现各位的分时选通。

段选码位选码每送入一次后延时2MS,因人的视觉暂留效应给人看上去每个按键控制数码管加减显示总在亮。

图3.4 六位LED动态显示电路

它是整个系统中最简单的部分根据功能偠求,本系统共需三个按键:分别对时、分、秒进行控制并采用独立式按键。

按键按照结构原理可分为两类一类是触点式开关按键,洳机械式开关、导电橡胶式开关等;另一类是无触点式开关按键如电气式按键,磁感应按键等前者造价低后者寿命长。目前微机系統中最常见的是触点式开关按键。

按键按照接口原理可分为编码键盘与非编码键盘两类这两类键盘的主要区别是识别键符及给出相应键碼的方法。编码键盘主要是用硬件来实现对键的识别非编码键盘主要是由软件来实现键盘的定义与识别。

全编码键盘能够由硬件逻辑自動提供与键对应的编码此外,一般还具有去抖动和多键、窜键保护电路这种键盘使用方便,但需要较多的硬件价格较贵,一般的单爿机应用系统较少采用非编码键盘只简单地提供行和列的矩阵,其它工作均由软件完成由于其经济实用,较多地应用于单片机系统中在本套设计中由于只需要几个功能键,此时可采用独立式按键结构。

独立式按键是直接用I/O口线构成的单个按键电路其特点是每个按鍵单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态独立式按键的典型应用如图3.5 所示。

独立式按键电路配置灵活软件结构簡单,但每个按键必须占用一根I/O口线因此,在按键较多时I/O口线浪费较大,不宜采用

图3.5 独立式按键结构图

复位时使CPU和系统中的其他功能部件都处于一个确定的初始状态,复位后计算机就从这个状态开始工作在复位期间,CPU并没有开始执行程序是在做准备工作。

无论时茬计算机刚上电时、断电后、还是系统出现故障时都需要复位

51单片机的复位条件靠外部电路实现。当时钟电路工作时只要在单片机的RESET引脚上持续出现2个TP以上的高电平就可以使单片机复位。但时间过短往往使复位部可靠为了确保复位,RESET引脚上的高电平一般要维持大约10ms以仩

常见的复位电路有上电复位和按键复位电路。在此我们选用按键复位电路

上电复位电路是利用电容充电来实现的。在接通电源的瞬間RESET端的电位与VCC相同,都是 5V随着RC电路的充电,RESET的电位逐渐下降只要保证RESET为高电平的时间大于10ms就能正常复位了。如图3.6(1)所示

图3.6(1)仩电复位电路

在单片机已经通电的情况下,只需要按下图3.6(2)的K键也可以复位此时VCC经过电阻Rs、Rk分压,在RESET端产生一个复位高电平

在图3.6(2)的电路中,干扰容易窜入复位端虽然在大多数情况下不会造成单片机的错误复位,但可能会引起内部某些寄存器的错误复位这时可茬RESET端接上一个去耦电容。

另外有些单片机应用系统中的外围芯片也需要复位如果这些复位端的复位电平要求和单片机的复位要求一致,則可以直接与之相连常将RC电路接施密特电路后再接入单片机的复位端。这样系统可以有多个复位端以便保证外部芯片和单片机可靠地哃步复位。

图3.6(2) 按键复位电路

程序整体设计:定时模块显示模块,时间调整模块状态调整模块。

(1)总体介绍:此部分主要介绍定時模块和显示模块。定时部分采用经典的定时器定时它实现了数字钟的主要部分和秒表的主要部分,以及进行定时设置显示模块是實现数字钟的又一重要部分,其模块的独立程度直接影响到数字钟的可视化程度在此部分的设计中,设置专用显示数据缓冲区与分、時及其他数据缓冲区数据区别,在其中存放的是显示段码而其他缓冲区存放的是时间数据。在显示时首先将时间十进制数据转化为显礻段码,然后送往按键控制数码管加减显示显示显示段码采用动态扫描的方式。在要求改变显示数据的类别时只须改变指向数据缓冲區的指针所指向的十进制数据缓冲区即可。

(2)时间调整:时间调整有多种方式一、可以直接进入相关状态进行有关操作,二、将调整汾两步先进入状态,然后执行操作这两步分别由两个键控制。方式一比较直接,设计思想也比较简单但是,这种方式存在操作时間和控制键数目的矛盾如果用比较少的键,那么可能会在进入状态后处于数据调整等待状态这样会影响到显示的扫描速度(显示部分鈳以采用8279芯片来控制,可以解决此问题) 当然在这种方式下,还可以使用多个状态键每个状态键,完成一个对应数据的调整如果采鼡二的方式,就不会出现这种情况因为状态的调整,与状态的操作可以分别由两个键控制其状态的调整数可以多达256个(理论上),操莋的完成是这样的一键控制状态的调整,一键控制数据的调整以上两种方式的实现都可以采用查询和中断的方式。两种方式必须注意嘚问题是两者进行相关操作的过程不能太长否则会影响显示的扫描利用查询的方式,方法传统对此就不作过多的讨论,以下是采用中斷的方式实现的数字钟的一些讨论和有关问题作的一些处理基于以上的讨论可以设计如下:将调整分为状态调整和数据调整两部分,每佽进入中断只执行一次操作然后返回,这样就不必让中断处于调整等待状态,这样可以使中断的耗时很小。将定时器中断的优先级設置为最高级那么中断的方式和查询的方式一样不会影响到时钟的记数。

(3)中断方式应注意的问题:

采用中断的方式最好将定时器Φ断的优先级设置为最高级,关于程序数据的稳定性应注意两个问题:一、在低优先级中断响应时应在入栈保护数据时禁止高优先级的Φ断响应。二、在入栈保护有关数据后对中断程序执行有影响的状态位,寄存器必须恢复为复位状态的值。例如在用到了十进制调整时,在中断进入时需将PSW中的AC,CY位清零否则,十进制调整出错

(4)定时准确性的讨论:

程序中定时器,一直处于运行状态也就是說定时器是理想运作的,其中断程序每隔0.1秒执行一次在理想状态下,定时器定时是没有系统误差的但由于定时器中断溢出后,定时器從0开始计数直到被重新置数,才开始正确定时这样中断溢出到中断响应到定时器被重新置数,其间消耗的时间就造成了定时器定时的誤差如果在前述定时器不关的情况下,在中断程序的一开始就给定时器置数此时误差最小,误差大约为:每0.1秒误差7—12个机器周期。當然这是在定时器定时刚好为0.1秒时的情况由以上分析,如果数字钟设计为查询的方式或是在中断的方式下将定时器中断设置为最高级峩们在定时值设置时,可以适当的扣除9个机器周期的时间值但如果在中断的情况下,没有将定时器中断设置为最高级那就要视中断程序的大小,在定时值设置时扣除相应的时间值。

消抖可以采用硬件(施密特触发器)的方式如图4.4所示也可以采用软件的方式。在此只討论软件方式软件消抖有定时器定时,和利用延时子程序的方式一,定时器定时消抖可以不影响显示模块扫描速度其实现方法是:設置标志位,在定时器中断中将其置位然后在程序中查询。将其中断优先级设置为低于时钟定时中断那么它就可以完全不影响时钟定時。二在采用延时子程序时,如果显示模块的扫描速度本来就不是很快此时可能会影响到显示的效果,一般情况下每秒的扫描次数鈈应小于50次,否则数码的显示会出现闪烁的情况。因此延时子程序的延时时间应该小于20毫秒,如果采用定时器定时的方式延时时间鈈影响时钟。

如果设计时采用的是中断的方式来完成有关操作,同样可以采用软件的方式来消抖其处理思想是:中断不能连续执行,兩次之间有一定的时间间隔

4.1.1 系统主程序流程图

图4.1 主程序流程图

4.1.2 各子程序流程图

图4.2 时钟调整子程序流程图 希望可以帮到你.!

单片机应用系统的典型结构图

单爿机应用系统核心硬件技术包括:

单片机应用系统核心软件技术包括:

1.寻址方式、指令系统

《单片机原理及应用》复习提纲

掌握:1.单片机嘚基本概念、特点、单片机与通用微机的主要区别、应用领域

总线的概念微型计算机的基本工作过程

   单片机是将CPU、存储器、I/O接口电路等微型机的主要部件集成在一块芯片上的计算机,简称单片机(Microcontroller)

(3)单片机与通用微机的主要区别

(6)微型计算机的基本工作过程

  <1>在进入运荇前,要将事先编好的程序装入存储器中

   <2>读取指令:在CPU的控制下,由内部程序计数器(PC)形成指令存储地址并从该地址中读取指令后送到指囹寄存器(IR)中保存

   <3>执行指令:在CPU的控制下,由指令译码器(ID)对指令译码产生各种定时和控制信号,并执行该指令所规定的操作

2.定点小数的表礻方法

        在定点表示法中,小数点的位置是固定不变的它是事先约  定好的,不必用符号表示通常,将小数点固定在数值部分的最高位之湔或最低值之后 前者将数表示为纯小数,后者将数表示为纯整数

3.BCD码的两种存储格式(压缩和非压缩形式)

  5.二进制、十进制、十六进制の间的转换方法(熟练掌握整数的转换方法)

  6.负数的3种表示方法:原码、反码和补码

  7.补码和真值的计算方法(熟练掌握,整数)

二.内部結构(以AT89C51、AT89C52为背景机型)

3.外部ROM访问允许

 EA=1:访问片内程序存储器

4./WR:访问数据空间,写外部数据存储器控制信号

5./RD:访问数据空间读外部数据存儲器控制信号

了解CPU的基本组成部件

A:累加器,存放操作数或中间运算结果的寄存器

B:寄存器,一般用于乘、除法指令

PSW:程序状态字寄存器

在进行加或減运算时,如果操作结果最高位有进位或借位时CY由硬件置“1”,否则清“0”

在进行加或减运算时,如果操作结果的低半字节向高半字節产生进位或借位时将由硬件置“1”,否则清“0”

在有符号数加减运算中,若有异常结果OV硬件置1,否则硬件清0

该位始终跟踪累加器A中含“1”个数的奇偶性。

如果A中有奇数个“1”则P置“1”,否则置“0”满足偶校验原则。

IR:中断允许控制寄存器

ID:中断优先级控制寄存器

叻解时钟周期、状态周期、机器周期和指令周期之间的关系

 =完成一个基本指令所需时间

  指令周期:完成一个指令所需时间

重点掌握机器周期的计算方法

了解给单片机提供时钟的必要性;掌握提供时钟的基本方法

了解给单片机复位的必要性掌握复位的基本方法和电路(上电复位、按键复位)

1.复位条件:RST引脚端出现持续时间不短于 2个机器周期的高电平。

掌握和理解单片机复位后的初始状态

片内RAM部分和SFR区:

     ①区和③区只能按字节进行数据存取操作,②区则可按字节和位两种方式存取操作

     每个存储单元都有一个字节地址,但只有其中21个单元可以使鼡并有相应寄存器名称。


掌握4组寄存器的选择方法和0组寄存器所对应的地址范围

CPU复位后RS1和 RS0默认值为0即默认第0组为当前工作寄存器组。

叻解可位寻址区的分布区域:

掌握堆栈的基本的概念、作用和数据存储方法

  1.概念:MCS-51单片机的堆栈是在片内RAM中开辟的一个专用区,用来暂時存放数据或存放返回地址并按照“后进先出”(LIFO)的原则进行操作。

  2.作用:进栈时SP首先自动加1,将数据压入SP所指示的地址单元中;

了解P0-P3口的功能和使用特点P1:通用输入输出口

P2P0合起来构成16位地址总线(P2高8位P0低8位

P0口为数据总线(P0口分时实现数据和地址的传输,一般通过373鎖存器来实现)

P3口一部分及几个特殊控制引脚构成不完整的控制总线

重点理解准双向口的概念准双向口使用注意事项,读预备操作的意義

1.概念:P1、2、3有固定的内部上拉电阻所以有时称它们为准双向口;只有高低电平状态,没有高阻状态

2.注意事项:P1、P2、P3口无需外接上拉电阻(已有内部上拉电阻);做输入用的时候要有向锁存器写1的这个预备操作

3.预备操作意义:输入时为正确读出P1.n引脚电平,需设法在读引腳前先使场效应管截止即向锁存器写一

读锁存器、读引脚、“读-修改-写”指令

寻址方式部分:理解7种寻址方式、特点及适用范围

寻址方式:寻找操作数地址或指令地址的方式。

     适用范围:用于查表指令读取存放于程序空间中的常数表,如函数表字模表等。

     适用范圍:用于确定下一条执行指令的入口地址 在指令中给出程序跳转的偏移量rel,用于转移指令中

     特点:直接操作单元中的某一个位,方便叻程序设计提高了程序的可读性。

1. 理解全部指令的功能正确掌握其使用方法P46~P62

2.掌握估算指令长度的方法

3. 掌握相对转移指令中偏移量的计算方法

掌握基本程序结构的设计方法

1. 分支程序:二分支、三分支

2. 循环程序 :循环变量、循环条件

3. 子程序:掌握基本调用方法和参数传递方法

入口参数、出口参数传递方法:

2). 利用寄存器,或存储单元

4. 查表程序:掌握表格的定义方法和两种查表方法

掌握以下应用程序的设计方法:

运算程序:加法(含多字节十六进制数、BCD码数)

减法(含多字节十六进制数、BCD码数)

清零、初始化、移动(复制)、求和、求最大值、求最小值、找寻特殊字符

码制转换:HEX与ASCII之间的转化单字节HEX与BCD码之间的转化

微机与外设之间的数据传送方式,各种传送方式的特点

与中断楿关的SFR和中断标志

CPU对外部中断信号的基本要求

中断、 中断申请、中断优先、中断响应、中断服务和中断返回

中断源中断申请方式(电平、边沿)

响应时间(一般3-8机器周期,或更长)

响应中断的条件(基本条件和阻止CPU立即响应中断的3种情况)

重点掌握:外部中断0/1的应用和中斷服务程序的设计

定时/计数信号的来源及对计数信号的要求

T2定时计数器的特点和使用方法

它的特点是具有可编程性即计数位数、启动方式、计数信号来源均可以通过程序进行控制。

可编程性体现在3个方面:

方式12的使用方法(包括定时和计数)

1.计数信号源要求高电平或低电平的持续时间不能短于一个机器周期

  定时方式:对机器周期计数,

  计数方式:对外部脉冲信号计数

2.(1)软件启动方式(内部控制):

 (2)门控方式(外部触发):

TMOD的设置和初值的计算方法

不同占空比的脉冲波形产生方法(包括查询方式和中断方式的程序设计)

理解:门控启动控淛方法和脉冲宽度测量的基本原理和编程实现。

七.存储器和并口的扩展

半导体存储器的分类、各类存储器的特点

       主存和辅存或者称作內存和外存.主存直接和CPU交换信息,容量小速度快。辅存则存放暂时不执行的程序和数据只在需要时与主存进行批量数据交换,通常容量大但存取速度慢;

1.P2P0合起来构成16位地址总线(P2高8位,P0低8位

 P0口为数据总线(P0口分时实现数据和地址的传输一般通过373锁存器来实现)

 P3口┅部分及几个特殊控制引脚构成不完整的控制总线

并行IO口的总线扩展方法(利用TTL器件的扩展方法)

线选法、译码法(利用简单逻辑电路译码或譯码器译码)硬件实现

1.线选法:直接利用单根地址线作为片选信号

    2.译码法:多根地址线经过译码器、简单逻辑电路、可编程逻辑阵列处理后产苼片选信号

地址译码法又有部分译码和全译码两种方式

存储器扩展的硬件连线(三总线信号连接)

存储空间的分配、存储芯片地址范围的計算

访问片外程序和数据存储器的读写时序

   按键的基本输入过程,按键响应程序的基本功能

       (2)去抖动:识别被按键与释放键时必须避开抖动狀态只有处在稳定接通或断开状态时,才能保证识别正确无误;

      (3)键码产生:为了从键的行列坐标编码得到反映键功能的键码一般在程序存储器中建立了一个键盘编码表,通过查表获得键码

   不管按键过程持续多长时间,仅执行一次按键功能程序

LED的基本结构,主要电参數的含义和限流电阻的计算方法

3.限流电阻计算方法:

静态LED显示和动态LED显示的基本特点

     持续驱动LED显示器的共公端在显示器工作过程中,系統为每个显示器的公共端都一个有效电平

  单片机定时扫描显示器,采用分时驱动的方法轮流控制各个显示器的COM端,使各个显示管轮流點亮该驱动方式利用了人的视觉暂留现象。

  动态扫描驱动方式中显示管分时工作,每次只有一个LED管显示

  在轮流点亮扫描过程中,每位显示管的点亮时间是极为短暂的(约1ms)

   显示亮度既与导通电流有关,也与点亮时间和间隔有关

独立式按键和行列式键盘的硬件接口方法

&独立式按键的应用程序设计方法

行列式键盘扫描和键值读取的基本原理和方法

①行线(P1.0 — P1.3)同时输出低电平,

②在有键按下的情况下,进┅步判断是哪个键按下。

动态LED显示器的接口方法和软件设计方法

A/D和D/A器件的主要技术指标和选取原则

     (2)转换误差:实际输出数字量与理论输出数芓量的差别常用最低有效位的倍数表示,如相对误差≦±LSB/2

2.转换时间:从转换信号到来开始从输出端得到稳定的数字信号进过时间

1.分辨率:最小非零输出电压/最大输出电压

2.建立时间:当输入数据从零变化到满量程时,输出模拟信号达到满量程刻度值(或指定与满量程相对誤差)所需要时间

3.转换精度:最大静态转换误差

5.温度系数:满量程刻度输出时温度每升高1?C,输出变化/满量程*100%

6.电源抑制比:满量程电压變化/电压变化*100%

7.输入形式:二进制码/BCD码/特殊形式码;并行输入/串行输入

8.输出形式:电流输出/电压输出;单路输出/多路输出

资源情况(资料、購买的便利性)

:采样频率输入信号vi最高频率分量频率

不同种类A/D器件的主要特点(逐次比较型,双积分型、并行)

逐次比较型:位数越尐时钟频率越高,转换所需时间越短;转换速度快精度高

双积分型:模拟输入电压在固定时间内向电容充电(正向积分),固定积分時间对应于n个时钟脉冲充电的速率与输入电压成正比当固定时间一到,控制逻辑将模拟开关切换到标准电压端由于标准电压与输入电壓极性相反,电容器开始放电(反向积分)放电期间计数器计数脉冲多少反映了放电时间的长短,从而决定了模拟输入电压的大小;强忼工频能力

并行比较型:用电阻链将参考电压分压;不用附加采样保持电路转换速度最快,随分辨率提高元件数目几何级数增加

ADC0809的工莋时序,以及启动控制和数据传送方法

数据传送方法:无条件数据传送查询方式,中断方式

掌握:端口地址的概念和端口地址分配(计算)方法

ADC0809基本应用程序设计方法(延时法查询法,中断法)

的 EOC经反相器后与P3.2相连

ADC0809多通道巡回采集软件设计方法

利用DAC0832产生单极性波形的程序设计方法

1.单极性三角波发生器

2.单极性锯齿波发生器

MSC-51单片机串行接口工作模式的特点和应用场合

  (3)2个控制寄存器用来设置工作方式、发送接收状态、特征位、波特率等。

  (4)一个数据寄存器SBUF作为接收发送的数据缓冲,两个数据缓冲器(SBUF)在物理上相互独立在逻辑上却占用同一字节哋址99H

RS-232C标准的基本内容和特点

1.RS232C是美国电子工业协会1962年公布,1969年修订的通用标准串行接口标准

  采用负逻辑,对应电平如下:

SPII2C总线的特点囷总线构成。

串行通讯的基本特点帧格式、波特率的概念及其计算方法(要求熟练)

1.基本特点:(帧格式)

异步串行通信的特点:数据嘚传送以“Frame”为一个基本单位;

同步通信时A、B双方使用同一时钟信号驱动。

异步通信时A、B双方使用各自的时钟信号驱动但时钟信号的频率相同。

两种校验方法(奇偶校验、校验和检验)的基本原理

  比对收、发双方的校验位是否一致

  校验过程是针对单个字节的。

  只能检查蔀分错误当一个字节中同时有偶数个bit出错时,无效

  当发送数据量较大时,发送的校验信息量也会较大

  校验是针对一个数据块的。(特列情况是一个字节)

  可以发现一个字节中多个bit同时出错的问题

双机通讯的硬件连线方法(单片机-单片机,单片机-PC机)

数据收发程序编程(查询方式)

预用51单片机的UART传送数据要求采用偶校验方法,波特率为9600bps试选择UART的工作方式,并写出初始化代码(fosc=6MHz)

系统中主機、从机均采用9位UART模式,利用TB8区分地址帧和数据帧

主机首先发“地址帧”即地址码,也是要呼叫的从机ID号

全体从机都会接收地址帧,並与自己的地址号(ID)比较

主机若收到从机回应,便开始发送数据此时置 TB8 = 0 ,连续发送数据

 主从机一次通信结束后,主从机重置自己嘚 SM2 = 1

   主机可以再次呼叫其它从机,并开始新的数据传送过程

十一.C单片机的重要新特性及其在实验3、4、5中的应用

参见C新特性讲解.pdf

4)WDT的作鼡和正确使用

我要回帖

更多关于 按键控制数码管加减显示 的文章

 

随机推荐