#include<reg51.h>
#include<intrins.h>
#define char unsigned char
#define unit unsigned int
sbit k1=P3^;//定义开始键
sbit k2=P3^;//定义暂停键
sbit k3=P3^;//定义模式切换
sbit k4=P3^; //定义速度切换
void disp1();
void disp2();
void disp3();
void typeqiehuan();
void speedqiehuan();
unit speed=;unit type=;unit time=;unit count=;
int flag1=;
void delay(unit s)
{
unit x,y;
for(x=s;x>;x--)
for(y=;y>;y--);
while(flag1==); //毫秒级
}
void disp1()
{
unit i;
P1=P0=0x00;
delay();
/*P1=P0=0x00;
delay(1000);
P1=P0=0x00;
delay(1000);
P1=P0=0x00;
delay(1000);
P1=P0=0x00;
delay(1000);
P1=P0=0x00;
delay(1000);*/
P1=P0=0xff;
for(i=;i<;i++)
{
P1=P0=0x00;
delay();
P1=P0=0xff;
delay();
}
} void disp2()
{
P1=0xff;
P0=0x00;
delay(speed);
/*if(k2==0)
while(1)//如果检测K2按下,死循环
;
else */if(k2==)
goto l;
l:P1=0x00;
P0=0xff;
delay(speed);
} void disp3()
{
P1=0x33;
P0=0xCC;
delay(speed);
/* if(k2==0)
while(1)
;
else */if(k2==)
goto m;
m:P1=0xCC;
P0=0x33;
delay(speed);
} void typeqiehuan()
{
while()
{
while(k2==);
if(type%==)
disp2();
if(type%==)
disp3();
}
}
void speedqiehuan()
{
//while(1)
//{
//while(k4==0)
if(time%==)
speed=;
else if(time%==)
speed=;
else if(time%==)
speed=;
else if(time%==)
speed=;
//}
} void T0_INT() interrupt
{
typeqiehuan();
}
void T1_INT() interrupt
{
count++;
if(count%==)
flag1=;
else
flag1=;
}
void T0_TIME() interrupt
{
TH0=(-)/;//取高八位,算初值
TL0=(-)%;//取低八位,算初值
if(k3==)
{
delay(); //防抖
if(k3==)
type++;
}
if(k4==)
{
delay();
if(k4==)
time++;
}
speedqiehuan();
}
void main()
{
disp1();
//P0=0xff;
//P1=0xff;
//delay(5000);
TMOD=0x01;//T0为工作方式一
IT0 = ;//TCON中控制INT0触发方式位,INT0下降沿触发中断
IT1 = ;
EA = ; //总中断允许控制位
EX0 = ; //允许外部中断INT0
EX1 = ; //允许外部中断INT1
ET0=;//允许计数器T0溢出中断
TH0=(-)/;
TL0=(-)%;
TR0=;//立即开始计数
IP=0x06;//设置优先级
while() //等待人来操作,防止程序过快跑完
{
P1=P0=0x00;
}
}

仿真原理图如下:

基于单片机的心型LED灯的设计与实现的更多相关文章

  1. 单片机远程控制步进电机、LED灯和蜂鸣器

    通过採用C#语言实现的上位机控制单片机的步进电机模块.LED灯和蜂鸣器模块,使步进电机进行正.反转和停止并控制转速:LED灯模块进行有选择的呼吸式表达:蜂鸣器模块的開始和终止. 上位机通过串口和自己定 ...

  2. 单片机上的发光二极管(LED灯)

    LED(light-emitting diode),即发光二极管,俗称 LED 小灯,它的种类很多,参数也不尽相同,我们板子上用的是普通的贴片发光二极管.这种二极管通常的正向导通电压是 1.8V到 2 ...

  3. 51单片机---点亮一个LED灯

    1 程序源码 #include <REGX52.H> `包含51单片机的头文件` sbit led = P0^0; int main(void) { while(1) { led = 1; ...

  4. 嵌入式学习笔记(综合提高篇 第一章) -- 利用串口点亮/关闭LED灯

    1      前言 从踏入嵌入式行业到现在已经过去了4年多,参与开发过的产品不少,有交换机.光端机以及光纤收发器,停车场出入缴费系统,二维码扫码枪,智能指纹锁以及数字IC芯片开发等; 涉及产品中中既有 ...

  5. 51单片机学习笔记(郭天祥版)(1)——单片机基础和点亮LED灯

    关于单片机型号的介绍: STC89C52RC40C-PDIP 0721CV4336..... STC:STC公司 89:89系列 C:COMS 52(还有51,54,55,58,516,):2表示存储 ...

  6. [转] 基于TINY4412的Andorid开发-------简单的LED灯控制

    阅读目录 一.编写驱动程序 二.编写代码测试驱动程序 三.编写HAL代码 四.编写Framework代码 五.编写JNI代码 六.编写App 参考资料: <Andriod系统源代码情景分析> ...

  7. 基于TINY4412的Andorid开发-------简单的LED灯控制

    参考资料: <Andriod系统源代码情景分析> <嵌入式Linux系统开发完全手册_基于4412_上册> 作者:彭东林 邮箱:pengdonglin137@163.com 平 ...

  8. 字符型设备驱动程序-first-printf以及点亮LED灯(三)

    根据  字符型设备驱动程序-first-printf以及点亮LED灯(二) 学习 修改函数 中的printf 为 printk. #include <linux/module.h> /* ...

  9. 【转载】基于TINY4412的Andorid开发-------简单的LED灯控制

    阅读目录(Content) 一.编写驱动程序 二.编写代码测试驱动程序 三.编写HAL代码 四.编写Framework代码 五.编写JNI代码 六.编写App 参考资料: <Andriod系统源 ...

随机推荐

  1. 测试用例设计:PICT的安装及使用

    一.下载与安装 打开百度网页,搜索PICT,即可找到许多下载链接,点击这里,下载到桌面,点击安装.一直NEXT,安装路径保存在C盘: 二.PICT 使用 1.找到安装目录,即可看到以下内容 2.创建t ...

  2. Codeforces_793

    A.找最小的数,看每个数跟它的差是否被k整除. #include<bits/stdc++.h> #define MOD 1000000007 using namespace std; ] ...

  3. 制作一个docker镜像:mysql-8-x64-linux

    因为个人学习需要,为软件系统的虚拟容器化,以下将mysql制作为docker镜像,并记录下详细步骤. 欢迎大家学习交流和转载,同时写作不易,如果各位觉得不错,请点赞支持. 备注:以下代码和文章,欢迎复 ...

  4. 使用github--stanfordnlp--glove训练自己的数据词向量

    1.准备语料 准备好自己的语料,保存为txt,每行一个句子或一段话,注意要分好词.将分好词的语料保存为×××.txt 2.准备源码 下载地址:https://github.com/stanfordnl ...

  5. logstash 安装 配置

    1.Logstash 安装:在产生日志的服务器上安装 Logstash1.安装java环境 # yum install java-1.8.0-openjdk.x86_642.安装logstash(使用 ...

  6. pt-query-digest 慢日志监控

    一.安装percona-toolkit,以centos为例 yum -y install https://repo.percona.com/yum/percona-release-latest.noa ...

  7. python3配置阿里云短信服务

    1.申请阿里云短信服务,具体步骤看我的python2-Django配置短信服务 2.安装依赖 aliyun-python-sdk-core-v3 aliyun-python-sdk-dysmsapi= ...

  8. -bash: warning: setlocale: LC_CTYPE: cannot change locale (zh_CN.UTF-8mb4): No such file or directory

    前几天登录服务器发现出现了这些个警告,一直没时间去处理他,今天难得有空,处理一下并记录下来,希望可以帮助到有需要的朋友. 警告信息如下: Last login: Tue May :: from 192 ...

  9. 计算机网络 From Mr.Liu

    引言 本博客摘自Mr.Liu,原帖请点击这里. 感谢Mr.Liu,这个文章很充分的描述了计算机网络的核心知识点. 我还在学习中,所以没有进行自己的转述.图片因为是copy代码而没有获得,想看更详尽的, ...

  10. IntelliJ 如何找到项目中 Deprecated 的方法

    在一个项目中,如果我们标记了某些元素为 Deprecated 的话,如何让我们能够快速找到? 简单来说,你可以对项目进行 Code Inspection. 选择 Analyze > Inspec ...