实验一 崔倩倩 0227

一、实验目标

在大板8*8 LED点阵上显示“O(哦)”“心形”“U”

二.实验器材

keil软件,普中烧录软件,单片机

三.实验原理

8*8点阵由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,点亮点阵中的一个发光二极管的条件是:对应的行为高电平,对应列为低电平。显示的实质就是控制加到行线和列线上的编码来控制点亮某些发光二极管,从而显示出不同发光点组成的各种字符。

四.实验过程及结果

图片发自简书App

图片发自简书App

图片发自简书App


编码如下:  # include <reg51.h>

          #include typedef unsigned int u16;

typedef unsigned char u8;

sbit SRCLK=P3^6;

sbit RCLK=P3^5;

sbit SER=P3^4;

unsigned char code TAB[8]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE};

unsigned char code char code {3}{8}=

{0x00,0x00,0x7E,0x42,0x42,0x42,0x7E,0x00;//O(哦)

0x00,0x1C,0x22,0x11,0x04,0x12,0x24,0x18;//心形

0x00,0x00,0x00,0x3C,0x02,0x3c,0x00,0x00;//U

}

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

*函 数 名        : delay

*函数功能 :延时函数,i=1时,大约延时10us

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

void delay(u16 i)

{

while(i--);

}

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

*函数名        : Hc595SendByte(u8 dat)

*函数功能 :向74HC595发送一个字节的数据

*输入          : 无

*输出        : 无

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

void Hc595SendByte(u8 dat)

{

u8 a;

SRCLK=0;

RCLK=0;

for(a=0;a<8;a++)

{

SER=dat>>7;

dat<<=1;

SRCLK=1;

_nop_();

_nop_();

SRCLK=0;

}

RCLK=1;

_nop_();

_nop_();

RCLK=0;

}

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

*函 数 名      : main

*函数功能 :主函数

*输    入      : 无

*输    出    : 无

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

void main()

{

u8 i;

while(1)

{

P0=0x7f;

for(i=0;i<8;i++)

{

P0=ledwei[i]; //位选

Hc595SendByte(ledduan[i]); //发送段选数据

delay(100); //延时

Hc595SendByte(0x00);  //消隐

}

}

}

结果如下:

图片发自简书App
图片发自简书App
图片发自简书App

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、实验目的 1.了解LED8×8点阵的内部结构。 2.学会编写点阵显示实验的代码程序。 3.了解编写程序各部分的...
    石雅文0129阅读 23,601评论 0 4
  • 实验目的:为了进一步掌握单片机(大板的使用),理解单片机的工作原理,实现在单片机上实现显示 实验器材:keil、单...
    崔提提_0128阅读 1,436评论 0 0
  • 一、实验内容 在keil软件中编写程序,利用烧录软件下载hex文件实现在大板单片机的8*8点阵中显示“54”的指令...
    吴思思0130阅读 3,555评论 0 0
  • 实验目的:为了进一步掌握单片机中点阵的使用,理解单片机的工作原理,实现在单片机上实现显示 实验器材:keil、单片...
    李小东0105阅读 2,515评论 0 2
  • 一、实验内容 在大板上编程实现8x8点阵的显示 二、实验原理 8X8点阵由64个发光二极管组成,且每个发光二极管是...
    玛伊拉0139阅读 1,877评论 0 2

友情链接更多精彩内容