设为首页
联系站长
加入收藏
 您的位置: Pecker's Home >> 文章频道 >> 电子技术 >> 单片机/DSP/嵌入式系统 >> MCS-51系列 >> 正文
  AT89S51单片机开发板的设计         
AT89S51单片机开发板的设计
[ 作者:安晓莉    转贴自:国外电子元器件    点击数:1465    更新时间:2009-11-2    文章录入:pecker

1 引言

    单片机系统传统的编程方式是将单片机先从电路板上取下,放入专用的编程器进行编程,再放人电路板进行调试。其缺点是频繁的拔插器件容易损坏器件的引脚;如果频繁的调试程序,必须重复拔插,大大降低了开发效率。ISP技术是未来发展的方向,其优势是无需编程器就可进行单片机的实验和开发,单片机器件可直接焊接到电路板上,调试结束即为成品,免去调试时由于频繁插入取出对器件和电路板造成的损坏和带来的不便。 ISP可降低研发成本;缩短从设计、制造到现场调试的时间,简化生产流程,大大提高工作效率;在试验新品或学生试验等常需用不同的程序调试器件的场合中,在线编程技术尤为重要。

    设计AT89S51单片机开发板,采用ISP下载线实现在Keil C软件开发环境下调试的汇编语言程序机器码能即时下载到AT89S51单片机片内Flash中,并可在线修改。

2 单片机开发板硬件设计

    AT89S51单片机开发板南AT89S51单片机最小系统、ISP下载编程器、上位机与下位机之间的串行通信电路、4×4矩阵键盘键号的识别与显示电路4部分组成,如图1所示。

2.1 单片机ISP下载编程器

    在系统可编程ISP(In-System Programmable),指电路板上的空白器件可编程写入最终用户代码,而无需从电路板取下器件,已编程的器件也可用ISP方式擦除或再编程。ISP 的工作原理:单片机可通过SPI或其他串行接口接收上位机传来的数据并写入存储器中。所以即使将器件焊接在电路板上,只要留出和上位机接口的串口,配合 ispdown的下载电缆,就可实现器件内部存储器的改写,而无需取下器件。ISP的提出改变了传统硬件系统开发的流程,大大方便了开发者,加快了开发速度。下载电缆是一种使用计算机的并行端口通过软件的仿零点实现ATAG或ISP接口协议,访问可编程器件的廉价工具。

    图2为下载线电路图。AT89S51单片机的ISP接口通过指令输入MISO(P1.5引脚)、数据输入MOSI(P1.6引脚)、时钟输入SCK(P1.7引脚)3根信号线,以串行模式为系统提供对MCU器件的编程写入和读出功能。

2.2 串行通信接口

    上位机PC机与下位机单片机通过RS-232C串行接口总线进行的串行通信。80C51系列单片机带有一个全双工的串行接口,因此用RS-232C串行接口总线非常方便。PC机配置RS-232C标准接口,RS-232C信号电平为负逻辑(逻辑“0”:+12 V;逻辑“1”:-12 v),80C51单片机输入、输出电平为,TTL电平(逻辑“0”:≤0.5 V;逻辑“1”:≥2.4 V)。所以8051与PC机间点对点异步通信需加电平转换电路,否则将烧坏TTL电路。MAX232器件是MAXIM公司生产的具有两路接收器和驱动器的 IC器件,其内部有一个电源电压变换器,可将输入的+5 V电压变换成RS-232C输出电平所需的±12 V电压。MAX232器件的引脚1~6(C1+、V+、C1-、C2+、C2-、V-)用于电源电压转换,只需在外部接入相应电解电容即可;引脚7~10 和引脚11~14构成两组,TTL信号电平与RS-232C信号电平的转换电路,对应引脚可直接与单片机串行口的TTL电平引脚和PC机的RS232电平引脚相连。

    图3为采用MAX232器件的PC机和单片机串行通信接口电路,采用9针标准插座与PC机相连。MAX232实现电平转换功能,该器件可将单片机TXD端输出的TTL电平转换成标准的RS-232C标准电平,由MAX232的14引脚通过9针接口送入PC机;同样,PC机输出的RS-232C标准电平,从 MAX232的13引脚输入并转换成单片机所需的TTL电平,经单片机的RXD端接收。

2.3 矩阵键盘键号的识别与显示电路

    在AT89S51单片机的I/O口设计4×4行列式键盘,采用程序扫描法识别按下的键,当有按键按下时,其键号显示在共阴极LED数码管上。其电路如图4所示。

    一个4×4的行、列结构可构成一个含有16个按键的键盘。按键的位置由行号和列号唯一确定。将图4中的4×4键盘键号编码为:01H、02H、03H、…、0EH、0FH、10H16个键号。

    (1)用全扫描法判断有无键按下行线在无键按下时处在高电平,按键按下时,与此键相连的行线与列线导通。如果让所有列线处于低电平。当无键按下时,则读人的行信息全为1;有键按下时,读入的行信息不全为1,按下键所在的行电平会由高电平变为低电平。CPU根据行电平的变化,便能判定相应的行有键按下。

    (2)用逐列置0扫描法确定具体键按为进一步确定具体键,在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依此循环,实现键盘扫描。

    键盘工作在编程扫描方式,单片机在完成其他工作后的空闲时间调用键盘扫描子程序响应键盘输入的要求,在执行键功能程序时CPU不再响应键输入要求,直到CPU重新扫描键盘。

3 系统软件设计

    系统软件采用汇编语言编写,键盘编程扫描子程序采用全扫描法判断有无键按下,采用逐列置0扫描法确定具体哪个键按下,计算闭合键的键号,等键释放后将键号存入内RAM30H单元。

    键号显示子程序采用查表法将30H单元中闭合键键号转换为共阴极数码管的字段码并将其送至P3端口显示。主程序通过反复调用键盘扫描子程序和键号显示子程序实现闭合键的键号实时显示。该系统设计的主程序流程如图5所示,系统的键盘扫描子程序流程如图6所示。

4 结论

    AT89S51单片机开发板采用ISP技术,实现了程序代码的在线写入和修改,代替传统的编程器完成程序代码烧写,免去了反复插拔单片机器件的麻烦,降低了单片机引脚的损坏机率,具有成本低、使用方便、可靠等优点。通过设计矩阵键盘的键号识别与显示应用系统,证明该开发板在 Keil C软件环境下可实现程序调试,容易在线写入程序代码。

作者:安晓莉 西安思源学院

分享到:
    免责声明:本文仅代表作者个人观点,与Pecker's Home无关。登载目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字和图片(或其他媒体形式内容)的真实性、完整性、及时性本站不作任何保证或承诺。请读者仅作参考,并请自行核实相关内容。如果有侵犯版权事宜,请通知master@peckerhome.com,我们将在第一时间删除该信息。
  • 上一篇文章: 8位机嵌入式TCP通信速度的研究

  • 下一篇文章: 基于AT89S52和FAT16的SD卡读写系统设计
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
     最新5篇热点文章
    处理器架构消亡史[00139]
    通信恩仇,5G江湖[00280]
    官方辟谣扫码支付引爆加油…[00523]
    谷歌搭售是不是作恶?可以…[00284]
    你对Zigbee无线连接了解多…[00514]
     
     最新5篇推荐文章
    Pecker之家开通用于电子元…[02-13]
    印刷电路板图设计经验[04-04]
    基于电力线通信的家庭网络…[03-23]
    利用USB控制器设计的Windo…[01-20]
    基于ARM920T微处理器的IDE…[01-20]
     
     相 关 文 章
    Microchip宣布推出PIC32MX…[00296]
    Microchip扩展通用8位PIC&…[00329]
    Microchip扩展PIC24 Lite单…[00384]
    Microchip推出体积最小、成…[00365]
    英飞凌交付第1亿颗TriCore…[00338]

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论