【毕业设计】24-基于单片机的电子显示屏的设计与应用(原理图+源码+仿真工程+论文+答辩PPT)

【毕业设计】24-基于单片机的电子显示屏的设计与应用(原理图+源码+仿真工程+论文+答辩PPT)

任务书

主要研究内容:
通过查阅资料,掌握单片机基本工作原理,使用AD软件绘制原理图,Visio软件绘制胸痛框图、流程图,并学会使用Keil软件与Proteus软件。
研究方法:
首先收集、查阅相关文献资料并进行归纳整理,查找参考文献资料,最后结合所学的专业理论知识,完成软件仿真、硬件电路搭建和论文内容。
要求:
1、使用液晶显示器显示图片。
2、能够保证显示过程中图片无延迟。
3、可以控制液晶显示器图片滚动、翻转。

1.原理图工程文件
2.源码工程文件
3.仿真工程文件
4.论文低重复率,27011字
5.原理图截图
6.仿真截图
7.答辩PPT

设计说明书

摘要

本文基于单片机电子显示屏的设计与应用就是根据液晶显示器和单片机制作一款图像显示设备。可以实现图像的滚动和图像的反转功能。系统选择使用的主控芯片为STC89C52单片机;液晶显示器为LCD12864;人机交互设备选择使用独立按键。通过独立按键来实现图像的滚动和图像的反转功能。系统在设计上首先对系统的功能分析,然后确定系统的的设计方案,然后对系统的硬件电路和软件程序编写。硬件电路电路使用AD软件绘制,软件程序使用Keil,C语言编写。硬件和软件的设计上都是使用模块化的方式设计,方便在后期的维护、功能增添带来方便。最后系统的硬件和软件设计完成后,使用仿真软件Proteus来对系统仿真,测试功能。最后完成了设计。
在硬件电路的设计上考虑了系统的稳定性和抗干扰能力,通过模块化的方式设计系统,并且实现了系统功能,可以对本次设计系统进行推广应用。

设计框架架构

在这里插入图片描述

前 言 1
第一章 绪论 3
第一节 研究背景 3
第二节 显示器概述及液晶显示器特点 4
第三节 本文的主要研究内容 5
第二章 系统方案的分析与确定 7
第一节 系统设计要求 7
第二节 系统总体框架 7
第三节 主控制器选型 8
第四节 液晶显示器的显示原理 9
一、液晶显示器显示原理 9
二、字库标准介绍 13
第三章 系统硬件电路设计 14
第一节 单片机最小系统模块设计 14
一、单片机介绍 14
二、最小系统电路设计 16
第二节 电源模块设计 17
第三节 按键电路模块设计 18
第四节 LCD液晶显示模块电路设计 19
第五节 系统总电路图 20
第四章 系统的软件设计 22
第一节 Keil软件介绍 22
第二节 软件总设计 23
一、主程序设计流程 23
二、主程序设计源码 24
第三节 按键模块程序设计 25
一、按键设计流程 25
二、按键程序源码 26
第四节 LCD12864液晶显示模块程序设计 27
一、LCD12864程序设计流程 27
二、LCD12864程序设计源码 28
第五章 系统的仿真实现 30
第一节 Proteus软件介绍 30
第二节 系统电路搭建及调试 31
第三节 系统功能测试 32
结 论 35
致 谢 36
参考文献 37
附 录 39
一、英文原文 39
二、英文翻译 43
三、工程图纸 48
四、源代码 49

设计说明书及设计文件

在这里插入图片描述
在这里插入图片描述
论文低重复率,27011字
在这里插入图片描述

源码展示

void main()
{
 	uchar i,j,m;
	uint k,x;
	LCD_Initialise();
	Set_LCD_POS(0,0);//初始化LCD显示位置
	cls();
	while(1)//进入主函数
	{
	 	if(S1!=0)//S1被按下
		{
		 	LCD_Write_Command_P2(LC_GRH_STP,0,0);//写命令
			for(i=0;i<LCD_HEIGHT;i++)//LCD图片高度
			{
			 	Set_LCD_POS(i,0);//显示位置定位
				LCD_Write_Command(LC_AUT_WR); //写命令
				for(j=0;j<LCD_WIDTH;j++)//LCD图片高度
				{
				 	m = ImageX[i*LCD_WIDTH + j]; //LCD图片高度++
					if(S2 == 0) //S2被按下
						m = ~m;
					LCD_Write_Data(m);//写信息
				}
				LCD_Write_Command(LC_AUT_OVR);//写命令
			}
		}
		else
		{
		 	k = 0;
			while(k!=128/8*LCD_HEIGHT)//高度显示为完成进入循环
			{
				LCD_Write_Command_P2(LC_GRH_STP,k%256,k/256); //写命令
				for(x=0;x<5000;x++); //宽度显示
				k+=LCD_WIDTH; 	
			}
		}
	}
	 	if(S1!=0)//S1是否被按下
		{delay(20);//延时消抖
		 	LCD_Write_Command_P2(LC_GRH_STP,0,0);//显示位置刷新
			for(i=0;i<LCD_HEIGHT;i++)//显示高度未显示完成,进入循环
			{
			 	Set_LCD_POS(i,0);//显示位置定位
				LCD_Write_Command(LC_AUT_WR);//写入命令
				for(j=0;j<LCD_WIDTH;j++)/显示宽度未显示完成,进入循环
				{
				 	m = ImageX[i*LCD_WIDTH + j];//读取当前图片像素点信息
					if(S2 == 0) //S2是否被按下
						m = ~m;//像素信息取反
					LCD_Write_Data(m);//写图取反后的像素信息
				}
				LCD_Write_Command(LC_AUT_OVR);
			}


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
单片机6位数电子密码锁源码设计是基于单片机控制的密码输入和判断功能,可以实现锁的开关与密码的设置与改变。以下是一个简单的实现过程: 1. 硬件设计:基于该密码锁的电路设计需要包括单片机、键盘接口、显示屏、驱动电路和电源等部分。通过合适的布局设计和连接设计,保证各个模块能够正常工作。 2. 软件设计:基于C语言的单片机编程,通过读取键盘输入、判断输入密码是否正确等操作来实现密码锁的功能。具体步骤如下: a. 初始化:初始化单片机及外设,设置初始密码。 b. 输入密码:通过键盘输入6位数的密码,存储在单片机中。 c. 验证密码:将输入的密码与单片机存储的密码进行比较。如果密码匹配,显示屏显示"密码正确"并打开锁;如果不匹配,显示屏显示"密码错误"并保持锁的关闭状态。 d. 改变密码:在验证密码成功后,可以进入密码修改模式,通过输入新的6位数密码并存储到单片机中来改变密码。 3. PCB设计:基于软件设计和电路要求,通过软件工具进行PCB设计,包括布局、走线、添加电源和连接电路、引脚复用等。确保PCB电路板能够正常工作。 4. 仿真原理图设计:在PCB设计完成后,可以通过仿真软件进行仿真原理图设计。该步骤可以验证原理图的正确性,并通过仿真结果来检查电路是否符合设计需求。 因为字数有限,这里只给出了基本的实现步骤,实际的实现可能还涉及到更多的细节和优化的设计。希望这个回答对您有帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值