单片机秒表课程设计报告

合集下载

单片机时钟秒表课程设计报告

单片机时钟秒表课程设计报告

单片机的时钟设计小组成员:班级:课程老师:目录一、硬件结构 (3)1硬件原理 (3)1 89C52 (3)1.1硬件原理 (3)1.2 主要功能特性 (3)1.3 管脚说明 (4)1.4振荡器特性 (5)1.5结构特点 (5)2、数码管 (6)2.1数码管分类 (6)2.2数码管结构 (7)2.3驱动方式 (8)3、排阻 (9)3.1排阻的作用 (9)3.2排阻引脚说明 (9)4、晶振 (10)4.1晶振构成 (10)4.2工作原理 (11)4.3功能作用 (11)二、软件结构概述 (12)1、显示子程序 (12)2、键盘扫描子程序 (13)3、中断程序 (16)4、流程图 (18)三、调试过程 (20)四、心得体会 (22)五、参考文献 (23)六、硬件电路图 (23)七、程序清单 (25)一、硬件结构概述1、89C521.1硬件原理89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司可靠的CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。

它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。

89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。

在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。

掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。

89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。

1.2 主要功能特性·标准MCS-51内核和指令系统· 32个双向I/O口· 3个16位可编程定时/计数器·向上或向下定时计数器· 6个中断源·全双工串行通信口·空闲和掉电节省模式·片内8kROM(可扩充64kB外部存储器)· 256x8bit内部RAM(可扩充64kB外部存储器)·时钟频率3.5-12/24/33MHz·改进型快速编程脉冲算法· 5.0V工作电压·布尔处理器· 4层优先级中断结构·兼容TTL和CMOS逻辑电平· PDIP(40)和PLCC(44)封装形式·—帧错误侦测·—自动地址识别1.3 管脚说明VCC:供电电压。

51单片机秒表课程设计

51单片机秒表课程设计

51单片机秒表课程设计一、课程目标知识目标:1. 理解51单片机的基本原理,掌握其编程方法;2. 学习并掌握定时器/计数器在51单片机中的应用,理解其工作原理;3. 了解秒表的功能需求,掌握秒表的程序设计方法。

技能目标:1. 能够独立完成51单片机的程序编写,具备基本的编程能力;2. 能够运用定时器/计数器进行计时,完成秒表的实时显示功能;3. 能够分析和解决程序运行过程中出现的问题,具备一定的调试能力。

情感态度价值观目标:1. 培养学生的团队协作精神,提高沟通与交流能力;2. 增强学生对电子制作的兴趣,激发创新意识;3. 培养学生严谨、细心的学习态度,养成良好的编程习惯。

分析课程性质、学生特点和教学要求,将课程目标分解为以下具体学习成果:1. 学生能够掌握51单片机的基本原理和编程方法;2. 学生能够运用定时器/计数器实现秒表的计时功能;3. 学生能够通过团队协作,共同完成秒表的程序设计和调试;4. 学生能够对编程过程中遇到的问题进行分析和解决,提高自身调试能力;5. 学生能够体验电子制作的乐趣,培养创新意识和严谨、细心的学习态度。

二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 51单片机基础知识:- 单片机概述与51单片机的结构原理;- 51单片机的寄存器、I/O口及其编程方法;- 定时器/计数器的工作原理与应用。

2. 秒表功能需求分析:- 秒表的功能定义与需求分析;- 电路设计与硬件连接;- 软件设计框架及流程图。

3. 定时器/计数器的应用:- 定时器/计数器的工作模式;- 定时器/计数器的编程实现;- 秒表计时功能的具体实现。

4. 程序编写与调试:- 51单片机程序结构;- 程序编写技巧与调试方法;- 秒表程序编写与功能测试。

5. 教学案例与实战:- 案例分析:经典秒表程序剖析;- 实战练习:学生分组进行秒表的程序编写与调试;- 成果展示与评价。

教学内容安排和进度:第一课时:51单片机基础知识学习;第二课时:秒表功能需求分析与电路设计;第三课时:定时器/计数器的应用;第四课时:程序编写与调试;第五课时:教学案例与实战。

单片机课程设计_基于单片机的数字秒表设计

单片机课程设计_基于单片机的数字秒表设计

单片机课程设计_基于单片机的数字秒表设计在当今科技迅速发展的时代,电子设备的应用无处不在,其中数字秒表作为一种常见的计时工具,具有广泛的应用场景,如体育比赛、科学实验、工业生产等。

本次课程设计旨在基于单片机技术实现一个数字秒表,通过对硬件电路的设计和软件程序的编写,掌握单片机系统的开发流程和方法,提高实践动手能力和解决问题的能力。

一、设计要求1、能够实现秒表的启动、暂停、复位功能。

2、计时精度达到 001 秒。

3、能够通过数码管显示计时结果。

二、系统方案设计1、硬件设计单片机选型:选用常见的 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。

显示模块:采用 8 位共阴极数码管作为显示器件,通过动态扫描的方式实现数字的显示。

按键模块:设置三个独立按键,分别用于启动、暂停和复位操作。

时钟模块:使用单片机内部的定时器/计数器产生精确的时钟信号,实现计时功能。

2、软件设计主程序:负责系统的初始化、按键扫描和计时处理等。

中断服务程序:利用定时器中断实现 001 秒的定时,更新计时数据。

三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。

晶振频率选择 12MHz,为单片机提供时钟信号。

复位电路采用上电复位和手动复位相结合的方式,确保系统能够可靠复位。

2、显示电路将 8 位数码管的段选引脚通过限流电阻连接到单片机的 P0 口,位选引脚通过三极管连接到单片机的 P2 口。

通过动态扫描的方式,依次点亮每个数码管,实现数字的显示。

3、按键电路三个按键分别连接到单片机的 P10、P11 和 P12 引脚,采用低电平有效。

当按键按下时,相应引脚的电平被拉低,单片机通过检测引脚电平的变化来判断按键的操作。

四、软件程序设计1、主程序流程系统初始化后,进入主循环。

在主循环中,不断扫描按键状态,如果检测到启动按键按下,则启动计时;如果检测到暂停按键按下,则暂停计时;如果检测到复位按键按下,则将计时数据清零。

单片机秒表设计课程设计报告

单片机秒表设计课程设计报告

单片机课程设计报告设计课题:秒表设计目录一、课程设计目的和意义和主要功能1、目的意义2、主要功能二、方案设计与论证1、时钟电路2、按钮电路3、显示电路4、单片机三、硬件电路设计1、STC89C52RC单片机的简单介绍2、接口电路3、硬件连线图四、软件设计:数字秒表流程图、数字秒表源程序五、性能分析六、结论和心得附件(源程序)电子秒表设计摘要:本次设计主要是用STC89C52RC设计一个2位的数码作为“秒表”。

主要是利用单片机的定时器/计数器定时和计数原理来设计简单的计时器系统,拥有正确的启动停止、时间调整,启动停止清零通过键盘按键控制,并同时可以用数码管显示数字0-59,每秒自动加1,能正确地进行计时。

其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,延时程序等,并在keil中调试运行,硬件系统利用单片机开发板能来实现,简单且易于观察,在现实生活中应用广泛,具有现实意义。

关键字:单片机定时器启动停止时间调整数码管键盘一、课程设计目的和意义和主要功能1、目的意义1、通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

2、掌握定时器、外部中断的设置和编程原理。

3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。

2、主要功能显示时间为0-59秒,每1秒自动加1,另外设计一个“启动/停止”键、一个“时间调整”键。

能用按钮实现秒表启动、停止、时间调整。

二、方案设计与论证1、方案设计本设计要求进行计时并在数码管上显示时间,分为时钟电路、按钮电路、显示电路和单片机四大部分,这些模块中单片机占主控地位。

其模块电路如图2-1所示。

(1)、时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。

时钟电路如图所示,时钟电路的晶振频率越高,系统的时钟频率越高,单片机的运行速度也就越快。

晶振频率根据设计需要设为12MHz,又根据谐振性质,电路中的电容C1、C2选择为30pF左右。

基于51单片机的秒表设计报告

基于51单片机的秒表设计报告

课程名称:微机原理课程设计题目:基于51单片机的秒表设计随着社会的发展,单片机已经渗透到我们生活中的各个领域,广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等。

本设计就是由单片机STC89C52RC芯片和四位一体LED数码管为核心,辅以必要的电路,构成了一个单片机电子秒表。

秒表是一种常用的测试仪器,它可以用在百米赛跑等需要精确计时的地方,为人们的生活提供了很大的方便。

该单片机电子秒表布置合理,全部器件分布在7*9cm洞洞板上,看起来小巧精简。

采用的是单片机内部定时/计数器计时,走时非常精确而且不易出错。

0.56英寸的四位数码管发出红光,可以直观地显示时间。

一个控制按键就可以控制秒表的计数与停止,按一下控制键,秒表工作状态就由计时变为计时变为停止或停止变为计时,按一下清零键就可以清零,操作非常简单。

由于是四位数码管,它的计时周期为100秒,显示满刻度为99:99秒,从左往右数共四位,前两位显示整数部分,后两位显示小数部分,中间两个个秒闪灯(秒闪灯一直亮)。

关键词:秒表,51单片机,C语言一、设计任务与要求 (18)1.1 设计任务 (18)1.2 设计要求 (18)二、方案总体设计 (19)2.1 方案一 (19)2.2 方案二 (19)2.3 系统采用方案 (19)三、硬件设计 (21)3.1 单片机最小系统 (21)3.2 数码管显示模块 (21)3.3 系统电源 (22)3.4 整体电路 (22)四、软件设计 (24)4.1 keil软件介绍 (24)4.2 系统程序流程 (24)五、仿真与实现 (27)5.1 proteus软件介绍 (27)5.2 仿真过程 (27)5.3 实物制作与调试 (29)5.4 使用说明 (30)六、总结 (32)6.1设计总结 (32)6.2经验总结 (20)七、参考文献 (21)一、设计任务与要求1.1 设计任务1).对更多小器件的了解2).巩固51单片机和C语言的知识,熟悉单片机和C语言的实际操作运用3).掌握仿真软件的运用和原理图的绘制4).加深焊接的技巧,提高焊接的能力5).熟悉调试方法和技巧,提高解决实际问题的能力6).熟悉设计报告的编写过程1.2 设计要求1).清零键进行清零2).一个独立按键进行停止与运行的操作3).秒闪灯一直亮二、方案总体设计设计一个基于51单片机的秒表。

单片机 秒表课程设计

单片机 秒表课程设计
MOV A,74H
CJNE A,#0,HH
MOV A,73H
CJNE A,#0,HH
MOV A,72H
CJNE A,#0,HH
MOV A,70H
CJNE A,#0,HH
CLR P0.7;蜂鸣
CLR TR0
CLR ET0;T0关中断
MOV 70H,#00H;重新赋值
MOV 71H,#0AH
MOV 72H,#00H
INC 72H
LL1:
MOV TH0,#3CH
MOV TL0,#0B0H
JNB P3.1,DAOJISHI;P3.1倒计时
INC 70H
MOV A,70H
CJNE A,#0AH,XIAN0
MOV 70H,#00H
INC 72H
XIAN0:
MOV A,72H
CJNE A,#0AH,XIAN1
MOV 72H,#00H
单片机课程设计报告书
课题名称
秒表
姓 名
学 号
院、系、部
电气工程系
专 业
指导教师
秒表
一、设计目的
本次设计是以单片机为基础,设计一个可以实现启动,暂停,继续,复位,可选择正计时,倒计时。四位显示,精确到0.1(999.9)的秒表。目的是学习和掌握单片机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
INC 73H
XIAN1:
MOV A,73H
CJNE A,#0AH,XIAN2

单片机秒表课程设计报告

单片机秒表课程设计报告

单片机秒表课程设计报告㈠设计任务及要求秒表系统设计——用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~59秒,每秒自动加一。

另设计一个“开始”按键和一个“暂停”按键。

实验要求通过单片机的定时器/计数器定时和计时原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可用数码管显示。

(二)设计思路分析该实验要求进行计时并在数码管上显示时间,则可利用芯片AT89C51中的P2.5管脚作为外部中断0的入口地址,并实现“开始”按键功能;将P2.6作为数据信号DATA输入的入口地址;将P2.7做为外部中断1的入口地址,并实现“清零”按键的功能;其中“开始”按键当开关由1拨向0时开始计时;“清零”按键当开关由1拨向0时数码管清零,此时若再拨“开始”按键则有可重新开始计时。

(三)硬件电路设计如图在P0口上接一个16M的晶振,它是时钟电路中最重要的部件,向主板的各部分提供基准频率。

2位LED数码管作为显示,并接在P0口和P2口。

“起始”、“暂停”和“清零”三个按键分别对应接在P2.5、P2.6、P2.7上。

(四)程序设计STRT EQU P2.5 ; 启动键端口STP EQU P2.6 ; 暂停键端口CLRR EQU P2.7; 复位键端口ORG 00HAJMP MAINORG 0BH ;定时器T0,中断入口AJMP T0INTORG 30HMAIN: MOV R0,#20 ; 中断计数器(循环次数)MOV TMOD,#01H; 定时器初始化MOV TH0,#3CH ; 设定时间50msMOV TL0,#0B0HMOV DPTR,#TABLESETB EA ; 开中断SETB ET0 ; 启动T0k1: LCALL DISPJB STRT,K2 ; 等待k2键停止LCALL DISPJNB STRT,$-3AJMP STARTk2: JB STP,K3 ; 等待K3键LCALL DISPJNB STP,STOPK3: JB CLRR, K1 ; 等待K1键LCALL DISPJNB CLRR,CLEARAJMP K3START: SETB TR0AJMP K1STOP: CLR TR0AJMP K2CLEAR: CLR TR0MOV 40H,#0AJMP K1T0INT: MOV TH0,#3CH ; 重新设置初始值MOV TL0,#0B0HDJNZ R0,RTIMOV R0,#20MOV A,40HCJNE A,#59,ADD1 ; 判断是否等于59MOV 40H,#00H ; 清零CLR TR0AJMP RTIADD1: ADD A,#01H ; 加一MOV 40H,ARTI: RETIDISP: MOV A,40HMOV B,#10DIV AB ;//当前值除以10MOV 20H,A ;//得出的商送给十位MOV 21H,B ;//得出的余数送给个位CLR P2.0SETB P2.1MOV A,20H ;//十位显示MOVC A,@A+DPTRMOV P0,ALCALL DELAYCLR P2.1SETB P2.0MOV A,21H ; //个位显示MOVC A,@A+DPTRMOV P0,A ; P0显示RETDELAY: ;误差0usMOV R6,#01HDL0:MOV R5,#61HDJNZ R5,$DJNZ R6,DL0RETTABLE: DB 0C0H,0F9H,0A4H,0B0H,99H ;//共阳极0-9显示代码DB 92H,82H,0F8H,80H,90HEND(五)调试及结论在整个程序设计、电路的选择过程中,小组成员都遇到了许多问题。

单片机秒表课程设计报告

单片机秒表课程设计报告

一:课程设计题目秒表/时钟计时器二:课程设计任务与要求:利用89C51单片机设计秒表/时钟计时器,通过LED显示器显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到0,重新开始秒计数。

三:设计过程:1.设计原理:此次课程设计题目是秒表/时钟计时器,由课程设计的要求和任务,我采用的C语言编程,设计秒表要求一秒定时,采用了定时器和FOR循环来定时,其中一个软件一个硬件,会在方案论证中分析在1秒时采用的是硬件定时,即用单片机内部的定时器T0。

先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时。

然后由定义的变量second来进行加一运算,然后将其值通过P1,P2口在数码管上进行显示。

其中数码管的显示时,我在程序中首先定义了一个关于数码管显示的字形码定义,以便在显示时调用即可。

(1)方案论证:方案1:在方案1中,我们所选用的是软件定时,即用for循环来定时1秒进行显示的变化.方案2:在方案2中,采用的是硬件定时,即用单片机内部的定时器T0。

先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时.方案比较:我们从两方面进行两种方案的比较,第一,由于此次课程设计要求是秒表,则在定时时要求比较精确,所以采用硬件的定时器定时时比较准确的。

第二,由于秒表的定时程序是很小的,在利用软件定时占用的CPU并不是很多,不能显现出来,但真正大程序时会很占用资源的,所以在用定时中断过程中是非常节省资源的.综合上述两种比较,我们选用了第二种方案.(2)创新点:a。

在课程要求的基础上,我们做成的电路板上,用复位键来控制秒表计时的重新开始,即清零。

b。

在以上设计的基础上,我们又重新设计了一个程序,基本原理没有变,只是将秒表在到达59清零的瞬间向分的位数上进1,程序将会在附录3中给出。

2.硬件系统框图与说明:首先,连接的是单片机51的最小系统,其中包括时钟电路,复位电路,在此中包括的元器件在附录3中.我们所选用的数码管是共阴极的,置1时导通,所以将单片机的P1。

基于单片机的秒表设计与实现课程设计报告

基于单片机的秒表设计与实现课程设计报告

基于单片机的秒表课程设计报告一、设计题目秒表系统设计——用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。

另设计一个“开始”按键和一个“复位”按键。

二、增加功能增加一个“暂停”按键和一个“快加”按键(每10ms快速加一)三、设计提要本实验利用单片机的定时器/计数器定时和记数的原理,结合dvcc实验箱上的集成电路芯片8032、LED数码管以及实验箱上的按键来设计计时器。

将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。

其中本实验设计了四个开关按键:其中一个按键按下去时以1秒加一开始计时,即秒表开始键(本实验中当开关从1变为0时开始计时),另一个按键按下去时暂停计时,使秒表停留在原先的计时(本实验中当相应开关从1变为0时即停止计时),第三个按键按下去时清0(本实验中当相应开关从1变为0时即停止计时),第四按键按下去则是以每10ms秒快速加一计时(本实验中当开关从1变为0 时开始计时)。

本实验中开始时都要使各按键回到各初始位置,即都处于1状态。

三、课设目的1、通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。

2、掌握定时器、外部中断的设置和编程原理。

3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。

四、意义该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。

五、本人所做工作根据相关的单片机材料,利用所学的单片机知识,结合DVCC系列单片机微机仿真实验系统中的软件和硬件(集成电路芯片8032,七段数码管,开关电路及时钟信号电路,按键等),编写能够实现该项目的软件程序,最后将软、硬件有机的结合起来,进行有效的调试,达到完成该实验课程设计的目的要求。

六、实验内容用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。

单片机秒表设计课程设计报告范文2

单片机秒表设计课程设计报告范文2

单片机秒表设计课程设计报告范文2基于52单片机的简易秒表课程设计摘要自20世纪70年代单片微型计算机(简称单片机)诞生以来,单片机以其功能强、体积小、质量轻、价格低、可靠性高、可塑性好等优点得到了广泛的应用,成为目前世界上数量最多的计算机和工程师们开发嵌入式应用系统和小型智能化产品的首选控制器。

一.设计任务及要求1、题目基于51单片机的简易秒表课程设计2、基本要求1)使用51系列单片机作为主控芯片构建最小系统,熟练掌握晶振与复位电路;2)用LED数码管来显示倒计时;3)用按键来实现起动与停止等功能;4)设计一完整电路,要求应用Protue软件进行仿真验证,并要求焊接实物后进行功能调试。

3、设计目的1)掌握单片机的接口技术及外围芯片的工作原理及控制方法;2)进一步掌握单片机程序编写及调试过程,掌握模块化程序设计方法;3)掌握LED数码管的工作原理;4)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解;4)掌握定时器、外部中断的设置和编程原理;5)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。

4、设计任务1)用STC89C52RC单片机的定时器/计数器定时和计数的原理,通过proteu仿真软件模拟设计一个2位LED数码显示“秒表”,显示时间为00-99秒,每秒自动加一或减一。

2)另设计一个“开始(正计数)”按键和一个“倒计数”按键,再增加一个“暂停”按键。

按键说明:按“开始”按键,开始正计数,数码管显示从00开始,每秒自动加一;按“暂停”按键,系统暂停计数,数码管显示当时的计数;按“倒计数”按键,系统在原先的计数上自动减一秒。

按“总开关”按键,结束计数;再按一下,系统清零,数码管显示00。

二、总体方案设计1、硬件方案设计1)时钟电路模块时钟电路由一个晶体振荡器12MHZ和两个22pF的瓷片电容组成。

引线某TAL1和某TAL2分别是放大器的输入端和输出端。

51单片机秒表程序设计报告

51单片机秒表程序设计报告

单片机程序设计报告题目: 秒表设计班级:姓名:学号:指导老师:时间:一、课题任务要求用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。

即数码显示管在原先的计数上快速加一。

二、设计思路1、使用单片机,设计秒表,能显示分分秒秒;2、使用三个按键停止,开始,复位,其中“开始”按键当开关由上向下拨时开始计时,此时若再拨“开始”按键则数码管暂停;“清零”按键当开关由上向下拨时数码管清零,此时若再拨“开始”按键则又可重新开始计时;3、使用液晶或数码管显示;4、使用定时器中断。

三、硬件设计3.1、单片机介绍单片机:AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压、高性能CMOS 8位微处理器。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

AT89C51主要特性:·与MCS-51 兼容·低功耗的闲置和掉电模式·4K字节可编程闪烁存储器·全静态工作:0Hz-24MHz·寿命:1000写/擦循环·数据保留时间:10年·三级程序存储器锁定·128×8位内部RAM·片内振荡器和时钟电路·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道3.2管脚说明:VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

单片机-设计报告-秒表 2

单片机-设计报告-秒表 2

单片机秒表课程设计前言本设计主要是对51单片机的一个方面的扩展,是能实现一般定时功能的设计。

系统采用单片机AT89C51作为本设计的核心元件,在其基础上外围扩展芯片和外围电路,附加时钟电路,复位电路,键盘接口及LED显示器,键盘采用独立连接式。

外围设备有LED显示驱动器及相应的显示数字电子钟设计与制作可采用数字电路实现,也可以采用单片机来完成。

若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。

若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机AT89C51,它是低功耗、高性能的CMOS型8位单片机。

片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。

另外, AT89C51的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。

按键电路设有两个按键:从上往下为k1和k2键。

按下k1键用于启动和暂停秒表;k2键用于复位。

另外还有一个单片机的复位按键,此按键用于总复位,使单片机和LED数码管同时复位。

目录一、设计任务和要求 (2)(一)系统功能任务 (2)(二)系统设计要求 (2)二、方案设计与论证 (2)三、硬件设计 (3)(1)时钟电路 (3)(2)按钮电路 (4)(3)显示电路 (6)(4)动态显示原理 (7)(5)80C51中断的控制 (7)(6)定时/计数器的控制 (7)(7)单片机 (8)(8)MAX7219 (8)四、总原理图及元器件清单 (9)(1)总原理图 (10)(2)元器件清单 (11)五、源程序.......................................................................................................... ........... . (11)六、结论与心得 (15)七、参考文献..................................................................................... 错误!未定义书签。

单片机秒表设计课程设计报告

单片机秒表设计课程设计报告

单片机课程设计报告一、实验题目秒表系统设计——用两个数码管来显示秒表数据,一个显示秒,另一个显示十分之一秒。

二、系统总体功能用两个数码管来显示秒表数据,一个显示秒,另一个显示十分之一秒。

有一个按键来启动秒表的开始和结束。

增加一个清零按钮,计时结束后可以清零。

三、实验目的1、利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。

2、综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。

3、通过本次课程设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握,对单片机实际的应用作进一步的了解。

4、通过本次试验,增强自己的动手能力。

认识单片机在日常生活中的应用的广泛性,实用性。

四、系统设计方案本实验利用单片机的定时器/计数器定时和记数的原理,通过采用proteus 仿真软件来模拟实现。

模拟利用AT89C51单片机、LED数码管以及控件来控制秒表的计数以及计数的开启/暂停/继续与复位!其中有两个数码管用来显示数据,一个数码管显示秒(两位),另一个数码管显示十分之一秒,十分之一秒的数码管计数从0~9,满十进一后显示秒的数码管的数字加一,并且十分之一秒显示清零重新从零计数。

计秒数码管采用两位的数码管,当计数超过范围是所有数码管全部清零重新计数。

五、试验设计所需硬件(模拟硬件)Atmel89C51单片机芯片一个、LED数码显示管三个,低压电源、开关(按钮)两个、电阻、电容及导线若干。

由于条件限制本实验采用软件模拟硬件系统,采用proteus软件进行模拟设计及调试工作。

图2 Atmel89C52单片机外部引脚图六、试验设计原理图图3 试验设计电路图七、软件设计分析程序流程图:是 否 是 否定时器溢出中断对定时器重新赋值进行加一操作后重新计算时间往P0口和P2口送显示时间数码管显示中断返回主函数对定时器/计数器初始化始化程序开始判断P0^4口是否有低电平信号开中断并启动定时器开始、暂停或者继续 计数置零判断P0^7口是否有低电平信号 手动开关实验程序清单:#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar code table[]="2010-05-18";uchar code time[]="23:00:00";uchar code xi1[]="mon";uchar code xi2[]="tue";uchar code xi3[]="wed";uchar code xi4[]="thu";uchar code xi5[]="fri";uchar code xi6[]="sat";uchar code xi7[]="sun";sbit wr=P3^3;sbit rd=P3^5;sbit lcde=P3^4;uint i,shi,fen,miao,nian,yue,ri,count,num,x; void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void write_add(uchar add){rd=0;P0=add;lcde=1;delay(5);lcde=0;}void write_date(uchar date){rd=1;P0=date;lcde=1;delay(5);lcde=0;}void writesfm(uchar add,uchar date){uchar s,g;s=date/10;g=date%10;write_add(0x80+0x40+add);write_date(0x30+s);write_date(0x30+g);}void writenyr(uchar add,uchar date) {uchar s,g;s=date/10;g=date%10;write_add(0x80+0x00+add);write_date(0x30+s);write_date(0x30+g);}void xi(uchar a){if(a==1){write_add(0x80+0x00+10);for(i=0;i<3;i++){write_date(xi1[i]);delay(5);}}if(a==2){write_add(0x80+0x00+10);for(i=0;i<3;i++){write_date(xi2[i]);delay(5);}}if(a==3){write_add(0x80+0x00+10);for(i=0;i<3;i++){write_date(xi3[i]);delay(5);}}if(a==4){write_add(0x80+0x00+10); for(i=0;i<3;i++){write_date(xi4[i]);delay(5);}}if(a==5){write_add(0x80+0x00+10); for(i=0;i<3;i++){write_date(xi5[i]);delay(5);}}if(a==6){write_add(0x80+0x00+10); for(i=0;i<3;i++){write_date(xi6[i]);delay(5);}}if(a==7){write_add(0x80+0x00+10); for(i=0;i<3;i++){write_date(xi7[i]);delay(5);}}}void init(){lcde=0;wr=0;write_add(0x38);write_add(0x0c);write_add(0x06);write_add(0x01);write_add(0x80+0x00+0); for(i=0;i<10;i++){write_date(table[i]); delay(5);}write_add(0x80+0x00+10); for(i=0;i<3;i++){write_date(xi7[i]);delay(5);}write_add(0x80+0x40+0); for(i=0;i<8;i++){write_date(time[i]); delay(5);}}void main(){init();TMOD=0x01;TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;ET0=1;TR0=1;while(1){key();if(count==20){count=0;miao++;if(miao==60){miao=0;fen++;if(fen==60){fen=0;shi++;if(shi==24){shi=0;ri++;x++;xi(x);if(x==7){x=0;}if(ri==30){ri=0;yue++;if(yue==13){yue=0;nian++;if(nian==100){nian=0;}writenyr(2,nian);}writenyr(5,yue);}writenyr(8,ri);}writesfm(0,shi);}writesfm(3,fen);}writesfm(6,miao);}}}void t()interrupt 1{TH0=(65536-50000)/256; TL0=(65536-50000)%256; count++;}八、试验设计总结通过这一周的课程设计,我对一些专业知识和电子设计有了更深的了解,同时也尝试着去应用自己的所掌握的知识。

单片机秒表系统课程设计

单片机秒表系统课程设计

单片机秒表系统课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握单片机在秒表系统中的应用。

2. 学生能掌握计时器的原理,学会编写简单的计时器程序。

3. 学生了解并掌握秒表系统的硬件连接,能解释各个部分的作用及其相互关系。

技能目标:1. 学生能够运用所学知识,设计并搭建一个简单的单片机秒表系统。

2. 学生能够编写程序,实现对秒表的启动、停止、计时的基本功能。

3. 学生通过动手实践,提高解决问题的能力和团队合作能力。

情感态度价值观目标:1. 学生通过本课程的学习,培养对单片机及电子制作的兴趣,激发创新意识。

2. 学生在学习过程中,培养严谨的科学态度,养成良好的实验操作习惯。

3. 学生通过小组合作,学会分享、交流,培养团队协作精神。

本课程针对高中电子技术课程,结合学生年龄特点和认知水平,注重理论与实践相结合,旨在提高学生的动手实践能力和创新能力。

课程目标具体、可衡量,既关注学生对单片机知识的掌握,又注重技能的培养和情感态度价值观的引导,为后续教学设计和评估提供明确方向。

二、教学内容本课程教学内容主要包括以下几部分:1. 单片机基础知识:介绍单片机的原理、结构和功能,重点讲解51单片机的内部资源及其在秒表系统中的应用。

2. 硬件设计:讲解秒表系统所需硬件,包括单片机、时钟电路、按键、显示器等,分析各部分硬件的功能及相互关系。

3. 软件编程:学习单片机编程语言(C语言),掌握计时器编程方法,编写秒表的启动、停止、计时的程序。

4. 系统调试与优化:学习如何对秒表系统进行调试和优化,提高系统稳定性。

教学内容安排如下:1. 第一周:单片机基础知识学习,了解51单片机的内部资源。

2. 第二周:硬件设计,分析秒表系统各部分硬件功能及连接方法。

3. 第三周:软件编程,编写秒表程序,实现基本功能。

4. 第四周:系统调试与优化,提高系统性能。

本教学内容参考教材相关章节,结合课程目标,确保教学内容具有科学性、系统性和实践性。

52单片机秒表课程设计

52单片机秒表课程设计

52单片机秒表课程设计一、课程目标知识目标:1. 学生能理解并掌握52单片机的基本原理和功能;2. 学生能掌握秒表的计时原理,并能运用C语言编程实现对秒表的启动、停止、复位及时间显示功能;3. 学生了解并掌握电子元器件的基本使用方法,如按键、LED等。

技能目标:1. 学生能运用所学知识,完成52单片机的硬件连接及程序编写;2. 学生通过实际操作,提高动手能力,培养解决实际问题的能力;3. 学生能够独立思考,分析并解决程序编写过程中遇到的问题。

情感态度价值观目标:1. 学生在学习过程中,培养对电子技术的兴趣,提高学习积极性;2. 学生通过团队协作,培养沟通、合作能力,增强团队意识;3. 学生在课程实践中,体验科技的魅力,培养创新精神和实践能力;4. 学生认识到知识在实际应用中的价值,增强学习责任感和使命感。

本课程针对高中年级学生,结合课程性质、学生特点和教学要求,明确以上课程目标,旨在让学生在掌握基本知识的同时,提高实践操作能力和团队协作能力,培养创新精神和科技素养。

课程目标具体、可衡量,为后续的教学设计和评估提供依据。

二、教学内容本章节教学内容紧密围绕课程目标,结合教材相关章节,具体安排如下:1. 52单片机基本原理及功能介绍:包括单片机内部结构、工作原理、指令系统等,对应教材第3章;- 硬件连接:介绍单片机与外围电路的连接方法,如按键、LED等,对应教材第4章;- C语言编程基础:回顾并巩固C语言基础知识,为单片机编程打下基础,对应教材第5章。

2. 秒表功能实现:- 计时原理讲解:分析秒表的计时原理,对应教材第6章;- 程序编写:运用C语言编写程序,实现秒表的启动、停止、复位及时间显示功能,对应教材第7章;- 硬件与软件结合:将编写好的程序烧录至单片机,进行实际操作,调试并优化程序,对应教材第8章。

3. 实践操作与团队协作:- 学生分组进行硬件连接、编程、调试等实践活动,培养动手能力;- 鼓励学生相互交流、合作,共同解决问题,提高团队协作能力。

单片机秒表实验报告

单片机秒表实验报告

单片机秒表实验报告单片机秒表实验报告引言在现代科技快速发展的时代背景下,单片机作为一种重要的电子元器件,被广泛应用于各个领域。

秒表作为测量时间的工具,在运动、实验、比赛等场景中起到了至关重要的作用。

本实验旨在通过使用单片机设计和制作一个简单的秒表,探索单片机在时间测量方面的应用。

实验原理秒表的原理基于计时器的工作原理。

计时器通过内部的计数器来记录时间,当计数器达到设定值时,会触发中断,从而实现时间的测量和显示。

在本实验中,我们使用8051系列单片机,通过编程设置计数器的初始值和中断触发条件,实现秒表的功能。

实验步骤1. 硬件设计首先,我们需要准备一个适当的电路板,用于连接单片机、显示器和按键等元件。

在电路板上,我们将单片机与显示器和按键进行连接,以实现数据的输入和输出。

同时,我们需要添加一个晶振电路,以提供单片机的时钟信号。

2. 软件设计在软件设计方面,我们需要使用汇编语言或C语言来编写单片机的程序。

程序的主要功能包括初始化、计时、显示和中断处理等。

在初始化阶段,我们需要设置计数器的初始值和中断触发条件。

在计时阶段,我们需要不断地读取计数器的值,并将其转换为秒、分、时等形式进行显示。

同时,我们还需要编写中断处理函数,以响应中断并更新计时器的值。

3. 实验验证在完成硬件和软件设计后,我们可以进行实验验证。

首先,我们将电路板连接到电源,并确保电路正常工作。

然后,我们可以通过按下按键来启动和停止秒表。

在启动状态下,秒表会不断地更新显示,并实时计算经过的时间。

在停止状态下,秒表会保持显示当前的时间。

实验结果经过实验验证,我们成功地设计和制作了一个简单的秒表。

秒表能够准确地测量时间,并将其以易于理解的形式进行显示。

同时,秒表还具备启动和停止功能,方便用户根据需要进行时间测量。

实验总结通过本次实验,我们深入了解了单片机在时间测量方面的应用。

通过合理的硬件设计和编程,我们成功地实现了一个简单而实用的秒表。

在实验过程中,我们不仅学习了单片机的工作原理和编程技巧,还培养了动手实践和解决问题的能力。

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

一:课程设计题目秒表/时钟计时器二:课程设计任务与要求:利用89C51单片机设计秒表/时钟计时器,通过LED显示器显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到0,重新开始秒计数。

三:设计过程:1.设计原理:此次课程设计题目是秒表/时钟计时器,由课程设计的要求和任务,我采用的C语言编程,设计秒表要求一秒定时,采用了定时器和FOR循环来定时,其中一个软件一个硬件,会在方案论证中分析在1秒时采用的是硬件定时,即用单片机内部的定时器T0。

先将时钟初始化,赋入初值50ms定时,循环20 次来进行1秒定时。

然后由定义的变量second来进行加一运算,然后将其值通过P1,P2口在数码管上进行显示。

其中数码管的显示时,我在程序中首先定义了一个关于数码管显示的字形码定义,以便在显示时调用即可。

(1)方案论证:方案1:在方案1中,我们所选用的是软件定时,即用for循环来定时1秒进行显示的变化。

方案2:在方案2中,采用的是硬件定时,即用单片机内部的定时器T0。

先将时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时。

方案比较:我们从两方面进行两种方案的比较,第一,由于此次课程设计要求是秒表,则在定时时要求比较精确,所以采用硬件的定时器定时时比较准确的。

第二,由于秒表的定时程序是很小的,在利用软件定时占用的CPU并不是很多,不能显现出来,但真正大程序时会很占用资源的,所以在用定时中断过程中是非常节省资源的。

综合上述两种比较,我们选用了第二种方案。

(2)创新点:a.在课程要求的基础上,我们做成的电路板上,用复位键来控制秒表计时的重新开始,即清零。

b.在以上设计的基础上,我们又重新设计了一个程序,基本原理没有变,只是将秒表在到达59清零的瞬间向分的位数上进1,程序将会在附录3中给出。

2.硬件系统框图与说明:首先,连接的是单片机51的最小系统,其中包括时钟电路,复位电路,在此中包括的元器件在附录3中。

我们所选用的数码管是共阴极的,置1时导通,所以将单片机的P1.0~P1.7连接数码管的a~dp,P2 口同理。

然后在数码管秒表个十位的显示则由软件程序来控制。

3.软件主要模块流程图与说明:判断是 否中断YNNCount =20?YSecond =59?YN初始化Count++Second++Second=0数码管显示当前值等待在真正应用时,我们的一秒定时是用定时中断的,但单片机的T0最长也不能1秒定时,所以我们采用50ms 定时循环20次,用count来控制。

当秒的时间达到59时,用软件来清零时循环从00 重新开始。

四:课程设计总结:1:本次的课程设计,使关于51系列单片机的,正是我们刚刚学到的51单片机,在平时课程的学习中,我们仅限于理论知识的讲解,即使知识是很扎实的,实际应用并不是这样的。

开始时我也觉得自己的理论知识已经够了,但当我拿到课题时,在脑海里想的是非常好的,但真正编成和控制时,理论和实际结合不到一起,甚至于51芯片的使用我都感觉很迷茫,还是经过搜集大量资料才将理论与实际结合到一起了。

本次课程设计我主要负责编程,这次不仅锻炼了我C语言的知识,更加我们正在学习的51的定时与中断结合在一起,进行了实际的操作,让我的知识掌握得更加牢固。

本次的实际经验之后,让我对单片机定时赋初值有了更新的认识,对程序的循环顺序、结构类型都有了非常深刻的认识,对真正硬件的连接也有了认识,不再将自己的知识局限于自己狭隘的空间中。

2:通过这次课程设计——秒表/时钟计时器,使我又重新开始学习C 语言,因为C 语言是大一学的,至从学完就再也没用过,所以开始很陌生,我又找了有关资料来了解,才有了一点眉目。

刚开始以为可以用汇编很容易就写出来,因为我们正在学习汇编语言,以为学的很明白了,但是用汇编时才发现原来都不怎么熟练,编了一会程序发现只有一种感觉——举步维艰啊!还是放弃汇编选择C 语言吧!对于单片机,我们课本学习的是80C51,但是这次做课程设计用的是89C51,这样不仅使我们掌握了80C51,而且对89C51 也有了一定的了解了,在课堂上学习的都理论的,跟实际永远有一定的差距,不实践就不会发现问题。

通过这次课程设计使我把课堂上学习的东西都用到了实践中,例如:定时/计数器的应用与中断。

学习的时候不怎么理解,但是在实践中应用了以后就自然了解了。

这次课程设计使我受益匪浅,而且都是实际的东西。

3:这次课程设计,我们做的是秒表/时钟计时器,最终我们选择的是用C 语言编程,但原来学的也只是能看懂别人写好的程序而已,通过这次课程设计,更加熟练了C语言的程序设计思路。

这次课程设计我主要负责焊接电路板,焊接过程中最困难的地方就是数码管的焊接,因为数码管的管脚和89C51的管脚是不对应的,而且要避免接线的交叉,所以最后确定了布线最合理的方案,如硬件电路图所示。

我们这次设计的出现的最大问题是电路当中的复位电路,开始电路在Proteus上仿真时都是可以正常复位的,但实际的电路中复位按键后的电阻的参数不合理,导致了RST上有电压,复位电路无效,所以最后我们去掉了那个电阻,此时复位电路才有效,所以理论和实际永远有差距,不实践永远发现不了问题。

在焊接前我们没有想到给数码管用插槽固定,而是直接焊在了电路板上,这造成了后面的很多麻烦,我们方案中用的是共阴极的数码管,焊接第一个数码管时没有注意型号,等焊接到一半时才发现焊上的是共阳极的,所以不得不解焊重新焊接,这也是一个教训,以后焊接器件时能用上插槽的尽量用插槽,这在器件出了问题时很方便更换。

最后焊接完成后在试验的过程中,刚一接通电源后的上电电压烧坏了LED显示器显示秒十位的c脚,这也是这次课程设计的遗憾,以后在硬件的实验时还要多小心,避免造成不必要的损失。

4:通过本次秒表/时钟计时器的设计实验,使我对这学期学所学51 系列的单片机从理论知识到实践硬件的应用以及C 语言知识的回顾,更加熟悉了89C51 单片机的每一个拐角的输出和各项功能,而且对硬件电路的布线以及焊接能力有了很大的进步。

在这次试验中,我主要负责的是硬件电路的布线和焊接以及硬件测试。

由于本次试验电路比较简单,所以我们按照电路图布线后就马上开始焊接。

焊好一个数码管检测后才发现我们把共阴极的数码管焊接成共阳级的了,很不容易才解焊下来,有了这次教训后,我们在焊接其他元器件的时候都提前检测好才开始焊接。

第一次焊接完成后我们上电后发现实现了基本功能,可是不能复位,经过我们的讨论和反复试验,我们发现软件仿真和硬件实现并不是完全一致的,我们按照课本上焊接后终于完全实现了秒表/时钟计时器的功能。

快要验收时我们发现数码管的一个二极管坏了,这才让我们意识到没有焊接插针的缺陷,以后一实验时一定要尽可能让原件可以取下,以便出现问题是更好的更换。

这次课程设计终于圆满的完成了,我从理论和硬件以及实践上懂得了很多,也明白了一个团队的合作精神可以让我们战胜所有的困难。

五:附录附录1:电路原理图:附录2:实物图:附录3:源程序及程序解释:#include<REG51.H>//包含头文件REG51。

H#define uint unsigned int#define uchar unsigned charunsigned char code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管0~9的字型码uchar count,second;//定义变量/*===================================*/void init()//定义定时器T0初始化程序{TMOD=0x01;TH0=(65536-50000)/256;//赋初值定时1 秒TL0=(65536-50000)%256;ET0=1;TR0=1;EA=1;P2=SEG7[0];P1=SEG7[0];}void delay(unsigned int k) //定义延时程序{unsigned int i,j;for(i=0;i<k;i++){for(j=0;j<121;j++){;}}}//-----------------------------------------------------------void main(void){init(); //定时器初始化while(1)//无限循环{;}}//----------------------------------------------------void timer0()interrupt 1 //定时器T0中断{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count==20){count=0;second++;if(second>59)second=0;P1=SEG7[second/10];//显示秒的十位delay(10); //延时P2=SEG7[second%10];//显示秒的个位delay(10);}附录4:for循环程序#include<REG51.H>unsigned char code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/*===================================*/void delay(unsigned int k);//-----------------------------------------------------------void main(void){unsigned char val1=0;long i;while(1){for(i=0;i<380;i++){/*P2=0xfd;*/P2= SEG7[val1%10];delay(1);/*P2=0xfe;*/P1= SEG7[val1/10];delay(1);}val1=val1+1;if(val1>59)val1=0;}}//----------------------------------------------------void delay(unsigned int k){unsigned int i,j;for(i=0;i<k;i++){for(j=0;j<121;j++);}}附录5:汇编程序ORG0000HSTART:MOV R1,#20MOV R2,#10MOV R3,#6MOV R4,#00HLOOP1:MOV R2,#10LOOP:MOV A,R4MOV B,#0AHDIV ABMOV DPTR,#TABMOVC A,@A+DPTRMOV P1,AMOV A,BMOVC A,@A+DPTRMOV P2,ALCALL DELINC R4DJNZ R2,LOOPDJNZ R3,LOOP1MOV P1,#00MOV P2,#00LJMP STARTDEL:MOV R7,#12DEL1:MOV R6,#123NOPDEL2:DJNZ R6,DEL2DJNZ R7,DEL1DJNZ R1,DELRETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND附录611附录7:参考资料:单片机原理及接口技术李全利迟荣强编著 C 语言程序设计12。

相关文档
最新文档