您的位置:首页技术文栏单片机C51
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

Keil入门

[日期:2008-01-28 ] [来源:网络 作者:佚名] [字体: (投递新闻)
 Keil是一款经典的51单片机开发调试软件,在单片机学习中是非常重的,因为其功能完善,界面友好,还有就是其简单。使得上手非常容易。笔者非常建议学单片机从51开如,开发软件从Keil开始,因为很多东西可以触类傍通。

笔者开如也是学51的,对Keil也比较熟,笔者学PIC单片机时,三天就能写出数码管时钟程序(包括学PIC的硬件配置),当然这很简单,也算不上什么技术,但可以肯定的说,对单片机初学者来说,这也该算不可想像吧。笔者并不是吹虚自己多厉害,只是想说明知识的触类傍通。学AVR单片机也差不多吧,知道如何配置端口,复制个C51的程序,小改一下就可以了。

下面来介绍如何用Keil uVision3(uVision2也是一样)来建立一个流水灯程序,以及如何软件仿真。

启动Keil,如下图:

选择菜单Project->New Project,新建一个工程,如下图:

输入工程名“流水灯”,然后保存,如下图:

选择器件型号为Atmel的AT89S51,然后确定,如下图:

是否加入启动文件到工程,这时不加入选“否”,这样一个工程就建立完成,如下图:

选择菜单File->New新建一个文件,如下图:

选择菜单,File->Save,保存文件,输入文件件名为“流水灯.asm”,然后保存,如下图:

点Target 1前面的+号,展开Target 1,击Source Group 1,在弹出菜单中选择,Add Files To Group 'Source Group 1',如下图:

选择All files,找到刚才的“流水灯.asm”,然后点Add,然后就Close,如下图:

可以看到工程里多了一个“流水灯.asm”文件,双击在里面输入下面程序,如下图:

        ORG 0X0000
        LJMP START
START:  MOV A,#0XFE
LOOP:   RL A
        MOV P1,A
        LCALL DELAY
        SJMP LOOP
        
        ;延时程序
DELAY:  MOV R5,#200
OUT:    MOV R6,#250
OUT1:   MOV R7,#250
IN:     DJNZ R7,$
        DJNZ R6,OUT1
        DJNZ R5,OUT
        RET
        END
        

选择Project->Build target,进行编译,如下图:

编译结果可以,看到错误和警告情况,如下图:

如果没有错误,就可以选择菜单Debug->Start/Stop Debug Session,进放调试状态,如下图:

进入调到试状态后,选择菜单Perihperals->I/O-Ports->Port 1,打开端口1,下图为打开后的画面。

选择菜单Debug->Run,运行,就可以看到端口1的变化。如下图:

如果端口变化缓慢,可以加长延时程序,如果变化快,可以缩短延时程序。

如果没有变经,可以点击菜单View->Periodic Window Update,此命令的功能是周期性的更新窗口,用以外围设备窗口显求程序的热行过程,有此情况下,如运行到断点,就要以关闭这个功能,因为程序执行的过程我们并不关心,同时也可以加快速度。

给初学者的几点建议:

  1. Keil并不复杂,不要看到英文版就害怕,也不要老想着就找中文版,对Keil来说真的没必要,顶多一个金山词霸就可以了,很多东西我们根本用着的,可以肯定的说,绝大多数常用功能,可以用快捷工具栏里面的图标就可以完成。
  2. Keil功能非常强大,要慢慢学,可以肯定的说,你至少要学半年,因为很多东西要随你的单片机知识增长才能用得着,不过你会一点儿汇编的话,也可以在5分钟内学会使用。
  3. 当你会一些的时候,一定要用C程序,因为用它调试C程序非常方便,你可以方便的知道,C和汇编是如何结合的,对学习C语言或其它单片机非常有好处的。
阅读:
录入:JETTA

推荐 】 【 打印
本文评论
      全部评论
    518 于29日评论道: 查看全部评论  
谢谢大侠指点 小弟受益匪浅
    lhl 于13日评论道: 查看全部评论  
太好了啊
    OK 于21日评论道: 查看全部评论  
太棒了,谢谢
发表评论


点评: 字数
姓名:
站长推荐