您好,欢迎来到九壹网。
搜索
您的当前位置:首页单片机5

单片机5

来源:九壹网
实验五 发光二极管阵列的单片机显示控制实现

一、实验目的

1、了解点阵LED的显示原理

2、掌握Keil µVision2编辑、编译、调试单片机汇编程序的方法 3、掌握PROTEUS ISIS软件仿真单片机原理的方法

4、设计整个单片机硬件电路及软件,实现发光二极管阵列的单片机显示控制 二、实验内容

利用8×8点阵LED循环显示0~9的数字。 三、实验原理

数字0~9点阵显示代码的形成,如图6-1所示(假设显示数字“0”)

图6-1 数字“0”的段码

因此,形成的行代码为00H,00H,3EH,41H,41H,41H,3E,00H;只要把这些 代码分别送到相应的行线上面,即可实现“0”的数字显示。 送显示代码过程如下:

送第一行线代码到P0端口,同时置第一列线为“1”,其他行线为“0”,延时约4ms; 送第二列线代码到P0端口,同时置第二行线为“1”,其他行线为“0”,延时约4ms;依次 类推,直到送完最后一列代码,又从头开始送。 四、实验步骤 1、硬件设计

打开Proteus ISIS编辑环境,按表6-1所列元件清单添加元件。

表6-1元件清单

元件清单 ATC51 CAP CAP-ELEC CRYSTAL RES 74LS245 MATRIX-8×8 Capacitors Capacitors Miscellaneous Resistors TTL 74LS Series Optoelectronics 所属类 Microprocessor ICs Generic Generic ----- Generic Transceivers Don Matrix Displays 所属子类 8051 Family 元件全部添加完后,在Proteus ISIS编辑环境中按图6-2所示连接硬件原理图。具体操作步骤见附录A。

图6-2 电路原理图

2、软件设计 程序流程:

开始 输出列码 输出对应的行码,显示 已扫描8列? 已显示1s 显示下一个数字

源程序:

TCOUNT EQU 30H R_CNT EQU 31H NUMB EQU 32H

ORG 00H LJMP START ORG 0BH LJMP INT_T0

START: MOV TCOUNT,#00H

MOV R_CNT,#00H MOV NUMB,#00H MOV TMOD,#01H MOV TH0,#(65536-4000)/256 ;定时4ms MOV TL0,#(65536-4000)MOD 256 SETB TR0 MOV IE,#82H SJMP $

INT_T0: MOV TH0,#(65536-4000)/256

MOV TL0,#(65536-4000)MOD 256 MOV DPTR,#TAB ;取列码 MOV A,R_CNT MOVC A,@A+DPTR MOV P3,A MOV DPTR,#NUB ;取行码 MOV A,NUMB MOV B,#8 MUL AB ADD A,R_CNT MOVC A,@A+DPTR CPL A MOV P0,A ;输出行码 INC R_CNT MOV A,R_CNT CJNE A,#8,NEXT MOV R_CNT,#00H

NEXT: INC TCOUNT

MOV A,TCOUNT CJNE A,#250,NEX ;每个字显示1s MOV TCOUNT,#00H INC NUMB MOV A,NUMB CJNE A,#10,NEX ;0~9循环显示 MOV NUMB,#00H

NEX: RETI

TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH NUB: DB 00H,00H,3EH,41H,41H,41H,3EH,00H

DB 00H,00H,00H,00H,21H,7FH,01H,00H DB 00H,00H,27H,45H,45H,45H,39H,00H DB 00H,00H,22H,49H,49H,49H,36H,00H DB 00H,00H,0CH,14H,24H,7FH,04H,00H DB 00H,00H,72H,51H,51H,51H,4EH,00H DB 00H,00H,3EH,49H,49H,49H,26H,00H DB 00H,00H,40H,40H,40H,4FH,70H,00H DB 00H,00H,36H,49H,49H,49H,36H,00H DB 00H,00H,32H,49H,49H,49H,3EH,00H END 3、调试与仿真 (1)打开Keil ūVision,新建Keil项目,选择ATC51单片机作为CPU,新建汇编源文件,编写程序,并将其导入到“Source Group 1”中,在“Options for Target”对话窗口中,选中“Output”选项卡中的“Create HEX File”选项,。编译汇编源程序,改正程序中的错误。具体操作步骤见附录B。

(2)在Proteus ISIS中,选中ATC51并单击鼠标左键,打开“Edit Component”对话窗口,设置单片机晶振频率为12MHz,在此窗口中的“Program File”栏中,选择步骤(1)用Keil生成的HEX文件,在Proteus ISIS中保存设计。 (3)点击Proteus ISIS中按钮,仿真整个电路,得到如图6-3所示的结果,可以看到数字0~9循环显示。

图6-3 电路仿真结果图

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务