1.控制点阵红绿交替显示,分别从上到下,从左到右循环闪烁三次

接线:

P0接J12、P1接J20、P2接J19

/**

1.控制点阵红绿交替显示,分别从上到下,从左到右循环闪烁三次

**/

#include <REG51.H>

unsignedchar code table_LeftRight[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

unsignedchar code table_TopBottom[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

enum DisplayDirecte{

Left2Right,

Right2Left,

Top2Bottom,

Bottom2Top

};

void delay(void)

{

unsignedchar i,j,k;

;k--)

;i--)

;j--);

}

/***********************************************************

显示的规则

***********************************************************/

void DisplayRule(enum DisplayDirecte displayDirecte,unsignedchar index){

switch(displayDirecte){

case Left2Right:

P2=table_LeftRight[index];

P0=0xff;

P1=0xff;

break;

case Right2Left:

P1-index];

P0=0xff;

P2=0xff;

break;

case Top2Bottom:

P2=0x00;

P1=0xff;

P0-index];

break;

case Bottom2Top:

P1=0x00;

P2=0xff;

P0=table_TopBottom[index];

break;

}

}

/***********************************************************

次

***********************************************************/

void Display3Time(enum DisplayDirecte displayDirecte){

unsignedchar i,RepeatTime;

;RepeatTime++)//控制重复的次数

{

;i++)

{

DisplayRule(displayDirecte,i);

delay();

}

}

}

void main(void)

{

)

{

Display3Time(Left2Right);

Display3Time(Right2Left);

Display3Time(Top2Bottom);

Display3Time(Bottom2Top);

}

}

2.自行编码,控制LCD显示0~F或一些简单汉字(红绿交替显示)

3./*****************************************************************************************

4.2.自行编码,控制LCD显示0~F或一些简单汉字(红绿交替显示)

5.******************************************************************************************/

#include<reg51.h>

#define Lenth 19

unsignedchar code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//列选通

]={

{0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00},//0

{0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00},//1

{0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00},//2

{0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00},//3

{0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00},//4

{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00},//5

{0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00},//6

{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00},//7

{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00},//8

{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00},//9

{0x00,0x00,0x7F,0x48,0x48,0x30,0x00,0x00},//P

{0x00,0x00,0x7F,0x48,0x4C,0x73,0x00,0x00},//R

{0x00,0x00,0x7F,0x49,0x49,0x49,0x00,0x00},//E

{0x00,0x00,0x3E,0x41,0x41,0x62,0x00,0x00},//C

{0x00,0x00,0x7F,0x08,0x08,0x7F,0x00,0x00},//H

{0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00},//I

{0x00,0x7F,0x10,0x08,0x04,0x7F,0x00,0x00},//N

{0x7C,0x48,0x48,0xFF,0x48,0x48,0x7C,0x00},  //中

{0x18,0x24,0x42,0x21,0x42,0x24,0x18,0x00}  //心形

};

unsignedint timecount1 , timecount2;

unsignedchar cntx , cnty ;

void main(void)

{

cnty;

)

{

if(cnty<Lenth)//红色

{

P1=0xFF;

P2=tab[cntx];  // 列线

P0=digittab[cnty][cntx];   // 行线

}

else//绿色

{

P2=0xFF;

P1=tab[cntx];   // 列线

P0=digittab[cnty-Lenth][cntx];  // 行线

}

//用于控制动态扫描的速度

)

{

timecount1;

;

}

//用于控制动字符间的切换速度

)

{

timecount2;

;

}

}

}

实验8 LCD8*8点阵的更多相关文章

  1. matlab 整局-部视知觉实验(读取excel点阵设计图替换数据)

    -------给我那编程盲的女盆友,我怎么感觉是我选了一门课???做了这么多次作业,还是整理出来吧,要知道双鸭山大学心理系单身妹子还是很多啊. 整体-局部范式是心理学的经典实验之一.请尝试利用 MAT ...

  2. 单片机与控制实验(2)——LED点阵显示屏

    一.实验目的和要求 了解LED点阵显示的基本原理和实现方法.掌握点阵汉字库的编码和从标准字库中提取汉字编码的方法. 二.实验设备 单片机测控实验系统 LED点阵显示器实验模块 Keil开发环境 STC ...

  3. 玩转u8g2 OLED库 MAX7219_32X8点阵模块

    u8g2 OLED库 + MAX7219_32X8点阵模块 理论基础 玩转u8g2 OLED库,一篇就够 玩转u8g2 OLED库,一篇就够(字数太多 要分篇) 实验内容 Full screen bu ...

  4. [Micropython]TPYBoard v10x拼插编程实验 点亮心形点阵

    一.什么是TPYBoard开发板 TPYBoard是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一款MicroPython开发板,它基于STM32F405单片机, ...

  5. 单片机与控制实验(5)——重量测量并在LCD12864显示

    一.实验目的和要求 掌握点阵式液晶显示屏的原理和控制方法,掌握点阵字符的显示方法.掌握模拟/数字(A/D)转换方式,进一步掌握使用C51语言编写程序的方法,使用C51语言编写实现重量测量的功能. 二. ...

  6. 基于Proteus仿真的Arduino学习(2)——LED点阵探究A(LED点阵基础)

    一.前言: 随着LED的普及,以LED点阵为基础的显示设置层出不穷.例如,公交车的线路提示牌.高速公路的信息提示牌,安装在大楼上的广告屏幕等.下面,我们将由简单到复杂地探索各种LED点阵的使用方法,同 ...

  7. 10-8位7段数码管驱动实验——小梅哥FPGA设计思想与验证方法视频教程配套文档

    芯航线--普利斯队长精心奉献   实验目的: 1.实现FPGA驱动数码管动态显示: 2.使用In system sources and probes editor工具,输入需要显示在数码管上的的数据, ...

  8. Verilog HDL那些事_建模篇笔记(实验九:VGA驱动)

    1.了解VGA协议 VGA协议有5个输入信号,列同步信号(HSYNC Signal),行同步信号(VSYNC Signal),红-绿-蓝,颜色信号(RGB Signal). 一帧屏幕的显示是由行从上至 ...

  9. 如何为编程爱好者设计一款好玩的智能硬件(七)——LCD1602点阵字符型液晶显示模块驱动封装(上)

    当前进展: 一.我的构想:如何为编程爱好者设计一款好玩的智能硬件(一)——即插即用.积木化.功能重组的智能硬件模块构想 二.别人家的孩子:如何为编程爱好者设计一款好玩的智能硬件(二)——别人是如何设计 ...

随机推荐

  1. vue中$ref的基本用法

    1.使用在一般的标签上 <div id="app"> <input ref="count" type="text" v-m ...

  2. IOS初级:NSUserDefaults

    NSUserDefaults(偏好设置),一个APP对应一个偏好设置 保存/新增数据 //存储数据 NSUserDefaults *defaults = [NSUserDefaults standar ...

  3. spring学习 十五 spring的自动注入

    一  :在 Spring 配置文件中对象名和 ref=”id” ,id 名相同使用自动注入,可以不配置<property/>,对应的注解@Autowired的作用 二: 两种配置办法 (1 ...

  4. 在python中while

    一.While循环 1.while循环格式 while 条件 : while循环体 当条件为Ture时,执行循环体,直到条件是假,停止循环. count = 1 # count 计数 一般用于计数 w ...

  5. org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403

    爬取网站的时候 conn = Jsoup.connect(url).timeout(5000).get();直接用get方法,有些网站可以正常爬取. 但是有些网站报403错误,403是一种在网站访问的 ...

  6. mysql的一些配置优化

    [mysqld]lower_case_table_names=1datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysql# Di ...

  7. 2018.12.15 poj3415 Common Substrings(后缀自动机)

    传送门 后缀自动机基础题. 给两个字符串,让你求长度不小于kkk的公共子串的数量. 这题可以用后缀自动机解决废话 考虑对其中一个字串建出后缀自动机,然后用另一个在上面跑,注意到如果一个状态有贡献的话, ...

  8. Github上下载某一个文件夹

    1.安装svn sudo apt-get install subversion 2.修改下载文件夹的链接 例如,https://github.com/a***b/learn/tree/master/m ...

  9. shell 脚本学习

    Shell简介 概述 Shell是一种具备特殊功能的程序,它提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令,并把它送入内核去执行.内核是Linux系统的心脏,从开机自检就驻留在计算机的内 ...

  10. bzoj2893(费用流)

    先缩点,然后拆点,其实是很经典的一种操作,把不好做的点拆成边,然后我一开始想的是网络流,答案当然是增广次数, 但可以发现跑网络流的话不同的跑法增广次数不一样,不太好找最小的.我们可以换一种神奇的思路, ...