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课:第一个单片机小程序 该文章前半部分有汇编原始工程下载链接