显示一个爱心
#include #include
sbit DIO = P3^4;//串行数据口
sbit S_CLK = P3^5;//移位寄存器时钟
sbit R_CLK = P3^6;//输出锁存器时钟
unsigned char code table[8]={0xFF,0xEF,0xD7,0xBB,0x7D,0x6D,0x93,0xFF}; //♥
void send(unsigned char dat)
{
unsigned char i;
S_CLK = 0;
R_CLK = 0;
for(i=0; i<8; i++)
{
if(dat & 0x01)
DIO = 1;
else
DIO = 0;
S_CLK = 1;
dat >>= 1;
S_CLK = 0;
}
}
void main()
{
unsigned char j,row;
while(1)
{
row = 0x80;
for(j=0; j<8; j++)
{
send(table[j]);
send(row);
R_CLK = 1;
R_CLK = 0;
row = _cror_(row,1);
}
}
}
关键字:51单片机 8X8 点阵屏显示
引用地址:
51单片机8X8点阵屏显示
推荐阅读最新更新时间:2024-11-11 11:35
浮点数出栈--MCS-51单片机实用子程序
FPOP 功能:浮点数出栈 入口条件:操作数处于栈顶。 出口信息:操作数弹至 中。 影响资源:A、R2、R3 堆栈需求: 2字节 FPOP: POP ACC ;将返回地址保存在R2R3中 MOV R2,A POP ACC MOV R3,A INC R0 INC R0 POP ACC ;将操作数弹出堆栈,传送到 中 MOV @R0,A DEC R0 POP ACC MOV @R0,A DEC R0 POP ACC MOV @R0,A MOV A,R3 ;将返回地址压入堆栈 PUSH ACC MOV A,R2 PUSH ACC RET ;返回主程序
[单片机]
51单片机PWM-呼吸灯程序
程序是在51hei单片机开发板上面做的,灯接在P0^0上,程序可以通用,到你自己的开发板或者是自己搭的电路也行. /** ****************************************************************************** *file : main.c *author : xr *date : 2014年4月15日17:38:07 - 2014年4月15日 18:47:29 *version : V1.2.3 *brief : PWM应用-控制小灯的亮度-实现传说中的呼吸灯效果 单片机STC89C52RC MCU 晶振 11.0592MHZ ****************
[单片机]
51单片机控制的DHT11简易温湿度检测
简易温湿度测量仪,实现思路是通过温湿度传感器采集数据传送到最小系统上,并由最小系统对采集到的数据进行处理,随后发送到数码管或者液晶屏上进行显示,并对异常数据进行报警。 实验使用器材有DHT11温湿度传感器、IAP15W4K58S4最小系统、四位数码管、蜂鸣器以及发光二极管。通过最小系统发送开始信号使DHT11开始工作并采集数据判断DHT11是否正常工作,若DHT11正常工作,将采集数据进行校验,若校验结果正确,将其保存,并通过P1口显示到数码管上。随后判断数据是否超过预警值,如超过,将P2.4口电位拉高,使蜂鸣器示警,并让LED灯熄灭来进行警示。电路使用一个数码管对温湿度进行循环显示,相比较于使用2个数码管进行显示和使用液晶屏
[单片机]
AT89S51单片机发光二极管多功能闪烁的设计
1.实验任务 如图4.9.1所示,开关SP1接在P3.7/RD管脚上,在AT89S51单片机的P1端口接有四个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在闪烁,当每一次按下开关SP1的时候,L2接在P1.1管脚上的发光二极管在闪烁,再按下开关SP1的时候,L3接在P1.2管脚上的发光二极管在闪烁,再按下开关SP1的时候,L4接在P1.3管脚上的发光二极管在闪烁,再按下开关SP1的时候,又轮到L1在闪烁了,如此轮流下去。 2.电路原理图 图4.9.1 3.系统板上硬件连线 (1).把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘”区域中的SP1端口上; (2).把“单片机系统”区域中的P1.0-P
[单片机]
51单片机流水灯的三种实现方法
首先,介绍下原理。下图为主控芯片和流水灯模块的原理图。流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯。相反,如果要LED灯熄灭,就要把P1口的电平变为高电平即可。要实现流水灯功能,我们只要将LED1~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。 实现8个LED流水灯程序用中文表示为:P1.0低、延时、P1.0高、P1.1低、延时、P1.1高、P1.2低、延时、P1.2高、P1.3低、延时、P1.3高、P1.4低、延时、P1.4高、P1.5低、延时、P1.5高、P1.6低、延时、P1.6高、P1.7低、延时、P1.7高、返回到开始、程序结束。 听起来是不
[单片机]
基于51单片机的电子秒表设计
设计要求: 最多可记录十组数据 可删除其中多组数据 可上下查阅所记录的数据 数据通过lcd1602显示 计时精度到0.01s 由于并没有使用24c02,导致程序去数据较大,仿真可能不行。实际验证通过 程序界面如图: 仿真界面如图: 如果编译出错,将keil按如图参数设置: 以下为程序代码: 包括两个文件,主程序里面是: #include 1602.h #include reg52.h #ifndef uchar #define uchar unsigned char #endif #ifndef uint #define uint unsigned int #
[单片机]
红外遥控接收模块+普中51单片机+江科大自化协
1 实验现象 LCD1602上显示红外解码遥控器地址、键值。通过红外遥控器,按下某个按键时,遥控器通过红外发光二极管发射红外线,红外一体化接受头接受信号,并对其解码,单片机处理相应的信息,将得到的数据显示在LCD1602上。 2 实验原理 红外遥控是一种无线、非接触控制技术,具有抗干扰性能力强,信息传输可靠,功耗低、成本低、易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,在工业设备中也得到广泛应用。 什么是红外线?红外线是一种肉眼看不见的光。红外线是波长介于微波和可见光之间的电磁波,波长在760nm和1000nm之间,是波形比红光长的非可见光。 如何发出红外光?红外发射二极管就可以发出红外线。最常用的红外发射管
[单片机]
基于51单片机的液位检测系统
随着现代测量技术的发展,对测量系统提出了越来越高的要求。在自动蒸馏测控系统中,准确及时地检测出蒸馏过程中从冷凝管馏出的第一滴液滴是获取初馏点的前提;实时、准确地测量出量筒中回收液体体积的变化是控制蒸馏过程中不同时段不同蒸馏速度的依据。而目前担负着对冷凝管馏出的液滴进行检测、回收、计量、测速等任务的完成有诸多不尽人意的地方,需要更加完善、合理的液滴、液位检测跟踪控制系统。 从液位测量的方法看,按检测器与液体接触与否分为两大类:一是接触式测量,二是非接触式测量。当需要通过测量液位变化确定体积变化时,一般采用非接触式测量方法。但在大多数非接触式测量中,液位传感器测试范围较大,绝对分辨率均大于0.5ml,因而在体积变化范围为0-
[单片机]