51单片机最小系统设计.ppt
MCS51单片机单片机之最小系统设计之最小系统设计一、任务与要求一、任务与要求 应用应用89C51(52)单片机设计并制作一个单片机最小)单片机设计并制作一个单片机最小系统,达到如下基本要求:系统,达到如下基本要求:1、具有上电复位和手动复位功能。、具有上电复位和手动复位功能。2、使用单片机片内程序存储器。、使用单片机片内程序存储器。3、具有基本的人机交互接口。按键输入、具有基本的人机交互接口。按键输入、LED显示功能。显示功能。4、具有一定的可扩展性,单片机、具有一定的可扩展性,单片机I/O口可方便地与其他电路口可方便地与其他电路板连接。板连接。 二、单片机最小系统设计二、单片机最小系统设计1、最小系统概念最小系统概念 单片机最小系统单片机最小系统,或者称为最小应用系统或者称为最小应用系统,是指用最少的元是指用最少的元件组成的单片机可以工作的系统件组成的单片机可以工作的系统. 对对51系列单片机来说系列单片机来说,最小系统一般应该包括最小系统一般应该包括:单片机、单片机、晶振电路、复位电路、按键输入、显示输出等。晶振电路、复位电路、按键输入、显示输出等。151545pf45pf2 21 112MHz12MHz(MCS-51MCS-51) 0 024MHz24MHz(Atmel-89CAtmel-89C)XTAL1XTAL1XTAL2XTAL2也可以由也可以由 XTAL1XTAL1端接入外部时钟,端接入外部时钟,此时应将此时应将 XTAL2XTAL2接地:接地:XTAL2XTAL2XTAL1XTAL1外部时钟外部时钟通常通常外接外接一个晶振一个晶振两个电容两个电容2、时钟和时钟电路、时钟和时钟电路3、 复位和复位电路复位和复位电路+5V10uF10KVccRSTGND上电复位上电复位10uF10KVccRSTGND手动手动&上电复位上电复位1K+5VRESET:RESET: 复位端复位端 (正脉冲有效,宽度(正脉冲有效,宽度 2 2个机器周期个机器周期)4 4、EA/Vpp:EA/Vpp: 寻址外部寻址外部ROMROM控制端控制端/ /编程编程电源输入端。电源输入端。片内片内无无ROMROM时时必须必须接地;接地;片内片内有有ROMROM时并应用时时并应用时应当应当接高电平;接高电平;对片内对片内ROMROM编程时编程正电编程时编程正电源加到此端。源加到此端。三、基于三、基于ZLG7289按键显示电路设计按键显示电路设计 ZLG7289B ZLG7289B 是广州周立功单片机发展有限公司自是广州周立功单片机发展有限公司自行设计的数码管显示驱动及键盘扫描管理芯片,可直行设计的数码管显示驱动及键盘扫描管理芯片,可直接驱动接驱动8 8位共阴式数码管位共阴式数码管(或(或64 64 只独立只独立LEDLED),同时),同时还可以扫描管理多达还可以扫描管理多达6464只按键只按键。 ZLG7289B ZLG7289B 内部含有显示译码器,可直接接受内部含有显示译码器,可直接接受BCDBCD码码或或1616进制码进制码,并同时具有,并同时具有2 2种译码方式。种译码方式。 此外,还具有此外,还具有多种控制指令多种控制指令,如消隐,如消隐闪烁闪烁左移左移右移右移段寻址等。段寻址等。 ZLG7289B ZLG7289B 采用采用SPISPI串行总线串行总线与微控制器接口,仅与微控制器接口,仅占用少数几根占用少数几根I/O I/O 口线。口线。1 1、引脚图、引脚图2 2、典型应用电路图、典型应用电路图(1)数码管必须是共阴式的,不能直接使用共阳式的。)数码管必须是共阴式的,不能直接使用共阳式的。(2)R9R16 是限流电阻,典型值是是限流电阻,典型值是270。(3)为了使键盘扫描得以正常进行,下拉电阻)为了使键盘扫描得以正常进行,下拉电阻R1R8 和位选电阻和位选电阻R17R24 是必须的。是必须的。 它们之间还要遵从一它们之间还要遵从一定的比例关系,比值在定的比例关系,比值在5:1到到50:1 之间,典型值是之间,典型值是10:1。下拉电阻取值范围在下拉电阻取值范围在10100K,位选电阻取值范围在,位选电阻取值范围在110K。(4)在多数应用当中可能用不到太多的按键,建议)在多数应用当中可能用不到太多的按键,建议按列按列裁裁减键盘,则相应列的位选电阻可以省略减键盘,则相应列的位选电阻可以省略3 3、使用注意、使用注意4 4、SPISPI串行接口串行接口串行外围接口串行外围接口 Serial peripheral interface,3根线实现数据双向传输。根线实现数据双向传输。 (1)ZLG7289B 的的SPI 串行接口信号串行接口信号(2) SPI 总线时序图总线时序图纯指令时序图(单字节命令)纯指令时序图(单字节命令)带数据指令时序图(命令字在前,输入数据在后)带数据指令时序图(命令字在前,输入数据在后)读键盘指令时序图(命令字在前,键值在后)读键盘指令时序图(命令字在前,键值在后) 只有当只有当INT 引脚出现引脚出现下跳沿下跳沿时才允许去读取按时才允许去读取按键值,否则将得不到有意义的数据。键值,否则将得不到有意义的数据。5 5、C51C51驱动程序软件包驱动程序软件包 (1)软件包说明)软件包说明 ZLG7289B ZLG7289B 的的80C51 80C51 单片机单片机C51 C51 驱动程序软件包由两个文驱动程序软件包由两个文件组成:件组成:“ZLG7289.hZLG7289.h”和和“ZLG7289.cZLG7289.c”。 头文件头文件“ZLG7289.hZLG7289.h”包括包括ZLG7289B ZLG7289B 的的I/O I/O 接口定义和用接口定义和用户指令集声明。户指令集声明。 C C语言文件语言文件“ZLG7289.cZLG7289.c”是这些指令的具体实现。是这些指令的具体实现。 将文件将文件“ZLG7289.c”和和“ZLG7289.h”一起复制到您的工一起复制到您的工程文件夹下;程文件夹下;根据电路的实际情况,在文件根据电路的实际情况,在文件“ZLG7289.h”中重新定义中重新定义I/O 接口;接口;把文件把文件“ZLG7289.c”添加进工程中,在需要的地方包含添加进工程中,在需要的地方包含头文件头文件“ZLG7289.h”;在在main()函数的开始处应当调用一次初始化函数函数的开始处应当调用一次初始化函数ZLG7289_Init(); 以后在程序中可以直接使用以后在程序中可以直接使用ZLG7289B 的用户指令集了;的用户指令集了;读取键值时使用函数读取键值时使用函数ZLG7289_Key(),查询方式、中断方,查询方式、中断方式皆可。式皆可。(2)软件包的具体用法)软件包的具体用法 复位指令:复位指令:ZLG7289_Reset()ZLG7289_Reset(); 测试指令:测试指令:ZLG7289_Test()ZLG7289_Test(); 左移指令:左移指令:ZLG7289_SHL()ZLG7289_SHL(); 右移指令:右移指令:ZLG7289_SHR()ZLG7289_SHR(); 循环左移:循环左移:ZLG7289_ROL()ZLG7289_ROL(); 循环右移:循环右移:ZLG7289_ROR()ZLG7289_ROR(); 下载数据:下载数据:ZLG7289_Download(mod, x, dp, dat)ZLG7289_Download(mod, x, dp, dat); 闪烁控制:闪烁控制:ZLG7289_Flash(x)ZLG7289_Flash(x); 消隐控制:消隐控制:ZLG7289_Hide(x)ZLG7289_Hide(x); 段点亮控制:段点亮控制:ZLG7289_SegOn(seg)ZLG7289_SegOn(seg); 段关闭控制:段关闭控制:ZLG7289_SegOff(seg)ZLG7289_SegOff(seg); 读键盘数据指令:读键盘数据指令:char ZLG7289_Key()char ZLG7289_Key()。(3)用户指令集汇总:)用户指令集汇总:四、电路板制作中的几点说明四、电路板制作中的几点说明1、单片机中没有用到的、单片机中没有用到的I/O口必须引出,以便于日后的扩展应用。口必须引出,以便于日后的扩展应用。2、按键不应超过、按键不应超过16个。个。3、数码管设计为、数码管设计为8位,实际制作时安装位,实际制作时安装4位,剩余的位,剩余的4位等需要时再安装。位等需要时再安装。4、数码管用插座安装,不要直接焊接在电路板上。、数码管用插座安装,不要直接焊接在电路板上。5、注意电路板的布局,疏密合理。、注意电路板的布局,疏密合理。 一般数码管在电路板的上方,按键在电路板的下方,单片机在电路一般数码管在电路板的上方,按键在电路板的下方,单片机在电路板的中心位置。特别注意单片机周围应留出一定的空间,以便于仿真头板的中心位置。特别注意单片机周围应留出一定的空间,以便于仿真头的使用。的使用。 电源引入脚放置在电路板的左上角,并注意接好去耦电容,也可以电源引入脚放置在电路板的左上角,并注意接好去耦电容,也可以加上电源指示二极管。加上电源指示二极管。 I/O口必须引出插座可以放置在电路板的左侧或右侧。口必须引出插座可以放置在电路板的左侧或右侧。6、晶振电路应尽量靠近单片机。、晶振电路应尽量靠近单片机。