Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >单片机led点阵显示程序_LED点阵

单片机led点阵显示程序_LED点阵

作者头像
全栈程序员站长
发布于 2022-11-01 07:02:14
发布于 2022-11-01 07:02:14
95600
代码可运行
举报
运行总次数:0
代码可运行

单片机 LED点阵

一、简述

使用8×8LED点阵显示汉字。向上滚动”中华”两个汉字。

文件打包:链接: https://pan.baidu.com/s/1oHSAIY6qVA7qFFWUvMvJEA 密码: snyg

二、效果

三、工程文件结构

1、Keil工程

2、仿真电路图

四、代码

88led.c文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar code led[]={0xEF,0xEF,0x83,0xAB,0xAB,0x83,0xEF,0xEF,0xD5,0x93,0x55,0xC0,0x00,0xEF,0xEF,0xEF};//汉字“中华” 点阵码
uchar code  led_w[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//对应1~8行,赋给P2口,控制在哪一行显示
/********************************************************************/
//函数名:delay_1ms(uint x)
//功能:利用定时器0精确定时1ms; 自加 time_t的值为后面时间调整函数服务
//调用函数:
//输入参数:x,1ms计数
//输出参数:
//说明:延时的时间为1ms乘以x 
/********************************************************************/
void delay_1ms(uint x)
{
	TMOD=0X01;//开定时器0,工作方式为1
	TR0=1;//启动定时器0;
	while(x--)
	{
		TH0=0Xfc;//定时1ms初值的高8位装入TH0
		TL0=0X18;//定时1ms初值的低8位装入TL0
		while(!TF0);//等待,直到TF0为1
		TF0=0;	   //重置溢出位标志
	}		
	TR0=0;//停止定时器0;
}
/**********************************************************/
//函数名:ledplay()
//功能:led点阵显示程序
//调用函数:
//输入参数:
//输出参数:
//说明:
/**********************************************************/
void ledplay()
{
	uchar i,y,j;
	y=0; //稳定显示电平,平滑滚动,每8行数据显示10次
	j=0;//数据偏移,每次偏移1位
	while(1)//实现汉字向上滚动效果
	{
		for(i=0;i<8;i++)//显示8行数据
		{
			P0=0xFF;//消除上次电平的影响		
			P2=led_w[i];//控制显示行
			P0=led[i+j];//行电平数据
			delay_1ms(3);//延时3ms
		}
		y++;
		if(y>9)
		{
			P0=0xFF;//消除上次电平的影响
			delay_1ms(1);//延时,确保消除上次电平的影响
			y=0;
			j++;
			if(j>8)	//"中华"二字一共16行电平数据(0~15),i+j要<15
				j=0;
		}
	}

}
/**********************************************************/
//主程序
/**********************************************************/
void main()
{
	ledplay();//调用显示程序;
}

五、总结

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/200902.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PWN从入门到放弃(10)——栈溢出之ret2libc(x64)
我们看到,程序使用了gets函数和puts函数,根据我们之前讲过的ret2libc,攻击思路还是很清晰的
山深有杏
2024/01/30
2K0
PWN从入门到放弃(10)——栈溢出之ret2libc(x64)
PWN-BROP笔记
BROP是在没有给出题目文件的情况下,只能通过尝试来确定栈的大小,以及其他函数啥的地址
yichen
2020/03/06
9310
PWN ret2libc
ret2libc 应该是栈溢出里面的一个难点了,在这点上也卡了很久,现在做个学习记录
yulate
2023/05/02
6840
PWN ret2libc
BUUCTF-刷题记录
使用ida查看伪代码可以看到这个get_flag函数要求传入的两个参数必须为814536271和425138641即可直接读取flag
偏有宸机
2020/11/04
2.2K0
BUUCTF-刷题记录
[pwnable.tw] De-ASLR - "call reg"式ROP链+栈残留指针运用
题目只给了一个gets栈溢出,got开了全保护不能修改。按照题意对付aslr的话,爆破几率太渺茫了。应该要结合call reg以及栈残留指针来构造rop。
赤道企鹅
2022/08/01
5420
BUUCTF 刷题笔记——PWN 1
直接使用 nc 命令连接一下,当输入 ls 企图列目录时却返回了如下文字同时退出了。对于任意命令均如此,且返回文字的第二行就是我们输入的命令内容,这样一来就有趣了。
h-t-m
2023/03/15
2.4K0
BUUCTF 刷题笔记——PWN 1
ROP-Ret2libc详解
ret2libc 这种攻击方式主要是针对 动态链接(Dynamic linking) 编译的程序,因为正常情况下是无法在程序中找到像 system() 、execve() 这种系统级函数.
偏有宸机
2020/11/04
2K0
CTFShow萌新赛-WriteUp
程序有puts函数可以拿来泄露libc的基地址,然后只要利用ROPgadget找到程序中的pop rdi;ret代码段保持堆栈平衡使程序返回到主函数以继续运行,从而执行libc中的system函数即可。
偏有宸机
2020/11/04
1.2K0
CTFShow萌新赛-WriteUp
BUUCTF 刷题笔记——PWN 2
先验文件,本题文件为 32 为可执行文件,保护约等于没开。值得注意的是,该文件又是静态链接,因此又可以直接调用一些未被调用过的函数来解题,比如老朋友 mprotect() 函数。
h-t-m
2023/03/10
1.5K0
BUUCTF 刷题笔记——PWN 2
ctfshow-PWN刷题
​ 这个题目是今天刚做出来的,昨天刚学的libc,刚好刷到这道题目,可以看到这个题目中没有system和/bin/sh了,但是看到了puts,直接puts泄露libc地址,利用libc里的system和/bin/sh字符串来getshell.
ly0n
2020/11/04
1.5K0
Linux pwn入门学习到放弃
PWN是一个黑客语法的俚语词,自”own”这个字引申出来的,意为玩家在整个游戏对战中处在胜利的优势。本文记录菜鸟学习linux pwn入门的一些过程,详细介绍linux上的保护机制,分析一些常见漏洞如栈溢出,堆溢出,use after free等,以及一些常见工具介绍等。
FB客服
2020/09/22
4K0
Linux pwn入门学习到放弃
BUU PWN
通过字符串搜索看到了 cat /flag.txt的字符串,看到在main函数的上方有一个sub_40060D,发现cat falg.txt在这个函数中
ly0n
2020/11/04
9300
BUU PWN
PWNCTF部分复现
根据readData和writedata函数的逻辑发现数组是char [22][12],主要是判断越界的if语句有逻辑漏洞
安恒网络空间安全讲武堂
2018/12/18
9260
PWNCTF部分复现
PWN PWN PWN! - wuuconix's blog
作为一个半退役的CTF web选手,在大三上学习了编译原理和操作系统原理之后,感觉可以学习pwn了!下面写一下在buu和攻防世界上pwn专题的刷题记录。
wuuconix
2023/03/16
6640
PWN PWN PWN! - wuuconix's blog
高校战“疫”网络安全分享赛-部分PWN题-wp
周末打了下 《高校战“疫”网络安全分享赛》,作为WEB转PWN的菜鸟,只做出了三个PWN, 虽然被大佬们暴捶,但还是学到了几个操作,这里写一份WP,记录一下。
Gcow安全团队
2020/04/01
1.2K0
高校战“疫”网络安全分享赛-部分PWN题-wp
2022河南工控CTF
初赛成绩学生组第七,复赛成绩学生组第四(因为疫情复赛没有线下举办,挺可惜的,同时在比赛当天学校因疫情紧急封校,条件刻苦,大家一块努力打了一天,这个成绩是我们大家一块努力赢得的,尽管没有进总决赛,但是大家尽力了,下次继续加油!!!),放个复赛的成绩截图吧(这个截图是全排名)
故里[TRUE]
2023/04/20
3K0
2022河南工控CTF
从一道 CTF 题看 SROP | PWN
SROP 学习过程中,很大一部分人写的 smallest 这道题的 writeup 让我感觉很疑惑,为了证明他们写的存在一定问题,被迫走上了 pwntools + gdb 调试的路,所以这次只能用视频来进行展示了,文章剩余部分是讲义的内容 也不知道因为啥,磨磨唧唧唠了近两个小时,在视频中,大家可以 get 以下内容: SROP 原理及利用 一道 CTF 题的解题方法 pwntools + gdb 如何进行调试 SROP 整个过程中栈的内容是如何变化的 一些偏执... 视频已经上传到 B 站了 https:/
意大利的猫
2022/03/29
1.1K0
rop emporium challenges wp
这个的话没有/bin/cat flag.txt字符串了,那么这就需要我们写到内存了
用户1423082
2024/12/31
490
CTF PWN之堆漏洞转化为栈漏洞利用——bookstore
题目:https://github.com/giantbranch/CTF_PWN/tree/master/2018/tie3/bookstore
用户1423082
2024/12/31
890
CTF PWN之堆漏洞转化为栈漏洞利用——bookstore
ISCC2022
走私成功,但是显示本地才可以看到,那么添加一下secr3t_ip: 127.0.0.1
故里[TRUE]
2023/04/19
1.2K0
ISCC2022
相关推荐
PWN从入门到放弃(10)——栈溢出之ret2libc(x64)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验