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

更新时间:2023-08-26 23:41:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

关于电子时钟。供参考。

苏 州 市 职 业 大 学

课程设计说明书

名称 2012年6月4日至2012年6月8日(1周)

院 系 电子信息工程系 班 级 姓 名

系 主 任 教研室主任

指导老师

关于电子时钟。供参考。

苏 州 市 职 业 大 学

课程设计任务书

课程名称: 单片机原理及应用课程设计 起止时间: 院 系: 电子信息工程系 班 级: 指导教师: 系 主 任:

关于电子时钟。供参考。

一、 课程设计课题 基于单片机的电脑钟的设计

二、 课程设计要求

1. 掌握 proteus 软件的使用方法。 2. 理解单片机的时钟的显示方法。 3. 明确设计指标,写出设计方案,设计出硬件原理图。 4. 基于硬件的软件的设计与调试。 5. 向指导教师演示,由教师提问及验收通过。 6. 打印程序清单,写程序说明,完成课程设计报告书,进行分组讨论, 写设计心得。

关于电子时钟。供参考。

三、 课程设计工作任务安排

1. 周一: 明确课程设计目标和任务, 熟悉单片机系统调试软件仿真实现。 2. 周二:明确设计指标,设计电路原理图。 3. 周三、周四:基于硬件的软件设计与调试。 4.周五:学生演示设计调试结果,教师提问验收。打印程序清单,写程 序说明,完成课程设计报告书。

四、 课程设计说明书内容(有指导书的可省略)

1 . 单片机结构、原理。 2 . 电脑钟硬件设计(原理图,原理图分析) 。 3 . 软件设计(软件简介,调试过程) 。 4 . 硬件、软件程序清单。

关于电子时钟。供参考。

目录

第一章 电子时钟 ................................................................................... 1

1 1 .................................................................................... 1 1.2电子时钟的工作原理 ............................................................................................ 2

第二章 单片机的概述 .................................................................................................. 3

................................................................................................ 3 2.1.1指令概述...................................................................................................... 3 .............................................................................................. 3 2.2单片机的结构....................................................................................................... 3 4 ................................................................................................. 4 .............................................................................................. 4 5 2.3.1 AT89c51管脚特性 ........................................................................................ 5 ........................................................................................... 6 .............................................................................................. 6

第三章 显示器的介绍 .................................................................................................. 7

7 3.2 LED显示器的显示方式 ........................................................................................ 7

第四章 电子时钟的软件设计 ...................................................................................... 8

8 ........................................................................................... 8 8 4.2.1主程序 ......................................................................................................... 8 4.3程序设计步骤..................................................................................................... 12 .......................................................................................... 12

第五章 电子时钟的硬件设计 .................................................................................... 13

5.1 proteus软件的简介 ............................................................................................. 13 5.1.2 proteus软件与protel软件的区别................................................................. 13 .............................................................................................................. 14

关于电子时钟。供参考。

5.3 电路模块........................................................................................................... 14 .................................................................................................... 14 5.3.2 按键电路 ................................................................................................... 15 ................................................................................................ 15

5.4硬件测试结果..................................................................................................... 16 .................................................................................................................. 16 .................................................................................................................. 17 .................................................................................................................. 18 .................................................................................................................. 19

第六章 实验心得 ........................................................................................................ 26 附录 参考文献

关于电子时钟。供参考。

第一章 电子时钟

1957年,Vebtura发明了世界上第一个电子表,奠定了电子时钟发展的基础,从此,电子时钟开始迅速发展。现代的电子时钟是基于单片机的一种计时工具。利用延时程序产生的一定的时间中断定义一秒,计数方式是满十六秒,分钟进一,满六十分钟,小时进一,满二十四小时清零。进而实现计时的功能,成为人民生活中不可或缺的工具。

1.1电子时钟的结构

1.1.1电子时钟的组成

电子时钟的组成较为简单,生产工艺也较为容易,它以单片机为核心,进行工作的,晶振作为时钟脉冲输入脉冲序列,同时还有四个按键,一个作为调秒按键、一个作为调分按键、一个作为调时按键,除此之外,还有一个共阳极的显示器,显示时分秒,另外还有一些电阻。

1.1.2电子时钟的基本特点

关于电子时钟。供参考。

现在高精度的计时工具大多数都使用了石英晶体振荡器,走时精度高,稳

定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

1.2电子时钟的工作原理

该电子时钟由89C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中两个控制键功能直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而另一按键按下又放松,则可实现小时的调节,同样每按一次小时加一。

关于电子时钟。供参考。

第二章 单片机的概述

单片机全称为单片机微型计算机(Single Chip Microsoftcomputer)。从应用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。

2.1单片机的工作原理

单片机是通过执行指令来工作的,执行不同的程序就能完成不同的任务。,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。

2.1.1指令概述

指令是规定单片机执行某种操作的命令,CPU就是根据指令来指挥和控制计算机各扑粉协调地工作,完成规定的操作。指令时二进制代码表示的,通常指令分为操作码和操作数两部分。操作码规定操作的类型,操作数给出参加操作的数据或存放数据的地址。计算机全部指令的集合成为指令系统。指令系统的性能和计算机硬件密切相关,不同的计算机指令系统完全不同。

2.1.2 CPU工作原理

在执行程序中起关键作用的就是CPU。CPU主要是由运算器和控制器这两

部分组成,控制器根据指令码产生控制信号,使运算器、存储器、输入/输出端口之间四栋协调地工作;运算器进行运算、逻辑运算以及位操作处理等。

2.2单片机的结构

单片机主要由存储器、定时/计数器、输入/输出端口组成。

关于电子时钟。供参考。

2.2.1存储器

存储器分为程序存储器和数据存储器。

1.程序存储器

所有带处理器的系统都采用程序存储器,但设计工程师必须决定这个存储器是位于处理器内部还是外部。在做出了这个决策之后,设计工程师才能进一步确定存储器的容量和类型。当然有的时候,微控制器既有内部程序存储器也有外部寻址总线,此时设计工程师可以选择使用它们当中的任何一个,或者两者都使用。这就是为什么为某个应用选择最佳存储器的问题,常常由于微控制器的选择变得复杂起来,以及为什么改变存储器的规模也将导致改变微控制器的选择的原因。

2.数据存储器

与程序存储器类似,数据存储器可以位于微控制器内部,或者是外部器件,但这两种情况存在一些差别。有时微控制器内部包含SRAM(易失性)和EEPROM(非易失)两种数据存储器,但有时不包含内部EEPROM,在这种情况下,当需要存储大量数据时,设计工程师可以选择外部的串行EEPROM或串行闪存器件。当然,也可以使用并行EEPROM或闪存,但通常它们只被用作程序存储器。

2.2.2定时/计数器

定时/计数器是一种课编程部件,它不会自动工作,必须通过软件确定它的工作方式,并启动它开始工作。所以在定时/计数开始工作之前,CPU必须将一些命令写入定时/计数器。将控制字写入定时/计数器的过程叫定时/计数器的初始化。在初始化程序中,要将工作方式控制字写入方式寄存器,工作状态控制字写入控制寄存器,赋定时/计数初值。

2.2.3输入/输出端口

输入输出设备是计算机系统的重要组成部分,文字、声音、图像等媒体信息通过输入设备进入计算机,计算机经过加工、处理后,由输出设备输出到屏幕或纸张、磁盘、光盘等介质中保存。

输入设备包括键盘、鼠标、手写板、扫描仪、光电阅读机、磁盘或光盘等. 输出设备包括显示器、打印机、绘图仪、扬声器、磁盘或光盘等。

关于电子时钟。供参考。

2.3 AT89C51简介

2.3.1 AT89c51管脚特性

1. VCC:供电电压。 2. GND:接地。

3. P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

4. P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

5. P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当

关于电子时钟。供参考。

对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

6. P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为

输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。

7. RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

8. ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

9. PSEN:外部程序存储器的选通信号。

2.3.2 AT89C51的特点

1.它能够与MCS-51 兼容,

2.内含4K字节可编程闪烁存储器 3.寿命:1000写/擦循环 4.数据保留时间:10年 5.全静态工作:0Hz-24Hz 6.三级程序存储器锁定 7. 128*8位内部RAM 8. 32可编程I/O线

9.两个16位定时器/计数器 10. 5个中断源 11.可编程串行通道

12.低功耗的闲置和掉电模式 13.内含片内振荡器和时钟电路

2.3.3 AT89C51优点

指令简单,易学易懂,外围电路简单,硬件设计方便,io口操作简单,无方向寄存器,资源丰富,一般设计足够用了,价格便宜、容易购买,资料丰富容易查到,程序比较简单

关于电子时钟。供参考。

第三章 显示器的介绍

3.1显示器主要有LED (发光二级管显示器)和LCD(液晶显示器)。

这两种显示器具有耗电省、配置灵活、线路简单、安装方便、耐振动、寿命长等优点。两者相比,LED显示器价格更低廉,结构更简单,LCD显示器功耗更低,显示清晰度更高。

3.2 LED显示器的显示方式

1.静态显示是指显示器显示某个字符时相应的一直导通或截止,直至变换为其他字符。动态扫描显示方式就是把个显示器的相同段选并联在一起,由一个8位输入/输出端口控制,其公共端由其他相应的输入/输出端口控制,然后采用扫描方法轮流点亮各位LED,使每位分别显示该为应该显示的字符。

2.动态扫描式显示接口虽然硬件简单,但在使用时必须反复循环显示,若CPU需做其他操作,只能插入循环程序中,这就降低了CPU的工作效率。

关于电子时钟。供参考。

第四章 电子时钟的软件设计

4.1 Keil 软件的介绍

4.1.1 Keil软件的特点

1. Keil是一种编程仿真软件。

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。

2. Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

4.2电子时钟的软件设计流程

4.2.1主程序

MAIN:MOV TMOD,#16H

MOV TH1, #3CH MOV TL1, #0B0H MOV TH0,#0FFH MOV TL0,#0FFH MOV R5,#00H MOV R6,#00H MOV R7,#20

MOV TCON,#05H

MOV R4,#00H

关于电子时钟。供参考。

SETB TR1 SETB ET1 SETB EA SETB TR0 CLR EX0 CLR EX1 CLR ET0 MOV SP ,#60H LOOP: MOV a,R4 MOV b,#10 DIV ab

MOV DPTR,#0300H MOVC a,@a+DPTR MOV P0,a MOV P1,#40H LCALL DELAY MOV P0,#0FFH MOV a,b

MOVC a,@a+DPTR MOV P1,#80H

MOV P0,a

LCALL DELAY MOV P0,#0FFH MOV P2,#0FFH

JNB P2.0,TIAOJIE

LCALL DELAY MOV P0,#0FFH MOV a,R5 MOV b,#10 DIV ab

MOV DPTR,#0300H MOVC a,@a+DPTR MOV P0,a MOV P1,#08H LCALL DELAY MOV P0,#0FFH MOV a,b

MOVC a,@a+DPTR MOV P1,#10H MOV P0,a

LCALL DELAY MOV P0,#0FFH

关于电子时钟。供参考。

MOV P2,#0FFH JNB P2.0,TIAOJIE

MOV P1,#20H MOV P0,#0F6H LCALL DELAY MOV P0,#0FFH MOV a,R6 MOV b,#10 DIV ab

MOV DPTR,#0300H MOVC a,@a+DPTR MOV P0,a MOV P1,#01H LCALL DELAY MOV P0,#0FFH MOV a,b

MOVC a,@a+DPTR MOV P1,#02H MOV P0,a LCALL DELAY MOV P0,#0FFH MOV P2,#0FFH JNB P2.0,TIAOJIE MOV P1,#04H MOV P0,#0F6H LCALL DELAY MOV P0,#0FFH LJMP LOOP TIAOJIE: CPL ET1 CPL ET0 CPL EX0 CPL EX1 LJMP LOOP

4.2.2中断服务程序

ZJ:PUSH ACC

MOV TH1,#3CH MOV TL1,#0B0H

MOV R7,#20 DJNZ R7,FANHUI INC R4 MOV A,R4

关于电子时钟。供参考。

CJNE A,#60,FANHUI

MOV R4,#00H INC R5

MOV A,R5 MOV R5,#00H INC R6 MOV A,R6 MOV R6,#00H RETI ORG 0200H MIAO:CLR EA INC R4 SETB EA RETI SHI:CLR EA INC R6 SETB EA RETI FEN:CLR EA INC R5 SETB EA RETI

中断服务方框图

关于电子时钟。供参考。

4.3程序设计步骤

1.打开keil软件,出现keil软件操作窗口

2.找到project,点击new project,选择atmel中的at89c51芯片

3.新建一个text窗口,保存到开始的文件夹中,后缀名为:.asm 4.在界面的左上角打开source group添加刚才保存的文件 5.在新建的界面内输入程序,并检测无错误

6.点击project选择options for target选择at89c51芯片,同时设置晶振的主频为12MHZ并创建一个(.HEX)文件

4.4系统仿真与实验测试

关于电子时钟。供参考。

第五章 电子时钟的硬件设计

5.1 proteus软件的简介

Proteus是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。

5.1.1 proteus软件的特点

①全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。

②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。③ 目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。④ 支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真51、AVR、PIC。

5.1.2 proteus软件与protel软件的区别

Protel主要用于画原理图和PCB;Proteus主要用于仿真,当然也可以画PCB。

本文来源:https://www.bwwdw.com/article/t9mi.html

Top