单片机(电子稿终稿)

合集下载

义隆单片机指令[终稿]

义隆单片机指令[终稿]

3.2.2. 面向位操作类指令(10条)
3.2.3. 常数操作和控制类指令(22条)
例:MOV A,@0x16 ;将常数0x16送给寄存器A
3.3.2. 直接寻址
若是使用者要存取寄存器的内容,可以在运算码上直接描述。

l 例:将寄存器0X20的内容,COPY到寄存器0X21中。

MOV A, 0X20
MOV 0X21, A
3.3.3. 间接寻址
这种寻址方式是通过寄存器R4来实现的,R4的bit0-5是用来选择寄存器(地址:00-06,0F-3F)
若是使用者所需要存取的寄存器,有位址相邻的特性,使用间接寻址是很方便的。

l 例:写一个程序,將寄存器0X20~0X3F的值都填0。

;设定A = 0X20。

;设定间接寻址寄存器(0X04)
;的內含值为0X20
;清除0X04所指的寄存器。

;递增间接寻址寄存器(0X04)
;设定A=0X04寄存器的值。

;比较间接寻址的位址是否
;以到0X3F。

若是则结束。

;否则在继续。

MOV A, @0X20
MOV 0X04, A
AGAIN:
CLR 0
INC 0X04
MOV A, 0X04
XOR A, 0X3F
JBS 0X03, 2
JMP AGAIN
END:
3.3.
4. 位寻址
这种位寻址是对寄存器中的任一位(bit)进行操作。

例:BS 0x12,2 ;将寄存器0x12的第2位置为“1”。

3.4.EM78指令说明
--> A .--> R。

2024版单片机原理及应用电子版教材pptx

2024版单片机原理及应用电子版教材pptx

输入输出端口(I/O端 口):用于与外部设备进 行数据交换
存储器:包括程序存储器、 数据存储器等,用于存储 程序和数据
定时/计数器:提供精确 的定时或计数功能
9
单片机工作原理
指令系统
单片机所能执行的全部指令的集合
可靠性设计
采取多种措施提高单片机的抗干扰能力和 可靠性
寻址方式
确定操作数地址的方法
低功耗设计
PIC系列
高性能、低功耗的单片机,具有丰富 的外设接口和强大的中断处理能力。
2024/1/25
AVR系列
高速、低功耗的单片机,具有先进的 指令集和丰富的外设接口。
ARM系列
高性能、低功耗的32位单片机,具 有强大的计算能力和丰富的外设接口, 适用于高端应用场合。
6
02
单片机基本原理
2024/1/25
2024/1/25
29
汽车电子控制系统设计
发动机控制
通过单片机控制点火、喷油、气门等执行器,实现对发动 机性能的优化和燃油消耗的降低。
01
车身控制
通过单片机控制车灯、车窗、门锁等车 身部件,提高驾驶的便捷性和安全性。
02
2024/1/25
03
车载信息系统
通过单片机控制车载导航、音响、蓝 牙等设备,提供丰富的车载信息娱乐 功能。
2024/1/25
16
I/O端口扩展
I/O端口类型
包括并行I/O端口、串行I/O端口等,用于与外部设备 或传感器进行数据传输。
扩展方式
通过数据线、控制线与单片机连接,实现I/O端口的 扩展。
端口地址分配
根据单片机的地址空间和I/O端口数量,合理分配端 口地址,确保访问正确。

单片机应用技术C语言课件汇总全书电子教案完整版课件最全幻灯片最新课件电子教案幻灯片

单片机应用技术C语言课件汇总全书电子教案完整版课件最全幻灯片最新课件电子教案幻灯片

一、电源电路 —— 单片机的工作电压
单片机要想工作,首先要有为整个系统提供电源的供电模 块。电源模块的稳定可靠是系统平稳运行的前提和基础。
51系列单片机工作电源的电压一般为+4.5~+5.5 V,典型 值为+5V,即将单片机的VCC脚接+5V电源,GND脚接地。
二、时钟电路 —— 单片机的“心脏”
同时P1口的部分引脚还具有第二功能:
✤ P1.5:MOSI端(用于ISP编程,主出从入数据端)。 ✤ P1.6:MOSO端(用于ISP编程,主入从出数据端)。 ✤ P1.7:SCK端(用于ISP编程,串行时钟输入端)。
3.P2口
P2口为8位准双向I/O口。当用作通用并行I/O口时,其操 作方式与P0、P1口类似,每一位可驱动4个TTL负载。当用于 外接存储器或者扩展I/O接口时,P2口作为扩展的高8位地址 (A8~A15)总线口,与P0口共同构成16位地址总线(A0~ A15)。
ALE/
30
地址锁存允许信号端
四、AT89S51的功能特性
✤兼容MCS-51系列产品。 ✤4KB Flash存储器,支持
在线编程,可反复擦写 1 000次。 ✤ 128B片内RAM。 ✤ 工作电压4.5~5.5 V。 ✤ 全静态时钟0~33 MHz。
✤ 32个双向I/O口线。 ✤ 2个16位定时/计数器。 ✤ 5个中断源,2个中断优
信收发器,也可以当同步移位器使用
中断系统
共含有5个中断源(2个外部中断、2个定时/计数 器中断和1个串行中断),并具有2级的优先级别 选择
时钟电路
需外接晶振和微调电容构成振荡电路,产生单 片机运行的脉冲时序
二、单片机的I/O端口
AT89S51单片机有4个并行的I/O端口,即P0、P1、P2 和P3口。每个端口均由8个引脚(即8位)构成,包括一个 锁存器、一个输出驱动器和一个输入缓冲器。

单片机最终完整版

单片机最终完整版

单片机1.控制8只led,每1秒闪亮一次,利用定时器实现1秒定时。

2.发光二极管从左向右依次1、3闪亮,2、4闪亮,5、7闪亮,6、8闪亮,中间时间间隔500ms,然后为左四个点亮,600ms后熄灭,右四个点亮,500ms后熄灭,循环上述方式。

3.在P.0端口上接一个发光二极管,发光二极管不停的闪烁,一亮一灭的时间间隔为0.4s(相同意思:闪烁周期为1秒,占空比40%)4.8个发光二极管显示0-200进制值,中间间隔为400ms,循环显示。

5.8个发光二极管,依次点亮从右到左间隔400ms,然后停留2s后熄灭,然后从左到右依次点亮,间隔800ms,然后停留3s后熄灭,停止。

6.将单片机的I/O接口连接到一排发光二极管上,使得这排二极管由中间向两端依次点亮,全亮后,保持2s钟,然后,再由中间向两端熄灭,要求每次动作时间间隔为200ms,重复上述过程。

7.P1接一排二极管上,使一排二极管有两端向中间依次点亮,然后再由两边至中间熄灭,熄灭后保持30秒,再依次循环,要求每次动作间隔0.7s,重复上述方式。

8. P1接一排二极管上,四个一组同时由左到右,点亮持续2s,再由右向左依次熄灭,要求每次动作时间间隔为500ms,重复上述方式。

9. P1接一排二极管上,由低位到高位,第一次前两位闪烁点亮5次,间隔500ms 后,轮到下两位闪烁点亮4次,间隔500ms后,轮到下两位闪烁点亮3次,间隔500ms后轮到下两位闪烁点亮2次,间隔500ms,循环上述方式。

10.应用单片机内部定时器T0的工作方式1,输入周期为2s的方波脉冲信号,利用发光二极管显示输出上述位置。

按键+二极管11.连接两个按键,发光二极管全亮,按一个按键时,8个led从左到右熄灭,间隔800ms,按另一个时,8个led从右到左熄灭,间隔600ms。

12.K0按下,流水灯由左向右显示,K1按下,流水灯停止显示。

利用4个独立按键控制led点亮13.主程序执行时,8个led从左到右点亮,当外部中断(按键作为中断源)执行中断,8个led亮灭一次后,左右各四个led同时亮灭,然后执行主程序。

51单片机原理范文

51单片机原理范文

51单片机原理范文单片机是一种集成了微处理器、存储器和输入输出端口等功能单元的微型计算机系统。

它具有体积小、功耗低、性能稳定等特点,因此被广泛应用于嵌入式系统中,如家用电器、工业控制、汽车电子等领域。

本文将介绍单片机的原理及其工作过程。

一、单片机的组成及原理单片机通常由中央处理器(CPU)、存储器、输入输出端口、时钟电路等组成。

中央处理器是单片机的核心,负责执行指令、数据处理等任务;存储器用于存储程序和数据;输入输出端口用于与外部设备进行通信;时钟电路用于提供时钟信号,使单片机按照时序要求进行工作。

单片机的工作原理可以简单描述为:当单片机上电后,中央处理器会从存储器中读取程序,并根据程序指令执行相应的操作。

同时,中央处理器还会处理输入输出设备发送过来的数据,通过输入输出端口与外部设备进行通信。

整个过程是在时钟信号的控制下按照一定的时序顺序进行的。

二、单片机的工作过程1.系统上电初始化:当单片机上电后,首先会进行系统初始化的操作。

这包括清除寄存器、初始化中央处理器、设置时钟频率等步骤。

2.程序执行过程:单片机会按照程序的指令逐条执行操作。

具体步骤包括:从存储器中读取指令、解码指令、执行指令。

在执行指令过程中,中央处理器可能需要访问存储器中的数据,将执行结果保存到寄存器中。

3.输入输出过程:单片机还会处理外部设备发送过来的数据,通过输入输出端口与外部设备进行通信。

这包括从外部设备接收数据、发送数据给外部设备等操作。

4.时钟信号控制:时钟信号的作用是为单片机提供一个统一的时序基准,使处理器和外设按照确定的时间顺序进行工作。

时钟信号的频率决定了单片机的运行速度。

5.中断响应:当出现特定的事件或条件时,单片机可以响应外部中断请求。

中断是一种机制,能够在程序执行过程中暂停当前任务,进行其他任务处理,然后返回到原程序继续执行。

6.系统停机:当程序执行完成或出现故障时,单片机会停止工作,等待下一次启动。

三、单片机的应用场景单片机在嵌入式系统中有着广泛的应用场景。

毕业设计-单片机【范本模板】

毕业设计-单片机【范本模板】

摘要本设计主要设计了一个基于AT89C51单片机的电子时钟。

并在数码管上显示相应的时间。

并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。

应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真.该方法仿真效果真实、准确,节省了硬件资源.同时单片机以AT89C51为核心元件采用LED数码管显示器动态显示“时”,“分",“秒”的现代计时装置。

与传统机械表相比,它具有走时精确,显示直观等特点。

另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。

关键词:数字钟系统;单片机; LED液晶显示器Digital clock systemAbstractThe system uses MCU with time, the school features such as the digital clock, SCM AT89C51 is also used as the core components of the LED digital display dynamic display ”when” and "poin ts” and "seconds" of the modern time device 。

Compared with the traditional mechanical watches, it has a precise path that intuitive, and other characteristics。

In addition a school function, stopwatch function, and the timer function to achieve MCU use of the digital clock with programming flexibility to facilitate the expansion of functional advantages。

单片机课件第1章

单片机课件第1章
发展趋势
未来,随着物联网、人工智能等技术的不断发展,单片机的应用领域将进一步扩展,对单片机的性能、功耗、安 全性等方面的要求也将不断提高。同时,单片机厂商将不断推出更高性能、更低功耗、更安全可靠的单片机产品, 以满足市场需求。
02
单片机基本原理
计算机系统组成
01
02
03
硬件系统
包括中央处理器、存储器、 输入输出设备等
通过外部中断实现按键输入功能,当 按键按下时触发中断,执行相应的中 断服务程序。
定时器应用实例
利用定时器实现LED灯的闪烁功能, 通过定时中断控制LED灯的亮灭时间。
计数器应用实例
利用计数器对外部脉冲信号进行计数, 实现频率测量或转速测量等功能。
综合应用实例
结合中断系统和定时器/计数器实现 复杂的控制功能,如电机控制、温度 控制等。
单片机课件第1章
• 单片机概述 • 单片机基本原理 • 单片机编程语言与开发工具 • 单片机输入输出端口及外设接口技术 • 中断系统与定时器/计数器应用 • 数据存储与扩展技术
01
单片机概述
单片机定义与发展
定义
单片机是一种集成电路芯片,将微处理器、存储器、输入输出接口等计算机主 要部件集成在一块芯片上,构成一个完整的微型计算机系统。
实现单片机与外部设备之 间的数据传
提供精确的定时和计数功 能
允许单片机响应外部或内 部事件,实现实时处理和 多任务操作
单片机工作原理
取指执行
从程序存储器中取出指令,由 CPU解码并执行
控制转移
根据指令中的控制信息,改变 程序执行流程
上电复位
单片机上电后,自动进入复位 状态,初始化内部寄存器
数据处理
汇编语言编程实例:算 术运算、逻辑运算、位 操作

《单片机》55页文档

《单片机》55页文档
55、 为 中 华 之 崛起而 读书。 ——周 恩来
谢谢!
51、 天 下 之 事52、 生 命 不 等 于是呼 吸,生 命是活 动。——卢 梭
53、 伟 大 的 事 业,需 要决心 ,能力 ,组织 和责任 感。 ——易 卜 生 54、 唯 书 籍 不 朽。——乔 特
《单片机》
31、别人笑我太疯癫,我笑他人看不 穿。(名 言网) 32、我不想听失意者的哭泣,抱怨者 的牢骚 ,这是 羊群中 的瘟疫 ,我不 能被它 传染。 我要尽 量避免 绝望, 辛勤耕 耘,忍 受苦楚 。我一 试再试 ,争取 每天的 成功, 避免以 失败收 常在别 人停滞 不前时 ,我继 续拼搏 。
33、如果惧怕前面跌宕的山岩,生命 就永远 只能是 死水一 潭。 34、当你眼泪忍不住要流出来的时候 ,睁大 眼睛, 千万别 眨眼!你会看到 世界由 清晰变 模糊的 全过程 ,心会 在你泪 水落下 的那一 刻变得 清澈明 晰。盐 。注定 要融化 的,也 许是用 眼泪的 方式。
35、不要以为自己成功一次就可以了 ,也不 要以为 过去的 光荣可 以被永 远肯定 。

单片机稿件

单片机稿件

51 单片机水温度控制系统摘要:随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。

本设计以保质、节能、安全和方便为基准设计了一套电热壶水温控制系统,能实现在40℃~90℃范围内设定控制温度,且95℃时高温报警,十进制数码管显示温度,在PC机上显示温度曲线等功能,并具有较快响应与较小的超调。

整个系统核心为SPCE061A,前向通道包括传感器及信号放大电路,按键输入电路;后向通道包括三部分:LED显示电路,上位机通信电路以及控制加热器的继电器驱动电路。

利用SPCE061A的8路10位精度的A/D转换器,完成对水温的实时采样与模数转换,通过数字滤波消除系统干扰,并对温度值进行PID运算处理,以调节加热功率大小。

同时在下位机上通过数码管显示当前温度,通过USB接口传送信息至上位机,可以直接在PC端观察温度的变化曲线,并根据需要进行相应的数据分析和处理,由此完成对水温的采样和控制。

通过验证取得了较满意的结果。

关键词:码分多址、walsh扩频、pn扩频、电路设计、程序设计、目录一.引言 (3)二.基于单片机水温控制系统设计过程 (4)2.1 总体方案论证 (4)2.2 各部分电路方案论证 (5)三.硬件电路设计 (6)3.1 温度检测和变送器 (7)3.2 接口电路 (8)3.3 温度控制电路 (10)3.4 键盘及数字显示结合 (10)3.5 温度设定和传送电路 (11)3.6 单片机控制部分 (12)3.7 键盘及数字显示部分 (12)结束语 (13)参考文献 (14)一.引言在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。

例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。

采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。

单片机毕业设计完整版

单片机毕业设计完整版

安徽工业大学继续教育学院《单片机原理》期末课程设计——单片机计时时钟设计与制作安徽工业大学继续学院《单片机原理》期末课程设计题目:单片机计时时钟设计与制作专业:电气工程及其自动化班级:14 电升*名:***学号:*************指导老师:***成绩:( 2015.12 )页I第安徽工业大学继续教育学院《单片机原理》期末课程设计——单片机计时时钟设计与制作目录一、绪论 (1)1.1单片机简介 (1)二、硬件系统设计方案 (3)2.1 时钟电路的设计 (3)2.2复位电路的设计 (4)2.3 数码显示电路的设计 (5)2.4按键电路的设计 (7)2.5 蜂鸣器电路的设计 (8)2.6接线图 (9)三、软件系统设计方案3.1 模块化设计方案 (10)3.2 主程序的设计 (11)3.3 LED动态显示程序的设计 (14)3.4 计时程序模块的设计 (17)3.5 键盘程序的设计 (19)3.6 蜂鸣器程序的设计 (22)3.7整个程序 (23)四、总结总结与致谢 (28)参考文献 (29)使用说明 (29)第II页安徽工业大学继续教育学院《单片机原理》期末课程设计——单片机计时时钟设计与制作一绪论1.1单片机简介1.1.1单片机的产生计算机的发展经历了从电子管到大规模集成电路等几个发展阶段,随着大规模集成电路技术的发展,使计算机向性能稳定可靠、微型化、廉价方向发展,从而出现了单片微型计算机。

所谓单片微型计算机,是指将组成微型计算机的基本功能部件,如中央处理器CPU、存储器ROM和RAM、输入/输出(I/O)接口电路等集成在一块集成电路芯片上的微型计算机,简称单片机。

总体来讲,单片机可以用以下“表达式”来表示:单片机=CPU+ROM+RAM+I/O+功能部件1.1.2单片机的特点随着现代科技的发展,单片机的集成度越来越高,CPU的位数也越来越高,已能将所有主要部件都集成在一块芯片上,使其应用模式多、范围广,并具有以下特点:①体积小,功耗低,价格便宜,重量轻,易于产品化。

单片机课件完整版

单片机课件完整版

ATMEL公司的单片机89C51等(表1-3)

Winbond的W78C51及W77C51等(表1-4)

SIEMENS、AMD、OKI、DALLAS、宏晶科技的STC
系列、新华龙的C8051Fxx等、MAX

80C51优点(80C51 advantages) :
•①性能价格比高; •②开发装置多; •③国内技术人员熟悉; •④芯片功能够用适用; •⑤有众多芯片制造厂商加盟,可广泛选择。
单片机课件完整版

•杂谈
•课程特 •(Course Feature ) 点
•①知识点既分散又连贯,结构和指令系统是基 础
•②与电子线路尤其是数字电子线路关系密切(硬
件)

本书主要内容
第一章 第二章 第三章 第四章 第五章ntent
绪论 80C51单片微机的基本结构 80C51单片微机的指令系统 80C51单片微机的程序设计 80C51单片微机的中断系统原理及应用 80C51单片微机的定时器/计数器原理及应用 80C51单片微机的串行口原理及应用 80C51单片微机的系统扩展原理及接口技术 单片微机应用系统实例

本次课主要内容:
绪论
▲概念、应用
单片机的基本结构
▲内部资源、辅助电路

•第一章 绪论
•Chapter 1 Introduction

• 1.1 单片微机的发展
•1.2 80C51系列单片微机 • 1.3单片微机的应用
•1.4 本教程的教学安排

1.1 单片微机的发展
•( The development of single-chip microcomputer )
•返回

单片机 文档

单片机 文档

1.如图所示,采用外部中断0,中断申请从INT0输入,并采用了去抖动电路(P230~P232)。

当P1.0~P1.3的任何一位输出为0时,相应的发光二极管就会发光。

当开关S闭合(即S 在1的位置)时,发出中断请求。

中断服务程序的矢量地址为0003H。

ORG 0000HAJMP MAIN ;上电,转向主程序ORG 0003H ;外部中断0入口地址AJMP INSER ;转向中断服务程序ORG 0030H ;主程序MAIN: SETB EX0 ;允许外部中断0中断SETB IT0 ;选择边沿触发方式SETB EA ;CPU开中断SJMP $ ;等待中断ORG 0200H ;中断服务程序INSER:MOV A,#0F0HMOV P1,A ;P1.4~P1.7为输入的准备动作MOV A,P1 ;取开关数SWAP A ;A的高、低四位互换MOV P1,A ;输出驱动LED发光RETI ;中断返回END2. 如图5-15所示,此中断电路可实现系统的故障显示。

当系统的各部分正常工作时,四个故障源的输入均为低电平,显示灯全不亮。

当有某个部分出现故障时,则相应的输入线由低电平变为高电平,相应的发光二极管亮。

源程序如下:ORG 0000HAJMP MAIN ;上电,转向主程序ORG 0003H ;外部中断0入口地址AJMP INSER ;转向中断服务程序MAIN:ANL P1,#55H ;P1.0,P1.2,P1.4,P1.6为输入P1.1,P1.3,P1.5,P1.7为输出SETB EX0 ;允许外部中断0中断SETB IT0 ;选择边沿触发方式SETB EA ;CPU开中断HERE:SJMP HERE ;等待中断INSER:JNB P1.0,L1 ;查询中断源,( P1.0)=0,转L1SETB P1.7 ;是P1.0引起的中断,使相应的二极管亮L1:JNB P1.2,L2 ;继续查询SETB P1.5L2:JNB P1.4,L3SETB P1.3L3:JNB P1.6,L4SETB P1.1L4:RETIEND水塔的水位控制ORG 0030HMAIN: SETB EASETB EX0HERE:SETB P1.0 SETB P1.1 SJMP HEREORG 0200H INSER: CLR P1.0SETB P1.1 ACALL DELAY CPL P1.0CPL P1.1ACALL DELAY RETIDELAY: MOV R0,#200 L1: MOV R1,#12 L2: NOPDJNZ R1,L2 DJNZ R0,L1 RETENDORG 0000HAJMP MAINORG 0030HMAIN: CLR P1.0CLR P1.1LOOP:JnB P3.2,L1CLR P1.0LL:JNB P3.3,L2CLR P1.1SJMP LOOPL1:SETB P1.0SJMP LLL2:SETB P1.1SJMP LOOPEND如图所示:P3.2和P3.3上各接有一只按键,要求它们分别按下K1或K2时,分别使P1口为0或FFH。

单片机完整版

单片机完整版

长春建筑学院设计题目:数字时钟班级:电091姓名:学号:08指导老师:日期:2012 08 23题目名称:数字时钟长春建筑学院电气信息学院项目实现功能:使用TX-1C实验板自带的配件及板上资源设计一个时钟,要求如下:(1)时间显示在1602液晶上,并且按秒实时更新。

(2)能够使用板上的按键随时调节时钟的时、分、秒,按键可设计三个有效键,分别为功能选择键、数值增大键、数值减小键。

(3)每次有键按下时,蜂鸣器都以短“滴”声报警。

(4)利用板上的AT24C02设计实现断电自动保护显示数据的功能,当下次上电时会接上上次断电前的时间数据继续运行。

一、设计方案1、单片机引脚接线单片机的P0.0~P0.7加上拉电阻并与1602液晶的D0~D7连接,通过单片机内部的程序驱动整个系统运行。

2、24C02电路AT24C02电路实现断电保护显示数据的功能,当下次上电时会接着上断电前的时间数据继续运行。

3、1602电路1602的管脚与单片机相连,单片机将数据传送到1602实现时钟的显示功能。

4、蜂鸣器电路通过非门与ULN2003来驱动蜂鸣器5、总仿真电路启动前启动后二、系统调试主控芯片为AT89C52,晶振为11.0592M,由于处理器速度满足全部功能的实现,故用通俗明了的C语言编写源程序。

将程序下载到已经设计好的硬件电路中进行调试,通过不断的纠正和改进,终于实现了时钟的正常显示。

三、C语言程序#include<reg52.h> //包含52单片机头文件#define uchar unsigned char#define uint unsigned intsbit dula=P2^6; //定义锁存器锁存端sbit wela=P2^7;sbit rs=P3^5; //定义1602液晶RS端sbit lcden=P3^4; //定义1602液晶LCDEN端sbit s1=P3^0; //定义按键--功能键sbit s2=P3^1; //定义按键--增加键sbit s3=P3^2; //定义按键--减小键sbit rd=P3^7;sbit beep=P2^3; //定义蜂鸣器端bit write=0; //写24C02的标志;sbit sda=P2^0;sbit scl=P2^1;uchar count,s1num;char miao,shi,fen;uchar code table[]=" 2012-8-21 TUE"; //定义初始上电时液晶默认显示状态void delay0(){ ;; }void start() //开始信号{sda=1;delay0();scl=1;delay0();sda=0;delay0();}void stop() //停止{sda=0;delay0();scl=1;delay0();sda=1;delay0();}void respons() //应答{uchar i;scl=1;delay0();while((sda==1)&&(i<250))i++;scl=0;delay0();}void init_24c02() //IIC初始化函数{sda=1;delay0();scl=1;delay0();}void write_byte(uchar date) //写一个字节函数{uchar i,temp;temp=date;for(i=0;i<8;i++){temp=temp<<1;scl=0;delay0();sda=CY;delay0();scl=1;delay0();}scl=0;delay0();sda=1;delay0();}uchar read_byte() //读一个字节函数{uchar i,k;scl=0;delay0();sda=1;delay0();for(i=0;i<8;i++){scl=1;delay0();k=(k<<1)|sda;scl=0;delay0();}return k;}void write_add(uchar address,uchar date) //指定地址写一个字节{start();write_byte(0xa0);respons();write_byte(address);respons();write_byte(date);respons();stop();}char read_add(uchar address) //指定地址读一个字节{uchar date;start();write_byte(0xa0);respons();write_byte(address);respons();start();write_byte(0xa1);respons();date=read_byte();stop();return date;}void delay(uint z) //延时函数{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void di()//蜂鸣器发声函数{beep=0;delay(100);beep=1;}void write_com(uchar com) //液晶写命令函数{rs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}void write_date(uchar date) //液晶写数据函数{rs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;}void write_sfm(uchar add,uchar date) //写时分秒函数{uchar shi,ge;shi=date/10; //分解一个2位数的十位和个位ge=date%10;write_com(0x80+0x40+add); //设置显示位置write_date(0x30+shi); //送去液晶显示十位write_date(0x30+ge); //送去液晶显示个位}void init()//初始化函数{uchar num;rd=0; //软件将矩阵按键第4列一端置低用以分解出独立按键dula=0; //关闭两锁存器锁存端,防止操作液晶出现乱码wela=0;lcden=0;fen=0; //初始化种变量值miao=0;shi=0;count=0;s1num=0;init_24c02();write_com(0x38); //初始化1602液晶write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80); //设置显示初始坐标for(num=0;num<15;num++) //显示年月日星期{write_date(table[num]);delay(5);}write_com(0x80+0x40+6); //写出时间显示部分的两个冒号write_date(':');delay(5);write_com(0x80+0x40+9);write_date(':');delay(5);miao=read_add(1); //首次上电从AT24C02中读取出存储的数据fen=read_add(2);shi=read_add(3);write_sfm(10,miao); //分别送去液晶显示write_sfm(7,fen);write_sfm(4,shi);TMOD=0x01;//设置定时器0工作模式1TH0=(65536-50000)/256; //定时器装初值TL0=(65536-50000)%256;EA=1; //开总中断ET0=1; //开定时器0中断TR0=1; //启动定时器0}void keyscan() //按键扫描函数{if(s1==0){delay(5);if(s1==0) //确认功能键被按下{ s1num++; //功能键按下次数记录while(!s1); //释放确认di(); //每当有按键释放蜂鸣器发出滴声if(s1num==1) //第一次被按下时{TR0=0; //关闭定时器write_com(0x80+0x40+10);//光标定位到秒位置write_com(0x0f); //光标开始闪烁}if(s1num==2) //第二次按下光标闪烁定位到分钟位置{write_com(0x80+0x40+7);}if(s1num==3) //第三次按下光标闪烁定位到小时位置{write_com(0x80+0x40+4);}if(s1num==4) //第四次按下{s1num=0; //记录按键数清零write_com(0x0c); //取消光标闪烁TR0=1; //启动定时器使时钟开始走}}}if(s1num!=0) //只有功能键被按下后,增加和减小键才有效{if(s2==0){delay(5);if(s2==0) //增加键确认被按下{while(!s2); //按键释放di(); //每当有按键释放蜂鸣器发出滴声if(s1num==1) //若功能键第一次按下{miao++; //则调整秒加1if(miao==60)//若满60后将清零miao=0;write_sfm(10,miao);//每调节一次送液晶显示一下write_com(0x80+0x40+10);//显示位置重新回到调节处write_add(1,miao); //数据改变立即存入24C02 }if(s1num==2)//若功能键第二次按下{fen++;//则调整分钟加1if(fen==60)//若满60后将清零fen=0;write_sfm(7,fen);//每调节一次送液晶显示一下write_com(0x80+0x40+7);//显示位置重新回到调节处write_add(2,fen);//数据改变立即存入24C02}if(s1num==3)//若功能键第三次按下{shi++; //则调整小时加1if(shi==24) //若满24后将清零shi=0;write_sfm(4,shi);;//每调节一次送液晶显示一下write_com(0x80+0x40+4);//显示位置重新回到调节处write_add(3,shi);//数据改变立即存入24C02}}}if(s3==0){delay(5);if(s3==0) //确认减小键被按下{while(!s3); //按键释放di(); //每当有按键释放蜂鸣器发出滴声if(s1num==1) //若功能键第一次按下{miao--; //则调整秒减1if(miao==-1) //若减到负数则将其重新设置为59miao=59;write_sfm(10,miao);//每调节一次送液晶显示一下write_com(0x80+0x40+10);//显示位置重新回到调节处write_add(1,miao);//数据改变立即存入24C02}if(s1num==2) //若功能键第二次按下{fen--; //则调整分钟减1if(fen==-1) //若减到负数则将其重新设置为59fen=59;write_sfm(7,fen); //每调节一次送液晶显示一下write_com(0x80+0x40+7);//显示位置重新回到调节处write_add(2,fen);//数据改变立即存入24C02}if(s1num==3) //若功能键第二次按下{shi--; //则调整小时减1if(shi==-1) //若减到负数则将其重新设置为23shi=23;write_sfm(4,shi);//每调节一次送液晶显示一下write_com(0x80+0x40+4);//显示位置重新回到调节处write_add(3,shi);//数据改变立即存入24C02}}}}}void main() //主函数{init(); //首先初始化各数据while(1) //进入主程序大循环{keyscan(); //不停的检测按键是否被按下}}void timer0() interrupt 1 //定时器0中断服务程序{TH0=(65536-50000)/256; //再次装定时器初值TL0=(65536-50000)%256;count++; //中断次数累加if(count==20) //20次50毫秒为1秒{count=0;miao++;if(miao==60) //秒加到60则进位分钟{miao=0; //同时秒数清零fen++;if(fen==60) //分钟加到60则进位小时{fen=0; //同时分钟数清零shi++;if(shi==24) //小时加到24则小时清零{shi=0;}write_sfm(4,shi); //小时若变化则重新写入write_add(3,shi); //数据改变立即存入24C02 }write_sfm(7,fen); //分钟若变化则重新写入write_add(2,fen); //数据改变立即存入24C02 }write_sfm(10,miao); //秒若变化则重新写入write_add(1,miao); //数据改变立即存入24C02 }}四、实物图准备阶段完成品正面背面五、设计总结设计的总结:通过这次时钟的设计,使我更能熟练的掌握单片机的知识:本次设计中涉及51单片机、1602液晶以及单片机的最小系统等等。

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

课程设计报告课程设计题目:数字时钟设计姓名:陈海斌专业:核工程与核技术学号:2011200402022014年 1 月7日摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

本次设计中以单片机的发展过程和发展方向为背景,介绍了单片机的输入输出的工作原理和操作方法,中断的工作原理和操作方法,74LS245译码器的工作原理和与,LED连接的方法。

本次做的数字钟是以单片机(AT89C51)为核心,结合相关的元器件(共阴极LED数码显示器、BCD-锁存/7段译码/驱动器74LS245等),再配以相应的软件,是它具有时,分,秒显示的功能,并且时,分,秒还可以调整。

此次设计电子数字钟是为了了解电子数字钟的原理,从而学会制作电子数字钟。

而且通过电子数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法。

通过它可以进一步学习与掌握单片机原理与使用方法。

关键词:单片机 AT89C51 共阴极LED数码显示器 74LS245译码器一数电字子钟的背景、意义、应用20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。

忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。

但是,一旦重要事情,一时的耽误可能酿成大祸。

目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。

下面是单片机的主要发展趋势。

单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。

从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。

这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。

单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。

诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟及扩大其应用,有着非常现实的意义。

数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。

由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时自动报时及自动控制的领域。

二单片机和数字钟的基本知识2.1应用知识简介51单片机:单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

作为嵌入式系统控制核心的单片机具有其体积小、功能全、性价比高等诸多优点。

51 系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51 系列单片机的发展又进入了一个新的阶段。

在今后很长一段时间内51 系列单片机仍将占据嵌入式系统产品的中低端市场。

汇编语言:汇编语言是一种面向机器的计算机低级编程语言,通常是为特定的计算机或系列计算机专门设计的。

汇编语言保持了机器语言的优点,具有直接和简捷的特点,其代码具有效率高实时性强等优点。

但是对于复杂的运算或大型程序,用汇编语言编写将非常耗时。

汇编语言可以与高级语言配合使用,应用十分广泛。

ISPISP(In-System Programming)在系统可编程,是当今流行的单片机编程模式,指电路板上的空白元器件可以编程写入最终用户代码,而不需要从电路板上取下元器件。

已经编程的器件也可以用ISP 方式擦除或再编程。

本次课程设计便使用ISP 方式,直接将编写好的程序下载到连接好的单片机中进行调试。

2.2单片机数字钟的基本原理它是利用单片机的内部的定时/计数器工作与定时方式,对机器周期计数形成基准时间(如10ms)然后用另外一个计数器或软件计数的形式对基准时间进行计数形成秒(如对10ms 计数100次),“秒”计数60次“分”,“分”计数60次形成“时”,“时”计数24次满一天清零,然后通过译码器,数码管把他们的内容在相应的位置显示出来。

在具体的设计时定时器采用中断方式工作,对时钟的形成在终中断序中实现,在主程序只是对定时/计数器的定义初始化,调用显示程序和控制程序的初始化。

另外为了使用的方便,也设计了按键,可以通过按键对时分秒进行调整,这样程序就加了按键程序。

三系统硬件电路的设计3.1 单片机的基本结构MCS-51单片机内部结构:8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

数据存储器(RAM)8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

图3-1 单片机8051的内部结构程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。

MCS-51的引脚说明:MCS-52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

现在我们对这些引脚的功能加以说明:MCS-51的引脚说明:MCS-52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

现在我们对这些引脚的功能加以说明:图3-2 单片机的引脚Pin9:RESET/V pd复位信号复用脚,当8052通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。

初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。

RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。

然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8052的初始态。

3.2 74LS245 引脚图及功能:总线驱动器74LS245经常用作三态数据缓冲器,74LS245为双向三态数据缓冲器。

单向的内部有8个三态驱动器,分成两组,分别由控制端 1G 和2G 控制;双向的有16个三态驱动器,每个方向8个。

在控制端G 有效时( G 为低电平),由DIR端控制驱动方向:DIR为“1”时方向从左到右(输出允许),DIR为“0”时方向从右到左(输入允许)。

74LS245的引脚图。

G=0,DIR=0,B->A;G=0, DIR=1, A->B;G=1, DIR=X, X=0或者1,输入和输出均为高阻态;高阻态的含意就是相当于没有这个芯片74LS245是8路3态双向缓冲驱动,也叫做总线驱动门电路或线驱动。

主要使用在数据的双向缓冲,原来常见于51的数据接口电路,比如,早期电路中,扩展了很多的8255/8155/8251/8253/573等芯片的时候,担心8031的数据驱动能力不足,就使用一片74LS245作为数据缓冲电路,增强驱动能力;也常见与ISA卡的接口电路.3.3七段数码管的引脚图及使用:数码管使用条件:a、段及小数点上加限流电阻。

b、使用电压:段:根据发光颜色决定;小数点:根据发光颜色决定。

c、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 4-5mA 峰值电流 100m A上面这个只是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的。

LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。

右图是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。

将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。

以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。

当然,LED的电流通常较小,一般均需在回路中接上限流电阻。

假如我们将"b"和"c"段接上正电源,其它端接地或悬空,那么"b"和"c"段发光,此时,数码管显示将显示数字“1”。

而将"a"、"b"、"d"、"e"和"g"段都接上正电源,其它引脚悬空,此时数码管将显示“2”。

其它字符的显示原理类同。

第四章软件程序的设计4.1 软件程序内容本设计的软件程序包括主程序、中断子程序、打铃子程序、时钟显示子程序、查询时间表切换程序和延时子程序等等。

相关文档
最新文档