推荐阅读最新更新时间:2024-11-13 15:03
C51学习心得体会,指针和数组在程序设计中的关系
C语言中的指针和数组几乎可以互换,数组名可认为是一个常量指针,指针可用来完成涉及数组下标的操作。 e.g.int * nPtr; int Array ; (1)数组与指针等价 nPtr = Array;或者nPtr = &Array ; (2)引用数组元素Array nPtr 或者*(nPtr+3)或者*(Array+3) 其中,nPtr 为指针下标表示法。 (3)e.g.数组拷贝 //用数组表示法把s2拷贝到s1中 void copy1(char *s1,constchar *s2) { int i for(i=0;s1 =s2 ;i++); } //用指针表示法把s2拷贝到s1中 void copy1(char *s1,co
[单片机]
单片机C语言C51的变量和常量
常量 常量是指在程序执行过程中其值不能改变的量。在C51中支持整型常量、浮点型常量、字符型常量和字符串型常量。 一.整型常量 整型常量也就是整型常数,根据其值范围在计算机中分配不同的字节数来存放。在C51中它可以表示成以下几种形式: 十进制整数。如234、-56、0等。 十六进制整数。以0x开头表示,如0x12表示十六进制数12H。 长整数。在C51中当一个整数的值达到长整型的范围,则该数按长整型存放,在存储器中占四个字节,另外,如一个整数后面加一个字母L,这个数在存储器中也按长整型存放。如123L在存储器中占四个字节。 二.浮点型常量 浮点型常量也就是实型常数。有十进制表示形式和指数表示形
[单片机]
C51的INTRINS.H详解
/*-------------------------------------------------------------------------- INTRINS.H 本征库函数 Intrinsic functions for C51. Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved. --------------------------------------------------------------------------*/ extern void _nop_ (void
[单片机]
#C51 IIC通讯(底层配置时序)
前言 IIC通讯:二线制SDA/SCL 提示:以下是本篇文章正文内容,下面案例可供参考 一、场景 51单片机模拟I/O配置SDA/SCL(主器件) 根据AT24C02芯片手册,配置IIC通讯底层时序,操作命令 二、IIC核心知识点 图1 总线时序: 1.起始信号 结合时序图1:SCL高电平期间,SDA由高到低跳变 //起始信号 void IIC_Start() { SDA = 1; // Delay2us(); //电路特性要求上升沿小于300ns,最好做延时保证必然高电平 SCL = 1; //拉高总线,空闲状态 Delay5us(); //1.起始信号建立时间tSU:S
[单片机]
stm32f103r6仿真计数器程序+Proteus
单片机源程序如下: #include stm32f10x.h #include Delay.h #include smg.h #include sys.h #include timer.h #include led.h #include fmq.h #include key.h #include stm32f10x_tim.h uint16_t table = { /* 0, 1, 2, 3, 4, 5, 6, 7, 8, */ 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, /* 9, A, B, C,
[单片机]
PIC16F887 RB0外部中断(2)
#include pic.h #include pic16f887.h __CONFIG (CP_OFF&WDTE_OFF&BOREN_ON&PWRTE_OFF&FOSC_HS&WRT_OFF&LVP_OFF&CPD_OFF); /*配置位 CP_OFF,代码保护位,程序存储器代码保护关闭; WDTE_OFF,看门狗定时器使能位,看门狗定时器关闭,可以通过WDTCON寄存器的SWDTEN位使能; BOREN_OFF,掉电复位选择位,掉电复位关闭; PWRTE_OFF,上电定时器使能位,上电定时器关闭; FOSC_HS,振荡器选择位,高速晶振或谐振器在RA6/OSC2/CLKOUT和RA7/OSC1/CL
[单片机]
单片机按键与数码管试验程序 Proteus仿真
最近温习一下单片机,通过proteus 7.8仿真了一下,感觉效果不错。 单片机程序如下: /* 51单片机 按键与数码管实验,用proteus 7.8仿真通过。 通过点按键, K1:数码管数字加一,0~F,加上F后再从0开始。 K2:数码管数字减一,F~0,减到0后再从F开始减 K3:复位这零. */ #include reg52.h //#include stdio.h unsigned char RunMode; unsigned char code SegCode = { 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, //共阳 0x80,0x90
[单片机]
C51编程中对单片机绝对地址访问的两种方法
在进行8051单片机应用系统程序设计时,编程都往往少不了要直接操作系统的各个存储器地址空间。C51程序经过编译之后产生的目标代码具有浮动地址,其绝对地址必须经过BL51连接定位后才能确定。为了能够在C51程序中直接对任意指定的存储器地址进行操作,可以采用扩展关键字 at 、指针、预定义以及连接定位控制命令。 在这些方法中,本人认为最简单而有效的方法是用 _at_ 关键字来对指定变量存储器空间绝对地址来指定。一般格式如下: 数据类型 标识符 _at_ 地址常数 其中: 存储器类型 为idata、data、xdata等C51能够识别的所有类型,最好不要省略。 数据类型 可以用int、long、floa
[单片机]