单片机课程设计报告

合集下载

单片机课程设计报告

单片机课程设计报告

一,设计总体思路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键盘的输入功能。

单片机原理及应用课程设计报告

单片机原理及应用课程设计报告
培养实践能力和创新思维
课程设计为学生提供了一个实践平台,学生可以在实践中锻炼动手能力,培养解决实际问题的能力,同时通过创新思 维,设计出具有特色的单片机应用系统。
促进理论与实践相结合
单片机原理及应用课程设计将理论知识与实践操作相结合,使学生能够更好地理解单片机的实际应用场 景,加深对理论知识的理解。
时间安排
共计8周,每周5天, 每天8小时。
04
单片机应用实践
单片机外围电路设计
电源电路
为单片机提供稳定的电源,确 保单片机正常工作。
时钟电路
为单片机提供稳定的时钟信号 ,保证程序正常运行。
复位电路
在单片机出现异常时,能够实 现自动复位或手动复位。
输入输出接口
实现单片机与外部设备的通信 和控制。
单片机程序编写与调试
单片机的编程语言和开发环境
单片机的编程语言主要有汇编语言和C语言。汇编语言是一种低级语言,直接控制硬件操作,但编程 难度较大;C语言是一种高级语言,具有可读性强、易于编程和维护等优点。
单片机的开发环境是指用于编写、编译、调试和烧录程序的软件环境。常用的单片机开发环境有Keil 、IAR、SDCC等。这些开发环境都支持汇编语言和C语言编程,提供了丰富的库函数和调试工具,方 便开发者进行单片机应用开发。
• 解决方案
检查数码管的位选信号和段选信号是否正确连接。
对未来学习和实践的建议与展望
深入学习
进一步研究单片机的内部结构和工作原理,掌握 更多高级功能和应用。
实践应用
将所学知识应用到实际项目中,提高解决实际问 题的能力。
持续学习
关注单片机技术的最新发展动态,保持学习的持 续性。
THANKS
感谢观看

单片机课程设计-武汉理工大学单片机实训报告

单片机课程设计-武汉理工大学单片机实训报告

单⽚机课程设计-武汉理⼯⼤学单⽚机实训报告第⼀章绪论 (2)1.1概述 (2)1.2课程设计任务 (2)第⼆章硬件系统设计 (3)2.1单⽚机最⼩系统 (3)2.1.1 STC89C52的介绍 (3)2.1.2 stc89c52系列单⽚机最⼩系统的介绍 (4)2.2矩阵键盘模块 (5)2.3数码管显⽰单元 (5)2.4 LCD1602液晶显⽰电路 (6)2.5蜂鸣器单元 (7)第三章软件设计 (8)3.1数码管实验 (8)3.1.1循环数码管显⽰0—F程序设计结构图: (8)3.1.2 59秒倒计数流程图 (9)3.2 矩阵键盘流程图 (10)3.3 LCD1602滚动显⽰年⽉⽇时分秒 (11)3.4 AD转换, (12)3.5家电遥控器 (13)第四章调试结果分析 (14)4.1数码管调试及分析 (14)4.1.1循环数码管显⽰0—F (14)4.1.2数码管59秒倒计数 (15)4.2矩阵键盘 (15)4.3 LCD1602滚动显⽰年⽉⽇时分秒 (16)4.4 AD转换 (16)4.5家电遥控器 (17)第五章⼩结 (17)参考⽂献: (18)第⼀章绪论1.1概述随着我国⼯业技术和电⼦技术的发展和进步,⾃动控制技术也已经得到了极⼤的普及和应⽤,⽽这些⾃动控制技术的核⼼技术就是单⽚微型计算机,简称单⽚机。

它以其⾼可靠性、⾼性价⽐、低电压、低功耗等⼀系列优点,被⼴泛应⽤于控制系统、数据采集等领域。

⽽51单⽚机系列以其超⾼的性价⽐深受⼴⼤电⼦爱好者和开发者以及⼤学⽣群体的欢迎。

故⽽本次课程设计采⽤STC89C52单⽚机。

1.2课程设计任务必做项⽬(这是每个学⽣必做的任务):1.基本系统:在51单⽚机开发系统PCB电路板上完成电⼦元器件的焊接、调试、程序下载,并实现数码管显⽰、矩阵键盘扫描、中断程序、定时器程序、串⼝通讯等基本功能;2.显⽰功能:焊接电路并实现对1602液晶屏的显⽰功能,要求能滚动显⽰字符;3.输出控制:焊接电路并实现对继电器的控制功能;4.数据采集:焊接电路并实现对AD0832的数据采集功能;选做项⽬(以下任选⼀):1.家电遥控器:实现对红外接收管和发射管的控制功能,要求能够学习遥控器的红外码,并能发射相应的编码,实现红外遥控器的功能。

单片机课程设计实验报告

单片机课程设计实验报告

单片机课程设计实验报告单片机课程设计实验报告引言单片机是嵌入式系统中常见的一种计算机芯片,具有体积小、功耗低、成本低等优势。

本次实验旨在通过单片机的应用设计,加深对单片机原理和应用的理解,并提升解决问题的能力。

实验目的本次实验的目的是设计一个简单的温度监测系统,通过单片机采集温度传感器的数据,并将数据显示在液晶显示屏上。

通过这个实验,我们可以掌握单片机的基本编程和电路连接方法,同时加深对温度传感器的原理和应用的理解。

实验原理1. 单片机基本原理单片机是一种集成电路,内部包含了CPU、内存、输入输出端口等功能模块。

通过编程,可以控制这些功能模块的工作,实现各种应用。

2. 温度传感器原理温度传感器是一种能够感知环境温度变化的器件,常见的有热敏电阻、热电偶等。

本次实验使用的是热敏电阻,其电阻值随温度的变化而变化。

实验材料1. 单片机开发板2. 温度传感器3. 液晶显示屏4. 连接线等实验步骤1. 连接电路将单片机开发板与温度传感器、液晶显示屏连接起来,确保电路连接正确无误。

2. 编写程序使用C语言编写单片机的程序,实现温度传感器数据的采集和液晶显示屏的显示。

程序的基本思路是通过单片机的模拟输入端口读取温度传感器的电阻值,然后将电阻值转换为温度值,并将温度值显示在液晶显示屏上。

3. 烧录程序将编写好的程序烧录到单片机开发板上,确保程序能够正常运行。

4. 实验测试将温度传感器放置在不同的环境中,观察液晶显示屏上的温度数值是否能够准确显示,并记录实验结果。

实验结果与分析经过实验测试,我们发现温度传感器能够准确地采集环境温度,并将温度数值显示在液晶显示屏上。

通过对比实际温度和显示温度的差异,我们可以评估温度传感器的准确性和精度。

实验总结通过本次实验,我们深入了解了单片机的基本原理和应用,掌握了单片机的编程方法和电路连接方法。

同时,我们也加深了对温度传感器的原理和应用的理解。

这些知识和技能对于今后的学习和工作都具有重要意义。

单片机课程设计报告-数字温度计

单片机课程设计报告-数字温度计

单片机课程设计报告-数字温度计单片机是一种集成了微处理器核心、存储器、外围接口和定时器等功能模块的微型计算机。

在现代电子科技领域中,单片机被广泛应用于各种嵌入式系统中。

本课程设计主要针对单片机的应用实践,通过设计一个数字温度计来锻炼学生的单片机编程能力,同时加深对数字温度计的原理及应用的理解。

二、设计目标本课程设计旨在使学生掌握以下内容:1. 掌握单片机的基本原理和编程方法;2. 了解数字温度计的原理和应用;3. 熟悉温度传感器的使用和数据处理方法;4. 能够利用单片机开发出一个简单的数字温度计。

三、设计内容本课程设计主要包括以下内容:1. 单片机原理和编程基础;2. 数字温度计的原理和应用介绍;3. 温度传感器的选型及使用方法;4. 单片机数字温度计的设计和实现。

四、设计步骤1. 单片机原理和编程基础学生首先将学习单片机的基本原理和编程方法,包括单片机的体系结构、存储器组成、I/O口的使用、定时器的应用等内容。

2. 数字温度计的原理和应用介绍学生将了解数字温度计的基本原理和应用场景,包括数字温度计的工作原理、常见的数字温度计种类、数字温度计的应用领域等。

3. 温度传感器的选型及使用方法学生将学习温度传感器的选型原则,了解各种温度传感器的特点及使用方法,包括模拟温度传感器和数字温度传感器。

4. 单片机数字温度计的设计和实现学生将利用所学的单片机编程知识和温度传感器的使用方法,设计并实现一个简单的数字温度计。

学生需要考虑温度测量精度、显示方式、数据处理方法等问题。

五、教学方法本课程设计采用理论教学与实践相结合的教学方式,通过理论课堂讲解和实际操作演示相结合,加深学生对单片机和数字温度计知识的理解和掌握。

同时,鼓励学生合作学习,共同解决实际问题,提高实战能力。

六、教学评估学生将根据设计的数字温度计的实际测量情况、数据处理方法以及最终的效果进行评估,教师将根据学生的设计方案和实际操作情况进行评分。

同时,学生对单片机编程的理解和掌握水平也将作为评估的重要内容。

单片机课程设计实习报告2篇

单片机课程设计实习报告2篇

单片机课程设计实习报告 (2)单片机课程设计实习报告 (2)精选2篇(一)实习报告1. 实习概述在本次实习中,我参与了单片机课程设计项目的开发工作。

该项目的目标是设计并实现一个功能完善的单片机系统,能完成一些常见的任务,如控制LED灯的闪烁、采集温湿度数据等。

2. 实习过程在实习的第一天,我与项目组的其他成员一起讨论了系统的设计方案。

我们决定采用STM32单片机作为硬件平台,并选择了Keil作为开发环境。

然后,我们开始了系统的搭建工作。

在搭建系统的过程中,我主要负责编写程序代码。

我首先学习了STM32单片机的相关知识,并了解了它的编程方式。

然后,我根据系统的需求,编写了一些基本的程序代码,如控制LED灯的闪烁、读取温湿度传感器的数据等。

在编写代码的过程中,我遇到了一些问题。

例如,我发现LED灯无法正常闪烁,经过调试后发现是我在代码中写错了引脚的定义。

我还遇到了一些编译错误和逻辑错误,通过查阅资料和与同事的讨论,我逐渐解决了这些问题。

在实习的最后几天,我与项目组的其他成员一起测试了系统的功能,并进行了修复和优化。

我们使用示波器和逻辑分析仪对系统进行了验证,确保系统的稳定性和可靠性。

3. 实习总结通过参与单片机课程设计实习项目,我对单片机的硬件和软件实现有了更深入的了解。

我学会了如何使用Keil编写程序代码,并通过实践掌握了调试和排除故障的技巧。

同时,我也学会了如何与团队成员合作,共同完成一个项目。

通过实习,我不仅提高了自己的技术能力,还培养了解决问题的能力和团队合作能力。

我相信这些经验和技能对我的未来发展将非常有帮助。

4. 改进建议在实习过程中,我发现有些文档和资料的描述不够清晰和详细,对我理解项目的要求和实现方式造成了一些困扰。

因此,我建议在今后的实习项目中,关注文档和资料的编写,确保其准确性和完整性。

另外,我还建议在项目开始之前进行一些充分的准备工作,包括学习相关知识和技术,以及对项目的需求和实现方式进行详细的讨论和规划。

单片机课程设计报告(简易计算机)

单片机课程设计报告(简易计算机)

专业综合课程设计任务书班级:学号:姓名:成绩:电子与信息工程学院计算机科学系图1.2 图1.3图1.42.3键盘电路这部分有16个button构成4*4矩阵,通过p1口进行行扫描方式实现按键的读取。

硬件电路图如图1.4。

2.4总体硬件图如图1.5图1.53 软件详细设计3.1键盘扫描子程序要进行数据的计算就必须进行数据的输入,也就是确定按键输入的数值是什么,这就需要对键盘进行行扫描,从而确定究竟是那个键按下。

对于键盘的扫描,既可以使用行扫描也可以使用列扫描,这里采用行扫描的方法完成对键盘的扫描行扫描就是逐行扫描键盘,看那一行有键按下,再通过返回的见马来确定究竟是哪个按键按下。

对第一行扫描就置p1.0为底电平,其余p1口为高电平,如果有按键按下,则p1口的值就会变为别的值,再由新值来确定是那个键按下。

程序流程图如图1.6图1.6dd:mov r0,#0f7h mov r1,#0cc:mov a,r0 mov p1,amov a,p1 mov r2,asetb c mov r3,#4bb:rlc a jnc aaee:inc r1 djnz r3,bbmov a,r0 setb crrc a mov r0,ajc cc ljmp ddKAOO:LJMP KAO BBB2:LJMP BB2aa:lcall mm mov a,p1xrl a,r2 nz eeff:mov a,p1 xrl a,r2jz ff MOV A,51HCJNE A,#1,BBB2RET3.4主程序及其他部分程序下图为主程序流程图:主要有:初始化子程序,清屏子程序,固定字符显示,单元定义,端口定义,字模部分。

主程序:RG 0LJMP STARTSTART:MOV SP,#60HLCALL INT ;调用初始化子程序START1:LCALL CLEAR ;调用清屏子程序初始化子程序:INT: MOV COM,#0C0H ;设置显示起始行为第一行LCALL PRM0LCALL PRR0MOV COM,#3FH ;开显示设置LCALL PRM0LCALL PRR0RET清屏子程序:CLEAR:MOV R4,#00H。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告简易频率计设计学院:地信院班级:生医1201班姓名:刘柏林学号:0402120116目录摘要.第一章频率计设计概述第二章 AT89C51单片机及其引脚说明第三章分频电路 .第四章显示电路第五章系统整体原理图第六章系统软件设计1.测频软件实现原理2.软件流程图3.程序设计第七章仿真测试结果(1)复位操作(2)频率为9HZ(3)频率为99HZ(4)频率为999HZ(5)频率为9999HZ第八章单片机课程设计原材料清单结束语参考文献摘要随着电子信息产业的不断发展,信号频率的测量在科技研究和实际应用中的作用日益重要。

传统的频率计通常是用很多的逻辑电路和时序电路来实现的,这种电路一般运行较慢,而且测量频率的范围较小。

考虑到上述问题,本文设计一基于单片机设计频率计。

本文从频率计的原理出发,介绍了基于单片机的频率计的设计方案,选择了实现系统的各种电路元器件,并对硬件电路进行了仿真,并焊制出了实际的电路板,测试表明与理论大体相符。

关键字:单片机;频率计;测量;A T89C51第一章频率计设计概述本频率计的设计以A T89C51单片机为核心,利用他内部的定时/计数器完成待测信号频率的测量。

单片机AT89C51内部具有2个16位定时/计数器,定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。

设计将定时/计数器0设置工作在定时方式,定时/计数器1设置工作在计数方式。

在定时器工作方式下,在被测时间间隔内,每来一个机器周期,计数器自动加1(使用12 MHz时钟时,每1μs加1),这样以机器周期为基准可以用来测量时间间隔。

在计数器工作方式下,加至外部引脚的待测信号发生从1到0的跳变时计数器加1,这样在计数闸门的控制下可以用来测量待测信号的频率。

外部输入在每个机器周期被采样一次,这样检测一次从1到0的跳变至少需要2个机器周期(24个振荡周期),所以最大计数速率为时钟频率的1/24(使用12 MHz时钟时,最大计数速率为500 kHz)。

单片机课程设计实验报告

单片机课程设计实验报告

单片机课程设计实验报告一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握其内部结构及工作流程。

2. 使学生掌握单片机编程的基本语法和编程技巧,能独立完成简单的程序编写。

3. 帮助学生了解单片机在现实生活中的应用,提高对新技术、新领域的认识。

技能目标:1. 培养学生运用单片机进行实验设计和实践操作的能力。

2. 培养学生分析问题、解决问题的能力,提高创新思维和动手实践能力。

3. 提高学生的团队协作和沟通能力,学会在实验过程中相互交流、共同进步。

情感态度价值观目标:1. 激发学生对单片机及电子技术的兴趣,培养主动学习的习惯。

2. 培养学生严谨、细致的实验态度,养成良好的实验操作习惯。

3. 增强学生的自信心和责任感,使他们认识到学习单片机对国家科技发展的意义。

课程性质分析:本课程为单片机课程设计实验,侧重于实践操作和实际应用。

课程要求学生具备一定的电子技术基础和编程能力,通过实验深入了解单片机的工作原理和应用领域。

学生特点分析:本课程面向高年级学生,他们在之前的学习中已掌握了基本的电子技术和编程知识,具备一定的自学能力和动手实践能力。

但学生在单片机应用方面的实践经验不足,需要通过本课程加强实践锻炼。

教学要求:1. 结合课本内容,注重理论与实践相结合,提高学生的实际操作能力。

2. 注重启发式教学,引导学生主动思考、探索,培养学生的创新精神和实践能力。

3. 关注学生的个体差异,给予个别辅导,确保每位学生都能达到课程目标。

二、教学内容1. 单片机基础知识:- 单片机原理与结构- 单片机内部资源及功能- 单片机编程语言(汇编语言、C语言)2. 单片机编程与实验:- 基本输入输出编程- 定时器、中断编程- 模数转换、串行通信编程3. 单片机应用案例:- 实例分析:温度控制器、智能小车等- 创新设计:学生自主选题,设计单片机应用项目4. 实验操作与调试:- 实验步骤与方法- 常用工具与仪器的使用- 故障分析与调试技巧教学大纲安排:第一周:单片机基础知识学习,包括原理、结构、编程语言等第二周:基本输入输出编程,实验一:LED灯控制第三周:定时器、中断编程,实验二:简易电子时钟第四周:模数转换、串行通信编程,实验三:温度传感器数据采集第五周:单片机应用案例分析,学生自主选题,设计单片机应用项目第六周:实验操作与调试,完成设计项目,撰写实验报告教材章节关联:教学内容与教材《单片机原理与应用》相关章节紧密关联,具体包括:- 第一章:单片机概述- 第二章:单片机的结构与原理- 第三章:单片机编程语言- 第四章:单片机内部资源及应用- 第五章:单片机实验与调试教学内容确保科学性和系统性,以培养学生的实际操作能力为目标,注重理论与实践相结合,提高学生的创新能力和实践技能。

51单片机课程设计报告

51单片机课程设计报告

51单片机实做课课程设计报告学院:专业班级:学号:姓名:指导教师:设计时间:目录一、设计任务与要求 (3)1.1、概述 (3)1.2、 STC89C52介绍 (3)1.3、引脚功能说明 (4)二、总原理图及元器件清单 (5)2.1、总原理图: (5)2.2、显示部分 (5)2.3、声音部分 (6)2.4、按键部分 (6)2.5、继电器 (7)三、模块电路分析 (7)3.1、硬件模块 (7)3.2、单片机控制系统及基本电路 (8)3.3、按键控制模块 (9)3.4、LED显示模块 (10)3.5、交通灯显示模块 (10)3.6、串口通信模块 (11)3.7、继电器 (11)四、调试及结论 (12)4.1 单元调试 (12)4.2 整体调试 (13)五、实验结果 (14)5.1、PCB图 (14)5.2、布线图 (14)5.3、封装结果图 (15)六、心得体会 (15)七、参考文献 (16)一、设计任务与要求1.1、概述通过交通灯的课程设计,将理论知识和实际操作结合起来,熟悉STC89C52的工作原理,设计出符合要求的交通灯。

利用按键控制数码管时间的显示,实现计时和倒数、显示、调节的基本功能。

利用汇编语言编写程序,熟悉掌握汇编语言的编写,提高动手和思维能力,知道交通灯是怎样运行的,与现实生活相贴切。

1.2、 STC89C52介绍·与MCS-51 兼容·8K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·256*8位内部RAM·32可编程I/O线·三个定时器/计数器·6个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路1.3、引脚功能说明(1).电源引脚Vcc(40脚):典型值+5V。

《单片机课程设计》报告

《单片机课程设计》报告

机械与车辆学院课程设计题目:姓名:学号:班级:指导老师:时间:成绩:水塔水位控制系统职称:《单片机课程设计》考查评分表、出勤率:□全勤□缺勤较少□缺勤较多□全缺(20%) 2、进度:□较快□正常□较慢□没有按时完成布局焊接:□合理(20%) □错误较多□较合理□原则性错误□基本合理1、程序编写框架:□合理□较合理□基本合理(20%) (10%) (15%) (15%)□原则性错误□基本正确□错漏较多系统调试结果:□实现□基本实现□不能实现1、硬件设计:2、软件设计:3、联调结果:4、过程体味:□合理□合理□正确□属实□较合理□较合理□较正确□较属实□基本合理□基本合理□基本正确□基本属实□不合理□不合理□错漏较多□不属实□思路清晰,内容正确□思路基本清晰,内容基本正确指导教师:吴明友 2022 年 1 月 3 日□错误较多2、程序编写过程:□正确□较正确□思路较清晰,内容较正确□思路较混乱,内容错漏较多一、课程设计性质和目的 (4)二、课程设计的内容及要求 (4)1、硬件设计 (4)2、软件设计 (5)3 、功能要求: (5)三、课程设计的进度及安排 (5)四、设计所需设备及材料 (6)五、设计思路及原理分析 (7)六、流程图及程序编写 (7)(1)根据功能要求画出控制程序流程图。

(8)(2)根据控制程序流程图编写C51 程序 (8)七、调试运行 (10)1 、软件测试: (10)2、硬件测试: (11)八、结果及分析 (12)九、心得体味 (13)十、参考文献 (14)十一、致谢 (14)十二、附录 (15)【1】整流器protel 防真原理图: (15)【2】数字时钟 (16)单片机课程设计是《单片机原理与接口技术》课程与实验结束后的一门综合性实践课。

设计一种基于单片机水塔水位检测控制系统。

该系统能实现水位检测、机电故障检测、处理和报警等功能,实现超高、低警戒水位报警,超高警戒水位处理。

介绍电路接口原理图,给出相应的软件设计流程图和汇编程序,并用Proteus 软件仿真。

  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;}}}。

相关文档
最新文档