89C52单片机课程设计
89C52单片机课程设计
1. 设计任务及要求1.1 设计任务(1)完成基本焊接任务(2)单片机开发板功能正确(3)完成指定的实验(4)完成课程设计报告1.2 要求(1)元件面:元器件位置正确、排列整齐有序,元件整形恰当。
焊接面:整洁、清爽,焊点圆润、无虚焊,引脚修整合适。
(2)能够下载程序、运行演示程序。
(3)完成3个程序的编写、下载及演示功能。
(4)报告格式规范、文字流畅、思路清晰。
2.方案设计与论证2.1 方案设计方案一:仿照周立功实验箱自行设计电路,然后完成焊接,实现各功能。
单片机仿真器、编程器、实验仪三合一综合开发平台方案二:采用JB-MCS 51-V8.0电路板,直接焊接相关元器件并实现各功能。
2.2论证经验证实验平台所需元器件无法找齐,且体积过大不便于携带等原因,最终决定采用方案二。
3.单元电路原理各单元电路原理图4.总原理图及元器件清单4.1 总原理图4.2 元器件清单5 硬件安装与调试在安装硬件的过程中要注意硬件的排列有序,焊点圆润、无虚焊,引脚修剪整齐。
在硬件安装完毕后,对作品进行调试。
通过STC软件对作品进行调试以及程序的下载,具体步骤如下:(1)选择单片机型号(2)选择程序(3)选择串口,安装USB驱动程序后,可在设备管理器中看到多出的串口(每台电脑不一样)。
然后在软件中选择相应的串口(4)选择波特率,一般情况下这都是默认的,最高波特率选择115200,最低波特率选择1200。
(5)以上步骤完成后,就点击Download/下载,按左下角的提示进行操作。
6.各实验具体操作和相关解释6.1跑马灯试验6.1.1系统概述通过模式键来改变单片机的工作模式,进行程序控制,一共有八个模式。
LED 等工作在不同的模式下,有不同的现象。
加速减速开关来控制灯泡的闪亮快慢。
复位电路用来初始化芯片的工作状态。
控制电路是整个电路的核心,主要由单片机来完成。
89C52 RC的管脚如图所示。
单片机执行指令是在时钟脉冲控制下进行的。
1_7798690_课程设计:基于单片机AT89C52电子时钟课程设计说明书
单片机课程设计报告一、课程设计内容1)显示时间功能,能正确显示“时”、“分”。
2)显示日期功能,能显示“月”、“日”。
3)闹钟功能,可按设定的时间闹时。
4)具有校准月、日、时、分的功能。
二、元器件介绍本次课程设计我使用的单片机是至强51蓝精灵版,而实验中使用到的关键元器件主要有:STC85C52RC,4*4按键,蜂鸣器,数码管等。
下面是STC85C52RC的简单介绍:AT89C52是本设计最核心的部件,它是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8K bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。
AT89C52单片机适用于许多较为复杂的控制应用场合。
下图是AT89C52最常见的一种封装。
如上图所示,AT89C52共有40个管脚,其各个功能如下:·VCC ——运行时加+5V·VSS ——接地·XTAL1 ——振荡器反相放大器及内部时钟发生器的输入端·XTAL2 ——振荡器反相放大器的输出端·RST ——复位输入,高电平有效,在晶振工作时,在RST引脚上作用2个机器周期以上的高电平,将使单片机复位。
·EA/VPP ——片外程序存储器访问允许信号。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地),如果EA端为高电平(接Vcc端),CPU则执行内部程序中的指令。
·LAE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址允许锁存)输出脉冲用于锁存地址的低8位位数字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
单片机课程设计stc89c52+nrf24l01
武汉纺织大学单片机原理与应用课程设计设计题目:nrf24l01数据传送学院:电子与电气工程学院班级:电子11201姓名:张啸宇胡安凯QQ 号:1272779714目录一、思想出路: (3)二、设计方案: (3)2.1、硬件设计方案: (3)2.2、软件设计方案: (3)1.驱动文件: (3)2.发送端主程序 (4)3.接收端主程序 (5)2.3、接线: (6)三、选题方案 (7)四、系统原理图 (7)4.1、发射端: (7)4.2、接收端: (8)五、程序精选 (8)六、总结 (8)6.1、功能总结: (8)6.2、功能完善: (9)6.3、自我总结: (9)七、展望: (9)一、思想出路:物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。
随着我国互联网的发展,物联网相关概念也随之进入了人们的视线,物联网是继计算机、互联网与移动通信网之后的又一次信息产业化浪潮。
而基于物联网的智能家居系统也渐渐浮出水面,科学技术在发展,也在慢慢的改变我们的生活。
因此,为了适应潮流,我们选择了nrf24l01模块,和单片机,组成一个简单的wifi传输系统,实现简单的物联网功能。
二、设计方案:2.1、硬件设计方案:一个完整的传输系统至少应该有两个部分组成。
一个发射端,一个接收端。
发送端:硬件:nRF24l01模块发送部分STC89C52RC单片机小系统控制发送部分数码管显示发送值代号8键独立键盘触发发送接收端:硬件:nRF24l01模块接收部分STC89C52RC单片机小系统控制接收处理显示部分LCD1602显示单片机处理后的要显示内容2.2、软件设计方案:1.驱动文件:nRF24l01的驱动头文件(引脚定义和功能函数定义),LCD1602驱动头文件(引脚定义和功能函数定义),52单片机驱动头文件。
2.发送端主程序程序存储器中存储8组发送数组,扫描按键后对应子函数发送。
发送成功后数码管点亮。
(1)8组16字节数组。
AT89C52单片机原理与接口技术课程设计
AT89C52单片机原理与接口技术课程设计一、课程设计背景及目的AT89C52单片机是一种8位低功耗高性能CMOS Flash微控制器,被广泛应用于工控、仪器仪表等领域。
本课程设计旨在通过使用AT89C52单片机,系统地讲解单片机电路的组成原理、指令系统、应用接口,培养学生的软硬件设计能力,以实现一个完整的工程设计。
二、实验要求本次实验设有以下要求:1.设计一个基于AT89C52单片机的温度检测与报警系统;2.系统应能通过温度传感器获得环境温度,当温度超过设定阈值后进行报警;3.设计实时温度显示功能;4.熟悉AT89C52的功能、特点、指令系统、输入输出口等,学会使用Keil C51编程;5.能够熟练使用Oscilloscope,Verilog等EDA工具设计单片机电路原理图和PCB。
三、实验所需硬件与软件硬件:1.AT89C52单片机;2.DS18B20数字温度传感器;3.MAX232芯片;4.LED指示灯、按键开关、蜂鸣器、电阻电容等组件;5.电源、Oscilloscope组件。
软件1.Keil C51;2.Proteus;3.Altium Designer。
四、实验流程1. 单片机接口设计1.将DS18B20数字温度传感器中的DQ引脚连接至单片机P1.0口;2.将MAX232芯片中的T2OUT和R2IN引脚分别连接至单片机P3.1与P3.0口。
2. 温度检测功能设计1.编写程序,通过单片机P1.0口将DS18B20温度传感器所需的初始化代码发送给其,然后实现温度读取功能;2.对所读取的温度进行比较,当温度高于阈值时使用单片机P3.2口控制蜂鸣器发出警报,同时向P3.4口输出高电平使LED指示灯闪烁;3.当温度恢复正常时,将P3.2和P3.4口输出低电平,关闭警报。
3. 温度显示功能设计1.配置单片机P2.0口为8位数码管共阴极数码管的位选控制信号,P2.1~P2.7口为8位数码管的段选控制信号;2.编写数字转移代码,将读取到的温度进行转换成8位二进制码;3.编写8位数码管显示程序,将温度以数码形式实时输出。
基于STC89C52单片机最小系统的设计
基于STC89C52单片机最小系统的设计1 设计内容及要求设计题目:基于STC89C52单片机最小系统的设计及制作。
设计要求:输入信号为传感器、电压、电流、开关等形式,单片机型号可以自己选择(51,128,430等),输出控制信号为模拟电压或者数字信号,控制对象可以是电机(直流电机,步进电机)、开关、显示器等。
(注:可以采用单片机、传感器电路模块以及集成电路芯片制作。
)使用器材:感光板及常用PCB制版器材、常用电子装配工具、万用表、示波器及电子元器件(详见附录)。
2 STC89C52单片机2.1 STC89C52单片机简介单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
用专业语言讲,单片机就是在一块硅片上集成了微处理器、存储器及各种输入/输出接口的芯片。
2.2 单片机的特点(1)高集成度,体积小,高可靠性单片机将各功能部件集成在一块晶体芯片上,集成度很高,体积自然是最小的。
芯片本身是按工业测控环境要求设计的,内部布线很短,其抗工业噪声性能优于一般通用的CPU。
单片机程序指令,常数及表格等固体化在ROM中不易破坏,许多信号通道均在一个芯片内,故可靠性高。
(2)控制功能强为了满足对控制对象的要求,单片机的指令系统均有极丰富的条件:分支转移能力、I/O口的逻辑操作机位处理能力,非常适用于专门的控制功能。
(3)低电压,低功耗,便于生产携带为了便于广泛使用于便携式系统,许多单片机内的工作电压仅为 1.8V~3.6V,工作电流仅为数百微安。
(4)易扩展片内具有计算机正常运行所需的部件。
芯片外部有许多供扩展用的三总线及并行、串行输入/输出管脚,很容易构成各种规模的计算机应用系统。
基于89C52单片机智能风扇设计课程设计
基于89C52单⽚机智能风扇设计课程设计毕业论⽂声明本⼈郑重声明:1.此毕业论⽂是本⼈在指导教师指导下独⽴进⾏研究取得的成果。
除了特别加以标注地⽅外,本⽂不包含他⼈或其它机构已经发表或撰写过的研究成果。
对本⽂研究做出重要贡献的个⼈与集体均已在⽂中作了明确标明。
本⼈完全意识到本声明的法律结果由本⼈承担。
2.本⼈完全了解学校、学院有关保留、使⽤学位论⽂的规定,同意学校与学院保留并向国家有关部门或机构送交此论⽂的复印件和电⼦版,允许此⽂被查阅和借阅。
本⼈授权⼤学学院可以将此⽂的全部或部分内容编⼊有关数据库进⾏检索,可以采⽤影印、缩印或扫描等复制⼿段保存和汇编本⽂。
3.若在⼤学学院毕业论⽂审查⼩组复审中,发现本⽂有抄袭,⼀切后果均由本⼈承担,与毕业论⽂指导⽼师⽆关。
4.本⼈所呈交的毕业论⽂,是在指导⽼师的指导下独⽴进⾏研究所取得的成果。
论⽂中凡引⽤他⼈已经发布或未发表的成果、数据、观点等,均已明确注明出处。
论⽂中已经注明引⽤的内容外,不包含任何其他个⼈或集体已经发表或撰写过的研究成果。
对本⽂的研究成果做出重要贡献的个⼈和集体,均已在论⽂中已明确的⽅式标明。
学位论⽂作者(签名):年⽉关于毕业论⽂使⽤授权的声明本⼈在指导⽼师的指导下所完成的论⽂及相关的资料(包括图纸、实验记录、原始数据、实物照⽚、图⽚、录⾳带、设计⼿稿等),知识产权归属华北电⼒⼤学。
本⼈完全了解⼤学有关保存,使⽤毕业论⽂的规定。
同意学校保存或向国家有关部门或机构送交论⽂的纸质版或电⼦版,允许论⽂被查阅或借阅。
本⼈授权⼤学可以将本毕业论⽂的全部或部分内容编⼊有关数据库进⾏检索,可以采⽤任何复制⼿段保存或编汇本毕业论⽂。
如果发表相关成果,⼀定征得指导教师同意,且第⼀署名单位为⼤学。
本⼈毕业后使⽤毕业论⽂或与该论⽂直接相关的学术论⽂或成果时,第⼀署名单位仍然为⼤学。
本⼈完全了解⼤学关于收集、保存、使⽤学位论⽂的规定,同意如下各项内容:按照学校要求提交学位论⽂的印刷本和电⼦版本;学校有权保存学位论⽂的印刷本和电⼦版,并采⽤影印、缩印、扫描、数字化或其它⼿段保存或汇编本学位论⽂;学校有权提供⽬录检索以及提供本学位论⽂全⽂或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论⽂的复印件和电⼦版,允许论⽂被查阅和借阅。
最新STC89C52单片机表决器的设计--课程设计
摘要表决器是一种常见的电子产品,尤其是在各类投票中,为了实现投票的公平性,性能优良的表决器往往更能得到各单位的青睐。
这里通过两种设计方案的对比,最终选定了用STC89C52单片机实现表决器电路。
由于单片机具有可编程定时器和中断设备,便于实现显示表决人数和抢答是否成功的精确控制。
所用方案电路结构简单,易于实现,它用3颗LED灯来进行显示,且具有简单精准的报警功能。
所选方案的一个很重要的特点在于具有灵活性,投票的每个人可以根据自己的意愿选择“同意”、“反对”的两个不同按键。
自行进行投票表决,这样进一步保证了公平性。
由于它具有成本低廉,结构简单,且性能优良的诸多优点,必定会得到广泛的应用。
关键字:STC89C52单片机,LED灯,表决器,投票表决ABSTRACTV oting is a common electronic product, especially in all kinds of voting, in order to achieve the fairness of voting, the performance of the voting machine is often better available to all units of all ages. Here through the comparison of two design options, the final selection with STC89C52single-chip implementation of the voting circuit. As the microcontroller has a programmable timer and interrupt devices, easy to achieve the number of voting and answer to achieve the success of the precise control. The circuit structure is simple, easy to implement, it uses three LED lights to display, and has a simple and accurate alarm function. A very important feature of the chosen program is the flexibility to vote for everyone who can choose "agree" and "oppose" the two different keys according to their own wishes. To vote on their own, so as to further ensure the fairness. Because of its low cost, simple structure, and excellent performance of many advantages, will be widely used.Key Words: STC89C52 single chip, LED lights, voting machine, vote目录第1章引言 (1)第2章STC89C52单片机 (2)2.1 STC89C52单片机概述 (2)2.2 STC89C52单片机设计要求 (4)2.3 STC89C52单片机设计方案 (5)2.3 STC89C52单片机硬件组成 (5)2.4 STC89C52单片机引脚 (7)2.4.1 STC89C52单片机引脚实物图 (7)2.4.2 STC89C52单片机引脚功能 (7)2.5 STC89C52单片机模块设计 (9)2.5.1 STC89C52单片机主控制模块设计 (9)2.5.2 STC89C52单片机按键模块设计 (11)2.5.3 STC89C52单片机LED模块设计 (12)第3章三人表决器的功能调试 (13)3.1 调试过程 (13)3.2 检测电路 (13)3.3 仿真调试 (13)3.4 调试出现的问题 (15)第4章三人表决器软件设计 (16)4.1.1 开发语言介绍 (16)4.2开发软件介绍 (16)4.2.1 Keil 4 (16)4.2.2 Proteus ISIS (20)第5章实物及程序展示 (23)5.1实物展示 (23)5.2程序展示 (23)第6章结论 (24)参考文献 (25)致谢 (26)第1章引言电子技术是电类相关专业的基础课程,近年来通过教学改革虽然精简了理论教学,加强了实践教学,但是有时理论和实践脱节。
基于89C52单片机的电子时钟设计课程设计
毕业设计题目基于89C52单片机的电子时钟设计英文题目 Electronic Clock Design Based on 89C52学生姓名陈志仁学号 09325202专业电子信息工程系别机械与电子工程系指导教师黄河职称讲师二零一三年六月摘要至今,微处理器的发展已有40多年的历史,起初由美国Intel公司首推的4为微处理器Intel4004,实现将单片处理器和运算器等元件集成在一片电路芯片上。
此后微处理器的迅猛发展,微处理器内集成的元件也越来越多,其中包括增加了存储器、I/O接口电路、定时/计数器、串行通信口、中断控制、系统总线以及系统时钟等,大大加强了微处理器的性能,并针对特定的领域制作出最大效率的微处理器。
不同功能的微处理器称为微控制器,也被我们简称为单片机。
本文主要介绍以单片机ST89C52和DS12C887时钟芯片为核心的电子时钟显示,LCD1602为液晶显示器件,此电子时钟显示具有年月日等基本时间显示,以及秒表计时处理、闹钟定时、蜂鸣、温度的设计。
单片机通过对时钟、温度等数据处理后传送至LCD显示输出,也可通过按键对时间进行调节。
通过单片机外围接口的扩展实现温度采集等功能。
关键词:电子时钟;AT89C52;计时;温度ABSTRACTThis project mainly introduces that the electronic clock which based on microcontroller ST89C52 display.LCD1602 Liquid crystal display devices's electronic clock display has the date and time display.Stopwatch timing processing, alarm clock timing and the design of buzzer, temperature.SCM through the clock, temperature and other data processing and transmits signals to the LCD display output, also by adjusting button for time.Through the expansion of single-chip peripheral interface to achieve temperature acquisition functions.Key words: electronic clock。
基于单片机STC89C52RC的八路抢答器课程设计报告
信息与电子工程学院课程设计报告课程单片机技术应用设计题目基于单片机STC89C52RC的八路抢答器专业应用电子技术班级 11级4班成员姓名学号分工成绩1106020119软件部分1106020127硬件部分指导老师答辩日期2013-6-21目录一、课程设计概述....................................................... - 1 -1.1课程设计背景 (1)1.2课程设计内容 (1)1.3课程设计技术指标 (1)二、方案的选择及确定................................................... - 1 -2.1方案一:集成数字电路 (1)2.2方案二:单片机 (2)2.3方案分析比较: (2)三、硬件设计........................................................... - 2 -3.1系统硬件设计 (3)3.2复位电路的设计 (3)3.3时钟电路设计 (3)3.4显示电路设计 (4)3.5按键电路设计 (5)3.6报警电路设计 (6)3.7电源模块设计 (6)四、系统软件设计....................................................... - 7 -4.1系统的功能流程 (7)4.2主程序流程图 (7)五、系统调试过程....................................................... - 8 -5.1软件调试 (8)5.2硬件调试 (10)六、总结.............................................................. - 11 -七、遇到的问题及解决方法 .............................................. - 11 -八、参考文献.......................................................... - 12 -九、附录.............................................................. - 12 -9.1仪器与设备 (12)9.2元器件清单 (12)9.3原理图 (13)9.4PCB图 (14)9.5实物图 (14)9.6操作说明书 (15)一、课程设计概述1.1课程设计背景抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
基于AT89C52单片机的简易电子琴设计
本设计主要研究基于AT89C52单片机的简易电子琴设计。
它是以单片机作为主控核心,设置键盘、蜂鸣器等外围器件;另外还用到一些简单器件如:两位数码管,和NPN型三极管及电阻等。
利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用NPN型三极管8550实现低音频功率放大;最后用蜂鸣器进行播放“送别”。
本设计硬件部分主要由最小系统,按键系统模块、数码管显示模块和蜂鸣器模块组成。
其软件部分主要有主程序模块、定时中断程序、定时计数程序、显示程序。
(1)最小系统:它是单片机应用系统的设计基础。
它包括单片机的选择、时钟系统设计、复位电路设计、简单的I/O口扩展、掉电保护等。
(2)按键系统模块:本设计采用10个按键,其中7个按键用来显示7个音调,其它3个按键可以进行高低中音的切换,并自动播放已存歌曲。
(3)数码管显示模块:SM420562段选端接在单片机的P0口,两个位选端分别接在P2^0和P2^1。
(4)蜂鸣器模块:此电子琴发音电路是通过三极管驱动蜂鸣器发音,经过上拉电阻提高驱动能力。
本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。
并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。
利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。
系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值。
1.概述 (4)1.1设计背景 (4)1.2设计意义 (4)1.3设计任务 (4)2.系统总体方案及硬件设计 (5)2.1总体设计 (5)2.2单片机选型 (6)2.3单片机的最小工作系统 (6)2.3.1 时钟电路 (6)2.3.2复位电路 (7)2.4原理框图 (7)2.5显示部分设计 (8)2.5.1数码显示方式 (8)2.5.2八位数码管的结构 (8)2.6按键部分设计 (9)2.6.1操作键设计 (9)2.6.2键盘设计 (9)2.6.3去抖动 (10)2.7发音部分设计 (11)3.系统软件设计 (12)3.1系统分析 (12)3.1.1系统软件的组成 (12)3.1.2 系统总体功能流程图 (13)3.2参数计算 (14)3.2.1发音原理 (14)3.2.2 计算举例 (14)3.2.3 计算结果 (14)3.3程序设计 (16)3.3.1 判断音阶(高中低音)子程序 (16)3.3.2 播放子程序(包括自动播放存储音乐和按键发音) (17)4. PROTEUS软件仿真 (19)4.1硬件调试 (19)4.2软件调试 (19)4.3仿真结果(任举一例) (20)4.4结果分析 (20)5. 课程设计体会 (21)参考文献 (22)附1 源程序代码 (23)附2 系统原理图 (32)1.概述1.1设计背景随着电子科学技术的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们带来更多的生活乐趣。
单片机原理课程设计基于AT89C52的电子时钟设计说明书
word格式文档单片机原理课程设计题目: 基于AT89C52的电子时钟设计姓名:学院:专业:班级:学号:指导教师:年月日南京农业大学教务处制aortiu目录摘要 (2)关键词 (2)引言 (2)1设计要求与方案论证 (2)1.1设计要求 (2)1.2系统方案选择方案和论证 (2)1.2.1单片机芯片的选择方案和论证 (2)1.2.2 显示模块选择方案和论证 (3)1.2.3 时钟芯片的选择方案和论证 (3)2.系统的硬件设计与实现 (3)2.1电路设计框图 (3)2.2系统硬件概述 (3)2.3主要单元电路的设计 (4)2.3.1 单片机主控制模块的设计 (4)2.3.2时钟电路模块的设计 (4)2.3.3 键盘模块设计 (5)2.3.4蜂鸣器模块的设计 (5)2.3.5显示模块的设计 (5)3.系统的软件设计 (6)3.1程序流程框图 (6)3.2程序的设计 (7)4.系统调试 (7)4.1软件调试 (7)4.2硬件调试 (8)4.3 实验箱调试结果 (8)5.总结心得体会 (9)附录一:系统程序 (9)基于AT89C52的电子时钟设计指导教师:吕成绪胡飞摘要:单片机在电子产品中的应用越来越广泛,特别是51系列的单片机,由于其使用方便、价格低廉等优势,在市场上占有很大的份额。
AT89C52就是51系列中的一个比较成熟的型号。
本设计是一个多功能的实时时钟,带秒表、整点报时、闹铃、调整时间等功能。
可按键直接设置闹铃时间。
由AT89C51单片机、DS1302、LCD1602等模块组成。
现代社会,时间就是金钱,时钟是每个人的必备品。
本设计实现了所需功能,给大家带来方便,整体性好、人性化强、可靠性高,实现了时钟的多功能应用。
关键词:电子时钟;DS1302;LCD1602;引言:随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。
美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。
基于51系列AT89C52单片机课程设计
基于51系列AT89C52单片机课程设计目录第一章﹑设计背景 (2)第二章﹑设计方案 (4)2.1. 设计内容 (4)第三章﹑电子时钟 (5)3.1.电子时钟简介 (5)3.2.电子时钟的基本特点 (5)3.3.电子时钟的原理 (5)第四章﹑AT89C52简介 (6)第五章﹑系统软件程序设计 (10)5.1.主程序 (10)5.2.数码管显示模块 (10)5.3.定时器/计数器T0中断服务程序 (10)5. 4.按键处理模块 (11)5.5.汇编语言程序 (13)第六章﹑系统硬件电路的设计 (18)第七章﹑课程设计总结 (21)参考文献 (22)附录 (23)摘要设计背景:1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。数字电子钟一般由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路等组成。秒信号是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。将秒信号送入秒计数器,它是六十进制计数器。每累计六十秒发出一个“分脉冲”信号,这个信号作为“分计数器”的时钟脉冲。“分计数器”也是六十进制计数器,它每累计六十分钟,发出一个“时脉冲”信号,此信号将被送到“时计数器”。“时计数器”采用二十四进制计数器,可以实现一天二十四小时的累计。译码显示电路将“时”、“分”、“秒”计数器的输出状态经七段显示译码器译码,通过六位LED 显示器显示出来。校时电路是用来对“时”、“分”、“秒”显示数字进行校对调整的。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力这里采用应用广泛的AT89C52作为时钟控制芯片,利用单片机内部的定时/计数器T0 实现软时钟的目的。首先将T0设定工作于定时方式,对机器周期计数形成基准时间(50ms),然后用另一个定时/计数器T1对基准时间计数形成秒,妙计60次形成分,分计60形成小时,小时计到12。最后通过数码管把它们的内容在相应的位置显示出来,达到时、分、秒计时的功能。关键词:数字钟,晶体振荡器,计数器,AT89C52AbstractIn 1957, Ventura invented the world's first electronic watches, which laid the foundation of electronic clock, electronic clock began to develop quickly.Digital electronic clock in general by the second signal generator, "when, minutes and seconds," counter, decoder and display, timing circuit.The second signal is the signal, it determines the timing precision of the system, generally with the quartz crystal oscillator and frequency divider to achieve.The second signal is fed into the second counter, it is sixty hexadecimal counter.A total of sixty seconds each send a "pulse" signal, this signal as a "counter" clock pulse."Counter" is also the sixty binary counter, it a total of sixty minutes each, issued a "pulse" signal, the signal will be sent to "counter"."Counter" using twenty-four binary counter, can achieve twenty-four hours a day of total.Decoding display circuit will "when", "sub", "second", the counter output state via a seven segment display decoder decoding, through six LED display.The school when the circuit is used to "when", "sub", "the second" display digital proofing adjustment.Here we will have learnt more fragmented digital circuit knowledge of organic, system link for practical, to develop our integrated analysis and design of circuit, written procedures, debugging capabilitiesThe wide application of AT89C52 as the clock control chip, using SCM internal timer / counter T0 to realize soft clocking purposes.T0 is first set to a timing mode, the machine cycle counting form a reference time (50ms), and then another timer / counter T1 to reference time counting seconds of formation, inspiration 60 form, divided into 60 form hour, hour meter to 12.Finally, through the digital tube to their contents in the corresponding position is displayed, when, minutes and seconds, timing function.Keywords: digital clock, crystal oscillator, a counter, AT89C52第二章、设计方案:1、通过单片机内部的计数/定时器,采用软件编程来实现时钟计数,一般称为软时钟,这种方法的硬件线路简单,系统的功能一般与软件设计相关,通常用在对时间精度要求不高的场合。2、采用时钟芯片,它的功能强大,功能部件集成在芯片内部,具有自动产生时钟等相关功能,硬件成本相对较高;软件编程简单,通常用在对时钟精度要求较高的场合。图2-1 电子时钟的整体框图二、设计内容:这里采用应用广泛的AT89C52作为时钟控制芯片,利用单片机内部的定时/计数器T0 实现软时钟的目的。首先将T0设定工作于定时方式,对机器周期计数形成基准时间(50ms),然后用另一个定时/计数器T1对基准时间计数形成秒,妙计60次形成分,分计60形成小时,小时计到12。最后通过数码管把它们的内容在相应的位置显示出来,达到时、分、秒计时的功能。此外还要实现对时间的调整功能,89C52的P1.0、P1.1、P1.2外接三个独立按键,当按下P1.0按键时,系统进入调时间的状态或启动时间显示的功能;当按下P1.1按键时,对显示的数码管进行加一的功能;当按下P1.2按键时,对显示的数码管进行减一的功能,达到调整时间的目的。第三章、电子时钟1.电子时钟简介1957,Vebtura发明了世界第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟实基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一, 满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活不可缺少的工具。2. 电子时钟的基本特点现在高精度的计时工具大多数却使用了石英晶体振荡器,由于电子时钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要往常的调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。3.电子时钟的原理该电子时钟由89C51,BUTTON,六段数码管等构成,采用晶体振荡电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分为一小时,满二十四小时为一天。而电路中唯一的一个控制键却拥有多种不同功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一,而连续两次按下按键不松开,则可实现小时的调节,同样每按一次小时加一。第四章:AT89C52简介PDIP封装的AT89C52引脚图AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX @DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX @RI 指令)时,P2 口输出P2 锁存器的内容。 Flash 编程或校验时,P2亦接收高位地址和一些控制信号。P3 口P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H—FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。XTAL1振荡器反相放大器的及内部时钟发生器的输入端。XTAL2振荡器反相放大器的输出端。第五章、系统软件程序设计1.主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有按键按下时,则转入相应的功能程序。2、数码管显示模块本实验有8个数码管,从右到左为妙、横线、分、横线、时。在本系统中数码管显示采用软件译码动态显示。在存储器中首先建立一张显示信息的字段码表,显示时,先从显示缓冲区中取出显示的信息,然后通过查表程序在字段表中查出所显示的信息的断码,从P0端口输出,同时在P2端口进行数码管显示。3、定时器/计数器T0中断服务程序T0用于计时,选中方式一,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加一。秒单元加到60则对分单元加一,同时秒单元清0;分单元加到60则对时单元加一,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。在对各单元计数的同时,把他们的值放到存储器单元的指定位置。流程图如下:程序流程图4、按键处理模块按键设置为:如果没有按键吗,则时钟正常走时。当按下K0键时,进入调分状态,时钟停止走动;按K1和K2按键可以进行加一和减一操作;继续按K0键可以分别进行分和小时的调整;最后按K0键启动计时。5、汇编语言程序ORG 0000HLJMP STARTORG 000BHLJMP INIT0START: MOV R0,#70H ;主程序开始MOV R7,#0CHINIT: MOV @R0,#00HINC R0DJN Z R7,INITMOV 72H,#10 ;对连字符进行装值MOV 75H,#10MOV TMOD,#01H ;选择定时器/计数器T0的方式1MOV TL0,#0B0H ;对低位赋初值MOV TH0,#03CH ;高位赋初值SETB EASETB ET0SETB TR0START1: LCALL SCANLCALL KEYSCANSJMP START1DL1MS: MOV R6,#14H ;延时1子程序DL1: MOV R7,#19HDL2: DJNZ R7,DL2DJNZ R6,DL1RETDL20MS: ACALL SCAN ;延时20ms子程序ACALL SCANACALL SCANRET ;数码管显示程序开始SCAN: MOV A,78HMOV B,#0AHDIV AB ;时间秒的十位送给A,时间秒的个位送BMOV 71H,A ;时间秒要显示的十位MOV 70H,B ;时间秒要显示的个位MOV A,79HMOV B,#0AHDIV AB ;时间分的十位送给A,时间分的个位送BMOV 74H,A ;时间分要显示的十位送地址MOV 73H,B ;时间分要显示的个位送地址MOV A,7AHMOV B,#0AHDIV AB ;时间时的十位送给A,时间时的个位送BMOV 77H,A ;时间时显示的十位送地址MOV 76H,B ;时间时要显示的个位送地址MOV R1,#70HMOV R5,#0FEHMOV R3,#08HSCAN1: MOV A,R5 ;数码管的显示程序MOV P2,AMOV A,@R1MOV DPTR,#TABMOVC A,@A+DPTR ;对字段表取值显示MOV P0,AMOV A,R5LCALL DL1MSINC R1MOV A,R5RL AMOV R5,ADJNZ R3,SCAN1MOV P2,#0FFHMOV P0,#0FFHRET ;"0~9"和"-"的字段表TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH ;定时/计数器T0中断程序INIT0: PUSH ACCPUSH PSWCLR ET0CLR TR0MOV TL0,#0B0HMOV TH0,#03CHSETB TR0INC 7BHMOV A,7BHCJNE A,#14H,OUTT0;50ms是否到20次,没有到就继续执行50ms的延时MOV 7BH,#00INC 78HMOV A,78HCJNE A,#3CH,OUTT0;一秒的延时是否计到60次,没有就继续执行MOV 78H,#00INC 79HMOV A,79HCJNE A,#3CH,OUTT0MOV 79H,#00INC 7AHMOV A,7AHCJNE A,#18H,OUTT0 ;60分钟的延时是否计到24次,没有就继续执行程序MOV 7AH,#00OUTT0: SETB ET0 ;启动定时器T0POP PSWPOP ACCRETI;按键处理程序KEYSCAN: CLR EAJNB P1.0,KEYSCAN0 ;P1.0有按键按下则跳转到子程序JNB P1.1,KEYSCAN1 ;P1.1有按键按下则跳转到子程序JNB P1.2,KEYSCAN2 ;P1.2有按键按下则跳转到子程序 KEYOUT: SETB EARETKEYSCAN0: LCALL DL20MS ;20ms的延时消抖JB P1.0,KEYOUTWAIT0: JNB P1.0,WAIT0;判断按键是否松手, 松手就往下执行程序INC 7CHMOV A,7CHCLR ET0CLR TR0CJNE A,#03H,KEYOUT ;按下第一次和第二次对时、分选定MOV 7CH,#00 ;按下第三次时就启动计时SETB ET0SETB TR0SJMP KEYOUTKEYSCAN1: LCALL DL20MS ;按键加一的程序JB P1.1,KEYOUTWAIT1: JNB P1.1,WAIT1MOV A,7CHCJNE A,#02H,KSCAN11 ;如果功能键按下则对时加一调整INC 79HCJNE A,#3CH,KEYOUT ;如果加到60则清零MOV 79H,#00SJMP KEYOUTKSCAN11: INC 7AH;如果功能键是按下第二次则对分进行加一调整MOV A,7AHCJNE A,#18H,KEYOUTMOV 7AH,#00SJMP KEYOUTKEYSCAN2: LCALL DL20MS ;延时消抖程序JB P1.2, KEYOUTWAIT2: JNB P1.2,WAIT2 ;判断是否放开按键MOV A,7CHCJNE A,#02H,KSCAN21;如果功能键是按下第一次对时进行减一DEC 79HMOV A,79HCJNE A,#0FFH,KEYOUTMOV 79H,#3BHSJMP KEYOUTKSCAN21: DEC 7AH;如果功能键是按下第二次则对分进行减一CJNE A,#0FFH,KEYOUTMOV 7AH,#17HSJMP KEYOUTEND第六章、系统硬件电路的设计系统的硬件主要包括单片机芯片,数码管显示,按键开关电路,它的硬件电路如下图所示,单片机采用广泛使用的AT89C52,系统时钟采用12MHz的晶振,八个数码管显示,小时与分钟与秒钟间用短横线,采用共阳极七段式数码管,P0口为段选码输出端,P2口为位选码输出端。硬件电路如图所示:AT89C52晶振电路复位电路按键电路总电路图第七章、课程设计总结此次课程设计我们组进行了精细的工作分工,各有各的任务,每个人在此次课程设计中都得到了设计应该了解学到的知识,通过合作,我们的合作意识得到了加强,合作的能力的到了提高。在设计制作过程中,每个组员都积极发言和提出意见,同时我们还像别的组的同学请教。通过每个组员的构思综合,我们最终选出了相对来说比较合理的设计方案。在此过程中我的表达能力也得到了提高,同时还意识到团体合作的力量。在查阅的过程中,通过取舍相关知识,不知不觉中我们的查阅能力得到了很好的锻炼。我们学习的知识是有限的,在以后的工作中我们肯定会遇到很多未知的领域,这方面的能力我们受益匪浅。此次课程设计是将我们所学的理论知识与实践相结合,最后在大家的共同努力下我们制作的实物成功实现了预想结果。在制作过程中我也学到了很多课堂中所学不到的东西,个人的综合能力也得到了比较大的提升,总之我感觉此次课程设计是比较成功的。课程设计可分成硬件和软件两大模块。总的来说,硬件部分很好入手,电路也教简单,主要涉及的是简单的按键、电容、电阻、晶振和数码管。在软件部分,细分为了按键模块、显示模块、定时/计数模块,最后把几个模块整合在主程序模块中,使得程序简单明了。整个设计过程中遇到的最大问题是软件的编写,由于采用的是汇编语言,其间使用到的各种寄存器、存储器地址、变量很多,很难对程序的整体把握。通过电子钟的设计,对单片机的原理、结构、外围电路进一步的了解。在整个设计过程中学到了团体精神和独立解决问题的重要性。为以后的求职之路打下了基础。参考文献[1] 张文灼.单片机应用技术.机械工业出版社,2009[2] 张伟.Protel 99SE实用教程.人民邮电出版社,2008[3] 童诗白华成英.模拟电子技术基础.北京:高等教育出版社,2000[4] 李华.MCS-51系列单片机使用接口技术.北京航空航天大学出版社,1993.[5] 邱关源.电路.北京:高等教育出版社,1999[6] 何立民.单片机应用技术选编.北京:北京航空大学出版社,1998[7] 李瀚荪.电路分析基础.北京:高等教育出版社1991[8] 张思发吴让仲.计算机组成原理及汇编语言.北京:高等教育出版社 2003[9] 温希东路勇.计算机控制技术.西安电子科技大学出版社 2005。
推荐-基于STC89C52单片机的实验平台开发设计课程设计
课程设计报告课程名称单片机原理与应用设计题目基于STC89C52单片机的实验平台开发设计专业计算机科学与技术班级B110503学号B11050309姓名刘世冠完成日期20XX年6月20日基于STC89C52单片机的实验平台开发设计摘要由于单片机是一种集成度很高的微型计算机,在一块小芯片内就集成了一台计算机所具备的功能。
单片机应用领域不断扩大,除了在工业控制,智能仪表、通信、家用电器等领域应用外,在智能化,高档电子玩具产品中也大量采用单片机作为核心控制部件。
单片机正朝着高性能和多品种发展,但由于MCS-51系列8位单片机仍能满足绝大数应用领域需要,可以肯定,以MCS-51系列为主的8位单片机,在当前及以后的相当一段时间仍占据单片机应用的主导地位。
本次课程设计应用STC89C52单片机实验平台开发设计,课程设计过程中,应用到了软硬件的结合,通过Proteus进行软件设计出原理图,然后执照原理图进行电路焊接,将LED和串口通信,数字显示器,流水灯等接好。
关键词:STC单片机,实验平台,数码管,流水灯,串口通信ABSTRACTThe integration degree of SCM is a kind of microputer, in a small chip is integrated with a puter has the function of the single chip microputer application domain expands unceasingly, in addition to the industrial control, intelligent instrument munication system in the field of household appliances, etc, in intelligence, high-end electronic toys products has a large number of using single chip microputer as the core control unit MCU is developing towards high performance and many varieties, but because MCS - 51 series 8 bits single chip microputer can still meet the requirements of the vast number of applications, to be sure, give priority to with MCS - 51 series of 8 bits single chip microputer, in the current and future quite a period of time still dominate the microcontroller applicationsThis course design application STC89C52 SCM experiment platform development and design, curriculum design process, applied to the bination of hardware and software, through the Proteus software design principle diagram, and then license to circuit principle diagram welding, will be LED and serial port munication, digital display, running water light such as welding is goodKEYWORDS: STC microcontroller, prehensive experimental board, software and hardware bined with, and the program development design目录前言1976年,Intel公司推出MCS-48系列单片机,以体积小、功能全、低格低等优点,得到广泛的应用,成为单片机发展过程中的一片重要标志。
89c52
项目驱动模式电子工程设计训练系列单片机原理与应用设计训练简明指导书课题组王小娟等编写第一部分单片机最小系统1.1 单片机最小系统设计通过对单片机原理的学习,我们对单片机的概貌有了一个初步的认识。
本章的任务就是自行设计并制作调试一个单片机的最小应用系统,学会利用单片机最小系统进行二次开发。
1.1.1 单片机最小系统的组成在绝大多数含单片机的系统中,都包含有:外部RAM、ROM、键盘、显示、A/D、D/A、I/O扩展、中断扩展、串行通信、总线驱动等等一些最基本的模块,我们把它们统称为“单片机最小系统”,这是大多数控制系统所必不可少的关键部分。
在实际的单片机系统的应用环境中,采用一个功能齐全、性能稳定、价格低廉的最小系统作为核心部件,是系统正常工作的前提保证。
1.1.2 单片机最小系统的硬件设计方法与步骤硬件设计是指对单片机最小系统的电路设计。
一般包括两大部分的内容:一是单片机系统扩展部分的设计,包括存储器扩展及接口扩展。
二是各种信号功能模块的设计,如信号测量功能模块、通信功能模块等。
通常,硬件设计时应遵循以下几点原则:1)尽可能选择标准化、模块化的典型电路,提高设计的成功率和结构的灵活性。
2)系统扩展和配置应充分满足系统功能要求,并留有余地,以便进行二次开发。
3)系统中相关的元器件应尽可能做到性能匹配。
硬件设计的步骤大致如下:1)对系统硬件每一功能模块绘出详细的电原理图。
2)选择好各类元器件,设计制作印刷电路板。
3)加工组装样机。
4)对样机硬件进行静态调试。
1.2 最小应用系统的组成和工作原理考虑其经济性、实用性, 我们设计的最小应用系统的硬件包括单片机、输入输出接口电路、输入设备(按键)、输出设备(数码管)以及常规芯片如译码器、驱动器、地址锁存器等部分。
最小系统的主机采用89C52单片机,地址锁存器选用74LS373, 译码器选用74LS138,数码显示电路选用74HC595 8位移位寄存器以及共阳极数码管。
单片机原理课程设计-基于STC89C52的交通灯电路设计
《单片机原理及应用》课程设计题目:基于STC89C52的交通灯电路设计学院名称电气工程学院指导老师班级学号学生姓名二0一一年六月基于STC89C52的交通灯电路设计摘要交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
本系统采用STC89C52点单片机以及数码管为中心器件来设计交通灯控制器,实现了南北方向为主要干道,要求南北方向每次通行时间为30秒,东西方向每次通行时间为25秒。
启动开关后,南北方向红灯亮25秒钟,而东西方向绿灯先亮20秒钟,然后闪烁3秒钟,转为黄灯亮2秒钟。
接着,东西方向红灯亮30秒钟,而南北方向绿灯先亮25秒,然后闪烁3秒钟,转为黄灯亮2秒钟,如此周而复始。
软件上采用C语言编程,主要编写了主程序,中断程序延时程序等。
经过整机调试,实现了对十字路口交通灯的模拟。
关键字:单片机STC89C52 数码管交通灯发光二极管Abstracttraffic in People's Daily life has important position, as people social activities have become increasingly frequent, this also reflect incisively and vividly. The emergence of the traffic lights, traffic to effectively control, for facilitating traffic flow, improve traffic capacity, reduce the number of traffic accidents have obvious effect. In recent years, with the rapid development of science and technology, the application of SCM is unceasingly thorough, it causes the traditional control test technology increasingly updates. In real-time detection and automatic control of microcomputer application system, often as a core component single-chip microcontroller, only to use knowledge is not enough, should according to specific hardware structure, software and hardware combined with improved.The system uses the microcontroller and digital tube STC89C52 points for center device to designing traffic light controller, realized the north-south direction for the main road north and south direction, requirements for 30 seconds each passage of time, time for something every passage direction of 25 seconds. Start switch, the north-south direction after 25 seconds, and a redlight green light first things direction and blink 20 seconds to 3 seconds, yellow light for 2 seconds. Then, things direction, and red light is 30 seconds before the north and south direction green light 25 seconds, then flashing lights to kelly 3 seconds, two seconds, so go round and round.Software programmed using C language, the main program mainly prepared, interruption program delay procedures, etc. After the commissioning, realized the simulation of intersection traffic lights.Keyword: SCM STC89C52 digital tube traffic light emitting diode目录(一)引言---------------------------------5 1.1 交通灯的历史和现状---------------------51.2 单片机概述-----------------------------5 (二)硬件部分--------------------------- -62.1 STC89C52芯片简介-----------------------62.2 主要功能特性---------------------------72.3 STC89C52芯片封装与引脚功能-------------72.4 基于STC89C52交通灯控制系统的硬件电路分析及设计-------------------------------------------10 (三)软件部分----------------------------143.1 交通灯的软件设计流程图-----------------143.2 控制器的软件设计-----------------------15 (四)电路原理图与PCB图的绘制-------------164.1 电路原理图的绘制(见附录二)----------164.2 PCB图的绘制(见附录三)---------------164.3 印刷电路板的注意事项------------------16 (五)调试及仿真---------------------------------------195.1 调试----------------------------------195.2 仿真结果------------------------------20 (六)实验总结及心得体会---------------------------216.1 实验总结-----------------------------------------------216.2 实验总结-----------------------------------------------22 (七)参考文献------------------------------------------22 附录一程序清单---------------------------22 附录二电路原理图(显示部分)-------------28 附录三电路PCB图(显示部分)-------------29 附录四实物图-----------------------------30(一)引言1.1 交通灯的历史和现状当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
89C52单片机直流电机控制器设计
89C52单片机直流电机控制器设计【摘要】本论文介绍了基于89C52单片机的小功率直流电机控制系统。
该系统主要功能为:设定直流电机的转速和转向,通过光电开关对电机测速,将测得的转速值反馈给单片机,单片机经PI运算后输出PWM信号控制电机运转。
实际测试结果表明该系统的转速误差范围小(〒20圈/分),调整时间短,转速设定方便快捷,显示直观清楚。
本文还对此系统的性能指标进行了分析。
【关键词】直流电机,PWM,PID1.前言由于单片机具有体积小、集成度高、运算速度快、运行可靠、应用灵活、价格低廉以及面向控制等特点,因此在工业控制、数据采集、智能仪器仪表、智能化设备和各种家用电器等领域得到广泛的应用,而且发展非常迅猛。
随着单片机应用技术水平不断提高,目前单片机的应用领域已经遍及几乎所有的领域。
现在国内外工业上对电机的调速基本已经不再使用模拟调速,而采用数字调速系统,而数字调速系统大部分都是用单片机来进行控制,数字调速系统具有控制精确度高,非常稳定,受环境影响小,效率高等优点,所以在国内外的使用越来越广泛。
与交流电动机相比,直流电机结构复杂、成本高、运行维护困难,但是直流电机具有良好的调速性能、较大的启动转矩和过载能力强等许多优点,因此在许多行业仍大量应用。
近年来,直流电动机的机构和控制方式都发生了很大的变化。
随着计算机进入控制领域以及新型的电力电子功率元器件的不断出现,采用全控型的开关功率元件进行脉宽调制(Pulse Width Modulation,简称PWM)已成为直流电机新的调速方式。
这种调速方法具有开关频率高、低速运行稳定、动态性能良好、效率高等优点,更重要的是这种控速方式很容易在单片机控制系统中实现,因此具有很好的发展前景[1]。
1.1 有关技术简介1.1.1 PWM控制[1]PWM(Pulse Width Modulation)——脉冲宽度调制,简称脉宽调制,是一种最初用语无线电通信的信号调制技术,后来在控制领域中(比如电机调速)也得到了很好的应用,于是形成了独特的PWM控制技术。
89C52单片机的秒表设计
单片机/微机接口课程设计说明书单片机原理与应用课程设计说明书题目:89C52单片机的秒表设计系部:信息与控制工程学院专业:电子信息工程班级:二班学生姓名: 苌金超学号: 1003134022指导教师:张雪岩2012年12 月5 日目录1 设计任务与要求2 设计方案2.1 整体设计思路2.2 74LS164(8位并行输出串行移位寄存器) 2.3 数码管动态显示原理2.4 数码管动态显示程序设计2.5 单片机中断系统结构及工作原理3 硬件电路设计3.1 电源电路3.2 晶体振荡电路3.3 复位电路4 软件设计概述5 主程序5.1 用定时器编写一个秒计时器5.2 主流程图5.3 程序设计6 调试过程7 结论8 参考文献1 设计任务与要求(1)理解数码管动态显示的原理(2)掌握数码管动态显示程序的设计方法(3)掌握74LS164 扩展端口的方法(4)掌握单片机定时器与中断系统的使用方法(5)掌握利用单片机设计秒表的基本方法(后两个数码管模拟演示秒表0~99,当达到100s时第一个数码管显示1)(6)熟练硬件电路的焊接2 设计方案2.1整体设计思路如下:通过89c52单片机控制段码,位码输出。
采用定时器中断方式实现动态扫描,每隔20ms扫描一次,每位数码管点亮的时间为1ms。
在单片机内部RAM设置待显示数据缓冲区,由查表程序完成显示译码。
2.274LS164(8位并行输出串行移位寄存器)74LS164为8位移位寄存器,管脚定义如下图1所示:图1 74LS164管脚图逻辑及封装图双列直插封装CLOCK 时钟输入端CLEAR 同步清除输入端(低电平有效) A ,B 串行数据输入端 QA-QH 为输出端当清除端(CLEAR )为低电平,输出端(QA-QH )均为低电平;串行数据输入端(A ,B )可控制数据。
当A ,B 任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK )脉冲上升沿作用下QO 为低电平;当A ,B 有一个为高电平。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 设计任务及要求1.1 设计任务(1)完成基本焊接任务(2)单片机开发板功能正确(3)完成指定的实验(4)完成课程设计报告1.2 要求(1)元件面:元器件位置正确、排列整齐有序,元件整形恰当。
焊接面:整洁、清爽,焊点圆润、无虚焊,引脚修整合适。
(2)能够下载程序、运行演示程序。
(3)完成3个程序的编写、下载及演示功能。
(4)报告格式规范、文字流畅、思路清晰。
2.方案设计与论证2.1 方案设计方案一:仿照周立功实验箱自行设计电路,然后完成焊接,实现各功能。
单片机仿真器、编程器、实验仪三合一综合开发平台方案二:采用JB-MCS 51-V8.0电路板,直接焊接相关元器件并实现各功能。
2.2论证经验证实验平台所需元器件无法找齐,且体积过大不便于携带等原因,最终决定采用方案二。
3.单元电路原理各单元电路原理图4.总原理图及元器件清单4.1 总原理图4.2 元器件清单5 硬件安装与调试在安装硬件的过程中要注意硬件的排列有序,焊点圆润、无虚焊,引脚修剪整齐。
在硬件安装完毕后,对作品进行调试。
通过STC软件对作品进行调试以及程序的下载,具体步骤如下:(1)选择单片机型号(2)选择程序(3)选择串口,安装USB驱动程序后,可在设备管理器中看到多出的串口(每台电脑不一样)。
然后在软件中选择相应的串口(4)选择波特率,一般情况下这都是默认的,最高波特率选择115200,最低波特率选择1200。
(5)以上步骤完成后,就点击Download/下载,按左下角的提示进行操作。
6.各实验具体操作和相关解释6.1跑马灯试验6.1.1系统概述通过模式键来改变单片机的工作模式,进行程序控制,一共有八个模式。
LED 等工作在不同的模式下,有不同的现象。
加速减速开关来控制灯泡的闪亮快慢。
复位电路用来初始化芯片的工作状态。
控制电路是整个电路的核心,主要由单片机来完成。
89C52 RC的管脚如图所示。
单片机执行指令是在时钟脉冲控制下进行的。
因此单片机必须外接振荡器构成时钟电路才能正常工作。
另外,还应在单片机的RES端外接电阻电容构成复位电路,当单片机运行错误时可以给一个复位信号使其复位。
单片机对接口电路的控制是由软件向单片机的I/O口来实现的。
89C52 RC单片机内部有两个定时/计数器,可以用其中一个定时/计数器来对时间进行计数,而另一个可以对显示器的显示延时进行定时并通过中断把相应的数据通过I/O口送给显示器显示。
同时通过对外部按键的状态判断来进行时间的调整。
6.1.2 单元电路设计与分析1、时钟电路单片机执行指令是在脉冲控制下进行的,因此时钟信号是单片机的基本工作条件。
时钟可以由内部和外部两种方式产生,本设计采用内部方式。
如图所示,在XTAL1和XTAL2引脚上外接定时元件。
定时元件通常采用振荡器和电容组成的并联谐振电路。
X1为振荡器,C1、C2为电容。
振荡的主要频率决定于晶振,电容对振荡频率起微调作用。
其中,晶振选择12MHz2、复位电路一个时钟周期为振荡周期的2倍,12个时钟周期构成一个机器周期。
在RES 引脚上输入一个超过两个机器周期的高电平信号,单片机就可以复位。
时钟频率为12MHz ,则有效的复位信号至少应保持2us 以上。
下图为单片机的复位电路3.C 语言编程如下:#include<reg51.h>#define uchar unsiged charchar k=0;unsigned int i,t=45000,j;sbit p3_0=P3^0;code char tab[9]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f}; int0()interrupt 0{ while(1){k++;if(k<9) P1=tab[k];else { k=0;P1=0x3f;}if(k==0) {P0=0xff;P2=0xff;}if(k==1){P0=0xfc;P2=0xff;}if(k==2){P0=0xf3;P2=0xff;}if(k==3){P0=0xcf;P2=0xff;}if(k==4){P0=0x3f;P2=0xff;}if(k==5){P0=0xff;P2=0xfc;}if(k==6){P0=0xff;P2=0xf3;}if(k==7){P0=0xff;P2=0xcf;}if(k==8){P0=0xff;P2=0x3f;}}}int1()interrupt 2{while(1){for(j=0;j<16;j++){if(j<=7){P2=0xff;P0<<=1;if(j!=0){P0=P0|0x01;}for(t=0;t<=20000-1000*j;t++);}if(j>7) {P0=0xff;P2<<=1;if(j!=8){P2=P2|0x01;}for(t=0;t<=20000-1000*j;t++);}}}}main(){EA=1;EX1=1;IT1=1;EX0=1;IT0=1;p3_0=0;if(p3_0==1){ while(1){{ for(j=0;j<16;j++){if(j<=7){P2=0xff;P0<<=1;if(j!=0){P0=P0|0x01;}for(t=0;t<=3000+1000*j;t++);}if(j>7) {P0=0xff;P2<<=1;if(j!=8){P2=P2|0x01;}for(t=0;t<=3000+1000*j;t++);}}}}}}6.1.3电路的安装与调试程序调试完成后直接运行,可看到8只LED灯的走马灯效果。
通过这个仿真可以直观地看到按键对程序的控制、走马灯运行的结果,效果非常好。
本课程设计中用到了单片机的I/0、定时器中断等硬件功能,同时涉及到软件查询定时、中断程序、按键控制、数码管动态显示等主要程序的设计方法。
程序开始先使P1口为低电平,熄灭各LED,随后系统进入键盘检测循环,当检测到某个键被按下,则转到该键对应的程序处执行。
按键处理执行程序各自的功能后,每循环一次后检测S1是否按下,如果按下,各LED熄灭,重新进入检测循环,否则继续循环。
6.2计数器实验6.2.1系统软件程序OUTBIT equ 0e101hCLK164 equ 0e102h ; 段控制口(接164时钟位)DA T164 equ 0e102h ; 段控制口(接164数据位)LEDBuf equ 40hIN equ 0e103hORG 0000hMOV SP,#60HMOV DPTR,#0e100H ;8155初始化MOV A,#03HMOVX @DPTR,AMOV TMOD,#05H ;定时器初始化MOV TH0,#00HMOV TL0,#00HSETB TR0LOOP0: MOV R2,TH0MOV R3,TL0LCALL LOOP1MOV R0,#40HMOV A,R6LCALL PTDSMOV A,R5LCALL PTDSMOV A,R4LCALL PTDSLCALL DISPLAYSJMP LOOP0LOOP1: CLR A ;二转十子程序MOV R4,AMOV R5,AMOV R6,AMOV R7,#10HLOOP2: CLR CMOV A,R3RLC AMOV R3,AMOV A,R2RLC AMOV R2,AMOV A,R6ADDC A,R6DA AMOV R6,AMOV A,R5ADDC A,R5DA AMOV R5,AMOV A,R4ADDC A,R4DA AMOV R4,ADJNZ R7,LOOP2RETPTDS: MOV R1,A ;拆字子程序ACALL PTDS1MOV A,R1SW AP APTDS1: ANL A,#0FHMOV @R0,AINC R0RETDelay:mov r7, #0 ; 延时子程序DelayLoop:djnz r7, DelayLoopdjnz r6, DelayLoopretDISPLAY:setb 0d3hmov r0, #LEDBufmov r1, #6 ; 共6个八段管mov r2, #00000001b ; 从左边开始显示Loop:mov dptr, #OUTBITmov a, #00hmovx @dptr, a ; 关所有八段管mov a, @r0mov dptr,#LEDmapmovc a,@a+dptrmov B, #8 ; 送164DLP:rlc amov r3, amov acc.0, canl a,#0fdhmov dptr, #DA T164movx @dptr, amov dptr, #CLK164orl a,#02hmovx @dptr, aanl a,#0fDhmovx @dptr, amov a, r3djnz B, DLPmov dptr, #OUTBITmov a, r2movx @dptr, a ; 显示一位八段管mov r6, #1call Delaymov a, r2 ; 显示下一位rl amov r2, ainc r0djnz r1, Loopmov dptr, #OUTBITmov a, #0movx @dptr, a ; 关所有八段管clr 0d3hretLEDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hdb 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hEND6.2.2 系统软、硬件调试过程将十进制数改为十六进制数IOOP0:MOV R2,TH0MOV R3,TL0MOV R0,LEDBufMOV A,R3LCALL PTDSMOV A,R2LCALL PTDSLCALL DISPLAY当工作在定时方式时,计数脉冲来自单片机的内部,每个机器周期使计数器加1,由于计数脉冲的频率是固定的(即每个脉冲为1个机器周期的时间),故可通过设定计数值来实现定时功能。
当工作在计数方式时,计数脉冲来自单片机的引脚,每当引脚上出现一个有1到0的电平变化时,计数器的值加1,从而实现计数功能。
可以通过编程来指定时技术计数器的功能,以及他的工作方式。
读取计数器的当前值时,应读3次。
这样可以避免在第一次读完后,二次读完钱,由于低位溢出向高位进行时的错误。
6.3抢答器实验6.3.1.程序org 0000h 初始地址ajmp main ;跳入mainorg 0003hajmp start ;跳入startorg 000bhajmp time ;跳入timeorg 0030hmain: mov tmod,#1 ;主程序mov th0,#0b1h ;定时期高八位赋值mov tl0,#0e0h ;定时期低八位赋值mov ie, #83h ;申请中断控制数setb tr0 ;开定时期mov r3,#0 ;工作寄存器赋值mov r4,#0 ;工作寄存器赋值mov 30h,#0mov 31h,#0mov 32h,#0;显示子程序disp: mov sp,5fh ;堆栈指针mov a,#03hmov dptr,#0ff20h ;初值movx @dptr,aloop: mov r5,#1mov r0,#30hmov a,r5loop1: mov dptr,#0ff21h ;A口输出movx @dptr,amov dptr,#0ff22h ;B口输出mov a,@r0add a,#0ehmovc a,@a+pc ;查表movx @dptr,aacall dlay ;调用延时程序inc r0mov a,r5jb acc.2,ld ;判断rl a ;a值左移mov r5,aajmp loop1 ;跳回loop1ld: sjmp loop ;跳回looptable: ;数据表db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0c8hdlay: mov r7,#02h ;延时子程序1.02msdl1: mov r6,#0ffhdl2: djnz r6,dl2djnz r7,dl1rettime: mov th0,#0b1h ;判断有人抢答mov tl0,#0e0hpush psw ;压栈保存push accmov a,#0fhorl p1,amov a,p1anl a,#0fhcjne a,#0,go_on ;判断a值,a=0,继续程序;a≠0,跳转go_on inc r3 ; r3+1cjne r3,#25,back ;判断r3与25大小,r3=25,继续程序;r3≠25,跳转到backmov r3,#0inc r4 ;r4+1mov a,r4mov b,#10div abmov 31h,amov 30h,bcjne r4,#20,backcpl p1.7mov 32h,#10clr tr0sjmp backgo_on: clr tr0 ;判断谁抢答jnb acc.0,twomov 32h,#01hsjmp backtwo: jnb acc.1,threemov 32h,#02hsjmp backthree: jnb acc.2,fourmov 32h,#03hsjmp backfour: mov 32h,#04hback: pop accpop pswretistart: setb tr0 ;中断后,继续记时retiend6.3.2.6.3.3.把单片机中需要的连线进行正确的连接,检查无误后开始运行程序。