当前位置:文档之家› 51单片机外扩RAM

51单片机外扩RAM

51单片机外扩RAM
51单片机外扩RAM

单片机外部RAM扩展模块

MCS-51系列单片机外部RAM为64K,在一些特殊场合下,远不能满足需要,

本文就AT89C51讨论MCS-51系列单片机大容量RAM的扩

首先介绍128K随机读取RAM HM628128。HM628128

是32脚双列直插式128K静态随机读取RAM,它具有容

量大、功耗低、价格便宜、集成度高、速度快、设计和

使用方便等特点。如若在系统中加入掉电保护电路,保

护数据有很高的可靠性,可以和EEPROM相媲美。

技术特性:

(1)最大存取时间为120ns;

(2)典型选通功耗75mW;典型未选通功耗10uW;

(3)使用单一5V电源供电;

(4)全静态存储器,不需要时钟及时序选通信号;

(5)周期时间与存取时间相等;

(6)采用三态输出电路,数据输入和输出端公用;

图6 HM628128外部引脚(7)所有输入和输出引脚均与TTL电平直接兼

容;

(8)有两个片选端,适合于低功耗使用,即为了保存信息,用电池作为后

备电源。保存信息的最低电源电压Vcc=2V。

引脚安排及功能表:

图6是HM628128的外部引脚排列图,各引脚名称及功用分别如下:

A0~A16是17条地址线;I/O0~I/O7是8条双向数据线;CS1是片选1,低电平有效,CS2是片选2,高电平有效;WR是写控制线,当CS1为低电平,CS2为高电平时,WR的上升沿将I/O0~I/O7上的数据写到A0~A16选中的存储单元

中;OE是读出允许端,低电平有效。

HM628128的功能表如表3所示。

其中,H表示高电平,L表示低电平,X表示任意状态

由于AT89C51直接外部RAM容量为64K,地址线为16条,其中低8位地址和数据分时复用,因此需要外部地址锁存器和ALE锁存信号来锁存低8位地址。又由于AT89C51的外部数据和外设地址通用,若扩展外设必然占用数据地址。因此本系统采用P2.7(A15)口来区分数据和外设:当P2.7(A15)口为高电平时,

选择外部数据;P2.7(A15)口为低电平时,则为外设。因此,直接外部数据容量和外设数量都为32K ,可用地址线为15条。本系统外部扩展RAM 为256K ,地址线18条。要达到18条地址线,则必须扩展。理论上可行方法很多,如以P1口的某几位作为最高位地址输出、外加锁存器锁存高位地址等。本系统采用后者,以保留P1口,况且外设空间充裕。扩展电路如图7所示:

图7 RAM 地址扩展电路

当读写外部数据时,首先应往高位地址锁存器中送入高位地址,然后再以DPTR 为间接地址访问外部数据,注意最高位地址应为1,即数据区最低地址为8000H 。

以下程序段演示了外部数据的读写。

……

MOV DPTR ,#0020H ;0020H 为高位地址锁存器的地址

MOV A ,#00H ;00H 表示第一个32K 空间

MOVX @DPTR ,A ;写入地址数据

MOV DPTR ,#8000H ;8000H 为每个32K 的第一个字节地址

MOVX A ,@DPTR ;从地址单元读取数据

……

若最后一句换为:

MOVX @DPTR ,A

则为向RAM 中写数据。

同时作者还利用HM628128的数据保持特性为其加入了掉电保护电路。当主电源关闭时,备用电源发挥作用,这样RAM 内的数据就不会丢失。其特性如表4所示。

译码器

地址总线

CS1 0V

图8 CS2控制数据保持时序

根据表4和图8可知,只要在系统上电或断电期间保证使HM628128的CS2立即变为低电平(CS2≤0.2V )或WR 立即变为高电平就可使其中的数据维持不变,图9可实现这一功能。

≥Vcc-0.2V

图9掉电保护电路

其原理如下:当系统正常时,电流通过D1向HM628128供电,同时向电池BT 充电,当系统电源切断时,将由电池供电。

上电时,系统电源对C1充电,在此期间CS2是输入要经过一定的延时后才能变为高电平,同时,由于U1、U2的电源是由系统电源对C2充电来建立的,这就保证了在上电时HM628128处于写静止状态。

在系统掉电瞬间,由于U1、U2由Vs供电,仍处于工作状态,电源掉电致使U1的输入立即变低,WR端变为低电平,从而禁止对HM628128的写入。同时C1也通过D2和R2放电,从而使CS2变为低电平。因此在掉电瞬间和掉电后,HM628128也处于写禁止状态。

经实践证明,本电路工作可靠,RAM中数据保存完整。

单片机时钟电路的设计

单片机时钟电路的设计 单片机内部虽有振荡电路,但要形成时钟必须在外总附加电路。 MCS-51单片机的时钟产生方法有如下两种。 1内部时钟方式 利用芯片内部的振荡电路,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到XTAL2输出时的时钟信号。 最常用的内部时钟方式是采用外接晶体(在频率稳定性要求不高而希望尽可能廉价时,可选用陶瓷谐振器)和电容组成的并联谐振回路,HMOS型和CHMOS型单片机和并联,谐振回路及参数相同。 振荡晶体可在1. 2MHz~12MHz之间。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,CX1和CX2可在20p~100pF间取值,但在60PF~70PF时振荡器有较高的频率稳定性。 在设计PCB板时,晶体或陶瓷谐振器和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保护振荡电路稳定可靠的工作。为了提高温度稳定性,采用NPO电容。2外部时钟方式 外部时钟方式是利用外部振荡信号源直接接入XRAL1或XTAL2。由于HMOS和CHMOS单片机内部时钟进入的引脚不同(CHMOS型单片同由XTAL1进入,HMOS 型单片机由XTAL2进入),其外部振荡信号源的接入方法也不同。HMOS型单片机的外部振荡信号接至XTAL2,而内部的反相放大器的输入端XTAL1应接地。由于XTAL2端的逻辑电平不是TTL的,故建议外接一个上拉电阻。而XTAL2不可以接地。 在CMOS电路中,因内部时钟引入端取自反相放大器的输入端(即与非门的输入端),故采用外部振荡信号源时接线方式与HNOS型有所不同,外部信号接至XTAL1,而XTAL2不可以接地。外部振荡信号通过去一个2分频的触发器而成为一个时钟信号。故对外部信号的占空比没什么要求,但高电平持续时间和低电平持续时间应大于20ns.

(完整word版)at89c51单片机中文资料

AT89C51的概况 1 AT89C51应用 单片机广泛应用于商业:诸如调制解调器,电动机控制系统,空调控制系统,汽车发动机和其他一些领域。这些单片机的高速处理速度和增强型外围设备集合使得它们适合于这种高速事件应用场合。然而,这些关键应用领域也要求这些单片机高度可靠。健壮的测试环境和用于验证这些无论在元部件层次还是系统级别的单片机的合适的工具环境保证了高可靠性和低市场风险。Intel 平台工程部门开发了一种面向对象的用于验证它的AT89C51 汽车单片机多线性测试环境。这种环境的目标不仅是为AT89C51 汽车单片机提供一种健壮测试环境,而且开发一种能够容易扩展并重复用来验证其他几种将来的单片机。开发的这种环境连接了AT89C51。本文讨论了这种测试环境的设计和原理,它的和各种硬件、软件环境部件的交互性,以及如何使用AT89C51。 1.1 介绍 8 位AT89C51 CHMOS 工艺单片机被设计用于处理高速计算和快速输入/输出。MCS51 单片机典型的应用是高速事件控制系统。商业应用包括调制解调器,电动机控制系统,打印机,影印机,空调控制系统,磁盘驱动器和医疗设备。汽车工业把MCS51 单片机用于发动机控制系统,悬挂系统和反锁制动系统。AT89C51 尤其很好适用于得益于它的处理速度和增强型片上外围功能集,诸如:汽车动力控制,车辆动态悬挂,反锁制动和稳定性控制应用。由于这些决定性应用,市场需要一种可靠的具有低干扰潜伏响应的费用-效能控制器,服务大量时间和事件驱动的在实时应用需要的集成外围的能力,具有在单一程序包中高出平均处理功率的中央处理器。拥有操作不可预测的设备的经济和法律风险是很高的。一旦进入市场,尤其任务决定性应用诸如自动驾驶仪或反锁制动系统,错误将是财力上所禁止的。重新设计的费用可以高达500K 美元,如果产品族享有同样内核或外围设计缺陷的话,费用会更高。另外,部件的替代品领域是极其昂贵的,因为设备要用来把模块典型地焊接成一个总体的价值比各个部件高几倍。为了缓和这些问题,在最坏的环境和电压条件下对这些单片机进行无论在部件级别还是系统级别上的综合测试是必需的。Intel Chandler 平台工程组提供了各种单片机和处理器的系统验证。这种系统的验证处理可以被分解为三个主要部分。系统的类型和应用需求决定了能够在设备上执行的测试类型。 1.2 AT89C51提供以下标准功能:

基于51单片机的实时时钟设计报告

课程设计(论文)任务书 信息工程学院信息工程专业(2)班 一、课程设计(论文)题目嵌入式课程设计 二、课程设计(论文)工作自 2014 年 6 月 9 日起至2014年 6月15日止。 三、课程设计(论文) 地点: 5-402 单片机实验室 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握单片机各功能模块的基本工作原理; (2)培养学生单片机应用系统的设计能力; (3)使学生能够较熟练地使用proteus工具完成单片机系统仿真。 (4)培养学生分析、解决问题的能力; (5)提高学生的科技论文写作能力。 2.课程设计的任务及要求 1)基本要求: (1)分析所设计系统中各功能模块的工作原理; (2)选用合适的器件(芯片); (3)提出系统的设计方案(要有系统电路原理图); (4)对所设计系统进行调试。 2)创新要求: 在基本要求达到后,可进行创新设计,如改善单片机应用系统的性能。 3)课程设计论文编写要求 (1)要按照书稿的规格打印撰写论文。 (2)论文包括目录(自动生成)、摘要、正文、小结、参考文献、附录等。 (3)论文装订按学校的统一要求完成。 4)答辩与评分标准: (1)完成原理分析:20分; (2)完成设计过程:30分; (3)完成调试:20分; (4)回答问题:20分; (5)格式规范性(10分)。

5)参考文献: (1)张齐.《单片机原理与嵌入式系统设计》电子工业出版社 (2)周润景.《PROTUES入门实用教程》机械工业出版社 (3)任向民.《微机接口技术实用教程》清华大学出版社 (4)https://www.doczj.com/doc/683264131.html,/view/a5a9ceebf8c75fbfc77db2be.html 6)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 系统设计与调试 4 实验室 撰写论文2图书馆、实验室 学生签名: 2014 年6 月9日 课程设计(论文)评审意见 (1)完成原理分析(20分):优()、良()、中()、一般()、差(); (2)设计分析(30分):优()、良()、中()、一般()、差(); (3)完成调试(20分):优()、良()、中()、一般()、差(); (4)回答问题(20分):优()、良()、中()、一般()、差(); (5)格式规范性(10分):优()、良()、中()、一般()、差(); 评阅人:职称: 2014 年6 月15 日

微机原理与单片机实验报告

北京联合大学信息学院实验报告 课程名称:微型计算机原理学号: 姓名: 2012 年 6 月 9 日

目录 实验1 EMU8086模拟器的使用 (3) 实验2 数据传送指令的使用 (5) 实验3 多位十六进制加法运算实验 (9) 实验5 循环程序实验 (11) 实验6 由1 到100 求和实验 (13) 实验7 求表中正数_负数_0 的个数实验 (14) 实验8 数据排列实验(冒泡排序) (16) 实验9 系统功能调用(大小写转换) (18) 实验10 阶乘(递归运算) (20) 实验11 ProteusIO工程文件的建立 (21) 实验12 IO口读写实验(245、373) (22) 实验13 8255 接口实验 (24) 实验14 声光报警 (25) 实验总结 (28)

实验1 EMU8086模拟器的使用 一实验要求 利用EMU8086模拟器环境,完成创建源程序文件,运行调试,实验结果的查看二实验目的: 熟悉EMU8086实验环境 三EMU8086环境: 1 模拟器编辑窗口 2 模拟器调试窗口

四实验内容 实验内容1:新建文件。 运行emu8086 1. 新建文件:单击“新建”按钮,选择COM模板,在模拟器编辑窗口中输入如下程序代码: MOV AX, 1020H MOV BX, 2030H MOV AX, BX ADD AX, BX MOV [BX], AX MOV [2032H], AX HLT 2. 编译:单击“编译”按钮,对程序段进行编译; 3. 保存:编译通过,单击“完成”按钮,将其以文件名“EXP1”保存在本地磁盘上。 4. 仿真:单击“仿真”按钮,打开模拟器调试窗口和源文件窗口。 5.在模拟器调试窗口中的寄存器组区,查看数据寄存器AX,BX,CX,DX;段寄存器CS,ES,SS,DS;指令指针寄存器IP;指针寄存器SP,BP;变址寄存器SI,DI;标志寄存器的值。 6.单击“单步前”按钮,单步执行程序,并观察每次单步执行后,相关寄存器值的变化。 7.单击“重载”按钮,将程序重载,并调整指令运行步进时延为400毫秒,单击“全速”按钮,运行程序, 8.程序运行之后,在程序调试窗口中,选择[view]/[memory],查看模拟器环境中,内存单元0700:0100开始的连续10个单元的内容 9.将“存储器”中的地址改为0700:2030,查看开始的四个字节的内容,并思考其内容与程序

51单片机课程设计

课程设计说明书
课程设计名称






学生姓名
指导教师
单片机原理及应用课程设计 电子信息工程 140405 20141329 李延琦 胡黄水
2016 年 12 月 26 日

课程设计任务书
课程设计 题目
酒精测试仪
起止日期
2016 年 12 月 26 日— 2017 年 1 月 6 日
设计地点
计算机科学与工程学 院单片机实验室 3409
设计任务及日程安排: 设计任务:分两部分: (一)、设计实现类:进行软、硬件设计,并上机编程、联线、调试、 实现; 1.电子钟的设计 2.交通灯的设计 3.温度计的设计 4.点阵显示 5.电机调速 6.电子音乐发声(自己选曲) 7.键盘液晶显示系统 (二)、应用系统设计类:不须上机,查资料完成软、硬件设计画图。 查资料选定题目。 说明:第 1--7 题任选其二即可。(二)里题目自拟。 日程安排: 本次设计共二周时间,日程安排如下: 第 1 天:查阅资料,确定题目。 第 2--4 天:进实验室做实验,连接硬件并编写程序作相关的模块实验。 第 5--7 天:编写程序,并调试通过。观察及总结硬件实验现象和结果。 第 8--9 天:整理资料,撰写课程设计报告,准备答辩。 第 10 天:上交课程设计报告,答辩。 设计报告要求:
1. 设计报告里有两个内容,自选题目内容+附录(实验内容),每 位同学独立完成。 2. 自选题目不须上机实现,要求能正确完成硬件电路和软件程序 设计。内容包括: 1) 设计题目、任务与要求 2)硬件框图与电路图 3) 软件及流程图 (a)主要模块流程图 (b)源程序清单与注释 4) 总结 5) 参考资料 6)附录 实验上机调试内容
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计 的依据。

AT89C51单片机时钟电路

工程设计 AT89C51单片机时钟电路 工程设计 目录 任务书 摘要 前言 说明书 第一章电路原理分析 1-1 显示原理 1-2 数码管结构及代码显示 1-3 键盘及读数原理 1-4 连击功能的实现 第二章程序设计思想和相关指令介绍 2-1 数据与代码转换 2-2 计时功能的实现与中断服务程序 2-3 时间控制功能与比较指令 2-4 时钟误差的分析 附录A 电路图 附录B 存储单元地址表 附录C 输入输出口功能分配表 附录D 定时中断程序流程图 附录F 调时功能流程图 附录G 程序清单 摘要

单片计算机即单片微型计算机。(Single-Chip Microcomputer ),是集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。而51 单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 前言 本文通过用对一个能实现定时,时钟,日历显示功能的时间系统的设计学习,详细介绍了51 单片机应用中的数据转换显示,数码管显示原理,动态扫描显示原理,单片机的定时中断原理、从而达到学习,了解单片机相关指令在各方面的应用。系统由AT89C51、LED 数码管、按键、二极管等部分构成,能实现时钟日历的功能:能进行时、分、秒的显示。也具有日历计算、显示和时钟,日历的校准、定时时间的设定,实现三路开关定时输出等功能。文章后附有电路图,程序清单,各数据存储单元的所在地址,输入输出口对应表。以供读者参考。因作者本人也是个初学者,水平有限,难免有疏落不足之处,敬请老师和同学能给与批评正。 说明书 系统由AT89C51、LED 数码管、按键、发光二极管等部分构成,能实现时间的调整、定时时间的设定,输出等功能。系统的功能选择由SB0、SB1、SB2、SB3、SB4 完成。其中SB0为时间校对,定时器调整功能键,按SB 0 进入调整状态。SB1 为功能切换键。第一轮按动SB1 依次进入一路、二路、三路定时时间设臵提示程序,按SB3 进入各路定时调整状态。定时时间到,二极管发亮。到了关断时间后灭掉。如果不进入继续按SB1 键,依次进入时间?年?位校对、?月?位校对、?日?位校对、?时?位校对、?分?位校对、?秒?位校对状态。不管是进入那种状态,按动SB2 皆可以使被调整位进行不进位增量加1 变化。各预臵量设臵完成后,系统将所有的设臵存入RAM 中,按SB1 退出调整状态。上电后,系统自动进入计时状态,起始于? 00?时? 00?分。SB4 为年月日显示转换键,可使原来显示时分秒转换显示年月日。 二、电路原理分析 1. 显示原理 电原理图见附图1。由6 个共阴极的数码管组成时、分、秒的显示。P0 口的8 条数据线P0.0 至P0.7 分别与两个CD4511 译码的ABCD 口相接,P2 口的P2.0 至P2.2 分别通过电阻R10 至R13 与VT1 至VT3 的基极相连接。这样通过P0 口送出一个存储单元的高位、低位BCD显示代码,通过P2 口送出扫描选通代码轮流点亮LED1 至LED6,就会将要显示的数据在数码管中显示出来。从P0 口输出的代码是BCD 码,从P2 口输出的就是位选码。 2. 数码管结构及代码显示

单片机与微机原理及应用课后答案(张迎新等)电子工业出版社(DOC)

第二章单片机结构及原理1、MCS-51 单片机内部包含哪些主要功能部件?它们的作用是什么?答:(1)一个8bit CPU 是微处理器的核心,是运算和逻辑计算的中心。(2)片内震荡器及时钟电路:提供标准时钟信号,所有动作都依据此进行。(3)4K ROM程序存贮器:存贮程序及常用表格。(4)128B RAM 数据存贮器:存贮一些中间变量和常数等。(5)两个16bit 定时器/计数器:完全硬件定时器(6)32 根可编程I/O 口线:标准8 位双向(4 个)I/O 接口,每一条I/O 线都能独立地作输入或输出。(7)一个可编程全双工串行口。(8)五个中断源。 2、什么是指令?什么是程序?答:指令是规定计算机执行某种操作的命令。程序是根据任务要求有序编排指令的集合。 3、如何认识89S51/52 存储器空间在物理结构上可以划分为 4 个空间,而在逻辑上又可以划分为3 个空间?答:89S51/52 存储器空间在物理结构上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。在逻辑上有3个存储器地址空间:片内、片外统一的64KB 程序存储器地址空间,片内256B数据存储器地址空间,片外64KB的数据存储器地址空间。 4、开机复位后,CPU 使用的是哪组工作寄存器?他们的地址是多少?CPU 如何确定和改变当前工作寄存器组?答:开机复位后,CPU 使用的是第0 组工作寄存器,地址为00H~07H,CPU 通过改变状态字寄存器PSW中的RS0 和RS1 来确定工作寄存器组。 5、什么是堆栈?堆栈有

何作用?在程序设计时,有时为什么要对堆栈指针SP 重新赋值?如果CPU 在操作中要使用两组工作寄存器,SP 应该多大?答:堆栈是一个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。堆栈指针SP复位后指向07H 单元,00H~1FH 为工作寄存器区,20H~2FH 为位寻址区,这些单元有其他功能,因此在程序设计时,需要对SP 重新赋值。如果CPU 在操作中要使用两组工作寄存器,SP 应该至少设置为0FH。6、89S51/52 的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为8MHz 时,一个单片机周期为多少微秒?答:时钟周期为时钟脉冲频率的倒数,他是单片机中最基本的、最小的时间单位。机器周期是指完成一个基本操作所需要的时间,一个机器周期由12 个时钟周期组成。指令周期是执行一条指令所需要的时间,由若干个机器周期组成。若fosc=8MHz,则一个机器周期=1/8×12μ s=1.5μ s 7、89S51/52 扩展系统中,片外程序存储器和片外数据存储器共处同一地址空间为什么不会发生总线冲突?答:访问片外程序存储器和访问数据存储器使用不同的指令用来区分同一地址空间。8、程序状态字寄存器PSW的作用是什么?常用状态标志有哪些位?作用是什么?答:程序状态字PSW是8 位寄存器,用于存放程序运行的状态信息,PSW中各位状态通常是在指令执行的过程中自动形成的,但也可以由用户根据需要采用传送指令加以改变。各个标志位的意义如下:PSW.7(Cy):进位标志位。PSW.6(AC):

51单片机课程设计 AD转换

课程设计报告 华中师范大学武汉传媒学院 传媒技术学院 电子信息工程2011 仅发布百度文库,版权所有.

AD转换 要求: A.使用单片机实现AD转换 B.可以实现一位AD转换,并显示(保留4位数字)设计框图:

方案设计: AD转换时单片机设计比较重要的实验。模数转换芯片种类多,可以满足不同用途和不同精度功耗等。 外部模拟量选择的是简单的电位器,通过控制电位器来改变模拟电压。显示电压值采用一般的四位七段数码管。而AD转换芯片采用使用最广的ADC0809 ADC0809芯片有28条引脚,采用双列直插式封装,如图所示。 下面说明各引脚功能: ?IN0~IN7:8路模拟量输入端。 ?2-1~2-8:8位数字量输出端。 ?ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。?ALE:地址锁存允许信号,输入端,高电平有效。 ?START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 ?EOC: A/D转换结束信号,输出端,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 ?OE:数据输出允许信号,输入端,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 ?CLK:时钟脉冲输入端。要求时钟频率不高于640KHz。

?REF(+)、REF(-):基准电压。 ?Vcc:电源,单一+5V。 ?GND:地 工作原理: 首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC 变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。 本次实验采用中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。 首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。 采用中断可以减轻单片机负担。并可以使程序有更多的空间作二次开发。

51单片机实例(含详细代码说明)

1.闪烁灯 1.实验任务 如图4.1.1所示:在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。 2.电路原理图 图4.1.1 3.系统板上硬件连线 把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。 4.程序设计内容 (1).延时程序的设计方法 作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要 求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在 执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程 序是如何设计呢?下面具体介绍其原理:

如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒机器周期微秒 MOV R6,#20 2个 2 D1: MOV R7,#248 2个 2 2+2×248=498 20× DJNZ R7,$ 2个2×248 (498 DJNZ R6,D1 2个2×20=40 10002 因此,上面的延时程序时间为10.002ms。 由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时, 延时10ms,以此为基本的计时单位。如本实验要求0.2秒=200ms, 10ms×R5=200ms,则R5=20,延时子程序如下: DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET (2).输出控制 如图1所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管 的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平, 即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0 端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。 5.程序框图 如图4.1.2所示

51单片机作的电子钟程序及电路图

51单片机作的电子钟程序在很多地方已经有了介绍,对于单片机学习者而言这个程序基本上是一道门槛,掌握了电子钟程序,基本上可以说51单片机就掌握了80%。常见的电子钟程序由显示部分,计算部分,时钟调整部分构成。 时钟的基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。10秒位到5后,即59秒,分钟加1,10秒位回0。依次类推,时钟最大的显示值为23小时59分59秒。这里只要确定了1秒的定时时间,其他位均以此为基准往上累加。 开始程序定义了秒,十秒,分,十分,小时,十小时,共6位的寄存器,分别存在30h,31h,32h,33h,34h,35h单元,便于程序以后调用和理解。 6个数码管分别显示时、分、秒,一个功能键,可以切换调整时分秒、增加数值、熄灭节电等功能全部集一键。

以下是部分汇编源程序,购买我们产品后我们用光盘将完整的单片机汇编源程序和烧写文件送给客户。;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 中断入口程序 ;; (仅供参考) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ORG 0000H ;程序执行开始地址 LJMP START ;跳到标号START执行 ORG 0003H ;外中断0中断程序入口 RETI ;外中断0中断返回 ORG 000BH ;定时器T0中断程序入口 LJMP INTT0 ;跳至INTTO执行 ORG 0013H ;外中断1中断程序入口

RETI ;外中断1中断返回 ORG 001BH ;定时器T1中断程序入口 LJMP INTT1 ;跳至INTT1执行 ORG 0023H ;串行中断程序入口地址 RETI ;串行中断程序返回 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 主程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; START: MOV R0,#70H ;清70H-7AH共11个内存单元MOV R7,#0BH ;clr P3.7 ; CLEARDISP: MOV @R0,#00H ; INC R0 ; DJNZ R7,CLEARDISP ; MOV 20H,#00H ;清20H(标志用) MOV 7AH,#0AH ;放入"熄灭符"数据 MOV TMOD,#11H ;设T0、T1为16位定时器 MOV TL0,#0B0H ;50MS定时初值(T0计时用)MOV TH0,#3CH ;50MS定时初值 MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用)MOV TH1,#3CH ;50MS定时初值 SETB EA ;总中断开放 SETB ET0 ;允许T0中断 SETB TR0 ;开启T0定时器 MOV R4,#14H ;1秒定时用初值(50M S×20)START1: LCALL DISPLAY ;调用显示子程序 JNB P3.7,SETMM1 ;P3.7口为0时转时间调整程序SJMP START1 ;P3.7口为1时跳回START1 SETMM1: LJMP SETMM ;转到时间调整程序SETMM ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 1秒计时程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;T0中断服务程序 INTT0: PUSH ACC ;累加器入栈保护 PUSH PSW ;状态字入栈保护

51单片机课程设计实验报告

51单片机课程设计报告 学院: 专业班级: 姓名: 指导教师: 设计时间:

51单片机课程设计 一、设计任务与要求 1.任务:制作并调试51单片机学习板 2.要求: (1)了解并能识别学习板上的各种元器件,会读元器件标示; (2)会看电路原理图; (3)制作51单片机学习板; (4)学会使用Keil C软件下载调试程序; 用调试程序将51单片机学习板调试成功。 二、总原理图及元器件清单 1.总原理图 2.元件清单 三、模块电路分析 1. 最小系统: 单片机最小系统电路分为振荡电路和复位电路, 振荡电路选用12MHz 高精度晶振, 振荡电容选用22p和30p 独石电容;

图 1 图 2 复位电路使用RC 电路,使用普通的电解电容与金属膜电阻即可; 图 3 当单片机上电瞬间由于电容电压不能突变会使电容两边的电位相同,此时RST 为高电平,之后随着时间推移电源负极通过电阻对电容放电,放完电时RST 为低电平。正常工作为低电平,高电平复位。 2. 显示模块: 分析发光二极管显示电路: 图 4 发光二极管显示电路分析:它是半导体二极管的一种,可以把电能转化成光能,常简写为

LED。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。当给发光二极管加上正向电压后,产生自发辐射的荧光。图中一共有五个发光二极管 其中一个为电源指示灯,当学习板通电时会发光以指示状态。其余四个为功能状态指示灯,实际作用与学习板有关 分析数码管显示电路 图 5 数码管显示电路分析:数码管按段数分为七段数码管和八段数码管,图中所用为八段数码管(比七段管多了一个小数点显示位),按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管.共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。数码管主要用来显示经电路板处理后的程序的运行结果。图中使用了八个八段数码管,可以显示八个0-15的数字。使用数码管可以直观的得到程序运行所显示的结果.也可以显示预置在学习板上的程序,主要通过16个开关来控制。 四、硬件调试 1、是否短路 用万用表检查P2两端是短路。电阻为0,则短路,电阻为一适值,电路正常。 2、焊接顺序 焊接的顺序很重要,按功能划分的器件进行焊接,顺序是功能部件的焊接--调试--另一功能部件的焊接,这样容易找到问题的所在。 3、器件功能 1)检查原理图连接是否正确 2)检查原理图与PCB图是否一致 3)检查原理图与器件的DA TASHEET上引脚是否一致 4)用万用表检查是否有虚焊,引脚短路现象 5)查询器件的DA TASHEET,分析一下时序是否一致,同时分析一下命令字是否正确 6)通过示波器对芯片各个引脚进行检查,检查地址线是否有信号的 7)飞线。用别的的口线进行控制,看看能不能对其进行正常操作,多试验,

微机原理与单片机(部分知识点)

1.8086CPU 是16位微处理器,具有16根数据线和20根地址线可以和浮点计算器,I/O 处理器或其他处理器组成多处理系统。 2.总线接口单元的功能是负责完成CPU 与储存器或I/O 设备之间的数据传送。 总线接口单元内有4个16位段寄存器:代码段寄存器CS 、数据段寄存器DS 、堆栈段寄存器SS 、附加数据段寄存器ES,一个16位的指令指针寄存器IP ,一个20位地址加法器,6字节指令队列缓冲器,一个与EU 通信的内部寄存器以及总线控制电路等。 3.代码段寄存器(CS )用来存储程序当前使用的代码段和段地址。下一条要读取得指令在代码段中的偏移地址由指令指针寄存器IP 提供。数据段寄存器DS 用来存放程序当前使用的数据段地址。 4.每个源程序必须至少有一个代码段,而数据段,堆栈段和附加数据段则根据程序的需要决定是否设置。 5.由CS 和IP 的内容决定了程序的执行顺序。 6.段内偏移地址段地址物理地址+?=H 10。 7.执行单元EU 不与系统外部直接相连,功能:只是负责执行指令。执行的指令从BIU 的指令队列缓冲器中直接得到,执行指令时若需要从存储器或I/O 端口读取操作数,则由EU 向BIU 发出请求,再由BIU 对存储器或I/O 端口进行直接访问。 8.EU 组成:1)16位算数逻辑单元(ALU ),2)16位标志寄存器FLAGS ,3)数据暂存寄存器,4)通用寄存器,5)EU 控制电路 9.8086和8088的差异:1)外部数据总线不同,8086是16位,8088是8位,2)指令队列缓冲器大小不同,8086可容纳6个字节,8088只能容纳4个字节,3)部分引脚的功能定义有所区别

51单片机课程设计报告

成绩: 单片机原理及应用课程设计 课程名<<单片机原理及应用>> 学部机械与电子信息工程学部 专业移动通信技术 学号 姓名 指导教师 日期

一、设计任务与要求 1.任务:制作并调试51单片机学习板 2.要求: (1)了解并能识别学习板上的各种元器件,会读元器件标示; (2)会看电路原理图; (3)制作51单片机学习板; (4)学会使用Keil C软件下载调试程序; 用调试程序将51单片机学习板调试成功。 二、实验内容 (5)AT89S52芯片工作电路,利用晶振提供控制信号。 (6)10引脚下载口与A T89S52芯片相关引脚相连完成下载电路。 (7)8个10K电阻与AT89S52芯片P0口相连,利用上拉电阻组成上拉电路。 (8)使用开关与5.1K电阻连成外部中断0、1电路和复位电路。 (9)利用16个开关做成键盘,实现输入号对已编程的AT89S52芯片的控制并通过数码管显示0--F。 (10)用2片74HC573N具有锁存功能芯片与8个数码管相连,通过编程的A T89S52位选和段选实现输出信号的显示功能。 (11)使用74HC573N锁存功能结合ULN2003AG芯片8非门芯片和74HC04N6非门芯片与4个2N5551三极管实现对步进电机的控制,和控制步进电机的信号结 合LED输出显示的功能。 (12)6、利用1片74HC573N芯片与8个共阴极LED实现跑马灯功能。 三、总原理图 1.总原理图

四、硬件调试 1、是否短路 用万用表检查P2两端是短路。电阻为0,则短路,电阻为一适值,电路正常。 2、焊接顺序 焊接的顺序很重要,按功能划分的器件进行焊接,顺序是功能部件的焊接--调试-- 另一功能部件的焊接,这样容易找到问题的所在。 3、器件功能 1)检查原理图连接是否正确 2)检查原理图与PCB图是否一致 3)检查原理图与器件的DATASHEET上引脚是否一致 4)用万用表检查是否有虚焊,引脚短路现象 5)查询器件的DATASHEET,分析一下时序是否一致,同时分析一下命令字是否正确 6)通过示波器对芯片各个引脚进行检查,检查地址线是否有信号的 7)飞线。用别的的口线进行控制,看看能不能对其进行正常操作,多试验,才能找到问题出现在什么地方。 五、软件调试 1、设置硬件仿真环境 设置硬件仿真环境的具体操作步骤如下: 首先,点击所建工程:Project菜单中的Options for Target…Targer 1?,出现工程的配置窗口,

(完整版)51单片机汇编指令(全)

指令中常用符号说明 Rn当前寄存器区的8个工作寄存器R0~R7(n=0~7) Ri当前寄存器区可作为地址寄存器的2个工作寄存器R0和R1(i=0,1) Direct8位内部数据寄存器单元的地址及特殊功能寄存器的地址 #data表示8位常数(立即数) #data16表示16位常数 Add16表示16位地址 Addr11表示11位地址 Rel8位代符号的地址偏移量 Bit表示位地址 @间接寻址寄存器或基址寄存器的前缀 ( )表示括号中单元的内容 (( ))表示间接寻址的内容 指令系统 数据传送指令(8个助记符) 助记符中英文注释 MOV Move 移动 MOV A , Rn;Rn→A,寄存器Rn的内容送到累加器A MOV A , Direct;(direct)→A,直接地址的内容送A MOV A ,@ Ri;(Ri)→A,RI间址的内容送A MOV A , #data;data→A,立即数送A MOV Rn , A;A→Rn,累加器A的内容送寄存器Rn MOV Rn ,direct;(direct)→Rn,直接地址中的内容送Rn MOV Rn , #data;data→Rn,立即数送Rn MOV direct , A;A→(direct),累加器A中的内容送直接地址中 MOV direct , Rn;(Rn)→direct,寄存器的内容送到直接地址 MOV direct , direct;(direct)→direct,直接地址的内容送到直接地址 MOV direct , @Ri;((Ri))→direct,间址的内容送到直接地址 MOV direct , #data;8位立即数送到直接地址中 MOV @Ri , A;(A)→@Ri,累加器的内容送到间址中 MOV @Ri , direct;direct→@Ri,直接地址中的内容送到间址中 MOV @Ri , #data; data→@Ri ,8位立即数送到间址中 MOV DPTR , #data16;data16→DPTR,16位常数送入数据指针寄存器,高8位送入DPH,低8位送入DPL中(单片机中唯一一条16位数据传送指令) (MOV类指令共16条)

基于51单片机的电子时钟的设计

目录 0 前言 (1) 1 总体方案设计 (2) 2 硬件电路设计 (2) 3 软件设计 (5) 4 调试分析及说明 (7) 5 结论 (9) 参考文献 (9) 课设体会 (10) 附录1 电路原理 (12) 附录2 程序清单 (13)

电子时钟的设计 许山沈阳航空航天大学自动化学院 摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。 单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。 关键字:AT89C2051,C语言程序,电子钟。 0前言 利用51单片机开发电子时钟,实现时间显示、调整和闹铃功能。具体要求如下: (1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试;

(4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; (5)实现闹钟功能,在设定的时间给出声音提示。 1总体方案设计 该电子时钟由89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。 图1 系统结构框图 该电子时钟由STC89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键K1,就会关闭时钟,当按下闹钟按键K3时时钟就会进入设置时间界面,但是时钟不会停止工作,按K2键,,就可以对时钟和闹钟要设置的时间进行调整。 2硬件电路设计

微机原理-单片机知识点整理

3、(10011.101)B=1×24+0×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3 4、常用的ASCII码字符:0—9的ASCⅡ码30H—39H;A—Z的ASCⅡ码41H—5AH;a—z的ASCⅡ码61H—7AH。 5、十进制的15,压缩BCD码为0001 0101,非压缩BCD码为0000 0001 0000 0101。 6、正数:原,反,补相同;负数:原,反,补不同,但最高位为1。 负数: 原→反,符号位不变,尾数按位求反 原→补,符号位不变,尾数按位求反+1 补→原,符号位不变,尾数求反+1 反→原,符号位不变,尾数求反. 7、振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期。单片机外接晶振的倒数,例如12MHz的晶振,时钟周期是1/12μs。 状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。 机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是12 个时钟周期。在一个机器周期内, CPU可以完成一个独立的操作。晶振是12MHz,一个机器周期就是1μs,晶振是6MHz,机器周期是2μs。 指令周期: 它是指CPU完成一条操作所需的全部时间。每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。 8、单片机的控制口线包括 片外取指信号(片外程序存储器读)输出端,低电平有效。通过P0口读回指令或常数。控制的是片外程序存储器。在访问外部程序存储器时,该信号自动产生,每个机器周期输出2个脉冲。访问片外数据存储器时,不会有脉冲输出。 地址锁存信号。ALE低电平时,P0口出现数据信息;ALE高电平时,P0口出现地址信息。用下降沿锁存P0口的低8位地址到外部锁存器 程序存储器选择信号。=0时,选外部ROM,=1时,地址小于4k时,选内部ROM;地址大于4k时,选外部ROM。 RESET 复位信号:高电平复位CPU,低电平CPU工作 复位后,各个寄存器的状态如图所示。 9、数据存储器的容量小,仅256B。程序存储器容量大,为64KB。 10、8051 / 8751内部有4KB 的ROM / EPROM,地址:0000H ~ 0FFFH。52 子系列内部有8KB 的ROM / EPROM,地址:0000H ~ 1FFFH。 11、内部数据存储器RAM ,地址:00H ~ FFH,在共256个字节的片内RAM中,00H~1FH单元是通用寄存器区,20H~2FH单元是位寻址区,30H~0FFH单元是供用户使用的一般RAM区。

51单片机应用设计课后答案

第一章单片机概述 1.2除了单片机这一名称之外,单片机还可称为(微控制器)和(嵌入式控制器)。 1.3单片机与普通计算机的不同之处在于其将(微处理器)、(存储器)和(各种输入输出接 口)三部分集成于一块芯片上。 4、单片机的发展大致分为哪几个阶段? 答:单片机的发展历史可分为四个阶段: 第一阶段(1974年----1976年):单片机初级阶段。 第二阶段(1976年----1978年):低性能单片机阶段。 第三阶段(1978年----现在):高性能单片机阶段。 第四阶段(1982年----现在):8位单片机巩固发展及16位单片机、32位单片机推出阶段 1.5单片机根据其基本操作处理的位数可分为哪几种类型? 答:单片机根据其基本操作处理的位数可分为:1位单片机、4位单片机、8位单片机、16位 单片机和32位单片机。 1.6 MCS-51系列单片机的基本芯片分别为哪几种?它们的差别是什么? 答:基本芯片为8031、8051、8751。 8031内部包括1个8位cpu、128BRAM,21个特殊功能寄存器(SFR)、4个8位并行I/O 口、1 个全双工串行口,2个16位定时器/计数器,但片内无程序存储器,需外扩EPROM芯片。 8051是在8031的基础上,片内又集成有4KBROM,作为程序存储器,是1个程序不超过4KB 的小系统。 8751是在8031的基础上,增加了4KB的EPROM,它构成了1个程序小于4KB的小系统。用户可以将程序固化在EPROM中,可以反复修改程序。 1.7 MCS-51系列单片机与80C51系列单片机的异同点是什么? 答:共同点为它们的指令系统相互兼容。不同点在于MCS-51是基本型,而80C51采用CMOS 工艺,功耗很低,有两种掉电工作方式,一种是CPU停止工作,其它部分仍继续工作;另 一种是,除片内RAM继续保持数据外,其它部分都停止工作。 1.8 8051与8751的区别是(C) (A、内部数据存储单元数目的不同(B、内部数据存储器的类型不同 (C)内部程序存储器的类型不同(D、内部的寄存器的数目不同 1.9在家用电器中使用单片机应属于微型计算机的(B) (A、辅助设计应用(B、测量、控制应用(C)数值计算应用(D)数据处理应用 1.10说明单片机主要应用在哪些领域? 答:单片机主要运用领域为:工业自动化;智能仪器仪表;消费类电子产品;通信方面;武 器装备;终端及外部设备控制;多机分布式系统。 第二章MCS-51单片机的硬件结构 2.1 MCS-51单片机的片内都集成了哪些功能部件?各个功能部件的最主要的功能是什么?答:功能部件如下:微处理器(CPU);数据存储器(RAM );程序存储器(ROM/EPROM , 8031没有此部件),4个8位并行I/O 口(P0口、P1 口、P2口、P3口);1个全双工的串行口;2个16位定时器/计数器;中断系统;21个特殊功能寄存器(SFR)。 各部件功能:CPU (微处理器)包括了运算器和控制器两大部分,还增加了面向控制的处理 功能,不仅可处理字节数据,还可以进行位变量的处理;数据存储器(RAM、片内为128B (52系列的为256B),片外最多可外扩64KB。数据存储器来存储单片机运行期间的工作变 量、运算的中间结果、数据暂存和缓冲、标志位等;程序存储器(ROM/EPROM、用来存储

相关主题
文本预览
相关文档 最新文档