单片机课程设计定时器控制4只LED滚动闪烁系统解析
单片机原理及应用技术项目化项目1闪烁的LED灯设计

项目1 闪烁的LED灯设计
1.3 项目支撑知识链接
1.3.1 认识单片机
1.单片机的基本概念 单片机(Single Chip Microcomputer,SCM)实际上是集成 在一块芯片上的微型计算机,在这块芯片内部集成了中央处 理器(Central Processing Unit,CPU)、随机存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory, ROM)、定时器/计算器(Time/Count)、输入/输出(Input/ Output, I/O)接口等功能部件。虽然单片机只是一个芯片, 但从组成和功能上看,它已具有微型计算机系统的含义。
3) Microchip公司 Microchip公司推出的是8位PIC系列单片机,该系列单 片机采用的是RISC结构。其中主要产品系列是: (1) PIC16C5x:低端产品,价位低,家电产品中常 使用。 (2) PIC12C6xx:中端产品,性能相对较高,内部带有 A/D转换器和PWM输出等。 (3) PIC17Cxx:高端产品,运算速度快,可外接扩展存 储器RAM或EPROM,控制功能丰富。
(5) 日常生活中的应用:目前家用电器已普遍采用单片 机代替传统的控制电路。比如,单片机广泛用于洗衣机、电 冰箱、空调、微波炉和智能家居等产品中。
项目1 闪烁的LED灯设计
5.单片机的产品介绍 1) Intel公司 Intel公司是单片机的领跑者,MCS-51系列单片机是该 公司单片机产品的总称。该系列有8031、80C51、8751、 8032、8052、8752等,其中80C51是典型代表,因此大家常 以80C51来称呼MCS-51系列单片机。此外,该公司将MCS51核心技术授权给多家公司,市场上陆续出现了与80C51兼 容的各厂家生产的单片机。
音乐播放器-单片机课程设计

设计内容与设计要求设计内容:本课题要求以单片机为核心设计一个音乐播放器,完成多曲选择播放控制、停止控制、省电模式控制等功能。
音乐播放器利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由喇叭发出声音,选取某段音乐使单片机连续播放。
设计3个按键:播放/停止、下一曲、上一曲;4位LED 显示器,用来显示所选曲目,该显示器在播放期间为了节省电源,设计为关闭状态,当一歌曲演奏结束,或选曲时显示器才显示曲目信息。
要求焊接好开发板,在开发板上进行调试。
设计要求:1)确定系统设计方案;2)进行系统的硬件设计;3)完成必要元器件选择;4)开发板焊接及测试5)系统软件设计及调试;6)系统联调及操作说明7)写说明书主要设计条件1、MCS-51单片机实验操作台1台;2、PC机及单片机调试软件,仿真软件proteus;3、开发板1块;4、制作工具1套;5、系统设计所需的元器件。
说明书格式目录第1章、概述第2章、系统总体方案设计第3章硬件设计第4章软件设计及调试第5章系统联调及操作说明第6章总结参考文献附录A系统硬件原理图附录B程序清单进度安排设计时间分为二周第一周星期一、上午:布置课题任务,课题介绍及讲课。
下午:借阅有关资料,总体方案讨论。
星期二、分班级焊接开发板星期三、确定总体方案,学习与设计相关内容。
星期四、各部分方案设计,各部分设计。
星期五、设计及上机调试。
星期六、设计并调试第二周星期一:设计及上机调试。
星期二:调试,中期检查。
星期三:调试、写说明书。
星期四--星期五上午:写说明书、完成电子版并打印成稿。
星期五下午:答辩。
参考文献参考文献1、王迎旭编.《单片机原理与应用》[M].机械工业出版社.2、楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社.3、黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社4、刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社.5、陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社.第1章概述... ... ... ... ... ... ... ... .. .. . 61.1单片机简介... ... ... ... .. ... ... ... (6)1.2 任务简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7第2章系统总体方案设计 (8)2.1 音乐的产生... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82.2 系统方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 10第3章硬件设计 (11)3.1 89C51单片机 (12)3.2 I/O并行口直接驱动LED显示 (14)3.3 蜂鸣电路. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153.4控键电路.. . . . . . . . . . . . . . . . . . .163.5时钟电路 . . . . . . . . . . . . . . . . .. .173.6电源电路 . . . . . . . . . . . . . . . . . . 17 第4章软件设计 (18)4.1.软件设计 (18)4.2 设计方案. . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . .. . . . .19第5章系统调试与仿真 (20)5.1软件仿真阶段 (20)5.2系统的仿真调试阶段 (20)5.3调试问题处理 (21)第6章心得体会 (22)参考文献 (23)附录A:音乐播放器电路设计图 (24)附录B:程序清单 (25)第1章概述1.1单片机简介单片机又称单片微控制器,它不是完成某一逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
单片机课程教案

单片机课程教案一、课程概述单片机原理及应用是一门涉及微处理器、数字电路和计算机接口技术的综合性课程。
本课程的目标是使学生掌握单片机的原理和应用,了解单片机在嵌入式系统设计中的地位和作用,为学生进一步深入学习和应用单片机打下坚实的基础。
二、课程目标1、理解单片机的内部结构和工作原理。
2、掌握单片机的基本操作和编程方法。
3、熟悉单片机在嵌入式系统中的应用和设计方法。
4、培养学生的创新能力和实践操作能力。
三、课程内容第一章:单片机概述1、1单片机的基本概念及发展历程2、2单片机的特点和应用领域3、3单片机的主要产品和发展趋势第二章:单片机的基本结构和工作原理2、1单片机的内部结构和主要部件功能介绍21、2单片机的引脚和信号说明211、3单片机的存储器和寄存器介绍2111、4单片机的时钟系统和定时器/计数器介绍第三章:单片机的编程语言和开发环境3、1单片机的编程语言概述和特点31、2 C语言在单片机编程中的应用311、3 Keil C51开发环境和程序设计流程介绍3111、4程序调试和下载方法说明第四章:单片机的应用实例和实验指导4、1单片机在LED闪烁和流水灯控制中的应用实例41、2单片机在按键输入和数码管显示中的应用实例411、3单片机在A/D和D/A转换中的应用实例4111、4单片机在电机控制和红外线遥控中的应用实例本文5单片机的实验指导和实验报告要求说明第五章:单片机的发展趋势和应用领域的扩展本文1单片机在物联网和智能家居中的应用扩展本文2单片机在汽车电子和医疗设备中的应用扩展本文3单片机在工业控制和智能制造中的应用扩展本文4单片机在人工智能和机器人技术中的应用扩展第六章:课程总结和答疑解惑本文1课程总结和学习方法分享本文2答疑解惑和常见问题解答1、3学生自我评估和改进建议收集四、教学方法与手段本课程采用理论教学和实践操作相结合的方法,以案例分析和程序示范为主要手段,通过课堂讲解、小组讨论、实验指导等多种形式,使学生更好地理解和掌握单片机的原理和应用。
51单片机led闪烁实验原理

51单片机led闪烁实验原理单片机是一种集成了处理器、内存以及各种输入输出接口的微型电脑。
51单片机是目前应用最广泛的单片机之一,具有广泛的应用领域和强大的功能。
在学习电子和嵌入式系统的过程中,LED闪烁实验是一项基础的实验,可以帮助我们了解单片机的原理和实际应用。
LED(Light Emitting Diode)是一种晶体管器件,具有发光功能。
在电子产品中,常常用LED作为指示灯或显示器,如电脑电源指示灯、手机屏幕等。
LED的闪烁实验是通过控制单片机的输出端口来实现的。
实验原理很简单,需要使用51单片机、LED、电阻和蜂鸣器等元件。
首先,将单片机的输出端口与LED连接,通过编程控制该输出口的高低电平,从而控制LED的亮灭。
在单片机编程中,可以使用C语言或汇编语言,根据控制单片机输出端口的特定语句和循环语句,来控制LED的闪烁频率和灯亮时间。
在51单片机的编程中,我们需要了解几个关键概念。
首先是端口的概念,51单片机有几个IO口,在编程时需要给这些口标号,方便操作。
其次是输入输出控制,单片机的IO口既可以作为输入口,也可以作为输出口。
在本实验中,我们将LED连接到输出口,通过控制输出口的电平来控制LED的亮灭;再次是时钟的概念,单片机需要时钟信号来计算和执行指令,我们需要初始化时钟,以确保单片机正常工作。
以下是简单的51单片机LED闪烁实验代码示例:```#include <reg52.h>sbit LED = P1^0; // 定义LED连接的引脚void Delay(unsigned int t) //延时函数{unsigned int i, j;for(i = t; i > 0; i--)for(j = 110; j > 0; j--);}void main(){while(1){LED = 0; // 将LED引脚置低电平Delay(1000); // 延时1秒LED = 1; // 将LED引脚置高电平Delay(1000); // 延时1秒}}```以上代码通过控制LED引脚的电平状态实现LED的闪烁。
单片机课程设计——交通灯

单片机课程设计报告书题目:交通信号灯学院:班级:姓名:学号:课程名称:指导老师:日期:一.设计任务:交通灯的硬件和软件设计二.设计目的课程设计是本专业集中实践环节的主要内容之一。
训练正确地应用单片机,培养解决工业控制、工业检测等领域具体问题的能力。
学生通过所做课题,熟悉单片机应用系统开发研制的过程,软硬件设计的工作方法、内容及步骤,对学生进行基本技能训练。
例如组成系统、编程、调试、绘图等。
使学生理论联系实际,提高动手能力和分析问题、解决问题的能力。
通过本课程设计,主要达到以下目的:1.使学生增进对单片机的感性认识,加深对单片机理论方面的理解。
2.使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。
3.使学生了解和掌握单片机应用系统的软/硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础三.设计思路交通灯的变化规律按照常规我们假设一个十字路口为东西南北走向。
初始状态为状态1,南北方向绿灯通车,东西方向红灯。
经过过一段时间(25S)转换状态2,南北方向绿灯闪几次转亮黄灯,延时5S,东西方向仍然红灯。
再转换到状态3,东西方向绿灯通车,南北方向红灯。
过一段时间(25S)转换到状态4,东西方向绿灯闪几次转亮黄等,延时5S,南北方向仍然红灯。
最后循环至南北绿灯,东西红灯。
在这些状态下,有时钟倒数计时。
四.硬件介绍基础知识交通灯控制器实例主要使用了89C51单片机的定时器/计数器,基础知识主要包括交通灯的变化规律、定时器/计数器的概念、定时器/计数器的相关寄存器、定时器/计数器的4种工作方式、以及定时器/计数器的变成。
4.1定时器/计数器定时器/计数器是单片机中最常用、最重要的功能模块之一,本节通过交通灯控制器实例来演示定时器的使用,并复习如何使用散转程序。
首先介绍交通灯以及定时器/计数器的基础知识,接着介绍本实例的硬件电路构成,然后逐步分析定时器的变成以及程序的全貌,最后总结一下本实例的技巧与注意点。
单片机课程设计报告 - 十字路口交通灯控制

宁夏大学新华学院课程考核绪论主要内容:随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。
它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。
黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电器公司任职员。
一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯而正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一身冷汗。
回到宿舍,他反复琢磨,终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危险。
他的建议立即得到有关方面的肯定。
于是红、黄、绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空交通领域了。
交通灯控制器设计主要功能是用单片机控制LED灯模拟指示。
模拟东西南北方向的十字路口交通灯信号控制情况。
以89C51单片机为核心芯片,采用中断方式实现控制。
本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。
和复位电路控制电路等组成,较好的模拟了交通路面的控制。
基本要求:利用单片机的定时器产生秒信号,控制十字路口的红、绿、黄灯交替点亮和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。
要求能用按键设置两个方向的通行时间(绿、红等点亮的时间)和暂缓通行时间(黄灯点亮的时间)。
系统的工作应符合一般交通灯控制的要求。
参考文献:[1] 张毅刚,彭喜元编著.《单片机原理与应用设计》[2] 郭天祥编著.《新概念51单片机C语言教程:入门、提高、开发、拓展全攻略》[3]编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。
[4]硬件实验部分可选用实验箱测试或Proteus仿真软件实现。
目录1 绪论 (2)1.1主要内容 (2)1.2 基本要求 (3)1.3 参考文献 (3)2 设计方案简介 (5)3 系统需求分析 (6)4 单片机概述 (6)5 本设计的简要概述 (7)6 本设计主要包括几个主要的元件 (8)7 模块设计 (9)7.1硬件原理图 (9)7.2软件系统结构图 (10)7.3软件流程图 (10)8 源程序 (12)9 主要函数说明 (33)对本设计的简单评述 (34)附录A (35)附录B (35)设计方案简介:交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。
《单片机原理与应用》课程设计题目...

《单片机原理与应用》课程设计题目:单片机电子时钟的设计与实现一、题目单片机电子时钟的设计与实现二、主要功能要求1.基本要求:(1)实现功能:若使用4位数码管,系统开机显示四个闪烁的“8”,前两位数码管用于小时(24小时制)的调整和显示,后两位数码管用于分钟的调整和显示,第3位数码管的小数点闪烁作为秒的指示使用,闪烁一下表示1秒,60秒后分钟数码管加1显示,60分后小时数码管加1显示;若使用6位数码管,系统开机显示六个闪烁的“8”,前两位数码管用于小时(24小时制)的调整和显示,中间两位数码管用于分钟的调整和显示,后两位数码管用于秒的调整和显示,时钟每走1秒,秒数码管加1显示,60秒后分钟数码管加1显示,60分后小时数码管加1显示。
电子时钟走时的调整由键盘输入完成。
键盘输入还可以控制电子时钟的启动和停止。
(2)设计89S51单片机最小系统。
(3)掌握使用Protel 99se绘制原理图和布板的过程、方法和技巧。
(4)掌握单片机开发软件(Keil C51或Wave)的使用和调试。
(5)编写并调试单片机定时及其中断程序,以实现电子时钟的功能。
(6)设计八段数码管显示电路并编写驱程,输入并调试拆字程序和数码显示程序。
(7)掌握硬件和软件联合调试的方法。
(8)完成系统硬件电路的设计和制作。
(9)完成系统程序的设计。
(10)完成整个系统的设计、调试和制作。
三、整体设计框图及整机概述整机概述:单片机开机时,自动读取ds1302的时间初始化时分秒。
之后由单片机的定时器产生基准时间信号开始计时。
功能简介:本设计具有时钟和闹铃功能,在掉电情况下能完成时钟的正常运行。
六个数码管显示时钟的时、分、秒。
1602液晶第一行显示时钟的年、月、日,第二行显示提示操作。
四个按键用来完成时钟和闹铃的调节设置,按键1为功能选择键,可分别进入调节时钟的时和分、闹铃的时和分、1602的年、月、日、星期。
按键2和按键3分别为数字加一和减一键。
单片机技术--课程标准

《单片机技术与应用》课程标准一、课程定位1、课程性质随着电子设备智能化的不断发展和日益普及,单片机作为电子设备智能的核心其应用日益广泛,在包括各种通信设备在内的电子应用领域中随处可见单片机的应用。
因此,中等职业教育电子信息类专业大都开设了单片机技术与应用的相关课程。
为此,本课程将作为电子电器应用与维修专业的核心课程,如图1所示,同时也是从事机电产品,电子产品的生产与开发企业培养具有单片机应用产品设计、分析、调试和制作能力的实践型人才,对学生职业岗位能力培养与职业素质养成起主要支撑作用。
图1 课程在专业岗位能力培养中的支持作用2、电子电器应用与维修课程体系电子电器应用与维修课程体系结构,如图2所示,位于最底层的是电工基础、电子技术技术(数字部分和模拟部分)、元器件识别、检测与组装。
本课程属于核心课程,起到为后续的课程protel 2004、PLC 应用与技术等课程打下坚实的基础,同时为前续课程计算机基础、电工基础、电子技术(数字部分和模拟部分)、元器件识别、检测与组装等课程起到巩固的作用。
图2 电子电气应用与维修课程体系3、课程定位《单片机技术与应用》既是电子电器应用与维修、电气自动化、应用电子技术专业的核心课程之一,又是各专业的基础课程之一。
特别是电子电器应用与维修专业中的《protel 2004》、《智能电子产品组装、检测与维修》、课程等技能的培养是以本课程为基础。
单片机是实现电子产品智能化的有效途径,现以广泛应用于智能仪表、家用电器、工业控制、网络通信等众多领域。
课程教学目标定位在培养人的综合素质,使学生在专业能力、自学能力和社会能力等各方面全面发展,为企业输送合格的软硬件设计的操作员、生产工艺检测员、产品调试工、家用电器维修工等。
本课程是贯彻教育部关于中等职业教育改革精神,体现以“以服务为宗旨,以就业为导向”的职教特点,在结构形式上采用项目式教学法,在载体上采用产品的组装、调试和检测,即每一个项目就是一个产品。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1设计目的1.1设计目的1、通过单片机课程设计,熟练掌握单片机C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
2、通过定时器控制两个LED显示器显示10秒秒表系统的设计,掌握定时/计数器和LED显示器的使用方法,同时掌握简单程序的编写,最终提高我们的逻辑抽象能力。
1.2设计内容和要求内容:设计一个能够控制两个LED显示器显示10秒秒表的模拟系统。
要求:利用单片机的定时器定时,控制LED显示器显示。
1.3 设计思路1.先熟悉实验原理,了解4只LED滚动闪烁系统灯的工作过程,组成滚动闪烁系统需要的组件。
2.了解各个硬件的工作原理,3.绘制电路原理图,编写程序,并进行仿真,基本实现LED滚动闪烁系统灯的功能。
2设计原理分析2.1十秒秒表的系统设计通过编写程序,实现对发光二极管的控制,来4只LED 滚动闪烁灯的管理。
每延时一段时间,灯的显示情况都会按LED 灯的显示规律进行状态转换。
采用单片机内部的I/O 口上的P0口中的4个引脚即可来控制4个LED 灯。
2.2十秒秒表的功能要求本设计能模拟基本的LED 滚动闪烁系统,是用中断的方式定时控制LED 定的闪烁及滚动。
2.2.1计时显示定时/计数器工作方式寄存器,定时器采用T0定时器0工作于模式2 位数:8位计数范围:0-255 具有自动加载功能2.2.2中断设置每累计若干次定时器中断才执行一次闪烁。
2.3定时器控制4只LED 滚动闪烁制系统的基本构成及原理 单片机设LED 灯闪烁系统,可用单片机直接控制信号灯的状态变化可以广泛的应用到商业和工业的流程控制测电路当中。
图2.1 系统的总体框图 据此,本设计系统以单片机为控制核心,连接成最小系统。
系统的总体框图如上所示。
因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。
特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。
当定时器1被用作波特率发生器时,波特率工作于方式1和方式3是由定时器1的溢出率和SMOD 的值(PCON.7------双倍速波特率)决定:方式1、3波特率= (定时器1的溢出率) 特殊时,定时器被设在自动重袋模式(模式2,TMOD的高四位为0100B),其为:方式1、 3波特率= 11.0592MHZ晶振的一些典型波特率如下:波特率SMOD TH1 19200 1 0FDH 9600 0 0FDH 4800 0 0FAH2400 0 0F4H 1200 0 0E8H 300 0 0A0H更换一种计算方式,它将以修改公式达到我们需求的波特率来计算出晶振。
最小晶振频率=波特率x 384 x 2 SMOD 这就是我们所需波特率的最小晶振频率,此频率能成倍增加达到我们需求的时钟频率。
3 系统硬件电路的设计3.1系统硬件总电路构成及原理实现本设计要求的具体功能,可以选用AT89S51单片机及外围器件构成最小控制系统,4个发光二极管分成1组红绿蓝黄4灯构成信号灯指示模块等。
主要器件的选择:表3-13.2 主控制部分――AT89C51单片机简介89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51单片机为40引脚双列直插芯片,有4个I/O口,P0 ,P1,P2,P3,单片机的最小系统如图所示,18引脚和19引脚接时钟脉冲电路,XTAL1接外部晶振和微调电容的一端,在片内它是震荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内她是振荡器倒相放大器的输出端,第9引脚为复位输入端,接上电容,电阻及开关后构成上电复位电路,20引脚为接地端,40引脚为电源端。
如图所示:图3.1 晶振与单片机的连接3.2.1 AT89C51的内部结构功能·中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
·数据存储器(内部RAM):数据存储器用于存放变化的数据。
AT89S51中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。
·程序存储器(内部ROM):程序存储器用于存放程序和固定不变的常数等。
通常采用只读存储器,且其又多种类型,在89系列单片机中全部采用闪存。
AT89C51内部配置了4KB闪存。
·定时/计数器(T0):定时/计数器用于实现定时和计数功能。
AT89C51共有2个16位定时/计数器。
·并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。
每个口都由1个锁存器和一个驱动器组成。
它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他功能。
·全双工串行口:A89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
·时钟电路:时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。
·中断系统:中断系统的作用主要是对外部或内部的终端请求进行管AT89C51共有5个中断源,其中有2个外部中断源和3个内部中断源。
3.2.2 51单片机的串行接口工作方式51单片机的串行接口有四种工作方式。
方式0是将SBUF作为8位同步移位寄存器使用(固定波特率);方式1是10位异步通信方式(可变波特率);方式2是11位异步通信方式(固定波特率);方式3是11位异步通信方式(可变波特率)。
图 3.2串行接口与单片机的连接3.3其它器件3.4.1发光二极管根据本设计的特点,LED的显示不可少,LED的显示采用普通的发光二极管。
在硬件上连接图上也是对称分布的,如下图3.4所示。
图3.3 LED灯的连接在本设计中,实际控制的灯只有4个,其中均是低电平有效,所以在运行前LED灯的状态是灭。
3.4定时器控制4只LED滚动闪烁控制系统原理图本系统以单片机为核心,系统硬件电路由单片机,电阻,LED显示组成。
其具体的硬件电路总图如图3.6所示。
图3.4系统原理3.5设计的连线图:3.5.1单片机实物图:图3.5实物图3.6 硬件资源及其分配主要用到的硬件:P0口、LED发光二极管、定时器T0。
硬件分配:(1)P1口:做为输出口,与发光二极管相连接。
(2)定时/计数器T0用来产生1秒的定时。
3.7运行步骤1、接硬件图接线,为了确保LED灯能够对应显示,实验时,对P0口的接线做了调整。
即,P0.0接L1,P0.1接L2,P0.2接L3,P0.3接L4。
2、开始连续运行,观察4个LED灯是与程序设计思路对应,如果有偏差,则单步运行或断点运行,进行调试,直至满足设计要求。
3、整体运行,观察LED显示是否都符合要求,如果不符合,则再调试。
直至满足要求。
3.8检测与调试3.8.1硬件调试:硬件调试是利用开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。
硬件调试可分为静态调试与动态调试两步进行。
◆静态调试静态调试是在用户系统未工作时的一种硬件检测。
第一步:目测。
检查外部的各种元件或者是电路是否有断点。
第二步:用万用表测试。
先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。
第三步:加电检测。
给板加电,检测所有的插座或是器件的电源端是否符合要求的值第四步:是联机检查。
因为只有用单片机开发系统才能完成对用户系统的调试。
◆动态调试动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。
动态调试的一般方法是由近及远、由分到合。
由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。
当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。
由分到合的调试既告完成。
由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。
调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。
3.8.2软件调试:软件调试是通过对拥护程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。
程序后,编辑,查看程序是否有逻辑的错误。
4 系统软件程序的简单设计4.1程序框图图4.1程序框图4.2程序流程图及程序4.2.1程序流程图:图4.2程序图4.2.2程序清单:主程序:#include <reg51.h> //定义8051寄存器的头文件#define uchar unsigned char //定义无符号字符型(0——255)#define uint unsigned int //定义无符号整型(0——65535)//字符与整型分为有符号(signed)与无符号(unsigned)两类//通常sbit数据类型是用于存取内部可位寻址的数据存储器sbit B1=P2^0; //声明B1为P1.0端口sbit G1=P2^1;sbit R1=P2^2;sbit Y1=P2^3;//若要使用权sbit数据类型,则其声明方式有下列几种://1.先声明一个bdata存储器形式的变量,再声明属于该变量的sbit变量,例如:// char bdata scan; 声明scan为bdata存储器类型的字符// sbit input_0=scan^0; 声明input_0为scan变量的bit 0//2.先声明一个sfr变量,再声明属于该变量的sbit变量,例如:// sfr P0=0x80; 声明P0为0X80存储器位置,即P0// sbit P0_0=P0^0; 声明P0_0为P0变量的bit0//3.直接指定存储器位置,例如要声明P0的bit0,则// sbit P0_0=0X80^0; 声明P0_0为0x80地址的bit0uint i,j,k;//-------------------------------------------------------------------//主程序//-------------------------------------------------------------------void main() //主程序开始{i=j=k=0;P2=0xff; //开始时全部关闭TMOD=0X02; //定时/计数器工作方式寄存器低4位//T0定时器0工作于模式2 位数:8位计数范围:0-255 具有自动加载功能TH0=256-200; //200us定时TL0=256-200;IE=0X82; //中断使能寄存器IE,相当于EA=1;ET0=1;TR0=1; //定时器/计数器控制寄存器TCOD Timer0的启动开关while(1); //无穷循环}//-------------------------------------------------------------//T0中断函数//--------------------------------------------------------------void LED_Flash_and_Scroll() interrupt 1{ //每累计若干次定时器中断才执行一次闪烁if(++k<35)return; //if条件语句k=0;switch(i) //多分支选择语句,switch语句开始{case 0:B1=!B1; //蓝灯闪烁break; //终止执行switch或循环语句case 1:G1=!G1; //绿灯闪烁break;case 2:R1=!R1; //红灯闪烁break;case 3:Y1=!Y1; //黄灯闪烁break; //退出switch语句default:i=0;}if(++j<150) //每次LED持续闪烁一段时间return; //从函数返回语句j=0;P2=0xff; //关闭显示i++; //切换到下一LED//符号:++ ,功能:加1 ,范例:i++ ,说明:执行运算后再将X变量的值加1 //符号:-- ,功能:减1 ,范例:i-- ,说明:执行运算后再将X变量的值减1 }4.2.3实验仿真结果图:图4.2实验仿真结果图结论定时器控制4只LED滚动闪烁对于单片机初学者有着非常重要的作用。