单片机课程设计报告

合集下载

单片机课程设计报告

单片机课程设计报告

一,设计总体思路1.1总体思路基于单片机的计算器设计采用89C52芯片,要实现简易计算器的设计过程,实现计算器的键盘输入 进行加、减、乘、除基本四则运算 并在八段数码管上显示相应的结果 其中加、减、乘、除、等于及清八段数码管功能分别用按键A、B、C、D、E、F表示。

键盘是4*4键盘,包括数字键、功能键及清零键。

此外,还可实现连续运算功能。

线路原理框图1.2基本原理STC89C52具有如下特点:40个引脚(引脚图如图3所示),4k Bytes Flash 片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不尌产品的需求。

STC89C52图VCC(40):+5V。

GND(r0뼉:接地。

P0口(39-32):P0口为8位漏极开路双向I/O口,每引脚可吸收8个TTL门电流。

P±口(1-8):P1口是从厅部提供上拉电阻器的8位双向I/O口,P1口缓冲 能接收和输出д个TTL门电流。

P2口(21-28):P2口为内部上拁电阻器的8位双向I/O口,P2口缓冲器可採收和输出$个TTL门电流。

P3口(10-17):P3口是8个带内部上拉电阻癨的双向I/O口,可接收和输出4个TTL门电流,P3口也可作为AT89 51的特殊功能口。

RST(9):复位输入。

当振荡器复位时<要保持RST录脚2个机器周期的高电平时间。

ALE/PR_G(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据存储器时,将跳过1个ALE脉冲。

单片机 课程设计报告(完成版)

单片机  课程设计报告(完成版)

单片机课程设计报告
题目:音乐门铃
院系:电气信息工程系专业:通信工程
组长:吴楠学号: 20100606019
组员 1 :刘静静学号: 20100606017
组员 2 :张琳娜学号: 20100606018
组员 3 :李元学号: 20100606020
组员 4 :黄智鑫学号: 20100606049
组员 5 :学号:
组员 6 :学号:
指导教师:李宁
2011年01月06日
电气信息工程系课程设计总结报告
PCB原理图
电气信息工程系
单片机课程设计元器件清单指导教师:李宁课题名称:音乐门铃
参考文献:
[1]徐爱钧.单片机原理实用教程[M].北京:电子工业出版社,2009:267-285.
[2]刘焕平.单片机原理及应用[M].北京:北京邮电大学出版社,2008:246-260.
[3]刘南平.单片机实训与开发教程[M].北京:科学出版社,2008:199-209.
[4]吴金戌.8051单片机实践与应用[M].北京:清华大学出版社,2002:242-253.
[5]刘海成.单片机及应用系统设计原理与实践[M].北京:北京航空航天大学出版社,2009:273-281.
[6]杨振江.单片机应用于实践指导[M].西安:西安电子科技大学出版社,2010:378-380.。

单片机课程设计报告代码

单片机课程设计报告代码

单片机课程设计报告代码摘要:一、单片机课程设计报告简介1.单片机概述2.课程设计报告的目的与意义3.报告内容概述二、单片机基础知识回顾1.单片机的定义与历史2.单片机的基本结构3.单片机的工作原理三、单片机应用领域1.工业控制2.通信设备3.消费电子4.汽车电子5.其他领域四、单片机课程设计报告实例分析1.实例一:基于单片机的智能家居系统设计2.实例二:单片机控制的智能交通灯系统设计3.实例三:单片机在智能医疗设备中的应用设计五、单片机课程设计报告撰写建议1.明确设计目标与要求2.详细的设计过程与思路3.合理的硬件与软件设计4.系统测试与优化5.结论与展望正文:一、单片机课程设计报告简介单片机课程设计报告是学生在学习单片机知识后,将理论应用于实际的一个综合性实践环节。

通过对单片机的了解与掌握,学生可以设计出各种具有一定功能的智能系统。

本报告将对单片机课程设计报告进行简要介绍,包括报告的目的、意义以及内容概述。

二、单片机基础知识回顾在开始设计报告之前,我们需要先回顾一下单片机的基础知识,以便更好地理解单片机的工作原理和应用领域。

单片机是一种集成电路,集成了CPU、存储器、外设接口等多种功能于一体,可编程实现各种控制功能。

它具有体积小、成本低、功耗低、功能强大等特点,被广泛应用于各个领域。

1.单片机的定义与历史单片机(Microcontroller Unit, MCU)是一种集成了CPU、存储器、外设接口等多种功能于一体的微型计算机。

自1971年Intel公司推出第一款单片机4004以来,单片机得到了迅速发展,其性能、功能和应用领域不断扩展。

2.单片机的基本结构单片机主要由CPU、存储器、外设接口和时钟电路等部分组成。

CPU是单片机的核心部分,负责程序的执行;存储器用于存储程序和数据;外设接口用于与外部设备进行通信;时钟电路为单片机提供工作节拍。

3.单片机的工作原理单片机根据预先编写好的程序,在时钟信号的作用下,对输入信号进行处理,并产生相应的输出信号,从而实现对各种外部设备的控制。

51单片机课程设计报告

51单片机课程设计报告

51单片机课程设计报告一、课程目标知识目标:1. 理解51单片机的硬件结构、工作原理及其功能特点;2. 学会使用51单片机的指令系统进行程序设计;3. 掌握51单片机与外围电路的接口技术,能实现简单的硬件控制功能;4. 了解51单片机在嵌入式系统中的应用及发展趋势。

技能目标:1. 能够运用C语言编写51单片机的程序,实现基础控制功能;2. 能够运用仿真软件对51单片机程序进行调试,分析并解决简单问题;3. 能够设计简单的51单片机硬件系统,进行电路连接和功能测试;4. 培养学生的动手能力、创新能力和团队协作能力。

情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学习热情;2. 培养学生严谨、务实的科学态度,提高自主学习能力;3. 培养学生关注社会发展,了解科技在生活中的应用,增强社会责任感;4. 培养学生团队合作精神,尊重他人意见,善于沟通交流。

课程性质:本课程为实践性较强的电子技术课程,以51单片机为核心,结合硬件和软件,培养学生的实际操作能力和创新能力。

学生特点:学生具备一定的电子技术基础知识,对单片机有一定了解,但实践经验不足。

教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,提高学生的实际操作能力和解决问题的能力。

通过课程学习,使学生能够独立完成简单的51单片机控制系统设计。

二、教学内容根据课程目标,教学内容分为以下几个部分:1. 51单片机硬件结构及原理- 熟悉51单片机的内部结构、引脚功能;- 掌握51单片机的工作原理及性能特点。

2. 51单片机指令系统与编程- 学习51单片机的指令集,理解各指令的功能和使用方法;- 掌握C语言在51单片机编程中的应用。

3. 51单片机外围接口技术- 学习51单片机与常见外围电路(如LED、LCD、键盘等)的接口技术;- 掌握外围设备的控制原理及编程方法。

4. 仿真软件的使用- 学习使用Keil、Proteus等仿真软件进行51单片机程序设计和调试;- 掌握仿真软件的操作方法,提高程序调试效率。

单片机课程设计报告

单片机课程设计报告

目录引言 (2)1 设计介绍1.1硬件设计框图及介绍 (2)1.2 LED点阵介绍 (3)1.3 LED显示方式 (5)1.4硬件电路 (7)1.4.1硬件电路 (8)1.4.2硬件电路 (8)1.5软件设计 (8)1.5.1程序流程图 (8)1.5.2 程序代码 (9)2.主要芯片介绍 (12)2.1 8051系列的单片机 (12)2.2 74HC154 (14)2.3 PROTEUS仿真 (15)3.总结 (16)参考文献 (17)Proteus仿真16*16LED点阵显示汉字引言单片机是计算机技术、大规模集成电路技术和控制技术的综合产物。

经过30多年的发展历程,单片机应用已十分广泛和深入。

所以可以毫不夸张地说,任何设备和产品的自动化、数字化和智能化都离不开单片机。

现在,凡是电脑控制的设备和产品,必有单片机嵌入其中。

这一切表明,单片已成为人类生活中不可或缺的助手。

随着单片机应用的日益广泛,利用单片机控制汉字显示屏被广泛地应用与汽车报站器,广告屏等领域。

本文详细介绍了基于51单片机的LED显示屏控制系统的显示原理,对16*16点阵汉字进行显示,显示屏由4个8*8的LED点阵模块组成一个16*16点阵LED。

系统仿真利用PORTEUS仿真软件和KEIL软件的联调对LED点阵显示屏系统进行调试。

课程设计是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练,是培养学生工程意识和创新能力的重要环节。

进一步巩固和加深“单片机”课程的基本知识,了解单片机设计知识在实际中的应用。

综合运用“单片机”课程和先修课程的理论及生产实际知识去分析和解决电路设计问题,进行单片机电路设计的训练。

学习单片机设计电路的一般方法,了解和掌握单片机电路的设计过程和进行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体电路设计能力。

通过计算和绘图,学会运用标准、规范和查阅有关技术资料等,培养单片机电路设计的基本技能。

单片机万年历课程设计报告

单片机万年历课程设计报告

单片机万年历课程设计报告一、课程设计目标本课程设计旨在帮助学生掌握单片机应用基础知识,学习并完成万年历电路的设计和代码编写。

通过这个实践,学生将会深入理解单片机在实际生活中的应用,同时提升自己的程序设计和解决问题的能力。

二、课程设计内容1. 万年历电路的原理和设计本次课程设计要求学生完成一个万年历电路的设计,包括硬件电路和程序设计。

在电路设计中,学生需要考虑到显示器、时钟模块、日期模块和温湿度传感器等部分的连接和调试。

在程序设计方面,学生需要实现万年历的功能,包括显示当前日期和时间、自动确定闰年、节假日提示等。

2. 单片机基本原理和应用实践在万年历电路设计之前,本课程将会对单片机基本原理进行介绍,包括单片机内部结构、芯片选型和I/O口控制等。

另外,还将介绍单片机在各种应用场景中的应用实践,如遥控、电脑控制、机器人和智能家居等。

3. 问题解决和困难克服在学生完成万年历电路设计的过程中,难免会遇到各种问题和困难。

本课程将对学生进行相关的实用技巧和方法讲解,帮助他们解决问题和克服难关。

三、课程设计流程1. 单片机基础知识介绍(2学时)讲解单片机内部结构及其原理,并介绍单片机应用实践2. 万年历电路设计(12学时)对万年历的硬件和软件进行介绍,包括连接显示器和外设、编写程序等3. 问题解决(2学时)介绍学生应对问题的技巧和方法,并帮助他们克服电路设计中的问题和难点四、课程设计评价标准1. 设计成果设计成果的好坏是课程设计的重要衡量标准之一,包括电路的设计完整性、软件功能实现等方面。

2. 实践能力课程设计是一种实践性强的学习形式,学生需要通过实践来掌握知识,因此他们的实践能力成为衡量标准之一。

3. 团队合作在课程设计的过程中,学生要协同工作,完成一个大型的项目,因此团队合作能力是衡量标准之一。

4. 学习的态度学习态度是衡量标准之一,包括学生在课程设计中的主动性、积极性和责任感等方面。

五、总结通过这个万年历课程设计,学生不仅学会了单片机应用的基础知识,还掌握了实际项目开发的方法和技巧。

单片机电子时钟课程设计报告

单片机电子时钟课程设计报告

单片机电子时钟课程设计报告一、设计目的。

本课程设计旨在通过单片机技术的应用,设计并制作一个简单的电子时钟。

通过这一设计,学生将能够掌握单片机的基本原理和应用,培养学生的动手能力和创新意识,提高学生的实际操作能力。

二、设计原理。

本电子时钟采用单片机作为控制核心,通过晶振产生的时钟信号来实现时间的计时和显示。

利用数码管来显示小时和分钟,通过按键来调整时间。

同时,通过蜂鸣器发出报时信号,实现基本的闹钟功能。

三、设计方案。

1. 硬件设计。

(1)单片机选择,本设计选用常见的51单片机作为控制核心,具有成本低、易于编程的特点。

(2)时钟电路,采用晶振作为时钟信号源,通过单片机的定时器来实现时间的计时。

(3)显示模块,采用数码管来显示小时和分钟,通过数码管的扫描显示来实现时间的动态显示。

(4)按键输入,设计按键来调整时间,包括调整小时和分钟。

(5)报时功能,通过蜂鸣器来实现基本的报时功能,可以设置闹钟时间。

2. 软件设计。

(1)时钟控制,通过单片机的定时器来实现时间的计时和更新。

(2)显示控制,设计数码管的扫描显示程序,实现时间的动态显示。

(3)按键处理,设计按键扫描程序,实现对时间的调整。

(4)报时功能,设计蜂鸣器的报时程序,实现基本的闹钟功能。

四、设计实现。

1. 硬件实现。

根据上述设计方案,完成了电子时钟的硬件连接和布线,保证各个模块之间的正常通讯和工作。

2. 软件实现。

编写了单片机的程序,实现了时钟的计时、显示和控制功能,保证了电子时钟的正常运行。

五、实验结果。

经过调试,电子时钟能够准确显示当前的时间,并能够通过按键调整时间和设置闹钟功能,报时功能也能够正常工作。

六、总结与展望。

通过本课程设计,学生掌握了单片机的基本原理和应用,培养了动手能力和创新意识。

在今后的学习和工作中,学生将能够更好地应用单片机技术,设计和制作更加复杂的电子产品。

同时,也为学生今后的科研和创新工作奠定了良好的基础。

单片机课程设计报告

单片机课程设计报告

单片机课程设计实验报告设计题目:基于单片机的多功能综合应用系统的设计专业:电子信息工程班级:姓名:指导老师:目录第一章设计说明1.1 设计目的 (3)1.2 设计内容及要求 (3)第二章硬件电路仿真实现2.1 硬件结构分析 (5)2.2基本功能仿真电图 (6)2.3扩展功能仿真电路图 (10)2.4 实物电路图 (15)第三章软件设计实现3.1软件程序内容 (16)3.2模块分析 (16)3.3 程序流程图 (17)第四章系统测试4.1 软件调试 (19)4.2硬件调试 (19)第五章心得体会 (20)第六章参考文献 (21)附录 (21)第一章设计说明1.1 设计目的单片机在许多领域使用十分广泛,如智能仪器仪表、实时工控、通讯设备、导航系统、家用电器等。

各科任老师们经常说“学好单片机,工作就不成问题了。

”可见学好单片意义之重大。

单片机作为一门基础学科,既是对前期学习C语言的综合运用,也是理论与实践相结合的一大体现。

本次课程设计通过基础部分,拓展功能以及整体电路的实现能很好地锻炼我们的动手及编程能力。

1.2 设计内容及要求内容:1.设计并实现具有复位功能的单片机小系统。

2.利用单片机进行灯光的场景开关控制、循环点亮控制、花样变化控制及速度变化控制(如:左右循环、扩散收缩式移动、流星雨、舞台灯光综合效果、名曲名句跟随显示等。

至少应做两项:前两项选一并有速度变化控制功能,后三项选一或自创特色花样)。

3. 炫彩音乐显示(依据3秒以上某名曲名句,模拟高、中、低音三分频,彩色LED随音频变化而起伏显示的效果,进一步地,LED 亮度跟随音乐响度闪烁)。

4.利用单片机进行灯光的色彩连续变化效果控制。

5.利用单片机进行灯光的三色联动定时控制(以交通灯为例)。

(说明:3、4中二选一,1、2、5必选)6. 配合2至5项中功能,实现液晶屏输出功能或状态信息。

7. 以调节5或4项中的时间为例实现基于4X4键盘的输入功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计说明书课程名称:单片机原理及应用设计题目:4位DIP开关控制数码管显示系统设计学院:电子信息与电气工程学院学生姓名:王宗康学号:201102020004专业班级:电子信息工程一班指导教师:李志瑞年月日课程设计任务书4位DIP开关控制数码管显示系统设计摘要:用AT89S52,共阳极数码管,4位拨动开关等设计一个电路,并写入程序。

该电路一个USB口为电源输入,4位拨动开关所对应的0000—1111对应于共阳极数码管的0—F,当拨动到某一个二进制数时,数码管上显示出对应的数值。

关键词:4位波动开关;AT89S52;共阳数码管目录1. 设计背景 (1)1.1 单片机设计背景 (1)1.2 设计目的 (1)2. 设计方案 (1)2.1 方案一 (1)2.2 方案二 (1)2.3 方案三 (1)3. 方案实施 (2)3.1 单片机基本结构 (2)3.2 硬件模块电路 (5)3.3 软件程序设计 (9)4. 结果与结论 (13)4.1结果 (13)4.2结论 (13)5. 收获与致谢 (14)6. 参考文献 (14)7. 附件 (15)7.1系统硬件原理图 (15)7.2实物布线图 (16)7.3元器件清单 (17)1.设计背景1.1 单片机设计背景单片机的出现具有划时代的意义。

它的出现使得许多原本花费很高的复杂电路以及繁多的电气元器件都被取缔,取而代之的是一块小小的芯片。

伴随着计算机技术的不断发展,单片机也得到了相应的发展,而且其应用的领域也得到更好的扩展。

在民用,工用,医用以及军用等众多领域上都有所应用。

为了,能够更好的适应这日新月异的社会,我们应当充实我们的知识面,方能不被时代的潮流踩在脚下。

1.2 设计目的介于单片机的重要性,我们应当对单片机的原理,发展以及应用有着一定的了解。

所以,我们应当查阅相关资料,从而能够对单片机有个全方位的了解。

进而将探讨的领域指向具体的国内,从而能够在科技与经济飞速发展的当今社会更好的应用这项技术。

事实上,该项技术在国内有着极为广泛的发展前景,因此,通过对本课题的研究,我们因当能够充分认识到单片机技术的重要性,对单片机未来的发展趋势有所展望。

2. 设计方案2.1 方案一使用7805降压稳压芯片位系统提供电源,拨码开关接在P1口的低四位,高四位通过接74ls247译码器连接共阳数码管。

此方案,用到了很少的IO口,节省了单片机的引脚资源占用。

但是,此方案增加了硬件成本,也增加了软件设计的难度。

2.2 方案二通过电脑USB直接供电,对电源进行简单的滤波处理。

拨码开关接在单片机的P1口低四位,共阳极数码管接在P2口。

此方案,省去了数码管显示所需的译码电路和电源供电所需的7805降压稳压芯片,占用IO口较多,但是软件设计的难度较低,而且硬件成本很低。

2.3 方案三系统选用USB直接供电,电源经过简单的直流滤波为系统提供稳定的5V直流电源。

数码管采用共阴极数码管,经过排阻提供灌入电流,点亮数码管。

拨码开关接在单片机的P1口低四位,共阴数码管接在P2口。

此方案设计中所需的共阴极数码管如果点亮,单独靠单片机的输出电流是做不到的,所以需要上拉电阻为其灌电流,这样就提高了硬件成本,但是编程时和方案二难度一样,只是共阴极数码管的显示编码不一样。

综合考虑,选用第二套方案。

3. 方案实施3.1 单片机基本结构AT89S52单片机为40引脚双列直插芯片,有4个I/0口P0、P1、P2、P3,每条I/0口能独立的做输出和输入。

AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

单片机引脚示意图如图3.1所示。

图3.1 AT89S52引脚示意图P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。

对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。

在这种应用中,P2 口使用很强的内部上拉发送1。

在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。

XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:振荡器反相放大器的输出端。

3.2 硬件模块电路电源模块电路电源电路如图3.2所示。

电源电路使用的USB直接进行供电,LED和一个300欧姆电阻串联作为系统指示灯工作,使用4.7uF点解电容和100uF的瓷片电容进行滤波处理,使之能够为单片机提供5V的直流稳压电源。

图3.2 电源电路●复位电路复位电路如图3.3所示。

AT89S52的复位是通过RST引脚保持高电平引发的,不进入复位只需RST保持低电平即可。

复位电路中需要有104的瓷片电容对四脚按键去抖动,300欧姆的电阻使之低电平有效。

图3.3 复位电路●时钟电路时钟电路如图3.4所示。

AT89S52需要有一个稳定的外部时钟源为其提供一个稳定的有效的时钟信号作为基准,使其能够正常的工作。

也可以采用其内部的时钟源,但是内部时钟源受到温度等条件的干扰很强。

所以本设计中采用了12MHz的晶振为AT89S52提供外部时钟源,通过查询ATM89S52的使用手册,时钟的滤波电容采用了33pf的瓷片电容。

图3.4 时钟电路●拨码开关电路拨码开关电路如图3.5所示。

拨码开关在电路中需要有如下条件,没有打开时,输入低电平,打开时,输入高电平,所以需要在单片机引脚前对拨码开关连接的信号线进行拉高处理,以提高信号的准确度。

图3.5 拨码开关电路●数码管显示常见的数码管由七个条状和一个点状发光二极管管芯制成,叫七段数码管。

如图3.6所示。

图3.6 数码管引脚图共阳极数码管里面的发光二极管阳极接在一起作为公共引脚,在正常使用时此引脚接电源正极,当发光二极管的阴极接低电平时,发光二极管被点亮,从而显示相应的数字。

共阳数码管的显示编码为:0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH3.3 软件程序设计根据设计要求,首先要做到实时更新拨码开关的输入情况,所以就需要程序开始就能够显示P1口拨码开关的情况,并且要不断的扫描拨码开关的变化情况。

一旦发生改变,就要马上在数码管上进行显示。

程序流程图如图3.7所示。

图3.7程序流程序4. 结果将元器件焊接到音印制上之后,往AT89S52芯片中烧写好程序,接通电源,电源指示灯亮,数码管显示此刻拨码开关的输入值,拨动拨码开关调节输入,数码管上显示不同的数字从“0”到“F”。

调整4位拨动开关按二进制输入:当DIP开关为“0000”,数码管显示“0”;当DIP开关为“0001”,数码管显示“1”;当DIP开关为“0010”,数码管显示“2”;当DIP开关为“0011”,数码管显示“3”;当DIP开关为“0100”,数码管显示“4”;当DIP开关为“0101”,数码管显示“5”;当DIP开关为“0110”,数码管显示“6”;当DIP开关为“0111”,数码管显示“7”;当DIP开关为“1000”,数码管显示“8”;当DIP开关为“1001”,数码管显示“9”;当DIP开关为“1010”,数码管显示“A”;当DIP开关为“1011”,数码管显示“B”;当DIP开关为“1100”,数码管显示“C”;当DIP开关为“1101”,数码管显示“D”;当DIP开关为“1110”,数码管显示“E”;当DIP开关为“1111”,数码管显示“F”。

5. 收获与致谢通过本次的课程设计使得自己从实践中体会和认识了单片机,加深了自己对其的理解。

刚开始的时候,在做电路图的设计,PCB的布线等方面还算比较顺利,但是在进行烧程序的时候,由于用于写程序的软件和进行程序编译的软件不一样,导致了程序中某些路径的指向出现了问题,但是在老师的帮助下,我们很快的就解决了问题,也让自己明白了,只有自己动手做了才能发现问题的所在。

在这个过程中非常的感谢老师从以开始的入门指导,到最后的课程设计报告的审核,老师都非常的负责。

6.参考文献[1] 杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.6[2] 张毅刚.单片机原理及应用.北京:高等教育出版社,2009.11[3] 谢嘉奎.电子线路(第四版).北京:高等教育出版社,2004.[4] 臧春华.电子线路设计与应用.北京:高等教育出版社,2005.[5] 杜尚丰. CAN总线测控技术及其应用.北京:电子工业出版社,2007.17. 附件7.1仿真图7.2系统硬件原理图4位DIP开关控制数码管显示系统硬件原理图如图7.1所示。

图7.1 系统硬件原理图7.3实物布线图4位DIP开关控制数码管显示系统实物布线图如图7.2所示。

图7.2 实物布线图7.4 元器件清单4位DIP开关控制数码管显示系统元器件清单如表7.3所示。

表7.37.5 源程序程序代码如下:/*****************************************************************************************************/#include"reg51.h"//共阳数码管0~F编码unsigned chardis[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0 x8e};//数码管初试显示状态unsigned char dis_dat = 0;/**************************************************函数名称:Delay_ms(unsigned int Time)函数功能:为程序提供必要的延时输入参数:Time 延时毫秒数输出参数:无***************************************************/void Delay_ms(unsigned int Time){unsigned char j;unsigned int i;for(i=0; i<Time; i++)for(j=0; j<125; j++);}/**************************************************函数名称:Key_Scan(void)函数功能:4位拨码开关扫描输入参数:无输出参数:无***************************************************/void Key_Scan(void){unsigned char dat;dat = P1 & 0x0f;if(dat != dis_dat){Delay_ms(10);if(dat != dis_dat)dis_dat = dat;}}/************************************************** 函数名称:void main(void)函数功能:程序入口,抉择显示的数值输入参数:无输出参数:无***************************************************/void main(void){P1 = 0xff;P2 = 0xff;while(1){Key_Scan();switch(dis_dat){case 0: P2 = dis[0];break;case 1: P2 = dis[1];break;case 2: P2 = dis[2];break;case 3: P2 = dis[3];break;case 4: P2 = dis[4];break;case 5: P2 = dis[5];break;case 6: P2 = dis[6];break;case 7: P2 = dis[7];break;case 8: P2 = dis[8];break;case 9: P2 = dis[9];break;case 10: P2 = dis[10];break;case 11: P2 = dis[11];break;case 12: P2 = dis[12];break;case 13: P2 = dis[13];break;case 14: P2 = dis[14];break;case 15: P2 = dis[15];break;default : break;}}}。

相关文档
最新文档