单片机课程设计00-99加计数器(完结版qq)
- 格式:doc
- 大小:583.00 KB
- 文档页数:24
00-99计数器1.实验任务利用AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P3.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示;硬件电路图如图19所示。
2.电路原理图图4.10.13.系统板上硬件连线(1.把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。
(2.把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个数码管的a-h端口上;(3.把“单片机系统”区域中的P3.7/RD端口用导线连接到“独立式键盘”区域中的SP1端口上;4.程序设计内容(1.单片机对按键的识别的过程处理(2.单片机对正确识别的按键进行计数,计数满时,又从零开始计数;(3.单片机对计的数值要进行数码显示,计得的数是十进数,含有十位和个位,我们要把十位和个位拆开分别送出这样的十位和个位数值到对应的数码管上显示。
如何拆开十位和个位我们可以把所计得的数值对10求余,即可得个位数字,对10整除,即可得到十位数字了。
(4.通过查表方式,分别显示出个位和十位数字。
5.程序框图图4.10.26.汇编源程序Count EQU 30HSP1 BIT P3.7ORG 0START: MOV Count,#00HNEXT: MOV A,CountMOV B,#10DIV ABMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,AMOV A,BMOVC A,@A+DPTRMOV P2,AWT: JNB SP1,WT ||可能有问题WAIT: JB SP1,WAITLCALL DELY10MSJB SP1,WAITINC CountMOV A,CountCJNE A,#100,NEXTLJMP STARTDELY10MS: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETTABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END7. C语言源程序#include <AT89X51.H>unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f};unsigned char Count;void delay10ms(void){unsigned char i,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}void main(void){Count=0;P0=table[Count/10];P2=table[Count%10];while(1){if(P3_7==0){delay10ms();if(P3_7==0){Count++;if(Count==100){Count=0;}P0=table[Count/10]; P2=table[Count%10]; while(P3_7==0);}}}}。
一、设计任务:1.1 外部脉冲自动计数,自动显示:1.1.1 设计一个255计数器:0-255计数,计满后自动清0,重新计数(在数码管中显示)。
1.1.2 设计一个50000计数器:0-50000计数,计满后自动清0,重新计数(在数码管中显示)。
1.2 设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后3位数码管显示价钱(角,元,十元,百元)。
二、各部分的详细设计2.1 255计数器设计原理和思路:80C51单片机中每个字节存储单元是8位的,每个字节可以存放从00000000—11111111,转化为10进制,就是0—255.所以本设计只需一个字节地址存放计数器里的值,再通过除法将其分配到三个单元,通过数码管分别显示“个”、“十”、“百”。
2.1.1 流程图:图1 255计数流程图2.1.2 程序:ORG 0000HAJMP STARTORG 0030HSTART: MOV TMOD,#06H ;置定时器T0工作方式2 MOV TH0,#00HMOV TL0,#00HSETB TR0 ;启动计数MAIN: MOV 30H,TL0 ;把TL0的数值赋给30H单元MOV A,30HMOV B,#100DIV AB ;30H除以100MOV 31H,AMOV A,BMOV B,#10DIV ABMOV 32H,AMOV 33H,BLCALL DISPLAY ;调用显示AJMP MAINDISPLAY: MOV DPTR,#TABMOV P1,#01H ;P1位选MOV A,31HMOVC A,@A+DPTRMOV P2,A ;P2段选LCALL DELAY ;延时MOV P1,#02HMOV A,32HMOVC A,@A+DPTRMOV P2,ALCALL DELAYMOV P1,#04HMOV A,33HMOVC A,@A+DPTRMOV P2,ALCALL DELAYRETDELAY: MOV 50H,#10MOV 51H,#40XX: DJNZ 50H,xxYY: DJNZ 51H,YYRETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H2.1.3 仿真效果图:图2 255计数仿真图(一)图3 255计数仿真图(二)2.2 50000计数器设计原理和思路:80C51单片机的一个字节单元只能存储0—255,50000的计数,是通过分址寄存来实现的,个位和十位的数据用字节单元30H来存放,百位和千位的数据用字节单元31H来存放,万位的数据用字节单元32H来存放,当30H单元计到99时,清零,同时给31H加1,当31H单元计到99时,清零,同时给32H单元加1,到500000时,清零,重新计数显示。
单片机课程设计题目00~99计数器的设计学生姓名小红1 课程设计的目的(1) 利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。
(2) 综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。
(3) 通过本次课程设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握,对单片机实际的应用作进一步的了解。
(4) 通过本次试验,增强自己的动手能力。
认识单片机在日常生活中的应用的广泛性,实用性。
明确学习目的,端正学习态度,提高对课程设计重要性的认识,以积极认真的态度参加课程设计工作,按要求完成规定的设计任务。
2 设计思路本实验利用单片机的定时器/计数器定时和计数的原理,通过采用仿真软件来模拟实现。
模拟利用AT89C2052单片机、LED数码管以及各种控制器件来控制表的计数以及计数的开启/暂停/继续与复位等。
利用单片机AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P1.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示。
3 设计过程3.1 方案论证3.1.1 用单片机技术来实现多功能定时计数器的控制多功能定时计数器控制系统的原理。
它主要由单片机、发光二极管、晶振和双位数码管等部分组成。
1、总体描述(1)单片机采用STC89C52型。
(2)数据显示电路:七段四位共阴极数码管,P1口控制八位段码,P3.4到P3.7控制四位码。
(3)数据输入电路:四个按键完成输入,一号键控制个位加1,可以实现从1加到9;二号键控制十位加一;三号键控制百位加一;四号键控制千位加一。
(4)功能指示电路:上电指示发光二极管,P26口控制蜂鸣器报警功能。
2、总体设计:设计总体框架图如图3-1所示:图3-1总体框架图3.1.2 最小控制系统的设计STC89C52单片机最小系统包括晶体振荡电路、复位开关和电源部分。
姓名班级指导老师时间信息工程学院图1 硬件电路连接图(二)显示电路两位数码管循环显示00~99电路数码管只要就是用于数字得显示.数码管有共阴与共阳得区分,单片机都可以进行驱动,但就是驱动得方法却不同。
两位数码管循环电路就是由电阻、二极管与数码管组成,电源+5V通过560得电阻直接给数码管得7个段位供电,P0、0—P0、7对应了两个接数码管得A,B,C,D,E,F,G与小数点位,P2、6接显示个位数得数码管得3、8引角,P2、7则接十位数得。
P2、6与P2、7端口分别控制数码管得十位与个位得供电,当相应得端口变成低电平时,驱动相应得三极管会导通,+5V通过二极管与驱动三极管给数码管相应得位供电,这时只要P0口送出数字得显示代码,数码管就能正常显示需要得数字。
图2 十位显示动态数码管(共阳数码管)图3 个位显示静态数码管(共阴数码管)(三)时钟电路时钟电路得晶振频率越高,系统得时钟频率越高,单片机得运行速度也越快。
晶振频率根据设计需要设为12MHz,又根据谐振性质,电路中得电容应选择为30pF左右。
图4 时钟电路(四)复位电路MCS—51单片机得复位就是靠外部电路实现得。
MCS—51单片机工作之后,只要在她得RST引线上加载10ms以上得高点平,单片机就能有效地复位。
MCS-51单片机通常采用上电自动复位与按键复位两种方式。
最简单得复位电路如图5:图5 复位电路上电瞬间,RC电路充电,RST引线出现正脉冲,只要RST保持10ms以上得高电平,就能使单if(i++==100)//如果i=0{i=0;count++;P0=CODE[count/10];P2=~CODE[count%10];if(count==99)count=0; //如果到了99,则重新从0开始计数}}结果与分析(可以加页):(一)调试结果1.初始状态图7:初始状态结果图2.开始计时后按下按键暂停图8:中间状态图示(二)问题分析及解决措施1、一开始时没有分清楚数码管就是共阴数码管还就是共阳数码管,C语言程序中默认数码管就是共阴,所以两个P接口得值都就是按照共阴去写得,导致数码管选段及位显有问题,后来经过老师得指点,将共阳数码管P2得接口改成了共阴。
4、00-99计数器设计任务书一、设计任务基于单片机技术和Proteus仿真平台,设计单片机技术应用系统,要求8051单片机设计实现一个计数器,计数范围为:00-99,并数码实时显示计数值。
鼓励在以上的基础上创新,例如,加上自动计数模式,计数范围扩展到“0-9999”,设计并制作出实物作品。
二、设计原理该设计重点在于软件的编程训练。
对于计数器的软件内容设计基本过程为:(1)单片机对按键的识别的过程处理。
(2)单片机对正确识别的按键进行计数,计数满时,又从零开始计数。
(3)单片机对计的数值要进行数码显示,计得的数是十进数,含有十位和个位,我们要把十位和个位拆开分别送出这样的十位和个位数值到对应的数码管上显示。
如何拆开十位和个位,我们可以把所计得的数值对10求余,即可个位数字,对10整除,即可得到十位数字了。
(4)通过查表方式,分别显示出个位和十位数字。
三、设计过程要求(1)做方案论证画出电路原理图,要有完整的电路图。
(2)确定元器件参数,要有元件清单。
(3)设计软件流程,编写软件程序,要有程序附件。
(4)进行电路模拟仿真,要有设计仿真效果图。
(5)进行实验箱仿真,画出焊接布线图。
(6)完成DXP版的SCH原理图文件输出,打印专业版的CAD图纸。
(7)完成实物制作与调试,要有实物电路板作品。
要求系统能够脱离PC机单独运行,具有数码显示或液晶显示的功能,人机交互方式合理,鼓励创新。
四、编写设计报告写出设计的全过程,附上有关资料、设计图纸、软件流程和软件程序,有心得体会。
五、结题答辩在规定10分钟时间内,演示和介绍作品功能,阐述设计思想、功能特色,并回答问题。
99计数器课程设计一、课程目标知识目标:1. 学生能理解99计数器的原理和操作方法。
2. 学生掌握运用99计数器进行100以内数的加减运算。
3. 学生了解99计数器在数学运算中的实际应用。
技能目标:1. 学生能够熟练使用99计数器进行数的拆分、组合和运算。
2. 学生通过实际操作,提高解决问题的策略能力和逻辑思维能力。
3. 学生能够将99计数器的运用迁移到其他数学领域,如乘除法运算等。
情感态度价值观目标:1. 学生培养对数学学习的兴趣,增强数学学习的自信心。
2. 学生在小组活动中,学会合作、交流、分享,培养团队精神。
3. 学生通过探索和实践,体验数学的实用性和趣味性,形成积极的学习态度。
课程性质:本课程以实际操作和小组活动为主,注重培养学生的动手能力、逻辑思维能力和团队协作能力。
学生特点:二年级学生具有较强的求知欲和好奇心,动手能力强,喜欢探索和发现,但注意力集中时间较短。
教学要求:教师需以生动活泼、富有启发性的教学方式,引导学生主动参与,关注学生的个别差异,鼓励学生积极思考、勇于实践。
通过本课程的学习,使学生在轻松愉快的氛围中掌握知识,提高技能,培养良好的情感态度价值观。
1. 引入99计数器:通过故事、图片等形式,介绍99计数器的历史、构造和操作方法,让学生对99计数器产生兴趣。
2. 99计数器基本操作:讲解和演示99计数器进行加、减运算的操作步骤,使学生掌握其基本使用方法。
- 教材章节:第二章第二节《认识99计数器》- 内容列举:99计数器的构造、操作方法、加法运算、减法运算3. 实践活动:组织学生进行小组活动,运用99计数器进行加减运算,提高学生的实际操作能力。
- 教材章节:第二章第三节《99计数器的运用》- 内容列举:小组活动、实际操作、加减运算4. 运用拓展:引导学生将99计数器的运用拓展到其他数学领域,如乘除法运算,培养学生的逻辑思维和迁移能力。
- 教材章节:第二章第四节《99计数器的拓展运用》- 内容列举:乘法运算、除法运算、逻辑思维、迁移能力5. 总结与反思:对本节课的学习内容进行总结,让学生分享学习心得,教师进行点评和指导。
标准文档9创新实践实训报告学院信息电子技术学院专业电子信息工程班级14学籍号姓名指导教师蒋野2017年06月29日单片机控制秒表电路一、电路工作原理1.工作原理用STC89C52设计一个2位的LED数码显示作为“秒表”:显示时间为00—99秒,每秒自动加1,另设计一个“暂停”键S2和一个“继续”键S3。
为使本设计系统更加完善,可以引入一个“复位”键S1,以方便对系统的控制。
如图。
本系统采用STC89C51单片机为中心器件,利用其定时器/计数器定时计数的原理,结合硬件电路如电源电路,晶振电路,复位电路和显示电路,以及一些按键电路等来设计计数器,将软硬件有机结合起来,其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,硬件系统利用Protues强大的功能来实现,简单易于观察,在仿真中就可以观察到实际的工作状态。
2.元器件作用(1)STC89C52单片机在电子行业中有着广泛的应用。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,STC89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
(2)时钟电路作用是为电路提供唯一的时钟信号。
(3)复位电路外接一个开关,控制电路复位,接通电源电路直接复位,如果没有开关亦可将复位电路引出导线接电源后断开。
(4)本设计要求使用共阳极的数码管,如下是共阳极的数码管的0-9编码:0xc0,0x92,0x82,0xf8,0x80,0x90,0xf9,0xa4,0xb0,0x99.(5)控制电路:S2按下电路停止计时,S3按下电路恢复计时。
二、程序流程图主程序流程图三、检测安装与调试1.元件检测共阳极数码管检测管脚序号利用万用表二极管档红表笔接一个抵住两个管脚,利用另一个接触其他,找出1,2两个管脚,继续分别找出A,D,C,D,E,F,G,Dp管脚。
计数器设计 一、实习目的与要求1、设计的目的(1)掌握51系列单片机的基本硬件结构及工作原理。
(2)掌握51系列单片机的汇编语言及基本程序设计方法。
(3)学习并掌握使用51系列单片机开发控制系统的基本步骤及方法。
(4)掌握51系列单片机键盘显示电路的编程方法。
2、设计要求(1)设计十进制0~99的计数器,采用按键计数,数码管显示。
(2)采用按键产生计数值:按下按键,计数值增加1; (3)采用2位数码管显示,计数初值为0;(4)当计数达到99时,再次按下按键,计数值从1开始增加; (5)设计一个按键,用于清空计数值。
二、 总体设计方案1、计数器的基本原理利用AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P3.2管脚接一个轻触开关,作为手动计数的按钮。
再利用AT89S51单片机的复位键进行清零处理。
同时51单片机的P1.0-P1.7接共阴数码管的位选,作为0-99计数选择的位置。
用单片机的P0.0-P0.7接共阴数码管的段选,作为00-99计数的显示,总体结构框图如图1-1所示。
图1-12、模块电路分析(1) STC89C51单片机:它是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦1000次的Flash 只读程序存储器,器件采用ATMEL 公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及STC8951引脚结构,芯片内集成了通用8位中央处理器和ISP Flash 存储单元,功电源 键盘AT89S51 单片机数码管显示能强大的微型计算机的STC8951可为许多嵌入式控制应用系统提供高性价比的解方案。
STC8951具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,128bytes 的随机存取数据存储器(RAM),32个外部双向输入输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信,片内时钟振荡器。
一.题目:00-99计数器二.主要元器件:单片机89C52··········1个共阴数码管··············2个蜂鸣器······················1个按钮开关··················1个单片机底座··············1个12MH晶振·············1个22PF电容················2个极性电容··················1个1K电阻····················2个排阻················2个NPN三极管···········1个导线若干三.主要功能:利用AT89C52单片机来制作一个手动计数器,按一下加1,计数器从00一直加到99,实现100个数值的计数功能。
实用文档目录1引言 (1)2 整体设计方案 (2)3各单元的介绍 (3)3.1 最小应用系统 (3)3.1.1 AT89C51的介绍 (3)3.1.2时钟电路的介绍 (5)3.1.3复位电路 (7)3.2 锁存器74LS273的介绍 (8)3.3 数码管显示介绍 (9)4 99倒计时主电路图 (10)5 程序流程图 (12)6 99倒计时软件程序设计 (13)7 总结 (15)8 谢辞 (16)9 参考文献 (17)1引言目前单片机的应用越来越广泛,实际上,单片机得几乎在人类生活的各个领域都表现出强大的什么生命力,使计算机的应用范围达到了前所未有的广度和深度。
单片机的出现尤其对电路工作者产生了观念上的冲击。
在过去经常采用模拟电路、数字电路诗实现的电路系统,现在相当大一部分可以用单片机予以实现,传统的电路设计方法已演变成软件和硬件相结合的设计方,而且许多电路设计问题将转化为纯粹的程序设计问题。
INTEL公司从其生产单片机开始发展到现在,大体上可分为3大系列:MCS-48系列、MCS-51系列和MCS-96系列。
MCS-51系列是8为高档单片机系列,也是我国目前应用最为广泛的一种单片机系列。
单片机是把CPU、内存储器和某些I/O接口电路集成在一块大规模芯片上的微型计算机。
单片机的优点很多,具有体积小,成本低,抗干扰能力强,面向控制,可以实现分机各分布控制等。
在进行99倒计时的课程设计中就是利用单片机的上述优点,采用的是AT89C51型号的单片机。
99秒倒计时器主要是用在精确时间上。
它是通过一个按键来控制它的开和停,在控制过程中有一个暂停开关和一个复位按钮,它能及时有效的记录瞬间时间,它在我们的生活中的应用很广泛。
2 整体设计方案根据课程设计内容,基于MCS-51单片机,设计两位八段LED做99秒钟的倒计时。
秒表倒计时能够上电复位,复位后系统初始化,八段LED显示为00。
因此,硬件连接设计主要包括时钟电路,复位电路,89C51基本工作电路,接口电路,八段LED共阴极电路等等。
单片机课程设计加计数器完结版q qDocument serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】课程设计课程名称51单片机原理及应用题目名称单片机“0~99”加法计数器程序设计专业班级12级计算机科学与技术2班学生姓名郑伟、刘刚、纪强、岳向阳学号032、007 021、018指导教师刘粉二○一四年十二月蚌埠学院计算机科学与技术系课程设计任务书间目录前言单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上的应用 ,例如精密的测量设备 2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3.在家用电器中的应用可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
单片机计数器课程设计一、课程目标知识目标:1. 学生能理解单片机计数器的基本原理,掌握计数器的编程方法。
2. 学生能描述计数器的应用场景,了解其在实际工程中的重要性。
3. 学生掌握单片机中断系统的工作原理,并能运用中断技术实现计数功能。
技能目标:1. 学生能运用C语言编写简单的单片机计数器程序,实现计数功能。
2. 学生能通过调试程序,找出并修正计数过程中的错误。
3. 学生能够使用仿真软件对单片机计数器程序进行仿真,验证程序的正确性。
情感态度价值观目标:1. 学生在课程学习中,培养对单片机技术的兴趣和热情,提高学习积极性。
2. 学生通过团队协作解决问题,培养合作精神,增强团队意识。
3. 学生在探索计数器应用的过程中,认识到科技对社会发展的作用,树立正确的价值观。
课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握单片机计数器的原理和编程方法。
学生特点:学生具备一定的单片机基础知识和C语言编程能力,对实践操作有较高的兴趣。
教学要求:注重理论与实践相结合,鼓励学生动手实践,培养解决实际问题的能力。
通过任务驱动的教学方法,引导学生主动探究,提高自主学习能力。
同时,关注学生的情感态度价值观培养,使学生在掌握知识技能的同时,形成正确的价值观。
二、教学内容本课程教学内容主要包括以下几部分:1. 单片机计数器原理:介绍计数器的基本概念、工作原理和分类,结合教材第二章相关内容,使学生理解计数器在单片机系统中的应用。
2. 中断系统:讲解单片机中断系统的工作原理,重点分析中断优先级和中断处理程序,结合教材第四章内容,使学生掌握中断技术在计数器中的应用。
3. C语言编程:复习C语言基础知识,重点讲解与单片机编程相关的语法和技巧,结合教材第五章内容,培养学生编写计数器程序的能力。
4. 编程实践:指导学生编写简单的单片机计数器程序,实现计数功能,结合教材第六章实例,让学生在实际操作中掌握编程方法。
5. 程序调试与仿真:介绍程序调试方法和技巧,教授仿真软件的使用,使学生能够独立进行程序调试和验证,结合教材第七章内容进行教学。
前言单片机的应用介绍单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用,例如精密的测量设备 2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3.在家用电器中的应用可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5.单片机在医用设备领域中的应用例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
6.在各种大型电器中的模块化应用如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
目录前言 (1)一.课程设计的目的和要求 (3)二.总体设计思路 (3)三.硬件设计 (6)四.软件设计 (9)五.使用Keil、preoteus软件调试仿真说明 (10)六.结束语 (11)七.参考文献 (11)一.课程设计的目的和要求1、设计目的1) 学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。
课程设计课程名称51单片机原理及应用单片机“0~99”加法计数器题目名称程序设计专业班级12级计算机科学与技术2班学生姓名郑伟、刘刚、纪强、岳向阳学号51202012032、5120201200751202012021、51202012018 指导教师刘粉二○一四年十二月蚌埠学院计算机科学与技术系课程设计任务书目录一.前言 (4)二.单片机介绍 (4)(一).AT89C51简介编辑 (4)(二).主要特性编辑 (5)(三).特性概述编辑 (5)(四).管脚说明编辑 (5)(五).芯片擦除编辑 (7)(六).串口通讯 (7)三.课程设计的目的和要求 (11)(一).设计目的 (11)(二).课程设计题目 (11)(三).设计任务及要求 (11)四.总体设计思路 (11)(一).硬件设计思路及系统框图 (11)1.硬件设计思路: (11)2.原器件清单 (12)3.系统框图 (12)(二).软件设计思路: (12)(三).对照表 (12)(四).程序流程图 (13)五.硬件设计 (15)(一).芯片主要特性 (15)(二)管脚说明: (15)(三).排阻的作用 (16)(四).电路图说明 (17)1.添加晶振和复位 (17)2.添加P0和P2两个按键 (17)3. 数码管动态显示 (17)六.软件设计说明 (17)七.使用Keil、preoteus软件调试仿真说明 (19)八.结束语 (20)九.参考文献 (21)附录: (22)(一).汇编源程序 (22)(二).原理图 (24)前言单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 1.在智能仪器仪表上的应用 ,例如精密的测量设备 2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
3.在家用电器中的应用可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
5.单片机在医用设备领域中的应用例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
6.在各种大型电器中的模块化应用如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
一.单片机介绍(一).AT89C51简介编辑AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示。
现在AT89S51/52已经取代了AT89C51/52。
(二).主要特性编辑·与MCS-51 兼容·4K字节可编程FLASH存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路(三).特性概述编辑AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
(四).管脚说明编辑VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
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口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V 编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
(五).芯片擦除编辑整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE 管脚处于低电平10ms 来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
(六).串口通讯单片机的结构和特殊寄存器,这是你编写软件的关键。
至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢?SBUF数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。
有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF?而不是收发各用一个寄存器。
”实际上SBUF 包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-99H。
CPU 在读SBUF 时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。
发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。