LED显现操控体系规划是选用单片机AT89C51作为主操控器,选用LED队伍阵显现及键盘同步中止请求显现的2种形式,完结串口通讯并进行2种形式下的切换操控。体系成功地完结对I/O口通道操控以及键盘的中止请求等功用操控。体系仿真环境的建立是根据Proteus与Keil μVision 3软件在联合开发渠道中调试完结的。在调试的进程中,能够从多个方面直接调查程序运转状况和电路作业剖析,简化了理论程序和规划试验等进程,大大减少了代码的开发周期,降低了硬件本钱。
1 Keil μVision 3与protues简介
Keil μVision 3是美国Keil SOFtware公司出品的C51系列兼容单片机C言语软件开发体系,其生成方针代码的功率十分高,大都句子生成的汇编代码很紧凑,简单了解。在开发大型软件时更能表现高档言语的优势。
Proteus是英国Labcenter electonICs公司研制的电子规划自动化(EDA)体系,首要由ISIS电路规划与仿真渠道、Peospite模/数混合仿真器、VSM单片机/嵌入式体系协同仿真和ARES PCB规划构成。在编译调试方面,支撑Keil μVision 3和MPLAB等第三方开发工具。
2 体系规划
2.1 体系开发结构
LED显现操控体系规划由体系原理规划、体系代码开发、硬件电路模仿仿真、软硬件联合调试、什物移植等组成。其间,代码开发仿真模仿经过Proteus软件与Keil μVision 3软件之间彼此联合仿真进行规划。体系开发规划结构如图1所示。
2.2 硬件结构规划
体系硬件由单片机AT89C51体系和队伍阵LED显现模块、上位机、串行显现键盘模块、晶振电路和存储器模块等构成。体系硬件结构如图2所示。
硬件模块首要完结的功用有:显现屏的驱动,是经过与上位机间的串口通讯接纳文件信息并保存,经过队伍驱动器操控完结LED的驱动。串行显现键盘,为完结键盘输入与显现屏输出完结同步,进行串口输出形式切换,完结对LED的驱动,但因为体系中并行口的I/O资源不行,而串行口又没有其他作用,经过用数据锁存模块74LS164来扩展并行I/O口,节省单片机资源。将AT89C51串行通讯口输出的串行数据译码在其并口线上输出,将显现的数据直接送串口发送缓冲器,等候串行中止即可。
2.2.1 LED显现模块
显现部分选用动态扫描方法,完结汉字、图画、数字字符等数据信息的操控以及显现等功用。选用行扫描方法,中选通第1行LED点阵时,对应列数据,因为74HC595器材的特殊性,经过将每个器材的串行数据输入引脚14与下一个器材的串行数据输出引脚9级联,能够把需求显现的数据信息顺次存入74HC595器材内,经过其锁存器功用将数据锁存,待40列数据都存入74HC595器材内时,把输出有用引脚13置为低电平,则40列数据一同输出,到达一行显现的作用。顺次类推,完结整个显现屏的显现功用。
2.2.2 串行显现键盘
该模块用于与人机交互和显现,队伍式键盘即矩阵式键盘,由行和列组成,在每个队伍的交叉点上放置一个按键。包含8只操控LED的位驱动晶体管,操控数码显现的数据由操控灯亮灭信号和操控位显现的操控信号两部分组成。
2.2.3 串口通讯
串口接口经过RS 232完结上位机与单片机传输信息。当模块进入串行传输方法,上位机经过同步时钟线SCLK和串行数据线完结数据的传输。在AT89C51片选引脚CS为高电平时,主机时钟线上的时钟信号才干被液晶显现模块承受,当引脚CS为低电平时,显现模块内部寄存器将被复位,即停止数据传输。
2.3 软件规划
整个体系软件规划言语选用C言语,进行中止操控,其间代码开发编写测验则经过Keil μVision 3软件与Proteus软件之间完结。
软件完结代码流程如图3所示。
因为软件开发代码杂乱,现给出键盘输入程序部分代码如下:
3 Proteus与Keil软件的联调设置
体系选用Keil μVision 3与Proteus联调的方法来完结。首要需求装置Keil驱动软件vDMAgdi.exe,然后Keil目录下的bin中的VDM51. dll拷贝到Proteus下面的bin中,翻开Keil UVision 3软件,创立项目,并单击option for targetl,在翻开对话框,挑选output选项卡,在creat hex file前面打勾,以便发生HEX文件,一起在debug选项卡中挑选proteus vsmsimulator,将Keil生成。HEX文件如图4所示。
在Proteus软件中,双击AT89C51单片机,在其特点下面的Program file中加载由Keil μVision 3发生的。HEX文件,然后点击ok退出,一起在debug菜单下面挑选use remote debug monitor,这样就完结了Proteus与Keil的联调准备作业如图5所示。
4 结语
由仿真结果表明,在该形式开发环境下,有利于各个环节参数变量的调理设定,使得体系软件开发愈加简单完结,大大提高了代码开发周期和进展,简化了开发流程。