AT89S52单片机课程设计
基于AT89S52单片机的数字频率计课程设计
第一章前言频率测量是电子学测量中最为基本的测量之一。
由于频率信号抗干扰性强,易于传输,因此可以获得较高的测量精度。
随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,测频原理和测频方法的研究正受到越来越多的关注。
1.1频率计概述数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
它是一种用十进制数字显示被测信号频率的数字测量仪器。
它的基本功能是测量正弦信号、方波信号及其他各种单位时间内变化的物理量。
在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。
传统的频率计采用测频法测量频率,通常由组合电路和时序电路等大量的硬件电路组成,产品不但体积大,运行速度慢而且测量低频信号不准确。
本次采用单片机技术设计一种数字显示的频率计,测量准确度高,响应速度快,体积小等优点[1]。
1.2频率计发展与应用在我国,单片机已不是一个陌生的名词,它的出现是近代计算机技术的里程碑事件。
单片机作为最为典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。
单片机已成为电子系统的中最普遍的应用。
单片机作为微型计算机的一个重要分支,其应用范围很广,发展也很快,它已成为在现代电子技术、计算机应用、网络、通信、自动控制与计量测试、数据采集与信号处理等技术中日益普及的一项新兴技术,应用范围十分广泛。
其中以AT89S52为内核的单片机系列目前在世界上生产量最大,派生产品最多,基本可以满足大多数用户的需要[2]。
1.3频率计设计内容利用电源、单片机、分频电路及数码管显示等模块,设计一个简易的频率计能够粗略的测量出被测信号的频率。
参数要求如下:1.测量范围10HZ—2MHZ;2.用四位数码管显示测量值;第二章系统总体方案设计2.1测频的原理测频的原理归结成一句话,就是“在单位时间内对被测信号进行计数”。
被测信号,通过输入通道的放大器放大后,进入整形器加以整形变为矩形波,并送入主门的输入端[3]。
单片机课程设计--基于at89s52的电子钟设计
单片机课程设计--基于at89s52的电子钟设计单片机课程设计--基于at89s52的电子钟设计摘要本次数字电子钟课程设计采用ATMEL公司的AT89S52为基本芯片,外配以12MHZ的晶振作为时钟电路,按键与电阻电容组成的复位电路,通过程序下载软件与数字钟硬件连接,实现24小时的时,分,秒计时系统。
该电子钟设置4个按键,分别实现对时,分,秒加一以及开启电子钟的作用。
在具体数码显示中能够实现自动记时,手动调时,满24小时自动清0的作用。
关键词数字电子钟;AT89S52;硬件设计;软件设计ABSTRACT The curriculum design, digital electronic clock with ATMEL Corporation AT89S52 as the basic chips, accompanied by 12MHz crystal as an external clock circuit, composed of key with the resistance and capacitance of the reset circuit, through the program to download software and digital clock hardware connection, to achieve a 24-hours,minutes and seconds,timekeeping system. The electronic clock is set four buttons, respectively, to realize hours, minutes and seconds, plus one and opening the electronic clock role.In specific digital display can be automatic timer, manual transfer, the full 24-hourautomatic cleaning 0 role. Key words:Digital electronic clock;;AT89S5;Hardware Design;Software Design 目录 1 设计课题任务、功能要求说明及方案介绍....................................1 1.1 设计课题任务...........................................................................1 1.2 功能要求说明...........................................................................1 1.3 设计总体方案介绍及原理说明......................................................1 2 设计课题硬件系统的设计 (2)2.1 设计课题硬件系统各模块功能简要介绍..........................................2 2.2 设计课题电路原理图、PCB图、元器件布局图.................................2 2.3 设计课题元器件清单...............................................................3 3 设计课题软件系统的设计............................................................4 3.1 设计课题使用单片机资源的情况................................................4 3.2 设计课题软件系统各模块功能简要介绍 (4)3.3 设计课题软件系统程序流程框图……………………………………………4 3.4 设计课题软件系统程序清单…………………………………………………8 4 设计结论、仿真结果、误差分析、教学建议………………………………9 4.1 设计课题的设计结论及使用说明……………………………………………9 4.2 设计课题的仿真结果…………………………………………………………9 4.3 设计课题的误差分析…………………………………………………………10 4.4 设计体会………………………………………………………………………10 4.5 教学建议………………………………………………………………………10 参考文献…………………………………………………………………………12 致谢…………………………………………………………………………13 附录…………………………………………………………………………14 1 设计课题任务、功能要求说明及方案介绍1.1 设计课题任务设计一个数码显示的电子钟,具有以下功能:通电显示扫描字符P,按键实现自动记时,定时报时,手动调时及数码显示的功能。
【毕业设计】AT89S52单片机计算器设计-精品
目录第一章绪论 (2)1.1课题简介 (2)1.2课题背景 (3)1.2本课题设计的目的 (3)1.3本课题设计的主要内容 (3)第二章课题设计的元件介绍 (4)2.1AT89S52介绍 (4)2.2LCD1602液晶显示屏 (5)第三章计算器系统总体方案设计 (6)3.1设计方案的确定 (7)3.2计算器控制系统硬件设计 (11)3.3计算器系统软件设计 (13)第四章计算器系统的调试 (21)4.1硬件调试 (21)4.2软件调试 (21)总结 (23)参考文献 (24)附录 (25)附录一:计算器实物图 (25)附录二:元器件清单 (26)附录三:源程序 (27)第一章绪论(引言)1.1 课题简介科技发展的今天,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活、学习,还是娱乐和消遣几乎样样都离不开电子产品,其大型复杂的计算能力是人脑所不能胜任的,而且人脑比较容易出错。
计算器作为一种快速而通用的计算工具方便了每一个使用者。
计算器可谓是人们最亲密的电子伙伴之一。
本设计着重在于分析计算器硬件、软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。
单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。
在工业生产中,单片微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
本系统就是选用了AT89S52单片机芯片。
系统以AT89S52单片机为中心器件来设计计算器,实现了能根据实际输入值显示并存储计算的功能,计算器程序是在kill软件中,自己编制开发C语言程序。
1.2 课题背景目前,单片机在我国的各行各业得到了广泛应用,如各大本、专科院校、职业培训学校,均开设了单片机原理与应用方面的课程,这是一门技术性和实践性很强的学科,必须通过一系列的软硬件实验、理论联系实际,才能真正的让单片机的控制思想进入每一个人的脑海中。
单片机电子时钟课程设计设计报告
单片机电子时钟设计一、作品功能介绍该作品是个性化电子钟设计,技术上主要用单片机(AT89S52)主控,6位LED数码显示,分别显示“小时:分钟:秒”。
该作品主要用于24小时计时显示,能整时报时,能作为秒表使用,能定时闹铃1分钟。
功能介绍:(1)上电以后自动进入计时状态,起始于00:00:00。
(2)设计键盘调整时间,完成时间设计,并设置闹钟。
(3)定时时间为1/100秒,可采用定时器实现。
(4)采用LED数码管显示,时、分,秒采用数字显示。
(5)采用24小时制,具有方便的时间调校功能。
(6)具有时钟和秒表的切换功能。
使用方法:开机后时钟在00:00:00起开始计时。
(1)长按进入调分状态:分单元闪烁,按加1,按减1.再长按进入时调整状态,时单元闪烁,加减调整同调分.按长按退出调整状态。
(2)(2)按进入设定闹时状态: 12:00: ,可进行分设定,按分加1,再按为时调整,按时加1,按调闹钟结束.在闹铃时可按停闹,不按闹铃1分钟。
(3)按下进入秒表状态:再按秒表又启动,按暂停,再按秒表清零,按退出秒表回到时钟状态。
二、电路原理图如原理图所示,硬件系统主要由单片机最小应用系统、LED数码管显示模块、电源模块、晶振模块、按键模块等组成。
电子时钟原理图各个模块设计1.单片机系统 AT89S52 AT89S52概述:是一款非常适合单片机初学者学习的单片机,它完全兼容传统的8051,8031的指令系统,他的运行速度要比8051快最高支持达33MHz的晶体震荡器,在此系统中使用12MHz的晶振。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
《AT89S52单片机基础项目教程(第2版)》电子教案 项目1
任务1 认识AT89S52单片机
• 3.复位 • 在RESET(9脚)持续出现24个振荡器脉冲周期(即两个机器周期)的高
电平信号时,将使单片机复位。只要该引脚保持高电平,芯片便循环复 位。复位后,所有I/O引脚均置1,程序计数器和特殊功能寄存器全部清 零。 • 4.输入/输出引脚 • 单片机工作时,输入/输出引脚可输入、输出数据。 • P0端口(P0.0~P0.7,39脚~32脚):无内置上拉电阻的8位双向I/O端口,置 1时作高阻抗输入端。
上一页 下一页 返回
任务1 认识T89S52单片机
• 在此期间,当访问外部数据存储器时,将跳过两次PSEN信号。 • 3)EA/VPP(31脚) • 该引脚为片外程序存储器选择控制引脚,当EA为低电位时,单片机从外
上一页 下一页 返回
任务1 认识AT89S52单片机
• 当存储器的容量不够时,可以进行外部扩展。 • 3.I/O口 • (1)并行口。AT89S52单片机有4个8位并行I/O接口P0~P3,均可并行输
入/输出8位数据。 • (2)串行口。AT89S52单片机有2个串行I/O接口,用于数据的串行输入/
• P2端口(P2.0~P2.7,21脚~28脚):基本功能同P1端口。 • P3端口(P3.0~P1.7,10脚~17脚):基本功能同P1端口。此外,该端口还
具有第二功能,详见表1-1-2。
上一页 下一页 返回
任务1 认识AT89S52单片机
• 5.其他引脚 • 1)ALE/PROG(30脚) • 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲
用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的 1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要 注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 • 2)PSEN(29脚) • 程序储存允许(PSEN)输出的是外部程序存储器的读选通信号 ,AT89S52从外部程序存储器取指令(或数据)时,每个机器周期PSEN两 次有效,即输出两个脉冲。
基于AT89S52的电子时钟设计_单片机原理课程设计
单片机原理课程设计题目: 基于AT89S52的电子时钟设计姓名:学院: 工学院专业: 自动化班级: 自动化01,02班学号:指导教师:2013 年6月15日南京农业大学教务处制目录摘要 (3)关键词 (3)Abstract (3)Key words (4)引言 (4)1.设计要求与内容 (4)1.1设计要求 (4)1.2 设计内容 (4)2.系统的设计与实现 (4)2.1 电路设计框图 (5)2.2 系统概述 (5)2.3 主要单元电路 (5)2.3.1 AT89S52单片机主控制模块 (5)2.3.2 时钟电路模块 (7)2.3.3 LCD显示模块 (7)2.3.4 温度模块 (10)2.3.5 键盘模块 (10)2.3.6 蜂鸣器模块 (12)3.系统的程序设计 (13)3.1程序流程框图...................................... 错误!未定义书签。
3.2 部分程序设计 (14)4.实物展示 (14)5.实习心得体会 (18)致谢 (19)参考文献 (19)附录 (19)基于AT89S52的电子时钟设计自动化魏贤盼谷雄飞指导教师胡飞吕成绪摘要:单片机在电子产品中的应用越来越广泛,其具有使用方便、价格低廉等优势,在市场上占有很大的份额。
A T89S52就是51系列中的一个比较成熟的型号,它完全兼容51单片机的指令。
本设计是基于AT89S52单片机的一个多功能实时时钟,包含DS1302时钟芯片、LCD12864液晶屏、DS18B20温度传感器等模块,能实现秒表、整点报时、闹铃、显示当前温度、调整时间等功能,所有功能均可通过按键进行操作。
本设计实现了日常生活所需的基本功能,给大家带来方便,具有整体性好、人性化强、可靠性高等优点。
关键词:电子时钟A T89S52 DS1302 LCD12864 DS18B20Electronic clock system design based on AT89S52Students majoring in automationWei Xianpan Gu XiongfeTutor Hu Fe LvChengXuAbstract: MCU in the application of electronic products becomes more widely, which is of its ease of use, low prices and other advantages, so it takes a large market share. AT89S52 is a more mature model in the 51-series, and it is fully compatible with the directive MCU 51.The design is a multi-function real time clock based on AT89S52, including the three main parts—DS1302, LCD12864, DS18B20,and so on. It can realize the followed functions, including stopwatch, alarm at the whole point, alarm clock, a display of current temperature, adjust the time and so on. All thefunctions can be realized by the keys. The design meets the need of daily life, and brings convenience to everyone. The good integrity, strong humanization and high reliability are the main merits of the electronic clock.Key words:Electronic clock A T89S52 DS1302 LCD12864 DS18B20引言随着科技的快速发展,时间的流逝,从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。
单片机AT89S52程序设计与调试-精品文档
12 <<
5.2 C51程序设计
5.2.1 C51的程序结构
3 <
伪指令
伪指令是汇编程序能够识别并对汇编过程进行某种控 制的汇编命令。它不是单片机执行的指令,所以没有对应 的可执行目标码,汇编后产生的目标程序中不会再出现伪 指令。 1、起始地址设定伪指令: ORG 格式为:ORG 表达式 该指令的功能是向汇编器说明下面紧接的程序代码或常 数存放的起始地址(程序存储器地址)。在一个源程序中 ,可以多次使用ORG伪指令规定不同程序段或数据段存放 的起始地址,但要求地址值由小到大依序排列,不允许空 间重叠。 2、汇编结束伪指令: END 汇编程序遇到END伪指令后即结束汇编,处于END之 4 后的程序,汇编程序将不处理。
9 <
7、位地址赋值伪指令 BIT
符号名 BIT 表达式 功能是将表达式的值作为位地址赋给一个指定的符号 名。例如: SDA BIT P1.0 ; 数据输出 SCK BIT P1.1 ; 时钟输出 SHIFT_OUT: ; 移位输出子程序 MOV R6, #8 LP: RLC A MOV SDA, C SETB SCK NOP CLR SCK DJNZ R6, LP RET 10
ORG 1000H INT0_PROC: CLR IE0 … … END
; 所有汇编程序结束
5 <
3、字节数据定义伪指令 DB
[标号:] DB 字节数据表
功能是从标号指定的地址开始,在程序存储器中定义字 节数据。字节数据表可以是一个或多个字节数据、字符串或 表达式。该伪指令将字节数据表中的数据根据从左到右的顺 序依次存放在指定的存储单元中。一个数据占一个存储单元 。例如: ORG 500H DB 8,10,18 DB “ABC”
《AT89S52单片机基础项目教程(第2版)》电子教案 项目4
电动机。电动机相数不同,其步距角也不同,一般二相电动机的步距角 为0.9毅/1.8毅、三相的为0.75毅/1.5毅、五相的为0.36毅/0.72毅。在 没有细分驱动器时,用户主要靠选择不同相数的步进电动机来满足自 己步距角的要求。如果使用细分驱动器,则“相数冶将变得没有意义, 用户只需在驱动器上改变细分数,就可以改变步距角。
• 本次任务采用的驱动器SJ-230M2,是用驱动器上的拨盘开关来设定细 分数及相电流的,根据面板的标注设定即可;请在控制器频率允许的情 况下,尽量选用高细分数;具体设置方法请参考表4-1-1、表4-1-2:
上一页 下一页 返回
任务1 步进电动机开环控制
• 3)控制信号 • 本驱动器的输入信号共有三路,它们是:步进脉冲信号CP、方向电平信
上一页 下一页 返回
任务1 步进电动机开环控制
• DETENT TORQUE在国内没有统一的翻译方式,容易使大家产生误解 。由于反应式步进电动机的转子不是永磁材料,所以它没有 DETENTTORQUE。
• 2.步进电动机驱动器 • 工业上,控制步进电动机一般使用专门的步进电动机驱动器来进行。 • 1)步进电动机驱动器优点 • (1)操控简单。 • 使用驱动器来控制步进电动机只需要送入CP脉冲就可以使电动机运
号DIR、脱机电平信号FREE。它们在驱动器内部的连接图这里省略 。 • (1)步进脉冲信号CP。 • 步进脉冲信号CP用于控制步进电动机的位置和速度,也就是说:驱动器 每接受一个CP脉冲就驱动步进电动机旋转一个步距角(细分时为一个 细分步距角),CP脉冲的频率改变则同时使步进电动机的转速改变,控 制CP脉冲的个数,则可以使步进电动机精确定位。这样就可以很方便 的达到步进电动机调速和定位的目的。
基于单片机AT89s52的家用洗衣机的程序设计
单片机已经渗透到我们生活的各个领域,全自动洗衣机的控制就是其中的一个典型应用。
本系统利用单片机实现了洗衣机的全自动控制,即洗涤、漂洗、脱水各工序之间的转换无需人工介入而自动完成。
并且了单片机控制的原理方法、特点及控制洗衣机的特色。
本文在介绍洗衣机结构的同时,对全自动洗衣机的控制系统进行分析,在此基础上提出了基于单片机的全自动洗衣机控制方案,并对方案进行了深入的研究,根据洗衣机的工作原理对程序及其流程进行了设计,实现了洗衣机由进水、洗涤、排水、脱水到自动停机的循环过程的自动控制,并且具有智能化程度高、安全可靠等特点。
关键词:洗衣机;自动控制;单片机。
1 绪论 (1)2总体方案设计分析 (2)2.1 全自动洗衣机控制方法选择 (2)2.2 方案构思 (2)3硬件电路设计 (3)3.1 单片机简介 (3)3.2 AT89S52 (5)3.3 步进电机模块简介 (7)3.4 8279简介 (10)4 软件设计 (12)4.1 程序流程 (12)4.2 部分程序及功能简介 (13)5 综合调试 (14)5.1实验导线连接与调试 (14)5.2实验结果分析 (15)实验体会 (15)附录Ⅰ硬件电路图 (17)附录Ⅱ实验程序 (18)参考文献 (25)1绪论洗衣机是一种在家庭中不可缺少的家用电器,发展非常快。
全自动式洗衣机由于具有对衣物的磨损小、洗涤量大、节水等特点,越来越得到广大家庭的青睐。
其主要依靠装在洗衣桶底部的波轮正、反旋转,带动衣物上、下、左、右不停地翻转,使衣物之间、衣物与桶壁之间,在水中进行柔和地摩擦,在洗涤剂的作用下实现去污清洗。
全自动即进水、洗涤、清洗、甩干等一系列过程自动完成,通过各种开关组成控制电路,来控制电动机、进水阀、排水电磁铁的电压输出,使洗衣机实现程序运转。
随着社会的进步和生活水平的提高,人们对全自动洗衣机的功能多样化、操作简单化也提出了更高的要求。
为适应这种变化,全自动洗衣机的控制器已由机械式、混合式逐步过渡到全电子控制。
《AT89S52单片机基础项目教程(第2版)》电子教案 项目2
任务1 数码管及动态显示实现
• 2)1位数码管的显示段码 • 以共阳型为例,根据图2-1-4所示,如果要显示“0冶,则要让a、b、c、d
、e、f段点亮,g和dp(小数点位)不亮,且COM端应该接高电平,相应的 段应该是低电平点亮。 • 可知“0冶的显示用二进制表达为11000000B,十六进制为C0H,在C51 中表达为0xc0。我们把数码管显示一个数字或字符的相应位的亮灭 用对应的二进制(或16进制)表达的数称为该数字或字符的显示段码。 共阳LED数码管段码表表2-1-1。 • 3)多位一体封装数码管 • 以4位共阴型数码管为例(见图2-1-5),4个独立的数码管的段码相对应 并联在一起,每个单元的阴极接在一起,共引出4个公共位。
上一页 下一页 返回
任务1 数码管及动态显示实现
• 而所谓动态扫描就是指我们采用分时的方法,轮流控制各个单位显示 器的COM端,使各个单位显示器轮流点亮。当然,每一个COM要接三 极管以提高驱动能力。
• 在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约 1ms),但由于人眼的视觉暂留现象(100ms)及发光二极管的余辉效应, 尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,那人 看到的就是一组稳定的显示数据。扫描显示在程序设计上虽然相对复 杂一些,但省下了单片机宝贵的I/O口资源!这一点对于复杂的工程系统 的设计是尤为重要的。
项目2 全自动洗衣机控制
• 任务1 数码管及动态显示实现 • 任务2 12864液晶屏显示实现 • 任务3 按键及按键矩阵输入控制 • 任务4 交、直流电动机驱动控制 • 任务5 模拟全自动洗衣机控制实训
返回
任务1 数码管及动态显示实现
• 全自动洗衣机作为家用电器类的机电一体化产品,已走进了千家万户。 全自动洗衣机在使用时是将洗衣的全过程,即浸泡、洗涤、漂洗、脱 水预先设定好N个程序,洗衣时根据需求选择其中一个或多个程序,打 开水龙头和启动洗衣机开关后,洗衣的全过程就会自动完成,洗衣完成 时由蜂鸣器发出响声。而全自动洗衣机的控制普遍都采用单片机,其 外部控制设备主要有主令输入部分,即程序设置与选择按键;工作状态 显示部分,即多位数码管或液晶显示屏与信号灯;执行机构部分,即进出 水电磁阀、驱动电动机的继电器;状态检测部分,即水位与温度传感器 等。本次任务是学习数码管显示部分。实现
基于AT89S52单片机的电机控制C语言程序设计
电容
30p
2
104
2
22uf
1
100uf
2
静态数码管SM4105
4
74HC595
4
独立按键
4
下载口ISP-PORT
1
第八
虽然本次课程设计只有一个星期的时间,但是我之前就已经开始设计程序了,只是一直没啥进展。我也成了倒数几个没做完的一员,其实心里一直有压力,可是有时候总是力气没花到点子上,事倍功半,主要一个原因就是,我在构建整个程序框架的时候没有一个清晰的认识,结果总是达不到自己所要求的目标。这最后一天,我找了两位同学帮我一起检查程序,结果是,我的主体程序没啥问题,问题就是小小的一些细节上,比如中断打开的顺序等。
三、数码管显示模块:
数码管显示模块采用的是静态数码管。
第四
Y
N
第五
#include<reg51.h>#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit IN1=P1^0;
sbit IN2=P1^1;
sbit ENA=P1^2;
sbit K1=P3^0; //正转
sbit K2=P3^1; //反转
sbit K3=P3^2; //加速
sbit K4=P3^3; //减速
sbit STCP=P2^0;
sbit SHCP=P2^1;
sbit DS=P2^2;
uchar code tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xA4,0x8E}; //程序存储区定义字型码表
AT89S52单片机课程设计
目录第一章系统介绍 (1)1.1生产实习介绍 (1)1.1.1生产实习的目的及意义 (1)1.1.2生产实习的内容 (1)1.2单片机开发系统介绍 (2)1.2.1 单片机电路图 (2)1.2.2组成 (2)第二章单片机的焊接与调试 (8)2.1单片机的焊接 (8)2.1.1焊接技术的要领 (8)2.1.2单片机焊接所需的零件 (8)2.1.3单片机开发板全图 (10)第三章软件的调试与实现 (11)3.1 Keil 的使用 (11)3.2程序的调试 (11)3.2.1检测led灯的亮灭顺序 (11)3.2.2键盘的测试 (12)3.2.3数码管的测试 (17)3.3调试中中遇到的问题 (19)第四章程序的开发 (20)3.1 蜂鸣器的开发 (20)第五章生产实习体会 (25)第一章系统介绍1.1生产实习介绍1.1.1生产实习的目的及意义本次生产实习是学校教务规定,由电子信息工程教研室组织在电信楼307实验室进行的一个单片机的开发、生产与应用的实习。
此实习的目的旨在理论学习的基础上,通过完成一个涉及51单片机多种资源应用并具有综合功能的最小系统目标板的设计与编程应用,通过我们独立进行单片机开发板的焊接、调试以及应用扩展,提高我们的专业技能,为今后工作或是深造打好坚实的基础,让我们真正从这次实习中收获到对自己有价值的东西。
此次生产实习是将理论知识与实际应用结合起来,从实际出发分析、研究和解决问题,将单片机的知识系统化,而且能对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、纠错、调试、焊接技术相关仪器设备的使用技能方面得到全面的锻炼和提高,为今后独立进行某些单片机应用系统的开发设计打下坚实基础。
1.1.2生产实习的内容这次生产实习用时四个星期,在这四个星期中中我们主要是利用主控芯片STC12C5A60S2单片机的定时器、中断、串口、8K Flash ROM、扩展外部4个按键、时钟电路等,焊接制作一个具有最小功能的最小系统板。
AT89S52单片机多功能时钟电路设计
目录摘要 (1)ABSTRACT (2)第1章前言 (3)第2章设计电路原理和器件简介 (4)第2.1节总体设计电路框图 (4)第2.2节 AT89S52单片机介绍 (4)第2.3节各功能模块器件应用说明 (8)2.3.1 液晶显示简介 (8)2.3.2 温度传感器说明 (9)2.3.3 数字时钟简介 (10)2.3.4 键盘调节模块 (11)第3章系统硬件电路设计 (13)第3.1节硬件设计原理图 (13)第3.2节单片机外围电路原理 (13)3.2.1 复位、时钟、电源电路原理 (13)3.2.2 DS1302实时时钟芯片说明 (14)3.2.3 128*64 LCD接口和显示原理 (17)3.2.4 高精度数字温度传感器DS18B20实现方式 (19)3.2.5 键盘对于时间调节功能实现说明 (21)第4章系统软件设计 (22)第4.1节软件设计流程图 (22)第4.2节各模块程序框图 (23)第4.3节软件主程序和各模块子程序 (25)第5章时钟控制系统调试 (27)第5.1节单片机应用系统调试工具说明 (27)第5.2节程序调试 (28)结论 (29)参考文献 (30)致谢 (31)附录 (32)【摘要】本论文介绍了多功能时钟控制器的系统设计。
系统具有时间设置及显示、定时闹铃、温度检测并显示等功能。
系统以 AT89S52单片机为核心,主要进行基于AT89S52低功耗MCU的字符型数字钟及其系统的研究。
系统带有GXM12864液晶显示器,配合按键提供友好的用户界面,操作简单,同时具有实时温度检测功能。
该数字钟能够长期、连续、可靠、稳定的工作;同时还具有体积小、功耗低等特点,便于携带,使用方便。
系统设计包括单片机及其外围硬件部分和计算机软件编程部分。
硬件部分主要为软件的实现提供一个运行的基础,计算机软件编程主要实现键盘调节、液晶显示、温度检测等各模块的功能,采用C语言编程。
关键字单片机液晶显示温度检测数字钟键盘输入【ABSTRACT】This thesis describes the design of a multifunctional digital clock and control system. It as displaying and setting time for clock and alarm, this system has another special feature, as temperature measurement and display. The core part of the system is based on a king of an advanced MCU, AT89S52, this system mainly carries on low power consume MCU the character list type the research of the digital clock and its system according to the AT89S52. The system takes GXM 128*64 Liquid Crystal Display, matching with a key to provide amity of customer interface, the operation is simple, having the temperature examination function in the meantime. Consecution, credibility, stable work, still have a physical volume in the meantime small, the power consume a low etc. characteristics, easy to take, the usage convenience. The system design includes a MCU with its periphery hardware circuit unit and a computer soft programming unit. The hardware circuit unit only provides the run basement for the software, the computer software programming unit mainly contains keyboard adjust, Liquid Crystal Display, temperature examination functions, adoption the C language.Keyword Single-Chip Microcomputer, LCD, Temperature Examination, Digital Clock, Keyboard Input第1章前言近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益。
单片机AT89S52程序设计与调试
THANKS FOR WATCHING
感谢您的观看
单片机AT89S52程序设计与调试
目 录
• 单片机AT89S52简介 • 程序设计与开发 • 硬件接口与外设编程 • 调试技术与方法 • 实际应用案例分析
01 单片机AT89S52简介
AT89S52的特性与参数
8位微控制器 20个引脚 8KB的Flash存储器
AT89S52的特性与参数
工作电压范围:4.0V至5.5V
计数器
用于对外界事件进行计数,如外部脉冲、按钮按下等。
中断系统编程
外部中断
01
当单片机接收到外部信号时,触发中断。
定时器中断
02
当定时器溢出时,触发中断。
串行通信中断
03
当串行通信接收到数据时,触发中断。
串行通信接口编程
串行通信协议
遵循一定的通信协议,如RS232、RS485 等。
VS
Hale Waihona Puke 数据发送与接收32个I/O端口
256字节的RAM
01
03 02
AT89S52的特性与参数
01
工作频率:0Hz至40MHz
02
内部时钟振荡器
03
看门狗定时器
AT89S52的特性与参数
01
三个定时器/计 数器
02
串行通信接口
数据指针
03
04
掉电模式和空 闲模式
AT89S52的应用领域
智能仪表
01
02
工业控制
智能家居
检查代码语法错误、逻辑错误等。
仿真测试
在仿真环境中测试代码功能。
实际硬件测试
将代码下载到单片机中,进行实际硬件测试。
(完整word版)基于AT89S52单片机交通灯控制系统的设计
单片机系统开发与应用工程实习报告选题名称:基于AT89S52单片机交通灯控制系统的设计系(院):计算机工程学院专业:计算机科学与技术(嵌入式软件设计)班级:姓名:学号:指导教师:学年学期:2009 ~ 2010 学年第 2 学期2010 年 5 月30 日摘要:随着我国经济的高速发展,私家车、公交车的增加,无疑会给我国交通系统带来沉重的压力,很多大城市都不同程度地受到交通阻塞问题的困扰。
下面以AT89S52单片机为核心,设计出以人性化、智能化为目的的交通信号灯控制系统我用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。
正常情况下,A、B两车道轮流放行,A车道放行45s,其中5s用于警告;B车道放行25s,其中5s用于警告。
交通灯繁忙时,可人为地改变信号灯状态,以缓解交通拥挤状况。
遇到紧急情况时,A、B两车道均为红灯,禁行20s。
本设计主要做了如下几方面的工作:一是确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,二是显示电路等的设计和基本功能要求.三是进行软件系统的设计,对于本系统,本人采用单片机汇编语言编写,总体上完成了软件的编写。
关键词:交通控制;AT89S52;汇编语言;目录1 绪论 01.1单片机交通控制系统的选题背景 01。
2单片机交通控制系统选题的现实意义 02 项目概述 (2)2.1项目要求 (2)2.2系统设计 (2)3 硬件设计 (3)3。
1电路图原理 (3)3。
2单片机控制交通信号灯模拟系统的电路图 (5)4 软件设计 (5)4。
1程序流程图 (6)4.2程序清单 (7)5 系统仿真及调试 (10)总结 (11)参考文献 (12)1 绪论1.1单片机交通控制系统的选题背景随着人口快速的增多,交通工具的爆炸性的发展,以及道路资源的有限性,交通控制就应运而生,在人类的生活、工作环境中,交通扮演着极其重要的角色,人们的出行都无时不刻与交通打着交道.自18世纪工业革命以来,工业发展带动整个交通运输的发展,从而催生了单独的交通控制学问与管理机构.交通控制系统是近现代社会随着物流、出行等交通发展产生的一套独特的公共管理系统。
单片机课程设计——基于AT89S52单片机控制的步进电机
单片机原理与应用课程设计【项目名称】基于AT89S52单片机控制的步进电机【指导教师】XXX【班级】XXX【学号】XXX【姓名】XXX目录一、项目概述 (4)二、项目要求 (4)三、知识要点 (6)(一)AT89C52的资料 (8)(二)ULN2003资料 (13)四、系统设计 (17)(一)系统框图设计 (17)(二)说明 (18)五、硬件设计 (18)(一) 电路原理图 (18)1、按键功能 (20)2、驱动电路 (20)(二)元件清单 (23)六、软件设计 (24)(一)程序流程图 (24)(二)源程序 (26)(三)系统仿真及调试 (37)1、硬件调试 (37)2、软件调试 (37)七、总结 (38)(一)遇到的问题及其解决方法 (38)1、硬件部分 (38)2、软件部分 (39)(二)功能扩展 (41)1、已经实现的扩展功能 (41)2、暂未实现的扩展功能预想 (42)一、项目概述步进电机是一种将电脉冲转换成相应角位移或线位移的电磁机械装置,也是一种能把输出机械位移增量和输入数字脉冲对应的驱动器件。
步进电机具有快速启动、停止的能力,精度高,控制方便,因此,在工业上得到广泛应用。
二、项目要求基于AT89C52单片机的控制步进电机正反转,具体要求如下:1、开始通电时,停止位指示灯亮,步进电机停止工作。
2、单片机分别接有按键开关K1、K2、K3、K4、K5用来控制步进电机的转动,具体要求如下:(1)K1为正转按钮。
当按下K1时,步进电机正转,同时正转指示灯亮。
(2)K2为反转按钮。
当按下K2时,步进电机反转,正转指示灯熄灭,同时反转指示灯亮。
(3)K4为加速按钮。
当步进电机处于正转或反转状态时,每按下一次加速按钮,步进电机将正转或反转加速一次,最高加速四次,达到最大速度后再按加速按钮步进电机的状态不再变化。
(4)K5为减速按钮。
当步进电机处于正转或反转状态时,每按下一次减速按钮,步进电机将正转或反转减速一次,最高减速四次,减到最小速度后再按减速按钮步进电机的状态不再变化。
基于单片机AT89S52单片机的密码锁设计
基于单片机AT89S52单片机的密码锁设计一、系统总体设计方案本密码锁系统主要由 AT89S52 单片机、矩阵键盘、液晶显示屏(LCD)、存储芯片、报警模块和开锁电路等组成。
用户通过矩阵键盘输入密码,单片机对输入的密码进行处理和判断,并将结果显示在LCD 屏上。
如果输入的密码正确,单片机控制开锁电路打开锁具;如果密码错误,系统会发出报警信号,并记录错误次数。
当错误次数超过设定值时,系统将锁定一段时间,以防止非法入侵。
二、硬件设计1、单片机最小系统AT89S52 单片机是整个系统的核心,它负责控制和协调各个模块的工作。
单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振电路为单片机提供时钟信号,复位电路用于系统的初始化和异常情况下的复位操作。
2、矩阵键盘矩阵键盘用于输入密码,采用 4×4 的矩阵式键盘布局,共 16 个按键,分别代表数字 0-9、确认键和删除键等。
通过扫描键盘的行和列,可以确定用户按下的按键值,并将其传输给单片机进行处理。
3、液晶显示屏(LCD)LCD 显示屏用于显示系统的工作状态和提示信息,如输入密码、密码正确、密码错误等。
本系统选用 1602 液晶显示屏,它具有体积小、功耗低、显示内容丰富等优点。
4、存储芯片存储芯片用于存储密码信息,选用 EEPROM 芯片 AT24C02。
EEPROM 具有掉电不丢失数据的特点,可以保证密码信息的安全性和可靠性。
5、报警模块报警模块由蜂鸣器和发光二极管组成,当密码输入错误次数超过设定值时,蜂鸣器发出报警声音,发光二极管闪烁,以提醒用户和起到威慑作用。
6、开锁电路开锁电路由继电器和电磁锁组成,当单片机判断输入的密码正确时,输出控制信号使继电器闭合,从而接通电磁锁的电源,打开锁具。
三、软件设计1、主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、LCD 初始化、存储芯片初始化等。
然后进入密码输入等待状态,当用户按下按键时,读取按键值并进行相应的处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录第一章系统介绍 (1)1.1生产实习介绍 (1)1.1.1生产实习的目的及意义 (1)1.1.2生产实习的内容 (1)1.2单片机开发系统介绍 (2)1.2.1 单片机电路图 (2)1.2.2组成 (2)第二章单片机的焊接与调试 (8)2.1单片机的焊接 (8)2.1.1焊接技术的要领 (8)2.1.2单片机焊接所需的零件 (8)2.1.3单片机开发板全图 (10)第三章软件的调试与实现 (11)3.1 Keil 的使用 (11)3.2程序的调试 (11)3.2.1检测led灯的亮灭顺序 (11)3.2.2键盘的测试 (12)3.2.3数码管的测试 (17)3.3调试中中遇到的问题 (19)第四章程序的开发 (20)3.1 蜂鸣器的开发 (20)第五章生产实习体会 (25)第一章系统介绍1.1生产实习介绍1.1.1生产实习的目的及意义本次生产实习是学校教务规定,由电子信息工程教研室组织在电信楼307实验室进行的一个单片机的开发、生产与应用的实习。
此实习的目的旨在理论学习的基础上,通过完成一个涉及51单片机多种资源应用并具有综合功能的最小系统目标板的设计与编程应用,通过我们独立进行单片机开发板的焊接、调试以及应用扩展,提高我们的专业技能,为今后工作或是深造打好坚实的基础,让我们真正从这次实习中收获到对自己有价值的东西。
此次生产实习是将理论知识与实际应用结合起来,从实际出发分析、研究和解决问题,将单片机的知识系统化,而且能对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、纠错、调试、焊接技术相关仪器设备的使用技能方面得到全面的锻炼和提高,为今后独立进行某些单片机应用系统的开发设计打下坚实基础。
1.1.2生产实习的内容这次生产实习用时四个星期,在这四个星期中中我们主要是利用主控芯片STC12C5A60S2单片机的定时器、中断、串口、8K Flash ROM、扩展外部4个按键、时钟电路等,焊接制作一个具有最小功能的最小系统板。
然后在已有的单片机基础上利用Keil uVision2软件编写程序 并借助编程下载软件将源程序“烧”进芯片 实现流水灯 闪烁灯 按键 外部中断 定时中断 JTAG接口 和串口的调试 。
1.2单片机开发系统介绍1.2.1 单片机电路图图1-1 总电路图1.2.2组成(1)主控芯片介绍本次系统开发采用的主控芯片是AT89S52,AT89S52单片机是一种低功耗高性能的CMOS8位微控制器,内置8KB可在线编程闪存。
该器件采用Atmel公司的高密度非易失性存储技术生产,其指令与工业标准的80C51指令集兼容。
片内程序存储器允许重复在线编程,允许程序存储器在系统内通过SPI串行口改写或用同用的非易失性存储器改写。
通过把通用的8位CPU与可在线下载的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。
它的应用范围广,可用于解决复杂的控制问题,且成本较低。
AT89S52主要性能:与MCS-51单片机产品兼容;8K字节在系统可编程 Flash 存储器1000次擦写周期;全静态操作:0Hz~33Hz;三级加密程序存储器;32个可编程I/O口线;三个16位定时器/计数器;八个中断源;全双工UART串行通道;低功耗空闲和掉电模式;掉电后中断可唤醒;看门狗定时器;双数据指针;掉电标识符。
如图2所示AT89S52引脚功能图。
图 1-2 芯片引脚图(2)电源模块图1-3稳压电路图开发板电源模块主要由78L05三端集成稳压器及电阻、电解质电容等组成的稳压电路所构成,主要功能是起降压、稳压的作用,为单片机提供稳定的+5V电源。
78L05是78Lxx系列单片集成电路稳压器的一种型号。
此类元件应用十分广泛,全系列的稳压器中都有滤波电路,从而有效地降低了噪声和外界的干扰,每种稳压器均能达到100mA的电流输出内部设有过流、过热自动保护功能。
图1-4 78L05引脚图(3)复位电路复位主要有上电复位和按键复位两种,AT89S52作为此次的开发板主要控制芯片是采用按键复位的,根据元器件的要求时间常数,可以选定电容和电阻的规格。
图1-5 开发板复位电路(4)串口通信模块串行通信模块传送可靠性高,并行传输速率高。
在串行通信中按照数据传送方向,串行通信可分为单工、半双工和全双工三种制式。
在进行串行通信接口设计时,必须根据需要确定选择标准接口、传输介质及电平转换等问题。
和并行传送一样,现在已经有很多种串行标准总线,如RS-232C,RS-422、RS-485和20mA 电流环等。
采用标准接口后,能够方便地把单片机和外设、测量仪器等有机地连接起来,从而构成一个测控系统。
此次开发板采用的是MAX232芯片提供由电脑串口到开发板的+10V到+5V的电平转换。
MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
主要特点为符合所有的RS-232C技术标准,只需要单一 +5V电源供电,片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V- 功耗低,典型供电电流5mA 内部集成2个RS-232C驱动器,内部集成两个RS-232C接收器。
图 1-6 串口通信电路(5)ISP下载电路本次单片机调试是在线编程,直接用下载线将ISP下载电路的JTAG接口与电脑相连,通过ISP编程下载软件将编好的程序直接下装到单片机的Flash中以实现程序功能。
图 1-7 ISP下载电路(6)定时中断电路此开发板定时中断电路主要有四个按键K1、K3、K4、K5,K4、K5与T0和T1相连,另两个K1、K3与INT0和INT1相连。
AT89S52 有6个中断源:两个外部中断(INT0 和INT1),三个定时中断(定时器0、1、2)和一个串行中断。
每个中断源都可以通过置位或清除特殊寄存器IE 中的相关中断允许控制位分别使得中断源有效或无效。
对于AT89S52,IE.5位也是不能用的。
用户软件不应给这些位写1。
定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。
程序进入中断服务后,这些标志位都可以由硬件清0。
中断服务程序必须判定是否是TF2 或EXF2激活中断,标志位也必须由软件清0。
定时器0和定时器1标志位TF0 和TF1在计数溢出的那个周期的S5P2被置位。
定时器2 的标志位TF2 在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。
中断允许控制位=1,允许中断;中断允许控制位=0,禁止中断。
图 1-8 定时中断电路第二章单片机的焊接与调试2.1单片机的焊接这次的的任务主要分为两大块来进行,第一大块是单片机的焊接,就是将各个零部件全部无误的焊接到电路板上面,做成成品的单片机。
而这一次的焊接,我们从拿到零件到焊接完成共花了两天的时间2.1.1焊接技术的要领掌握好电烙铁的温度和焊接时间,选择恰当的烙铁头和焊点的接触位置,才可能得到良好的焊点。
正确的手工焊接操作过程可以分成五个步骤步骤一:准备施焊左手拿焊丝,右手握烙铁,进入备焊状态。
要求烙铁头保持干净,无焊渣等氧化物,并在表面镀有一层焊锡。
步骤二:加热焊件烙铁头靠在两焊件的连接处,加热整个焊件全体,时间大约为1~2秒钟。
对于在印制板上焊接元器件来说,要注意使烙铁头同时接触两个被焊接物。
步骤三:送入焊丝焊件的焊接面被加热到一定温度时,焊锡丝从烙铁对面接触焊件。
注意:不要把焊锡丝送到烙铁头上!步骤四:移开焊丝当焊丝熔化一定量后,立即向左上45度方向移开焊丝。
步骤五:移开烙铁焊锡浸润焊盘和焊件的施焊部位以后,向右上45度方向移开烙铁,结束焊接。
从第三步开始到第五步结束,时间大约也是1~2s2.1.2单片机焊接所需的零件下载器元器件序号名称型号数量说明1 集成电路CH341A 1 SOL-282 电容20p 2 贴片0805 104 2 贴片0805 10uf 1 贴片08053 电阻0 1 贴片0805 50 2 贴片0805 1k 1 贴片08054 发光二极管白发红 1 贴片08055 晶振12MHZ 1 贴片08056 自锁开关自锁开关 1 7*7mm序号名称型号数量说明1 电容20p 2104 62 电解电容100uf 14.7uf 11uf 53 晶振11.0592MHZ 14 电阻10 1200 8430 21k 62k 14.7k 18.2k 110k 15 发光二极管白发红 1白发绿 1白发蓝 16 电阻排430 110k 17 二极管IN4148 18 三极管8550 69 接插件单排 2双排 1USB母座 110 集成电路4106 174HC573 1STC12C5A60S2 1HS0038 1DS12C887 111 温度传感器 DS18B201 12 数码管 MT03641B 1 13 按键 四脚 16 14 自锁开关 1 15 蜂鸣器 5V 1 16IC 座DIP8 1 DIP14 2 DIP16 1 DIP20 1 DIP24 1 DIP40 1 17 液晶模块 Lcd1602 1 18JN12864J2.1.3单片机开发板全图2-1 单片机焊好后全图第三章软件的调试与实现3.1 Keil 的使用打开“Keil uVision”,点击“project”,在弹出的对话窗口中选择“new project”新建工程,建立工程文件。
在弹出的窗口中选择“Atmel”中的“AT89S52”确定后即可添加8051源代码。
选中工程文件右键点“Option for target”再点“Output”“Create HEX”创建HEX文件;点“File”之后点击“NEW”即可在出现的文本框中输入程序,保存路径与工程文件相同,且用英文名,格式为“.c”。
再添加源文件到project。
程序输入完了要保存,编译查看有无错误,有就修改,如果没有,将PC机与单片机用ISP下载线连接起来,USB驱动文件中,选择isp编程下载软件中“progisp”运行程序,在文件夹下选“调入flash”,调入hex文件,之后点击“自动”即可运行程序查看现象。
3.2程序的调试3.2.1检测led灯的亮灭顺序以下为控制led灯亮灭顺序的程序:#include<reg51.h>char i=100;void main(){TMOD=0x01;TH0=0xdc;TL0=0x00;P1=0x00;EA=1;ET0=1;TR0=1;while(1);{;}}void T0_int(void) interrupt 1{TH0=0xdc;TL0=0x00;i--;if(i<=0){P1=~P1;i=100;}}此程序在单片机上运行后的效果为8个LED灯依次每隔一秒钟亮灭,然后从第一个开始又循环刚刚的过程。