当前位置: 首页 > news >正文

【系列教程之】1、点亮一个LED灯

1、点亮一个LED灯

作者将狼才鲸
创建日期2024-07-23
  • CSDN教程目录地址:【目录】8051汇编与C语言系列教程
  • 本Gitee仓库原始地址:才鲸嵌入式/8051_c51_单片机从汇编到C_从Boot到应用实践教程

  • 本源码包含C语言和汇编工程,能直接在电脑中通过Keil模拟器运行,并在Keil示波器窗口看到 IO 输出的矩形波。

  • 源码及工程链接

    • 汇编效果:img
    • C语言效果:img
  • 汇编源码:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; \brief	让LCD灯闪烁(控制IO输出)
; \details	使用Keil Simulator模拟器,和Debug时的Logic Analyzer示波器窗口查看输出
; \remark	File format: UTF-8,源文件使用UTF-8中文编码
; \note		省略了8051的初始化,使用模拟器时会自动准备好运行环境
; \author	将狼才鲸
; \date		2024-07-18
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 头文件 ;;
;$INCLUDE(at89c51xd2.inc)	; 也可以使用 #include <at89c51xd2.inc>,Keil默认隐藏包含了8051通用寄存器,不用重复包含MAIN:	; 标号或函数名; 请在Debug后通过 View--Analysis Windows--Logic Analyzer--Setup--点击右上角叉叉左边的新建图标--键入P1; --点击选中P1--在Max那里将0xFF改成0x01--在And Mask中将0xFFFFFFFF改成0x00000001--Close 来创建模拟器中示波器的采样引脚;; 把示波器的小窗口向下拉一点,露出波形的显示区域;; 再点击Zoom中的All来显示整个波形(不点击会看不到变化的波形);; 再F10单步运行,一边运行一边看输出的矩形波。CLR		P1.0	; P1_0 IO口置低;P1.0里面的.0是汇编的特殊语法,意思是前面P1寄存器的第0 bit,能位寻址的寄存器都能这样调用SETB	P1.0	; P1_0 IO口拉高LJMP	MAIN	; 跳转到标号END	; 源文件结束
  • C源码:
/******************************************************************************* \brief	让LCD灯闪烁(控制IO输出)* \details	使用Keil Simulator模拟器,和Debug时的Logic Analyzer示波器窗口查看输出* \remark	File format: UTF-8,源文件使用UTF-8中文编码* \note	省略了8051的初始化,使用模拟器时会自动准备好运行环境* \author	将狼才鲸* \date	2024-07-18******************************************************************************//** 头文件 **/
#include <Atmel/at89c51RC2.h>	/* 寄存器定义 *//** 接口函数 **/
int main(void)
{while (1){/**请在Debug后通过 View--Analysis Windows--Logic Analyzer--Setup--点击右上角叉叉左边的新建图标--键入P1_0--Close 来创建模拟器中示波器的采样引脚;把示波器的小窗口向下拉一点,露出波形的显示区域;再点击Zoom中的All来显示整个波形(不点击会看不到变化的波形);再F10单步运行,一边运行一边看输出的矩形波。*/P1_0 = 0;	/* P1_0是头文件中已经定义的寄存器Bit */P1_0 = 1;}
}
  • 参考网址:
    • 2课:单片机引脚介绍 该文章后半部分有C语言原始工程下载链接
    • 4课:第一个单片机小程序 该文章前半部分有汇编原始工程下载链接
http://www.lryc.cn/news/405312.html

相关文章:

  • 搜维尔科技:Manus Metagloves使用精确的量子跟踪技术捕捉手部每一个细节动作
  • 机器学习 | 阿里云安全恶意程序检测
  • python打包exe文件-实现记录
  • 基本的DQL语句-单表查询
  • Vue3 对比 Vue2
  • 2024中国大学生算法设计超级联赛(1)
  • offer题目51:数组中的逆序对
  • 45、PHP 实现滑动窗口的最大值
  • 【计算机视觉】siamfc论文复现实现目标追踪
  • 数学建模学习(111):改进遗传算法(引入模拟退火、轮盘赌和网格搜索)求解JSP问题
  • Golang | Leetcode Golang题解之第241题为运算表达式设计优先级
  • Unity客户端接入原生Google支付
  • Spring Cloud之五大组件
  • 在 CentOS 7 上安装 Docker 并安装和部署 .NET Core 3.1
  • redis的学习(一):下载安装启动连接
  • 前端设计模式面试题汇总
  • linux(CentOS、Ubuntu)安装python3.12.2环境
  • CSS 中border-radius 属性
  • 【大数据专题】数据仓库
  • go关于string与[]byte再学深一点
  • Qt 实战(7)元对象系统 | 7.4、属性系统:深度解析与应用
  • Docker核心技术:容器技术要解决哪些问题
  • sklearn中的增量学习:特征提取的艺术
  • PostgreSQL 中如何处理数据的唯一性约束?
  • VAE论文阅读
  • 【数据分享】2013-2022年我国省市县三级的逐月SO2数据(excel\shp格式\免费获取)
  • 【Jmeter】记录一次Jmeter实战测试
  • volatile,最轻量的同步机制
  • 在Linux、Windows和macOS上释放IP地址并重新获取新IP地址的方法
  • Mamba-yolo|结合Mamba注意力机制的视觉检测