⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 中原.txt

📁 单片机实验程序-13种-17.4M-pdf.zip
💻 TXT
字号:
#include<at89x51.h>
#include<stdio.h>
#define p3_2  p3.2
unsigned char data segg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(unsigned int k);
unsigned g;
unsigned a,b,c,d,e,f;
void delay(unsigned k)
{unsigned i,j;
for(i=0;i<k;i++)
{
for(j=0;j<k;j++)
{;}
} }
void int0() interrupt 0
{
delay(200);
if(P3^2==0){g++;};
if(g==2){a++;g=0;};
if(a==10){b++;a=0;};
if(b==10){c++;b=0;};
if(c==10){d++;c=0;};
if(d==10){e++;d=0;};
if(e==10){f++;e=0;};
if(f==10){f==0;}
again:if(P3^2==0)
{goto again;}
}
void main()
{
a=0,b=0,c=0,d=0,e=0,f=0,g=0;
P3^2==1;
EA=1;
EX0=1;
while(1)
{
P1=segg[a];P3=0xfe;
delay(2);
P1=segg[b];P3=0xfd;
delay(2);
P1=segg[c];P3=0xf7;
delay(2);
P1=segg[d];P3=0xe;
delay(2);
P1=segg[e];P3=0xdf;
delay(2);
P1=segg[f];P3=0x7f;
delay(2);
}
}
------------------------c程序学习----------------------------------------------------------
#include<reg51.h>

#define uint unsigned int

#define uchar unsigned char

sbit P10=P1^0;

//sbit是单片机C语言中引入的新的关键字,用途是定义位变量。

void Delay(uint i)//延时程序,i是参数

{ uint j;

for(;i>0;i--)

for(j=0;j<125;j++)

{;}

}

void main()

{

for(;;)

{ P10=1; //close lamp

Delay(500);// delay 0.5S

P10=0; //open lamp

Delay(500); //delay 0.5S

}

}
------------------------------------------------------第二课程------------------------------
#include "reg51.h" 
#define uint unsigned int 
#define uchar unsigned char 
uchar Left(uchar temp); //申明函数头 


void Delay(uint i) //延时程序 
{ uint j; 
for(;i>0;i--) 
for(j=0;j<125;j++) 
{;}
} 

void main() 
{ uchar Lamp=0xfe; //定义一个变量,用来存数 0xfe即11111110 
for(;;) 
{ Lamp=Left(Lamp);//调用函数,实现左移 
P1=Lamp; //输出 
Delay(500); //延时 
} 
}

以上是C语言的主函数

PUBLIC _Left 
LEFTP SEGMENT 
CODE RSEG LEFTP 
_Left: MOV A,R7 ;第一个参数在R7中 
RL A 
MOV R7,A ;返回值也在R7中 
RET 
END

以上是汇编语言写的子程序
------------------------------------------第三课-----------------------------------------------------------
由上面我们可以学到C语言中位的表示方法,即用sbit可以进行可位寻址对象的编程,方法是先定义好一个可位寻址对象的字节或字,然后用sbit表示。




例:bdata int ibase; //ibase 定义为bdata整型变量

bdata char bary[4];//bary[4]定义为bdata型数组









sbit mybit0=ibase^0;


sbit ary07=bary[0]^7;

sbit定义要求基址对象(即前面的ibase,bary[4])对象的存贮类型为bdata。


这是指定某一特定的位,如果是一般性的位变量,则可以用keil c引入的新的bit关键字来定义,如:

bit a,b;


注意:位变量不能定义成一个指针,如不能定义:bit *bit_pointer;

不存在位数组,如不能定义:bit b_array[];





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -