当前位置: 首页 > news >正文

深圳网站开发公司网站建设服务公司

深圳网站开发公司,网站建设服务公司,在哪些网站可以做毕业设计,杨浦网站建设一、实验目的: (1)学习lcd 1602的编程与使用、 (2)机械式复位开关button软件消抖的方法。 二、实验内容: 1、必做:先显示开机画面,:在1602显示器上,分两行…

一、实验目的:

(1)学习lcd 1602的编程与使用、

(2)机械式复位开关button软件消抖的方法。

二、实验内容:

1、必做:先显示开机画面,:在1602显示器上,分两行分别居中显示字符“  AHAU  CHINA  ” 和 "  I LOVE YOU  "。然后从右向左移动直至消失。其中1602的rs、rw、en引脚分别使用单片机的P1.0、P1.1、P1.2引脚,数据引脚接单片机的P0口。

要求:(1)将两行字符存储在数组中。

(2)将lcd1602的基本操作都写到一个头文件中,供主函数文件调用。在主函数文件中,只处理与显示内容有关的业务。

提高版:两行逐个显示,两行字符全部出现后整体静态显示1秒左右,然后闪烁3次,最后从右向左移动直至消失。

2、接上1题(必做,按键button与lcd1602):当两行字符左移消失以后,在lcd1602的第一行居中显示:“a:?”,其中?为a的值,随按键变化。

其中无符号字节型变量a初值为0,其值实时显示在lcd 1602上。当复位开关S1(设置)按下时,a的值闪烁显示;S2(增加)每按一次,a增1;直至a增为 9,再按一次S2,a 归 0;S3(减少)按键每按一次,a 自减 1; 如此反复,并将 a 的值实时送至lcd 1602以闪烁的形式显示出来“a:?”,其中?为a的值,并闪烁显示。当按下S4(确认)时,a的值确定并不再闪烁。

其中S1、S2、S3、S4均为复位开关(button),即轻按接通、释放后自动复位断开。S1、S2、S3、S4与单片机的接口请遵照学习板电路的设置(见学习板电路原理图)。

要求:

(1)使用开关需要进行软件消抖(软件消抖方法在教材5.6.1和5.6.2中有介绍);

(2)注意lcd 1602基本操作的时序。

main.c

#include "lcd1602.h"
#include "Delay.h"unsigned char code date[]="  AHAU  CHINA " ;
unsigned char code time[]="  I   LOVE   YOU  ";void char_writer()									// 写入两行待显示字符数组
{uchar i,j;for(i=0;i<16;i++)									// 写入第一行待显示字符数组{write_data(date[i]);}write_command(0x80+0x40);					// 更改地址到第二行for(j=0;j<16;j++)									// 写入第二行待显示字符数组{write_data(time[j]);}
}void main()
{lcd_initial();										// 1602初始化char_writer();										// 写入两行待显示字符数组while(1)											{write_command(0x18);						// 字符左移消失0001 1000Delay(50);}	
}

Delay.c

#include "Delay.h"void delay(unsigned int j)									// 延时函数,此处使用晶振为11.0592MHz
{unsigned char i = 250;for(;j>0;j--){while(--i);i = 249;while(--i);i = 250;}
}

Delay.h

#ifndef __DELAY_H
#define __DELAY_H#include <reg51.h>
#include <intrins.h>void Delay(unsigned int j);
#endif

lcd1602.h

#ifndef __LCD1602_H
#define __LCD1602_H#include <reg51.h>
#include <intrins.h>#define out P0										//数据到LCDtypedef unsigned int uint;
typedef unsigned char uchar;sbit RS=P1^0;
sbit RW=P1^1;
sbit E=P1^2;void check_busy();
void write_command( uchar com );
void write_data(uchar dat);
void lcd_initial();
void string(uchar ad, uchar *s);#endif

lcd1602.c

#include "lcd1602.h"
#include "Delay.h"void check_busy()										//检查忙标志位
{uchar dt;do{dt = 0xff;E = 0;RS = 0;RW = 1;E = 1;dt = out;}while(dt&0x80);E = 0;
}void write_command(uchar com)				//写命令函数
{check_busy();E = 0;RS = 0;RW = 0;out = com;E = 1;_nop_();E = 0;Delay(1);
}void write_data(uchar dat)					// 写显示数据函数
{check_busy();E = 0;RS = 1;RW = 0;out = dat;E = 1;_nop_();E = 0;Delay(1);
}void lcd_initial()									//液晶显示器初始化函数
{write_command(0x38);write_command(0x0C);write_command(0x05);write_command(0x01);Delay(1);
}void string(uchar ad, uchar *s)			//输出显示字符串的函数
{write_command(ad);while(*s > 0){write_data(*s++);Delay(100);}
}

http://www.ds6.com.cn/news/107106.html

相关文章:

  • 山西两学一做登录网站百度信息流投放在哪些平台
  • 网站支付界面怎么做软文广告是什么
  • 网站计数器php西安seo服务
  • 招商广告温州最好的seo
  • 青岛网站建设和推广疫情死亡最新数据消息
  • 做网站怎么收集资料网址缩短
  • 闲鱼网站是哪家公司做的360优化关键词
  • 网站建设用英语怎么说好看的网站设计
  • 菏泽网站建设哪家好成都网站seo排名优化
  • 安顺做网站如何网络推广
  • 设计师网站都有哪些sem是什么职业
  • 90后做网站营销网站建设免费
  • ui设计师真的烂大街了吗宁波如何做抖音seo搜索优化
  • 东川网站建设站长工具是什么
  • 做网站源码要给客户嘛刷排名seo软件
  • 自己做盗版小说网站长春网站优化方案
  • 做外贸营销网站销售咋样市场推广策略
  • 浙江网站建设企业安卓优化大师手机版下载
  • 小型企业网站开发现状资源搜索引擎搜索神器网
  • 鄂州市门户网站友情视频
  • vue做门户网站网站开发费用
  • c 网站开发工程师招聘阿里巴巴推广
  • b2b免费信息网站网页设计与制作项目教程
  • 企业年金查询官网厦门seo排名优化
  • miniui做的网站上海seo网站推广
  • 酒吧装修seo短视频入口
  • 百度搜索推广开户关键词排名优化公司地址
  • 电商网站建设方面的毕业设计已矣seo排名点击软件
  • 驻马店做网站推广西安百度推广客服电话多少
  • 请问大连谁家做网站谷歌官方网站注册