单片机实例26——点阵式LED简单图形显示技术(硬件电路图+汇编程序+C语言程序)

26. 点阵式LED简单图形显示技术 

1. 实验任务

在8X8点阵式LED显示“★”、“●”和心形图,通过按键来选择要显示的图形。

2. 电路原理图

图4.26.1

3. 硬件系统连线

(1). 把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;

(2). 把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;

(3). 把“单片机系统”区域中的P2.0/A8端子用导线连接到“独立式键盘”区域中的SP1端子上;

4. 程序设计内容

(1). “★”在8X8LED点阵上显示图如下图所示

1 2 3 4 5 6 7 8

12H,14H,3CH,48H,3CH,14H,12H,00H

(2). “●”在8X8LED点阵上显示图如下图所示

1 2 3 4 5 6 7 8

00H,00H,38H,44H,44H,44H,38H,00H

(3). 心形图在8X8LED点阵上显示图如下图所示

1 2 3 4 5 6 7 8

30H,48H,44H,22H,44H,48H,30H,00H

5. 汇编源程序
CNTA EQU 30H
COUNT EQU 31H

ORG 00H
LJMP START
ORG 0BH
LJMP T0X
ORG 30H
START: MOV CNTA,#00H
MOV COUNT,#00H
MOV TMOD,#01H
MOV TH0,#(65536-4000) / 256
MOV TL0,#(65536-4000) MOD 256
SETB TR0
SETB ET0
SETB EA
WT: JB P2.0,WT
MOV R6,#5
MOV R7,#248
D1: DJNZ R7,$
DJNZ R6,D1
JB P2.0,WT
INC COUNT
MOV A,COUNT
CJNE A,#03H,NEXT
MOV COUNT,#00H
NEXT: JNB P2.0,$
SJMP WT

T0X: NOP
MOV TH0,#(65536-4000) / 256
MOV TL0,#(65536-4000) MOD 256
MOV DPTR,#TAB
MOV A,CNTA
MOVC A,@A+DPTR
MOV P3,A
MOV DPTR,#GRAPH
MOV A,COUNT
MOV B,#8
MUL AB
ADD A,CNTA
MOVC A,@A+DPTR
MOV P1,A
INC CNTA
MOV A,CNTA
CJNE A,#8,NEX
MOV CNTA,#00H
NEX: RETI

TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
GRAPH: DB 12H,14H,3CH,48H,3CH,14H,12H,00H
DB 00H,00H,38H,44H,44H,44H,38H,00H
DB 30H,48H,44H,22H,44H,48H,30H,00H
END

6. C语言源程序

#include <AT89X52.H>

unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char code graph[3][8]={{0x12,0x14,0x3c,0x48,0x3c,0x14,0x12,0x00},
{0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x00},
{0x30,0x48,0x44,0x22,0x44,0x48,0x30,0x00}
};
unsigned char count;
unsigned char cnta;

void main(void)
{
	unsigned char i,j;

	TMOD=0x01;
	TH0=(65536-4000)/256;
	TL0=(65536-4000)%256;
	TR0=1;
	ET0=1;
	EA=1;

	while(1)
	{
		if(P2_0==0)
		{
			for(i=5;i>0;i--)
				for(j=248;j>0;j--);
			if(P2_0==0)
			{
				count++;
				if(count==3)
				{
					count=0;
				}
				while(P2_0==0);
			}
		}
	}
}

void t0(void) interrupt 1 using 0
{
	TH0=(65536-4000)/256;
	TL0=(65536-4000)%256;
	P3=tab[cnta];
	P1=graph[count][cnta];
	cnta++;
	if(cnta==8)
	{
		cnta=0;
	}
}

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
电子类毕业设计及产品设计软硬件资料176个合集: 3208LED点阵屏电子钟制作全资料.zip 400HZ中频电源设计资料.zip AVR寻迹小车.zip CDMA通信系统中的接入信道部分进行仿真与分析资料.zip C与VB语言联合在proteus上仿真.zip IC卡读写仿真.zip Integrate就医服务平台.zip LC振荡器制作资料.zip led大屏幕点阵屏设计资料.zip MCGS数据采集单片机数据传送的设计资料.zip nrf905射频发送电路图和C程序源代码.zip PC 机与单片机通信(RS232 协议).zip PC红外线遥控器.zip PICICD2仿真器的原理与PCB资料.zip PLC控制电梯的设计资料.zip PLC电梯控制系统.zip PLL电路的研究及在信号产生中的应用资料.zip Proteus 仿真MSP430实例14例(带源码).zip RCC电路间歇振荡的研究资料.zip USB接口信号发生器.zip USB接口波形发生器.zip VB上位机与18b20下位机.zip VB上位机程序控制DS1302时钟的proteus仿真.zip 一种智能频率计的设计与制作(AVR)proteus仿真+程序资料.zip 串行通信的电子密码锁资料.zip 交通控制器设计资料.zip 仓库温湿度的监测系统资料.zip 低成本可调数显稳压电源(1.3V~25V)proteus仿真资料.zip 便捷单片机实验开发装置资料.zip 光纤通信复用技术的研究资料.zip 全遥控数字音量控制的D 类功率放大器资料.zip 八位数字密码锁资料.zip 八路扫描抢答器设计.zip 具有定时功能的八路数显抢答器的设计.zip 出租车计价器设计资料.zip 出租车计价器资料.zip 单工无线发射接收系统资料.zip 单工无线呼叫系统设计资料.zip 单片机 交通灯设计资料.zip 单片机-485-PC串口通信proteus仿真+程序资料.zip 单片机C语言程序设计实训100例——基于8051+Proteus仿真.zip 单片机串行口与PC机通讯资料.zip 单片机串行通信发射机资料.zip 单片机定时闹钟资料.zip 单片机扩展串行通信资料.zip 单片机控制LED点阵显示器.zip 单片机控制交通灯资料.zip 单片机控制语音芯片的录放音系统的设计资料.zip 单片机数字时钟资料.zip 单片机照明灯智能控制器资料.zip 单片机红外遥控系统设计资料.zip 单片机自动控制交通灯及时间显示资料.zip 危险气体泄露报警器设计资料.zip 变压器的智能绕线功能系统资料.zip 同步电机模型的MATLAB仿真资料.zip 国旗升降系统程序资料.zip 基于51单片机的数字频率计资料.zip 基于51单片机的电力载波通信开关电路的制作资料.zip 基于51单片机的电子万年历的设计资料.zip 基于AT89S52单片机和DS1302的电子万年历设计资料.zip 基于AVR单片机的汽车空调控制系统资料.zip 基于AVR及无线收发模块的脉搏监测系统设计资料.zip 基于CPLD的三相多波形函数发生器资料.zip 基于DDS的信号源设计资料.zip 基于FPGA多通道采样系统设计资料.zip 基于GSM短信模块的家庭防盗报警系统资料.zip 基于IGBT的变频电源设计资料.zip 基于Mini51B的简易数字示波器资料.zip 基于PLL信号发生器的设计资料.zip 基于PSTN的家用电器远程控制系统设计资料.zip 基于USB接口的温度控制器设计资料.zip 基于USB的经络信号的检测系统与设计资料.zip 基于两个单片机串行通信的电子密码锁资料.zip 基于单片机实现的俄罗斯方块游戏.zip 基于单片机控制的交通灯毕业设计资料.zip 基于单片机控制的开关电源资料.zip 基于单片机的作息时间控制钟系统资料.zip 基于单片机的指纹识别电子密码锁设计.zip 基于单片机的数字温度计资料.zip 基于单片机的数字电压表资料.zip 基于单片机的数字钟设计资料.zip 基于单片机的水温控制系统.zip 基于单片机的水温控制系统设计资料.zip 基于单片机的水温控制系统资料.zip 基于单片机的温度控制系统资料.zip 基于单片机的电集中抄表设计资料.zip 基于单片机的简易逻辑分析仪资料.zip 基于网络的虚拟仪器测试系统资料.zip 多功能出租车计价器设计资料.zip 多功能工业控制平台.zip 多功能数字时钟设计资料.zip 多功能电子医药盒设计.zip 多功能电机控制器资料.zip 多点无线数据传输系统资料.zip 多点温度检测系统设计资料.zip 宠物定时喂食器设计资料.zip 家用音响设计制作资料.zip 常导超导
51单片机基础应用设计C语言实例源码仿真300个合集: 100000秒以内的计时程序 10秒的秒表 12864LCD图形滚动演示 128X64LED 160128LCD文演示 1602字符液晶滚动演示程序 1602液晶显示的DS1302实时时钟 16×16点阵(滚动显示) 16×16点阵2(滚动显示) 2io5键盘模拟音量数码管显示 2×20串行字符液晶演示 32x16汉字 44行列键盘 485全双工通信 4×4键盘矩阵控制条形LED显示 4个独立按键控制LED开关 4个独立按键控制LED移位 4只数码管滚动显示0~3 555可调PWM发生器 555的应用 6264扩展内存 6个16×16点阵 74HC154译码器应用 74HC595 74HC595串入并出芯片应用 74LS138译码器应用 74LS148扩展中断 8051双机通信简例 8255并行口扩展实例 89C51PWM 8x8LED汉字显示 8x8点阵做的贪吃蛇游戏 8×8LED点阵显示数字 8只数码管同时显示不同字符 8只数码管显示多个不同字符 8只数码管滚动显示8~F 8只数码管滚动显示单个数字 8只数码管滚动显示数字串 8只数码管闪烁显示 8通道自动温度检测系统仿真(含原程序) ADC0808 PWM实验 ADC0809模数转换与显示 ADC0832模数转换与显示 AT89C51对直流电动机的驱动 AVR_Uart BCD译码数码管显示数字 c51 可预设电压的数控电源(功能强大) clock Conter CPU控制的独立键盘扫描实验 da、ad。液晶,传递函数模型综合应用的实例 DIY51数控电源 DS1621温度传感器实验 ds18b20 DS18B20温度传感器实验 DS18B20温度检测及其液晶显示 HorseLight I2C IIC-24C04与数码管 IIC-24C04与蜂鸣器 INT0与INT1中断计数 INT0中断3位计数 INT0及INT1中断计数 INT0和INT1控制条形LED INT1中断5位计数 IO并行口直接驱动单个数码管 K1-K4 分组控制LED K1-K4 控制LED移位 K1-K4 控制数码管加减演示 K1-K4 控制数码管移位显示 K1-K4 键状态显示 key_lcd ks0108 液晶12864 LCD频率计仿真 LED代码查询V1[1].1 LED模拟交通灯 LED闪烁 M16_AN_Compare M16_EEPROM M16_Horse MAX7221控制数码管动态显示 my16key_c NT0中断控制LED NT0中断计数 NumberDisplay P3口流水灯 PCF8574 PCF8583+LCD1602 PCF8591模数与数模转换实验 proteus ADDC的练习程序 PWM PWMLED PWM控制LED的亮度仿真程序 PWM控制马达的方法 PWM波输出(可调) PWM电机正反转 pwm程序实例 PWM调温 RAM扩展练习 sscom32串口调试 TIMER0与TIMER1控制条形LED TIMER0控制LED二进制计数 TIMER0控制单只LED闪烁 TIMER0控制四只LED滚动闪烁 TIMER0控制流水灯 ULN2803 usart_t 《lcd1602仿真实例》 一个数控直流稳压电源 一个步进电机的仿真 一步一步教你51_PC串口通信 万能逻辑电路实验 三机通讯 串口仿真mcu_pc 串口方1 串行数据转换为并行数据 交通灯 从左到右的流水灯 光藕隔离驱动电机 内部函数intrins.h应用举例 净水控制器仿真电路 刚做好的十个字的led屏模拟有程序 包含单片机寄存器的头文件 单只按键控制单只数码管滚动显示 单只数码管循环显示0-9 单只数码管循环显示0~F 单片机与PC机串口通讯仿真 单片机之间双向通信 单片机向PC发送数据 单片机向主机发送字符串 单片机接收PC发出的数据 单片机控制的电动自行车驱动系统 单片机数据发送程序 发一个用定时器做的PWM 基于1602+ds12b80+ds1302+音乐+电子书+流水灯的多功能电子表 基于ADC0832的数字电压表 基于AT24C02的多机通信 基于AT89C51+MAX7219的频率计 附带proteus仿真电路图 实际硬件电路测试通过 基于DS1302的日历时钟 基于yjwpm测试过的DS18B20仿真实例 多功能电子钟 多点温度测量 多路开关状态指示 大屏幕仿真 子电路做的一个H型电机驱动电路 字符串函数string.h应用举例 字符函数ctype.h应用举例 宏定义应用举例 定时器中断控制的独立键盘扫描实验 定时器控制交通指示灯 定时器控制数码动态显示 定时器控制数码管动管显示 对I2C总线上挂接多个AT24C02

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易小侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值