8051系列单片机c程序设计完全手册pdf文档

http://pan.baidu.com/s/1ciOWu

51单片机源程序设计

先实现一个功能吧,按K1数码管显示加1,LED灯左移一位。

#include<reg51.h>

#include<intrins.h>

#defineucharunsignedchar

ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳级数码管码表0-9

ucharkey;

voidext0()interrupt0

{

key++;

P1=_crol_(0xfe,key);

P0=table[key];

}

main()

{

EX0=1;

IT0=1;

EA=1;

while(1);

}

单片机程序设计MCS51单片机初学者,关于汇编语言中断程序设计

单片机中断程序设计IE=0X88意思

中断允许寄存器 IE

EA × × ES ET1 EX1 ET0 EX0

(1)EA:总中断允许开关。它是个总开关,凡是要设置中端都得先通过它。EA=1,开放所有的中断;EA=0,则所有中断都被禁止。

(2)ES:串行口中断控制位。ES=1,允许中断;ES=0,禁止中断。

(3)ET1:定时/计数器 1 中断控制位。ET1=1,允许中断;ET1=0,禁止中断。

(4)EX1:外中断 1 中断控制位。EX1=1,允许中断;EX1=0,禁止中断。

(5)ET0:定时器 0 中断控制位。ET0=1,允许中断;ET0=0,禁止中断。

(6)EX0:外中断 0 中断控制位。EX0=1,允许中断;EX0=0,禁止中断。

所以IE=0X88,允许定时器1中断,开总中断

8位单片机的c语言程序设计新建文件夹步骤

方法/步骤

1

首先是打开keil软件,打开后显示的界面如下

2

如下第一张图所示点击project->new project,点击后将会出现如下第二张图所示界面;在文件框中填写你的工程名,名字可以是任意英文字符组成的(在此时你最好在你所希望存储该工程的地方新建一文件夹,如第二张图所示就是在桌面上建立了一个测试文件夹来存储新建的工程)

3

输入工程名后会出现如下图所示的芯片选择对话框,选择你开发板上的型号即可(相信要看这张帖子的读者一定是在学51单片机,此时只需选择

Atmel->AT89c52即可。如下第二张图所示)

一路点击确认后回到如下图所示的主界面,并如下图所示点击新建程序输入文本

点击后出现如下第一张图所示界面,并点击保存按钮

点击保存按钮后出现下第一张图所示对话框,在箭头所指的地方输入源文件名称加后缀名(如果你是用C语言编写程序后缀名为*.c;如果你是用汇编语言编写程序则后缀名为*.asm)并点击确认保存。确认后界面如下第二张图所示,注意箭头所指地方的变化。

接下来的一步是将源文件加入到工程中,点击选中source group并右击将会出现如下图所示界面。

再点击Add files to.......;如下第一张图箭头所示处。点击后将会出现第二张图所示的对话框,在该对话框中只要点击选中第五歩保存的源文件并点击Add即可(注意点击选中源文件前后的变化,并且特别注意点击Add后界面没有任何变化,你只要关闭该对话框即可)

打开source group后将会出现如下图箭头所指处的变化

在右边的源文件输入框中写入程序,并点击如图所示的编译按钮(可以看到该程序没有错误,编译成功)

但我们点击进入工程的文件夹没有看到后缀名为.hex文件,如下图所示

所以我们需点击target按钮进行设置,如下第一张图所示。点击后出现第二张图所示对话框

在对话框中点击output选项如下图1处显示,并勾选create hex file如下图2处显示。勾选后关闭对话框并如第10步再编译一次。可以看到文件夹中生成了.hex文件

MCS51单片机初学者,关于汇编语言中断程序设计

不知道你要显示几位,我写了个1位显示的。前提是共阴数码LED且一端已接地,由P1口控制。

ORG 0000H

LJMP START

ORG 0003H

LJMP INTT0

ORG 0600H

START: SETB EA

SETB EX0 ; 打开外部中断0

CLR IT0 ; 令中断0为电平触发

MOV @R0,#00H

DISPLAY: MOV DPTR,#TAB;给字形表的初地址

MOV A,R0; 将要显示的数给A

MOVC A,@A+DPTR ;在字形表中取数放到A

MOV P1,A; 假设是P1口输出要显示的数据把A放到P1中

SJMP DISPLAY ;循环显示等待中断

INTT0:INC @R0; ;中断中有按键着加1

RETI

TAB:DB 3FH,06H,5BH,4FH,66H ;字形表

DB 6DH,7DH,07H,7FH,6FH

DB 77H,7CH,39H,5EH,79H

END

MCS51单片机初学者,关于汇编语言中断程序设计、单片机程序设计,就介绍到这里啦!感谢大家的阅读!希望能够对大家有所帮助!

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查