实验一 崔提提0128

实验目的:为了进一步掌握单片机(大板的使用),理解单片机的工作原理,实现在单片机上实现显示

实验器材:keil、单片机(大板)、PZ-ISP普中自动下载软件。

实验原理:8*8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线上的交叉点上,当对应的某一行置高电平,某一列置低电平是,相应的二极管就会发亮。

实验步骤:

1.在keil中新建工程,编写.c文件。

2.编译调试文件,修改错误及警告。

3.生成.hex文件。

4.在烧录软件中下载生成的.hex软件。

程序编写

#include "reg51.h" //此文件中定义了单片机的一些特殊功能寄存器#includetypedef unsigned int u16; //对数据类型进行声明定义


typedef unsigned char u8;


sbit SRCLK=P3^6;


sbit RCLK=P3^5;


sbit SER=P3^4;


u8 ledduan[]={0x04,0x24,0x24,0x24,0x24,0x24,0x24,0x04};//二


u8 ledwei[]={0x38f,0x44,0x42,0x21,0x21,0x42,0x44,0x38};//心


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


*函 数 名        : 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);  //消隐


}


}


}


结果


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、实验内容 在keil软件中编写程序,利用烧录软件下载hex文件实现在大板单片机的8*8点阵中显示“54”的指令...
    吴思思0130阅读 558评论 0 0
  • 一、实验内容 在大板上编程实现8*8点阵的显示 二、实验原理 一个字符是由一个个点亮的LED构成,点亮点阵的一个发...
    张洁0127阅读 362评论 0 0
  • 一、实验内容 在大板上编程实现8x8点阵的显示 二、实验原理 8X8点阵由64个发光二极管组成,且每个发光二极管是...
    玛伊拉0139阅读 274评论 0 2
  • 一、实验目的 1.了解LED8×8点阵的内部结构。 2.学会编写点阵显示实验的代码程序。 3.了解编写程序各部分的...
    石雅文0129阅读 23,303评论 0 4
  • 一、实验目的 用单片机实现汉字的显示 二、实验器材 装有keil的计算机、大板单片机 三、实验步骤 1.观看原理视...
    樊文静0215阅读 3,476评论 0 1