《51单片机C语言编程》学习

发布者:Serendipitous55最新更新时间:2024-01-29 来源: elecfans关键字:51单片机  C语言  编程 手机看文章 扫描二维码
随时随地手机看文章

因为公司有一部分设备生产年代久远,用的PLC也是比较古老的,有一款东芝EX20/40的用的单片机是P8051AH,其CPU板的图片如下。

pYYBAGRlfyuASYSAAEayNmI9Srg650.png

因此想尽可能的的了解一下8051系列单片机,适逢活动中有《51单片机C语言编程》,遂报名参加。


因为以前对51单片机做过了解,拿到书后直接跳到流水灯章节阅读,按照书上的位操作例程弄了一个比较繁琐的控制数码管显示0-9的程序:

#include

#define unit unsigned int

sbit led0=P1^0;

sbit led1=P1^1;

sbit led2=P1^2;

sbit led3=P1^3;

sbit led4=P1^4;

sbit led5=P1^5;

sbit led6=P1^6;

sbit led7=P1^7;

unit i,j;

void delay(unit);

void main()

{

while(1)

{

led0=0;

led1=0;

led2=0;

led3=0;

led4=0;

led5=0;

led6=1;

delay(1000);

led1=0;

led2=0;

led0=1;

led3=1;

led4=1;

led5=1;

led6=1;


delay(1000);


led0=0;

led1=0;

led3=0;

led4=0;

led6=0;

led2=1;

led5=1;


delay(1000);

led0=0;

led1=0;

led3=0;

led4=1;

led6=0;

led2=0;

led5=1;


delay(1000);

led0=1;

led1=0;

led3=1;

led4=1;

led6=0;

led2=0;

led5=0;


delay(1000);

led0=0;

led1=1;

led3=0;

led4=1;

led6=0;

led2=0;

led5=0;



delay(1000);

led0=1;

led1=1;

led3=0;

led4=0;

led6=0;

led2=0;

led5=0;

delay(1000);

led0=0;

led1=0;

led3=1;

led4=1;

led6=1;

led2=0;

led5=1;

delay(1000);


led0=0;

led1=0;

led3=0;

led4=0;

led6=0;

led2=0;

led5=0;

delay(1000);

led0=0;

led1=0;

led3=0;

led4=1;

led6=0;

led2=0;

led5=0;


delay(1000);

}


}

void delay(unit z)

{

unit x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

虽然点亮了数码管,但是没明白Z、X、Y的意义,看了还得好好学习C语言才行。


关键字:51单片机  C语言  编程 引用地址:《51单片机C语言编程》学习

上一篇:基于RF收发器Si4432A的无线射频收发系统设计
下一篇:STC15W408AS单片机GPIO口介绍及其工作模式

推荐阅读最新更新时间:2024-11-03 13:53

8051单片机在机器人技术和医疗领域的应用
  距离8051单片机的诞生已有40多年,由于专利的到期,国内8051单片机,在价格上一般都会便宜很多。随着科学技术的发展,单片机的使用减小了电子产品的尺寸、成本和复杂性。由于其简单性和优势,越来越多地电子产品使用这些嵌入式芯片和单片机。   我们可以进行单片机编程,以根据电路操作的要求执行各种任务。因此,仅通过改变程序指令就可以在不改变项目的任何硬件电路的情况下由单个电路执行各种任务。因此,单片机在科学技术中的应用正在迅速增加。   一、单片机的应用   单片机通常用于电气和电子项目或电路。有各种类型的单片机,例如:英锐恩的8051系列8位单片机EN8F5113等。但是,由于8051单片机与其他单片机相比具有优势,因此经
[单片机]
80<font color='red'>51单片机</font>在机器人技术和医疗领域的应用
51单片机---定时器/计数器的配置
1.CPU时序 振荡周期:为单片机提供定时信号的振荡源的周期(晶振周期或外加振荡周期)。比如开发板的时钟电路上的12MHZ晶振,它就提供了单片机的振荡周期。周期T=1/12M,单位为秒。 状态周期: 两个振荡周期为1个状态周期,用S表示。振荡周期又称为S周期或时钟周期。 机器周期:6个状态周期,即12个振荡周期。以12MHZ晶振为例,机器周期=12*(1/12M)=1/M=1us. 指令周期:完成一条指令所占用的全部时间,以机器周期为单位。以12MHZ为例,指令周期为1~4us. 2.定时器绪论 51单片机有2组定时器/计数器,既可以定时又可以计数。 定时器/计数器和单片机的CPU是相互独立的,定时器/计数器工作时不需要C
[单片机]
<font color='red'>51单片机</font>---定时器/计数器的配置
51单片机+315M无线射频模块接受程序
用的就是那种最普通的 最便宜的 大约几块钱 的315兆的无线模块接受发射,不带解码的,433m的程序也是一样的不用修改 压缩包中的内容: 上位机以及完整程序在文件夹中,大家可自己下载 地址是: http://www.51hei.com/bbs/dpj-19033-1.html 下面是接受端的源代码: #include AT89X52.H #include string.h //液晶块 #define LCM_RW P3_6 //定义引脚 #define LCM_RS P3_5 #define LCM_E P3_7 #define LCM_Data P1 #define Busy 0x80 //用
[单片机]
<font color='red'>51单片机</font>+315M无线射频模块接受程序
51单片机开发系列二_1602字符液晶显示
从51单片机入门,对流水灯有了一定的认识后,就可以进入学习显示类的外设驱动,因为学习时往往需要直接验证、跟踪结果,显示类的外设可以把代码运行情况以非常直观的方式反馈回来。因此,笔者此处首先分析讲解1602字符型液晶的使用。 1. 1602字符型液晶概述 1602字符型液晶能够同时显示16列2行共32个字符信息。其内部已经存储了不同的点阵字符图形,包括阿拉伯数字、英文大小写、常用符号等。每个点阵字符图形都有一个固定的代码,与我们使用的ASCII码是一致的。例如大写英文字母’A’的代码为0x41,只需在需要显示的地址位置写入数据0x41即可显示出字符’A’。可用于一些简单信息交互的设计。 2. 硬件原理图 1602需三根控制线
[单片机]
<font color='red'>51单片机</font>开发系列二_1602字符液晶显示
MCS-51单片机汇编中的“指针”
111条单片机指令中让我想起高级语言中的指针的功能。 数据传送类指令中的 指针 1)MOV A,@Ri 2)MOV direct,@Ri 3)MOV @Ri,A MOV @Ri,direct MOV @Ri,#data8 4)MOVX A,@Ri MOV A,@DPTR 5)MOVX @Ri,A 6)MOVX @DPTR,A @:指向的意思。
[单片机]
DS1302时钟汇编程序数码管显示时间
数码管用2个573接到p0口,电路详见单片机开发板的原理图:http://www.51hei.com/f/HL-1V6.5.pdf 段选是p0口控制的,位选是P2口控制的.;===============DS1302================== CLK EQU P1.4 RST EQU P1.0 ;1302定义引脚 IO EQU P1.2 ORG 00H JMP MAIN ;======================================= MAIN: MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3
[单片机]
一种基于VB的虚拟数字滤波器的设计
1 虚拟仪器的构成 从构成要素讲,虚拟仪器系统是由计算机、应用软件和仪器硬件组成的。计算机与仪器硬件又称为VI的通用仪器硬件平台。基于PC机平台的虚拟仪器,不但具有强大的软件开发资源,而且造价低,适合于普通用户。本设计就是采用PC DAQ系统来实现的。本设计的系统构成如图1所示。其采用研华公司的PCL2818LS数据采集卡为主,构建计算机硬件外围电路,实现信号调理和高速数据采集。PCL2818LS数据采集卡有如下的功能和特点: 16路单端或8路差分模拟量输入;40 kHz 12位A/D转换器;可对每个输入通道的增益进行编程;带DMA的自动通道/增益扫描;16个数字量输入和16个数字量输出;一个12位模拟量输出通道(D/A转换)
[应用]
Part10-C语言环境初始化-Bss段初始化lesson2
1、BSS段的作用 初始化的全局变量存放在数据段; 局部变量存放在栈中; malloc的存放在堆; 未初始化的全局变量存放在BSS段; 找到bss段的起始与结束地址,往里面添加0,便初始化好了。 打开连接器脚本
[单片机]
Part10-<font color='red'>C语言</font>环境初始化-Bss段初始化lesson2
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved