1、点亮一个LED灯
作者 | 将狼才鲸 |
---|---|
创建日期 | 2024-07-23 |
- CSDN教程目录地址:【目录】8051汇编与C语言系列教程
- 本Gitee仓库原始地址:才鲸嵌入式/8051_c51_单片机从汇编到C_从Boot到应用实践教程
-
本源码包含C语言和汇编工程,能直接在电脑中通过Keil模拟器运行,并在Keil示波器窗口看到 IO 输出的矩形波。
-
源码及工程链接
- 汇编效果:
- 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(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课:第一个单片机小程序 该文章前半部分有汇编原始工程下载链接