51系列单片机最小系统原理图和程序

上传人:第*** 文档编号:34054265 上传时间:2018-02-20 格式:DOC 页数:13 大小:5.28MB
返回 下载 相关 举报
51系列单片机最小系统原理图和程序_第1页
第1页 / 共13页
51系列单片机最小系统原理图和程序_第2页
第2页 / 共13页
51系列单片机最小系统原理图和程序_第3页
第3页 / 共13页
51系列单片机最小系统原理图和程序_第4页
第4页 / 共13页
51系列单片机最小系统原理图和程序_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《51系列单片机最小系统原理图和程序》由会员分享,可在线阅读,更多相关《51系列单片机最小系统原理图和程序(13页珍藏版)》请在金锄头文库上搜索。

1、51 系列单片机最小系统设计与调试实验一、实验目的1. 了解单片机的基本工作原理2. 学习并掌握相关软件的使用方法(Protel 、keil)2. 掌握单片机片内程序存储器下载方法3. 掌握单片机程序设计(汇编及 C51)二、原理1. 什么是单片机最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统. 对 51 系列单片机来说,单片机+晶振电路+ 复位电路,便组成了一个最小系统 .但是一般我们在设计中总是喜欢把按键输入、显示输出等加到上述电路中,成为小系统。 2. AT89C51 高性能 8 位单片机功能AT89C51 提供以下标准功能:8K 字节 Fals

2、h 闪速存储器,256 字节内部 RAM,32 个 I/O 口线,3 个16 位定时/计数器,一个 6 向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时AT89C51 可降至 0HZ 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,时/计数器,串行通信口及中断系统持续工作。掉电方式保存 RAM 中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。主要功能特性: 兼容 MCS51 指令系统 4k 可反复擦写(1000 次)Flash ROM 32 个双向 I/O 口 8 个中断源 三个 16 位可编程定时/ 计数器

3、 2.7-6.V 的宽工作电压范围 时钟频率 0-24MHz 128x8bit 内部 RAM 五个外部中断源 两个串行中断 可直接驱动 LED 两级加密位 低功耗睡眠功能 内置一个模拟比较放大器 可编程 UARL 通道 软件设置睡眠和唤醒功能3. AT89C51 高性能 8 位单片机资料请参考相关书籍三、实训任务. (1)认识 MCS-51 的 ROM 及片外 RAM 空间:认识 51 系列单片机的程序存储器(ROM)的空间范围;汇编指令编码在 ROM 中存储形式;掌握指令编码和指令编码所在地址的概念;了解 51 系列单片机的程序存储器(ROM)固定地址的用途。认识 51 系列单片机的片外数据

4、存储器(片外 RAM)的地址空间范围;了解 51 系列单片机的片外数据存储器的用途;重点掌握片内片外访问存储器的指令。(2)认识 MCS-51 片内 RAM 空间:认识 51 系列单片机片内随机存储器(片内 RAM)的空间范围;认识 51 系列单片机片内随机存储器的区域划分;掌握字节地址和位地址的概念;了解 R0R7 寄存器与字节地址的关系。重点掌握 MCS-51 系列单片机四个口的用法的位操作。(3)MCS-51 汇编语言设计(编码转换):用 MCS-51 汇编指令进行程序设计。将四位 BCD 码化为十六位二进制数。 (或 将四位十六进制数转化为 BCD 码) 。要求:在 PC 机上调试,程

5、序可正确运行并上交源程序清单及程序说明。(4)键盘输入电路设计/动态显示电路设计:在实训过程中要求设计按键输入电路、设计显示电路,并画出电路图并编写按键输入子程序。重点掌握硬件电路的设计及通过编程对电路的控制。(5)单片机最小系统设计:单片机最小系统的设计是单片机应用系统设计及开发的基础,通过单片机最小系统设计,使学生对所学的单片机原理及应用课程有更深的理解。要求:提供电路图和程序清单。重点掌握硬件电路的设计及过程控制。(6)基于单片机的应用系统设计:设计出实现某控制目的的应用系统是本实训课的最终实训的结果。实训要求中包括单片机最小系统的设计,按键输入电路设计,显示电路的设计,及应用系统的软件

6、编程。附件 1: 51 系列单片机最小系统设计一、单片机最小系统硬件设计单片机主要擅长系统控制,而不适合做复杂的数据处理,在设计单片机最小系统时通常选用AT89C5l、AT89C52、AT89S51、AT89S52(S 系列芯片支持 ISP 功能)等型号的 8 位 DIP-40 封装的单片机作为 MCU,一个典型的单片机最小系统一般由时钟电路、复位电路、键盘电路、显示电路等部分组成,有时也外扩有片外 RAM 和 ROM 以及外部扩展接口等电路。图 1 为单片机最小系统结构框图。图 1 单片机最小系统结构框图1、系统时钟电路 单片机内部具有一个高增益反相放大器,用于构成振荡器。通常在引脚 XTA

7、Ll 和 XTAL2 跨接石英晶体和两个补偿电容构成自激振荡器,系统时钟电路结构如图 2 所示,可以根据情况选择 6MHz、8MHz 或 12MHz等频率的石英晶体,补偿电容通常选择 20-30pF 左右的瓷片电容。 图 2 系统时钟电路2、复位电路 单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。上电复位要求接通电源后,自动实现复位操作。手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。复位电路结构如图 3 所示。上电自动复位通过电容 C3 充电来实现。手动按键复位是通过按键将电阻 R2 与 VCC 接通来实现。图 3 复位电路3、键盘电路系

8、统利用 P1 口的 P1.0-P1.3 设置了 4 个独立按键 S2S5,如图 4 所示,当键按下时,P1 口相应的引脚置为低电平,且与此键相连的发光二极管点亮。此外,通过 8279 键盘显示控制芯片还可以扩展编码键盘和显示,图 5 为利用 8279 扩展的一个 28=16 键编码键盘及 8 个 LED 的电路。图 4 独立按键图 5 扩展键盘和显示4、显示电路系统设置了 8 个共阳极 LED 数码管 LED1-LED2,单片机 P0 口提供段码信号,低电平有效,P0 口输出端通过限流电阻 R00R07 与数码管的段码数据线相连,用来送出 LED 数码管的段码数据信号。单片机 P2口提供位选信

9、号,当 P2 口某位输出低电平时,与此相连的开关三极管导通,对应的数码管点亮,使用三极管用来增强信号的驱动能力,如图 6。此外,为了扩展 LCD 显示,系统设置了两个 LCD 接口,如图 7,一个用于 40 点矩阵 LCD 显示,一个用于 12864 点阵式 LCD 显示。图 6 LED 显示电路图 7 LCD 扩展接口5、其它系统还扩展了一片 2K 位串行 CMOS E2PROM24C02,P3.3 和 P3.4 分别作为 24C02 串行数据传输的时钟和数据线,由于只有一个 24C02,其三个地址输入脚 A0 、A1 、A2 接地,如图 8。此外,系统还设置了一个蜂鸣器电路,如图 9 ,通

10、过 P3.7 输出音频信号,可使蜂鸣器发声。由于,本最小系统没有外扩其他存储器和 I/O,因此,没有用到地址译码和锁存。图 8 扩展 E2PROM 图 9 蜂鸣器电路单片机最小系统主要器件如表 1 所示:表 1 单片机最小系统主要器件标号 型号、规格 封装 功能说明U1 89C51 DIP40 CPU 主器件U2 24C02 DIP8 2K E2PROMLED1,LED2 7SEG-4 4 位 8 段共阳极数码管Q1 Q9 9012 TO-92A 三极管D1 D12 3MM DIODE0.4 发光二极管Y 12MHz 石英晶振 单片机时钟晶振主要应用接口如表 2 所示:表 2 单片机最小系统主

11、要接口标号 功能说明 连接目标J1 输入电源插座 主电源J2 40 点矩阵 LCD 接口 40 点矩阵液晶显示模块J2 12864 点阵式 LCD 接口 12864 点阵液晶显示模块Jp1 P0 口引出接口 单片机 P0 口Jp2 P1 口引出接口 单片机 P1 口Jp3 P2 口引出接口 单片机 P2 口Jp4 P3 口引出接口 单片机 P3 口单片机最小系统电原理图二、单片机最小系统测试程序设计编写测试程序,一是可对最小系统各资源进行测试,二是为用户提供了使用 LED 显示及访问键盘等各种资源的子程序。1. 键盘扫描及数码管显示的汇编语言程序键盘扫描及数码管显示的汇编语言程序如下:;* *

12、;键盘及数码管显示程序,功能为按下一键,则对应键的数码管亮并显示该键代表的数字;*org 0000h ajmp mainorg 0100hmain: mov sp,#30hmov r3,#0mov r4,#0kon: lcall ks1 ;调用读键盘程序cjne a,#0ffh,show1 ;有键按下lcall dir ;调用显示子程序ajmp konshow1:lcall dir ;去抖动lcall dirlcall ks1 cjne a,#0ffh,show2 ;键有效ajmp konshow2:cjne a,#0feh,l1 ;以下为判别键值程序mov r4,#0 ;第一个键赋其代码 0

13、ajmp lkpl1:cjne a,#0fdh,l2mov r4,#1ajmp lkpl2: cjne a,#0fbh,l3mov r4,#2ajmp lkpl3:cjne a,#0f7h,l4mov r4,#3ajmp lkplkp:lcall dirljmp kon ;返回dir: mov dptr,#table ;显示子程序mov a,r4movc a,a+dptr ;取 7 段码mov r3,amov a,r4led1:cjne a,#0,led2 ;根据键值选择数码管 1mov dptr,#8000hajmp ssled2:cjne a,#1,led3 ;根据键值选择数码管 2mov

14、 dptr,#9000hajmp ssled3:cjne a,#2,led4 ;根据键值选择数码管 3mov dptr,#0a000hajmp ssled4: cjne a,#3,led5 ;根据键值选择数码管 4mov dptr,#0b000hajmp ssss: mov a,r3movx dptr,alcall delayretks1:clr p1.7mov dptr,#0e000h ;键盘地址movx a,dptrretdelay: mov r6,#10 ;延时子程序lpp: mov r7,#100djnz r7,$djnz r6,lpprettable: db 0c0h,0f9h,0a

15、4h,0b0h,99h,92h,82h,0f8h,80h,90hdb 88h,83h,0c6h,0a1h,86h,8eh,0ffh,0f7hend2. 键盘扫描及数码管显示的 C 语言程序键盘扫描及数码管显示的 C 语言程序如下:/*/*键盘及数码管程序,每一键代表一个数字,在其数字代表的数码管中显示*/#include #include #define uchar unsigned char#define uint unsigned int#define LED1 XBYTE 0x8000 /*定义各数码管地址*/#define LED2 XBYTE 0x9000#define LED3 XBYTE 0xA000#define LED4 XBYTE 0x

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号