首页 > 范文大全 > 正文

基于89C51单片机的编码译码显示实验电路设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于89C51单片机的编码译码显示实验电路设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:当前手工拨盘方式编码译码显示实验电路存在输入信号不稳定、控制性较差等缺点,为了克服上述缺点,电路设计采用89C51单片机为核心器件作为编码信号发生器和自动控制系统。通过Proteus平台仿真和实验调试,电路能产生高质量输入信号和实现自动控制,较好地解决了手工拨盘方式编码译码显示实验电路存在的缺陷。

关键词:89C51单片机; 编码译码; 显示; Proteus仿真

中图分类号:TN919-34文献标识码:A

文章编号:1004-373X(2010)21-0194-03

Design of Coding and Decoding Display Experimental Circuit Based on 89C51 MCU

WEN Han-quan

(Huizhou City Senior Technician School, Huizhou 516001, China)

Abstract: The coding and decoding display experimental circuit with manual dial method has disadvantages of unstable input signal and poor control performance. The circuit design used 89C51 core device as a coded signal generator and automatic control system to overcome these shortcomings. The circuit can produce high-quality input signal and achieve automatic control by Proteus platform simulation and experimental debug. The defects of coding and decoding display experimental circuit with manual dial method are solved.

Keywords: 89C51MCU; coding and decoding; display; Proteus simulation

0 引 言

在日常数字逻辑电路实验中编码译码显示实验电路是编码、译码、显示三个电路的综合运用,在数字逻辑实验电路中具有重要的地位,在实验的过程中,时常会出现显示结果的抖动,经研究出现这种现象主要原因是:编码电路的编码信号输入采用手工拨盘方式,产生的编码输入信号往往不稳定;另外,电路控制性能较差,不能达到自动复位,为此有必要对现有电路进行改进,在电路的设计上采用89C51单片机为控制电路制作而成,自动提供稳定编码输入信号,显示结果稳定性和电路控制性能大大提升, 提高了教学实验质量。

1 编码译码显示实验电路的基本结构

编码译码显示电路的基本结构如图1所示,主要由控制电路、编码信号发生器、编码译码显示电路等组成,控制电路产生编码信号作为编码译码显示电路输入信号,译码电路将编码信号转换成对应的七段数码显示信号,送至LED数码管显示。

2 系统硬件设计

控制系统和编码信号发生器采用89C51单片机实现。89C51性价比较高,采用12 MHz晶振,其内部带有4 KB的FLASH ROM,无须外扩程序存储器。编码译码电路没有大量运算和暂存数据。89C51内部的128 B片内RAM已能满足要求,无须外扩片外RAM。系统硬件设计如图2所示。

2.1 编码信号发生器电路

编码信号由89C51内部编程控制,键盘输入“0~8”从P0.0~P0.7口送给编码器74LS147,“9”从P2.0口送给编码器,具体编码见表1。

表1 编码信号表

P0~P2口状态

键 盘

0123456789Rst

P0.000111111111

P0.101011111111

P0.201101111111

P0.301110111111

P0.401111011111

P0.501111101111

P0.601111110111

P0.701111111011

P2.001111111101

2.2 键盘设计

键盘采用4×3阵列结构设计,P1.0~P1.3为键盘扫描高4位,P1.4~P1.6为低4位。设计有“0~9”、Rst(复位)、Ser(顺序)。列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下。

图1 编码译码显示实验结构图

图2 编码译码显示实验电路

2.3 编码译码显示电路

编码译码显示电路主要由编码器(74LS147)、六反相器(74AC04)、译码器(74LS247)、七段LED数码管组成。编码器74LS147的1~5脚,10~13脚为编码输入端,低电平有效,实验时可用接地作为低电平输入;14,6,7,9脚为编码输出(反码);16,8脚为电源正负极。译码器74LS247的6,2,1,7脚为译码输入(高电平有效);9~15为译码输出;8,16脚为电源正负极。六反相器(74AC04)主要是解决编码器74HC147和译码器74LS247信号匹配问题,共有6组输入与输出,只取其中4组。七段LED数码管主要是显示译码器输出状态。

电路主要原理是在74LS147的1~9输入011111111~111111110,编码后得到4位反码,经74AC04反相后送到74LS247,由74LS247驱动LED数码管,正确时能显示0~9。

3 系统软件设计

软件设计由初始化、键盘扫描、编码程序三部分组成。开始进行初始化,P0、P2口按复位状态附值输出,LED无显示。然后4×3阵列式键盘开始进行扫描,当判断有键按下时,延时去键抖动,判断是否务抖动,当确定判断是有键按下时,等待闭合键释放,保存键值。根据键值调用编码程序,将表1对应的编码送到P0,P2口输出,主程序流程图如图3所示。

图3 主程序流程图

当按Ser(顺序序列)键时,依次按1~9编码值送至P0,P2口,间隔0.5 s输出。Ser编码编码子程序如下:

/********Ser键编码********/

Void ser()

{

Unsigned int Move,i;

Move=0xFE

P0=0xFF;//P0口复位

P2=0xFF;//P2口复位

For(i=0,i

{

P0=Move;//P0口输出1编码

Delay(500);//调用延时500 ms子程序

Move

}

P2=0xFE;//编码9从P2口输出

Delay(500); //调用延时500 ms子程序

}

4 系统仿真与调试

Proteus是一个基于ProSpice混合模型仿真器的,完整的嵌入式系统软、硬件设计仿真平台。编码译码显示电路能很方便地在此平台上进行调试和仿真,延时时间同选用的单片机和所用晶体振荡器有关,在调试时须注意。

5 结 语

提出了一款编码译码显示实验电路设计,其控制系

统和编码信号发生器采用89c51单片机实现,经Proteus仿真和实验调试结果来看,大大改善了电路的性能,电路制作方便、操作简单,在数字逻辑电路实验教学中具有一定的推广价值,电路主要不足是不能实现故障自动检查,如果能对电路故障进行自动检测,电路性能将更加完善。

参考文献

[1]肖金球.单片机原理与接口[M].北京:清华大学出版社,2004.

[2]肖明耀.数字逻辑电路[M].3版.北京:中国劳动社会保障出版社,2003.

[3]王志功,陈莹梅.集成电路设计[M].2版.北京:电子工业出版社,2009.

[4]胡斌,胡松.电子电路知识点:显示电路(合订本)[M].北京:机械工业出版社,2010.

[5]吴云.典型电子电路160例[M].北京:中国电力出版社,2010.

[6]梅开乡,梅军进.电子电路实验[M].北京:北京理工大学出版社,2010.

[7]黄继昌,张海贵,徐巧鱼.数字集成电路应用集萃[M].北京:中国电力出版社,2008.

[8]王守中,聂元铭.51单片机开发入门与典型实例[M].2版.北京:人民邮电出版社,2009.

[9]刘宁.创意电子设计与制作[M].北京:北京航空航天大学出版社,2010.

[10]任文霞.电子电路仿真技术[M].北京:中国电力出版社,2009.

[11]何希才.新型集成电路应用300例[M].北京:中国电力出版社,2009.