80C51学习 闪烁灯】的更多相关文章

//引入头文件 #include <reg52.h> typedef unsigned char u8; typedef unsigned int u16; //位定义 sbit LED=P2^0; /* 延时函数 可以传参来调节延时时间 由于函数调用与参数传递需要耗费时钟周期,所以这种延时是不准确的 最终的耗时与时钟频率和参数有关 */ void delay(u16 i){ //什么都不做 只耗时间 来达到延时的效果 while(i--); } void main() { while(1)…
/* c语言常用预处理命令 1.#define使用 #define A PO 后面不用加分号. #define PI 3.14 2.循环左移右移函数 _crol_(a,b)循环左移函数,a是左移的值,b是移动的位数. _cror_(a,b)循环右移函数,a是右移的值,b是移动的位数. 包含在intrins.h库函数里面 */ #include "reg52.h" #include "intrins.h" typedef unsigned char u8; typed…
    技术:51单片机学习.Keil4环境安装.Arduino环境安装.闪烁灯教程   概述 本文提供51单片机.Arduino单片机入门软件安装和一些需要使用的软件介绍,为后续单片机.嵌入式开发做准备.本文还对LED闪烁代码进行讲解,让初学者更好的理解51单片机和Arduino单片机,后续也会发布单片机对传感器的使用文章 详细 代码下载:http://www.demodashi.com/demo/14663.html 一.C51环境安装和点灯测试 1.keil4软件安装 步骤1: 到百度云盘…
初始使用Arduino,写了这么个小功能:1s间隔闪烁灯 void setup() { pinMode(,OUTPUT);//Set 13Pin as OUTPUT } void loop() { delay();//delay 1000ms->1s digitalWrite(,HIGH); delay();//delay 1000ms->1s digitalWrite(,LOW); } 下图是arduino的原理图,SCK(13Pin)控制Yellow LED.               …
1.回顾我们的51 单片机编程,当我们需要做系统延迟的时候,最常采用的一种方式就是使用for 循环的空语句等待来实现. 当然,在STM32 里面也可以这么实现.但是在STM32 的Cortex 内核里面,有个比其更加精准的定时器专业用于 系统定时,我们称之为Cortex 系统定时器(SysTick,系统滴答). Systick 就是一个定时器而已,只是它放在了NVIC(中断事件)中, 主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断). 这样,只要设置好其中断的时间,就可以每隔一定时…
/* 蜂鸣器分为有源和无源 其中有源是指有振荡源 ULN2003 达林顿管 输入输出反向放大 */ #include "reg52.h" typedef unsigned int u16; //蜂鸣器通过ULN2003与80C51的P1^5引脚连接 sbit beep=P1^5; void delay(u16 i) { while(i--); } void main() { while(1) { //取反 形成高低电平变换 beep=~beep; //通过延时 形成一定的变化频率 de…
/* *LED闪烁 *led.s */ #define GPJ0CON 0xE0200240 #define GPJ0DAT 0xE0200244 .global _start //把 _start 链接属性改为外部 _start: //第一步 :把0x1111 1111写入 0xe0200240(gpj0con) ldr r0, =0x11111111 //这里ldr 为伪指令 ldr r1, =GPJ0CON str r0, [r1] //寄存器间接寻址 将r0的值给ri所指地址的内存中 f…
一直听到许多做物联网.智能家居的控制器使用的是Arduino,从师兄那里拿到了一块Arduino开发板,进行了一下午的学习,感觉这个适合小孩子们玩:) 废话少说,总结一下,便于以后可能会用得到.我主要参考了百度文库的一个60+页的<arduino从零开始学>和一些技术论坛如极客工坊吧. 由于之前学习过若干块开发板,这里主要探究他们的异同,移植问题. 个人总结为三部分: 一.arduino IDE环境的搭建 由于无法进入官网下载,这里选择了1.6.11免安装版,并且是中文环境,非常方便 (2)驱…
讲到这篇时,组合逻辑就告一段落了,下面是一些总结: 描述组合逻辑时,always 语句中的敏感信号列表中需要列出全部的可能影响输出的变量 描述组合逻辑时,always 语句中的赋值总是使用阻塞赋值符号 = 组合逻辑是描述输入和输出关系的功能块,由于延时的原因,输出可能会有毛刺,为避免避免毛刺需要引入冗余逻辑. if..else case 语句只能用在 always 语句中,而且分支条件必须健全,否则会引入不必要的锁存器. 新的 SystemVerilog 语言中强化了 always 的功能:Sy…
主要内容:(一). Arduino IDE的下载及安装 (二). Arduino IDE的应用 (三). Arduino的程序结构 (四). Arduino程序的编译及下载 (一). Arduino IDE的下载及安装 (1). Arduino IDE的下载:到https://www.arduino.cc/en/Main/Software 根据自己的情况,下载对应的版本,如果是windwos就下载windows版本的,苹果就下载Mac版本的,linux的就根据32位或64位选择对应的,如果是树莓…