基于51单片机的电子表设计_第1页
基于51单片机的电子表设计_第2页
基于51单片机的电子表设计_第3页
基于51单片机的电子表设计_第4页
基于51单片机的电子表设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1绪论电子表是20世纪50年代才开始出现的新型计时器。最早的一款电子表被称做 “摆轮游丝电子表”,它诞生于1955年。这种手表用电磁摆轮代替发条驱动,以 摆轮游丝作为振 荡器,微型电池为能源,通过电子线路驱动摆轮工作。它的走时 部分与机械手表完全相同,被称为第一代电子手表。1960年,美国布洛瓦公司最早开始出售“音叉电子手表”。这种手表以金属音叉作为振荡器,用电子线路输出 脉冲电流,使机械音叉振动。它比摆轮式电子手表结构简单,走时更精确,被称为 第二代电子手表。1969年,日本精工舍公司推出了世界上最早的石英电子表。石 英电子表的出现,立刻成为了钟表界主流产品,它走时精确,结构简单,轻松地 将

2、一、二代电子表,甚至机械表淘汰出局。石英表又称“水晶振动式电子表”,因 为它是利用水晶片的“发振现象”来计时的。当水晶受到外部的加力电压,就会产 生变形和伸缩反应;如果压缩水晶,便会使水晶两端产生电力。这样的性质在很 多结晶体上也可见到,称为“压电效果”。石英表就是利用周期性持续“发振” 的水晶,为我们带来准确的时间。单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能 力的中央处理器CPUS机存储器RAM只读存储器ROM多种I/O 口和中断系统、 定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换 器、A/D转换器等电路)集成到一块硅片上构成的一个小而完

3、善的微型计算机系 统,在工业控制领域的广泛应用。从上世纪 80年代,由当时的4位、8为单片机,发 展到现在的32位300M的高速单片机。1.1 单片机的介绍单片微型计算机简称单片机,是典型的嵌入式微控制器( Microcontroller Unit ),常用英文字母的缩写 MCUfe示单片机,单片机又称单片微控制器,它不 是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当 于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的

4、最佳选择。它最早是被用在工业控制领域。1.2 单片机应用的特点控制功能和可靠性高单片机是为了满足工业控制而设计的,所以实时控制功能特别强,其CPU可以对 I/O 接口直接进行操作,位操作能力更是其它计算机无法比拟的,另外,由于CPU存储器,以及I/O接口集成在同一芯片内,各部件之间的连接紧凑,数据在传送时受到干扰小,且不易受环境条件的影响,所以单片机的可靠性非常高。体积小,价格低,易于产品化每一片单片机既是一台完整的微型计算机,对于批量的专用场合,一方面可以在众多的单片机品种间进行匹配选择,同时还可以专门进行芯片设计,使芯片功能与应用具有良好和对应关系。对单片机产品的引脚封装方面,有的单片机引

5、脚已减少到 8 个或更少,从而使应用系统的印刷板减小,按插件减少,安装简单。在现代的各种电子器件中,单片机具有良好的性能价格比,这正是单片机得以广泛应用的重要原因。1.3 单片机的应用领域(1) 能仪器仪表单片机用于各种仪表,一方面提高了仪表仪器的使用功能和精度,使仪器仪表智能化,同时还简化了仪器仪表的硬件结构,从而可以方便地完成仪器仪表的升级代换。如各种智能化电气测量仪表,智能传感器等。(2) 机电一体化机电一体化产品是集机械技术,微电子技术,自动化技术和计算机技术于一体,具有智能化特征的各种机电产品。单片机在机电一体化产品的开发中可以发挥巨大的作用。典型的产品如:机器人,数控机床,自动包装

6、机,点钞机,医疗设备,打印机,传真机,复印机等。(3) 实时工业控制单片机还可以用于各种物理量的采集与控制。电流,电压,温度,液位, 流量等物理参数的采集和控制均可以利用单片机方便地实现。在这类系统中, 利用单片机作为系统控制器,可以根据被控对象的不同特征采用不同的智能算 法,实现期望的控制指标,从而提高生产效率和产品质量。典型应用如电动机 转速控制,温度控制,自动生产线等。 分布系统的前端模式在较复杂的工业系统中,经常要采用分布式控制系统完成大量的分布参数 的采集。在这类系统中,采用单片机作为分布式系统的前端采集模块。系统具 有运行可靠,数据采集方便灵活,成本低廉等一系列有点。(5)家用电器

7、家用电器是单片机的又一重要应用领域,前景十分广泛如空调,电冰箱, 洗衣机、电饭煲,高档洗浴设备,高档玩具。另外,交通领域中,汽车,火 车,飞机,航天等均有单片机的广泛应用。1.4 51系列单片机51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单 片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片 机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATME公司的AT89系歹1,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51单片机是基础入门

8、的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。当前常用的51系列单片机主要产品有:*Intel的:80C31 80C51、87C51, 80C32 80C52、87C52等;*ATMElB: 89C51、 89C52、89C2051 等;*Philips 、华邦、Dallas、Siemens(Infineon)等公司的许多 产品。目前,国产宏晶STC单片机以其低功耗、廉价、稳定性能,占据着国内51单片机较大市场。1.5 硬件设计当编写自己的程序信手拈来、阅读别人的程序能够发现问题的时候,说明你的 单片机编程水平相当不错了。接下来就应该研究的硬件了。硬件设

9、计包括电路原理 设计和PCB®设计。学习做硬件要比学习做软件麻烦,成本更高,周期更长。但 是,学习单片机的最终目的是做产品开发-软件和硬件相结合形成完整的控制系 统。所以,做硬件也是学习单片机技术的一个必学内容。电路原理设计涉及到各种芯片的应用,而这些芯片外围电路的设计、典型应用 电路和与单片机的连接等在芯片数据手册(DATASHEETfB能找到答案,前提是要 看得懂全英文的数据手册。否则,照搬别人的设计永远落在别人的后面,你做的产 品就没有创意。电子技术领域的第一手资料(DATASHEE俅B是英文,从第一手资 料里你所获得的知识可能是在教科书、网络文档和课外读物等所没有的知识。虽然

10、 有些资料也都是在DATASHEET基础上撰写的,但内容不全面,甚至存在翻译上的 遗漏和错误。当然,阅读 DATASHEET要具备一定的英文阅读能力,这也是阻碍单 片机学习者晋级的绊脚石。良好的英文阅读能力能让你在单片机技术知识的海洋里 自由遨游。做PCB®就比较简单了。只要懂得使用 Protel软件或AltimDesigner软件就 没问题了。但要想做的板子布局美观、布线合理还得费一番功夫了。娴熟的单片机 C语言编程、会使用Protel软件或AltimDesigner 软件设计PCBR和具备一定的 英文阅读能力,你就是一个遇强则强的单片机高手了。1.6 芯片简介AT89C51片机引

11、脚图如下:U319> XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RD39183837369353433322921222324302531261272810

12、211312413514615716817AT89C51图1.1 AT89C51引脚图MCS-51单片机是标准的40引脚双列直插式集成电路芯片其各引脚功能如下: VCC +5V电源。VSS接地。RST复位信号。当输入的复位信号延续两个机器周 期以上的高电平时即为有效,用完成单片机的复位初始化操作。XTAL1和XTAL2外接晶体引线端。当使用芯片内部时钟时,此二引线端用于 外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。P0 口: P0 口为一个8位漏极开路双向I/O 口,当作输出口使用时,必须接上拉电 阻才能有高电平输出;当作输入口使用时,必须先向电路中的锁存器写入“1”,使

13、FET截止,以避免锁存器为“ 0”状态时对引脚读入的干扰。P1 口: P1 口是一个内部提供上拉电阻的8位双向I/O 口它不再需要多路转接 电路MUX因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用 时,同样也需先向其锁存器写“ 1”,使输出驱动电路的FET截止。精选P2 口: P2 口电路比P1 口电路多了一个多路转接电路 MUX这又正好与P0 口 一样。 P2 口可以作为通用的 I/O 口使用,这时多路转接电路开关倒向锁丰存器Q端。P3 口: P3 口特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。当作为 I/O 口使用时,第二功能信号引线应保持高电平,与非门开

14、通,以 维持从锁存器到输出端数据输出通路的畅通。当输出第二功能信号时,该位应应置“ 1 ”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出,具体第二功能如表1 所示。2 设计方案2.1 主程序设计思路通过单片机内部的计数/ 定时器,采用软件编程来实现时钟计数,一般称为软时钟,这种方法的硬件线路简单,系统的功能一般与软件设计相关,通常用在对时 间精度要求不高的场合。采用时钟芯片,它的功能强大,功能部件集成在芯片内 部,具有自动产生时钟等相关功能,硬件成本相对较高;软件编程简单,通常用在 对时钟精度要求较高的场合。先对显示单元和定时器/ 计数器初始化,然后重复调用数码管显示模块和

15、按键处理模块,当有按键按下时,则转入相应的功能程序。2.2 定时器 /计数器 T0 中断服务程序T0用于计时,选中方式一,重复定时,定时时间设为50ms定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加一。秒单元加到 60 则对分单元加一,同时秒单元清0;分单元加到60则对时单元加一,同时分单元清0;时单元加到24 则对时单元清0,标志一天时间计满。在对各单元计数的同时,把他们的值放到存储器单元的指定位置。2.3 示意图主程序流程图T0中断服务程序图2.1 程序示意图2.4 按键处理按键设置为:如果没有按键吗,则时钟正常走时。当按下 K0 键时,进入调分状态,时

16、钟停止走动;按 K1和K2按键可以进行加一和减一操作;继续按 K0键可 以分别进行分和小时的调整;最后按 K0键启动计时。3 汇编语言程序ORG 0000HLJMP STARTORG 000BHLJMP INIT0START:MOV R0,#70H; 主程序开始MOV R7,#0CHINIT:MOV R0,#00HINC R0DJN Z R7,INITMOV 72H,#10; 对连字符进行装值MOV 75H,#10MOV TMOD,#01H ; 选择定时器/计数器 T0 的方式 1MOV TL0,#0B0H; 对低位赋初值MOV TH0,#03CH; 高位赋初值SETB EASETB ET0S

17、ETB TR0START1:LCALL SCANLCALL KEYSCANSJMP START1DL1MS:MOV R6,#14H; 延时 1 子程序DL1:MOV R7,#19HDL2:DJNZ R7,DL2DJNZ R6,DL1RETDL20MS:ACALL SCAN ;延时 20ms子程序ACALL SCANACALL SCANRET ; 数码管显示程序开始SCAN:MOV A,78HMOV B,#0AHDIV AB ;时间秒的十位送给A,时间秒白个位送BMOV 71H,A; 时间秒要显示的十位MOV 70H,B; 时间秒要显示的个位MOV A,79HMOV B,#0AHDIV AB;时

18、间分的十位送给A,时间分白个位送BMOV 74H,A; 时间分要显示的十位送地址MOV 73H,B; 时间分要显示的个位送地址MOV A,7AHMOV B,#0AHDIV AB;时间时的十位送给A,时间时白个位送BMOV 77H,A; 时间时显示的十位送地址MOV 76H,B; 时间时要显示的个位送地址MOV R1,#70HMOV R5,#0FEHMOV R3,#08HSCAN1:MOV A,R5; 数码管的显示程序精选MOV P2,AMOV A,R1MOV DPTR,#TABMOVC A,A+DPTR ; 对字段表取值显示MOV P0,AMOV A,R5LCALL DL1MSINC R1MO

19、V A,R5RL AMOV R5,ADJNZ R3,SCAN1MOV P2,#0FFHMOV P0,#0FFHRET;"09" 和"-" 的字段表TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH; 定时 / 计数器T0 中断程序INIT0:PUSH ACCPUSH PSWCLR ET0CLR TR0MOV TL0,#0B0HMOV TH0,#03CHSETB TR0INC 7BHMOV A,7BHCJNE A,#14H,OUTT0;50ms是否至U 20次,没有到就继续执行 50ms的延时

20、MOV 7BH,#00INC 78HMOV A,78HCJNE A,#3CH,OUTT0 ; 一秒的延时是否计到 60次,没有就继续执行MOV 78H,#00INC 79HMOV A,79HCJNE A,#3CH,OUTT0MOV 79H,#00INC 7AHMOV A,7AHCJNE A,#18H,OUTT0 ;60分钟的延时是否计到24次,没有就继续执行程序; 启动定时器T0MOV 7AH,#00OUTT0:SETB ET0POP PSWPOP ACCRETI; 按键处理程序KEYSCAN:CLR EAJNB P1.0,KEYSCAN0JNB P1.1,KEYSCAN1JNB P1.2,K

21、EYSCAN2KEYOUT:SETB EARETKEYSCAN0:LCALL DL20MSJB P1.0,KEYOUTWAIT0:JNB P1.0,WAIT0执行程序;P1.0 有按键按下则跳转到子程序;P1.1 有按键按下则跳转到子程序;P1.2 有按键按下则跳转到子程序;20ms 的延时消抖; 判断按键是否松手, 松手就往下精选INC 7CHMOV A,7CHCLR ET0CLR TR0CJNE A,#03H,KEYOUTMOV 7CH,#00SETB ET0SETB TR0SJMP KEYOUTKEYSCAN1:LCALL DL20MSJB P1.1,KEYOUTWAIT1:JNB P1

22、.1,WAIT1MOV A,7CHCJNE A,#02H,KSCAN11INC 79HCJNE A,#3CH,KEYOUTMOV 79H,#00SJMP KEYOUTKSCAN11:INC 7AH; 按下第一次和第二次对时、分选定; 按下第三次时就启动计时; 按键加一的程序; 如果功能键按下则对时加一调整; 如果加到 60 则清零; 如果功能键是按下第二次则对分进行加一调整MOV A,7AHCJNE A,#18H,KEYOUTMOV 7AH,#00SJMP KEYOUTKEYSCAN2:LCALL DL20MS; 延时消抖程序WAIT2:JB P1.2,KEYOUTJNB P1.2,WAIT2

23、; 判断是否放开按键MOV A,7CHCJNE A,#02H,KSCAN21; 如果功能键是按下第一次对时进行减一DEC 79HMOV A,79HCJNE A,#0FFH,KEYOUTMOV 79H,#3BHSJMP KEYOUTKSCAN21:DEC 7AH;如果功能键是按下第二次则对分进行减CJNE A,#0FFH,KEYOUTMOV 7AH,#17H SJMP KEYOUTEND4硬件系统4.1 硬件概况硬件系统包括系统的硬件主要包括单片机芯片,数码管显示,按键开关电路 等,其运作方式如下图:图4.1单片机时钟的基本框图片机系统中的时钟是一切与时间有关过程的运行基础,在实时控制系统中尤其

24、 如此。钟有绝对时钟和相对时钟两种。绝对时钟是与当地的时钟同步的,有月、日 时、秒等功。相对时钟则与当地时间无关,一般只有时、分、自动控制定时时间长短的功能。MOS-51 系列单片机只有T0,T1两个16位定时器,若都用作系统时钟的 绝对时钟和相对时钟定时,则当系统再用于通信等需要定时器资源的情况下,会出 现定时器不够用的情况.为此,统一设计单片机的时钟系统,用一个定时器完成绝 对和相对一个完整的数字钟电路相当于一个简单的系统,每个部分都要设计。MCS51单片机的片内结构由八部分组成。微型处理机(CPU ,数据存储器(RAM。程序存贮器(ROM EPROM, I/O 口,定时器,计数器。中断系统及特 殊的功能寄存器(SFR 。数据存储器和程序存储器的可寻址的范围是:64K地址范围是:0000H-FFFFHT展的I/O均占用存储器的地址。时钟等多项定时任务是有实际意义的。4.2 protues 仿真硬件电路cMtlci章fJYW! ,1WBUiO图4.2硬件电路图4.3 调试、硬件调试的主要任务是排除硬件故障,其中包括设计错误和工艺性故(1)脱机检查。用万用表逐步按照电路原理图检查印制电路板中所有器件的各引脚,尤其是电源的连接是否正确;检查数据总线、地址总线和控制总线是否有短路等故障,顺序是否正确;检查各开关按键是否能正常开关

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论