教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

单片机课程设计 - 基于C51简易计算器(3)

来源:网络收集 时间:2026-08-16
导读: 标板进行调试,也可以直接写入程序存贮器如EPROM中。 (二) 采用KEIL 开发的89c51单片机应用程序步骤: 1. 在uVision 集成开发环境中创建新项目(Project),扩展文件名为.UV2,并为该项目选定合适的单片机CPU器件

标板进行调试,也可以直接写入程序存贮器如EPROM中。

(二) 采用KEIL 开发的89c51单片机应用程序步骤:

1. 在uVision 集成开发环境中创建新项目(Project),扩展文件名为.UV2,并为该项目选定合适的单片机CPU器件(本设计采用ATMEL 公司下的AT89C51) 2. 用uVision 的文本编辑器编写源文件,可以是汇编文件(.ASM),也可以使C语言文件(扩展名.C),并将该文件添加到项目中去。一个项目文件可以包含多个文件,除了源程序文件外,还可以是库文件、头文件或文本说明文件。 3. 通过uVision 3 的相关选择项,配置编译环境、连接定位器以及Debug调试器的功能。

4. 对项目中的源文件进行编译连接,生成绝对目标代码和可选的HEX文件,如果出现编译连接错误则返回到第2步,修改源文件中的错误后重构整个项目。 5. 对没有语法错误的程序进行仿真调试,调试成功后将HEX文件写入到单片机应用系统的ROM中。

5.2 proteus的操作 (一)硬件电路图的接法操作

1.放置选择(删除)元器件 2.移动元器件 3.缩放视图 4.连接导线 5.仿真,调试

(二) 单片机系统PROTEUS设计与仿真过程

Proteus强大的单片机系统设计与仿真功能,使它可成为单片机系统应用开发和改进手段之一。全部过程都是在计算机上通过Proteus来完成的。其过程一般也可分为三步:

1.在ISIS平台上进行单片机系统电路设计、选择元器件、接插件、连接电路和电气检测等,简称Proteus电路设计。

2.在Keil平台上进行单片机系统程序设计、编辑、汇编编译、代码级调试,最后生成目标代码文件(*.hex)。简称Proteus源程序设计和生成目标代码文件。 3.在ISIS平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真。它在相当程度上反映了实际单片机系统的运行情况。简称Proteus仿真。

(三) Proteus中课程设计的仿真结果

在Proteus中将硬件电路全部接好以后,将Keil中生成的.hex文件导入到单片机中,点击开始仿真按钮,电路开始仿真。可以观察到:数码管显示“000”;分别依次按下按键“5”、“+”、“6”和“=”,可以看到数码管显示“11”;也可以分别调试其它功能键,结果发现调试结果与预期的理论值相吻合,即本次课设已成功。

总的仿真原理电路图见附录1图九。

六、心得体会

为期两周的单片机课程设计终于结束了,通过紧张的工作,完成了我们的设计任务-十进制加法计算器。总的来说,这次课程设计是比较成功的。当然,这其中也经历了许多坎坷,但是在我的坚持不懈下,在老师的细心指导下,在同学们的热情帮助下,最终克服了种种困难,取得了成功。 刚开始接到这个计算器的课程设计任务时,因为以前做过类似的题目,于是在脑海中初步构建了编写程序的一些控制程序。但是由于缺乏编写大量程序的经验,不能如行云流水般的将全部的各部分代码写出,于是去网上查找相关资料,了解计算器的输入控制原理、运算处理以及显示的原理。了解之后自己尝试编写程序,在此过程中,其中键盘扫描和动态扫描显示扫描程序困扰了我很久,经过三四天的辛苦工作,终于初步把所需要的程序编好了,于是就用Keil uversion3进行仿真,在仿真期间也发现了许多错误,基本上都是平日容易犯的错误,比如忘记了子程序标号、死循环程序、标点符号的漏写等。经过反复的编译差错,仿真编译通过后,于是开始在Proteus中连硬件电路,全部接完电路之后将Keil生成的.Hex文件导入进行仿真,发现软件与硬件不能够对应协调工作,于是分别对软件和硬件进行检查,经过反复的仿真调试,并且在同学的帮助和自己对每个子程序进行仿真观察下,终于在课设快结束时成功的调试出结果了。这就是我这一周课设的经过,看似简单,过程却曲折艰辛。 通过这次课程设计,我进一步加深了对电子自动控制的了解。并进一步熟练了对Keil和Proteus软件的操作。通过与同学探讨和请教老师,终于把问题都解决了,并加深了对计算器工作的原理的了解。同时也掌握了做课程设计的一般流程,为以后的设计积累了一定的经验。做课程设计时,先查阅相关知识,把原理吃透,确定一个大的设计方向,在按照这个方向分模块的把要实现的功能用流程图的形式展示。学会了怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。总之,通过这次的设计,进一步了解了单片微型计算机及应用原理,收获很大,对软件编程、排错调试、查阅资料等方面得到较全面的锻炼和提高。

同时通过本次课程设计的学习,掌握了一种系统的研究方法,可以进行一些简单的编程,我还深深的体会到设计课的重要性和目的性所在。为今后的学习和实践打下了良好的基础。此次课设还巩固和综合运用所学过的原理知识,从而提高自己的实际动手能力和独立思考的能力。

参考文献

[1] 周航慈.单片机应用程序设计技术(修订版).北京航空大学出版社

[2] 张志良.单片机原理与控制技术.第2版. 机械工业出版社 [3] 康华光.电子技术基础(第5版). 高等教育出版社出版,2006 [4] 蒋力培.单片微机系统实用教程(第1版).机械工业出版社

附录1 系统硬件电路图

图九 总电路原理图

附录2 程序清单

# include

typedef unsigned char uint8; typedef unsigned int uint16;

sbit p20 = P2^0; sbit p21 = P2^1; sbit p22 = P2^2; sbit p23 = P2^3; sbit keyin1 = P2^4; sbit keyin2 = P2^5; sbit keyin3 = P2^6; sbit keyin4 = P2^7; sbit keyin5 = P1^0;

code uint8 number[] = {0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x58,0x5e,0x79,0x71};

uint8 a[5],b[2]; uint8 num1,num2;

uint8 n = 0, m = 0, g = 0, h = 0;

void delay(uint16 zms) {

uint16 i,j; }

void refresh() {

static uint8 j = 0; switch(j) {

case 0:p20 = 0; p21 = 1; p22 = 1; p23 = 1;P0 = number[a[0]]; j ++;delay(1); break; case 1:p20 = 1; p21 = 0; p22 = 1; p23 = 1;P0 = number[a[1]]; j ++; delay(1);break; case 2:p20 = 1; p21 = 1; p22 = 0; p23 = 1;P0 = number[a[2]]; j ++; delay(1);break; case 3:p20 = 1; p21 = 1; p22 = 1; p23 = 0;P0 = number[a[3]]; j++; delay(1); break; default:p20 = 1; p21 = 1; p22 = 1; p23 = 1;j = 0;delay(1);break; } }

for(i = zms ; i > 0 ; i--)

for(j = 110 ; j > 0 ; j--);

void refresh_1() {

static uint8 k = 0; switch(k) {

case 0:p20 = 0; p21 = 1; p22 = 1; p23 = 1;P0 = number[b[1]]; k ++;delay(1); break; } } main() {

while(1) {

if(!keyin1)

{

delay(5); if(!keyin1) {

if(n >= 15) } if(!keyin2) {

delay(5); if(!keyin2) {

if(m >= 15)

…… 此处隐藏:1913字,全部文档内容请下载后查看。喜欢就下载吧 ……

单片机课程设计 - 基于C51简易计算器(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/454466.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)