
∙发布投票
∙发布悬赏
∙发布辩论
∙发布活动
∙发布视频
∙发布商品
gzsolomon
∙发短消息
∙加为好友
gzsolomon 当前离线
UID
7
帖子
178
精华
0
积分
753
阅读权限
50
在线时间
0 小时
注册时间
2008-3-7
最后登录
2008-9-18
高级会员
| 1# 发表于 2008-3-21 16:31 | 只看该作者 如何用Keil uVision3(uVision2也是一样)来建立一个流水灯程序 Keil是一款经典的51单片机开发调试软件,在单片机学习中是非常重的,因为其功能完善,界面友好,还有就是其简单。使得上手非常容易。笔者非常建议学单片机从51开如,开发软件从Keil开始,因为很多东西可以触类傍通。 笔者开如也是学51的,对Keil也比较熟,笔者学PIC单片机时,三天就能写出数码管时钟程序(包括学PIC的硬件配置),当然这很简单,也算不上什么技术,但可以肯定的说,对单片机初学者来说,这也该算不可想像吧。笔者并不是吹虚自己多厉害,只是想说明知识的触类傍通。学AVR单片机也差不多吧,知道如何配置端口,复制个C51的程序,小改一下就可以了。 下面来介绍如何用Keil uVision3(uVision2也是一样)来建立一个流水灯程序,以及如何软件仿真。 启动Keil,如下图: 选择菜单Project->New Project,新建一个工程,如下图: 输入工程名“流水灯”,然后保存,如下图: 选择器件型号为Atmel的ATS51,然后确定,如下图: 是否加入启动文件到工程,这时不加入选“否”,这样一个工程就建立完成,如下图: 选择菜单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 STARTSTART: MOV A,#0XFELOOP: RL A MOV P1,A LCALL DELAY SJMP LOOP ;延时程序DELAY: MOV R5,#200OUT: MOV R6,#250OUT1: MOV R7,#250IN: DJNZ R7,$ DJNZ R6,OUT1 DJNZ R5,OUT RET END 选择Project->Build target,进行编译,如下图: 编译结果可以,看到错误和警告情况,如下图: 如果没有错误,就可以选择菜单Debug->Start/Stop Debug Session,进放调试状态,如下图: 进入调到试状态后,选择菜单Perihperals->I/O-Ports->ort 1,打开端口1,下图为打开后的画面。 选择菜单Debug->Run,运行,就可以看到端口1的变化。如下图: 如果端口变化缓慢,可以加长延时程序,如果变化快,可以缩短延时程序。 如果没有变经,可以点击菜单View->eriodic Window Update,此命令的功能是周期性的更新窗口,用以外围设备窗口显求程序的热行过程,有此情况下,如运行到断点,就要以关闭这个功能,因为程序执行的过程我们并不关心,同时也可以加快速度。 给初学者的几点建议: 1.Keil并不复杂,不要看到英文版就害怕,也不要老想着就找中文版,对Keil来说真的没必要,顶多一个金山词霸就可以了,很多东西我们根本用着的,可以肯定的说,绝大多数常用功能,可以用快捷工具栏里面的图标就可以完成。  2.Keil功能非常强大,要慢慢学,可以肯定的说,你至少要学半年,因为很多东西要随你的单片机知识增长才能用得着,不过你会一点儿汇编的话,也可以在5分钟内学会使用。  3.当你会一些的时候,一定要用C程序,因为用它调试C程序非常方便,你可以方便的知道,C和汇编是如何结合的,对学习C语言或其它单片机非常有好处的。 | 
