优秀单片机课程设计

2022-09-05

第一篇:优秀单片机课程设计

单片机课程设计设计项目

09级通信专业《课程设计》方案 单片机应用系统设计项目介绍

学生:09级通信

1、

2、3班指导教师:周秋茜

一、16×16点阵LED电子显示屏的设计

1.功能要求

设计一个室内用16×16点阵LED图文显示块,要求在目测条件下LED显示屏个点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。图形或文字显示有静止、移出、移入等显示方式

2.设计要求

根据功能要求,应采用动态显示的设计方法,同时为简化设计,减少硬件数量,显示数据的传输采用串行传输方式。

(1) 熟悉AT89S51单片机系统的使用方法。

(2) 掌握动态显示原理及实现方法。

(3)初步掌握AT89S51单片机编程方法。

(4)掌握串行数据传输方式的应用。

(5) 实现利用AT89S51单片机控制的LED图文屏正常工作;

二、数字电压表系统设计

1.功能要求

简易数字电压表可以测量0~5V范围内的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示。其测量最小分辨率为0.02V

2.设计要求

按照系统功能实现要求,控制系统采用51单片机,A/D转换采用ADC0808。

(1) 熟悉AT89S51单片机系统的使用方法。

(2) 掌握数据显示原理及实现方法。

(3)初步掌握AT89S51单片机编程方法。

(4)掌握ADC的使用。

(5) 实现利用AT89S51单片机测量电压并显示出来;

三、交通灯控制系统的设计

1.功能要求

设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:初始态四面均为红灯,持续时间为2S;然后转为状态1(10S),为东西红、南北绿;状态2(3S),为东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15S),为东西绿、南北红;状态4(3S),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最

后回到状态1,依次循环。如遇特殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后将开关拨回原位。系统恢复原状态运行

2.设计要求

可选用12只单色LED发光管作为交通灯,也可选用4只双色LED发光管。控制系统采用51单片机,可选用片内带ROM型单片机,以简化电路,降低成本

(1) 熟悉AT89S51单片机系统的使用方法。

(2) 掌握控制系统及实现方法。

(3)初步掌握AT89S51单片机编程方法。

(5) 实现AT89S51单片机对交通灯控制系统的有序管理

四、数字时钟设计

1.功能要求

时钟计时器要求用单片机用6位LED数码管显示时、分、秒,以24小时计时方式运行,使用按键开关可实现时、分调整,秒表/时钟功能转换,省电(关闭显示)等功能

2.设计要求

按照系统功能实现要求,控制系统采用51单片机,显示系统采用LED显示器

(1) 熟悉AT89S51单片机系统的使用方法。

(2) 掌握数据显示原理及实现方法。

(3)初步掌握AT89S51单片机编程方法。

(4)掌握定时器的使用的使用。

(5) 实现AT89S51单片机产生频率可调的多种波形的输出;

五、简易低频信号源的设计

1. 功能要求

简易低频信号发生器要求能输出0.1~50HZ的正弦波、三角波和方波信号,其中正弦波和三角波信号可以用按键选择输出,输出信号的频率可以从0.1~50HZ范围内调整。

2.设计要求

按照系统功能需要,要求选用AT89C51单片机作为控制器,用DAC0832作为D/A转换器。功能键使用单片机的三个端口

(1)熟悉AT89S51单片机系统的使用方法。

(2)掌握DAC0832转换原理及实现方法。

(3)初步掌握AT89S51单片机编程方法。

(4)掌握定时器的使用。

(5)实现利用AT89S51单片机精确计时并显示出来;

六六十秒倒计时显示器

第二篇: 单片机课程设计

课题: 简易电子琴设计

院:

电气与信息工程学院 专

业:

电子信息工程 姓

名:

李琳琳 学

号:

093411106

指导老师:

田巍

河南城建学院

2014年

01 月

01 日

第三篇:单片机课程设计

镇江高等专科学校课程设计1 项目要求

基于AT89S51单片机的密码锁设计,具体功能如下: (1)总共可以设置8位密码,每位密码值范围为1~8。 (2)用户可自行设定和修改密码。 (3)按每个密码时都有声音提示。

(4)若键入的8位开锁密码不完全正确,则报警5s已提醒他人注意。

(5)开锁密码连续错3次要报警1分钟,报警期间输入密码无效,以防窃贼多次试探密码。

(6)键入的8位开锁密码完全正确才能开锁,开锁时要有1s的提示音。 (7)电磁锁的电磁线圈每次充电5s,然后恢复初态。

(8)密码键盘上只允许有8个密码按键。锁内有备用电池,只有内部上电复位才能设置或修改密码,因此,仅仅在门外按键是不能修改或设置密码的。 (9)密码设置完毕后要有2s的提示音。

2 硬件设计

2.1 设计思路

按照系统设计的要求和功能,将系统分为主控模块;按键扫描模块;蜂鸣器;电源电路;复位电路晶振电路;驱动电路几个模块,系统组成框图如图1-1所示。主控模块采用AT89S51单片机。

电源电路复位电路主控模块晶振电路AT89S51按键扫描模块驱动器蜂鸣器 图1-1 基于AT89S51单片机的密码锁组成框图 镇江高等专科学校课程设计2.2 硬件图及说明(硬件图见图1-2,)

元件型号单片机晶振电容型号数量/个用途元件型号蜂鸣器电阻型号数量/个用途AT89S52 1 控制核心12MHz 1 晶振电路30pF 2 晶振电路1 报警电路1kΩ10kΩ4.7kΩ1 上拉电路1 复位电路1 放大电路电阻电阻继电器电源电解电容20uF/10V 1 复位电路按键三极管二极管9 按键电路8550 2 放大电路IN4004 1 5V 1 控制对象+5V/0.5A 1 提供+5V电源 图1-3 基于AT89S51单片机的密码锁元件清单

注:1.AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

2.蜂鸣器的工作原理:

3 软件设计

2.1 设计思路 镇江高等专科学校课程设计应位置的,分析程序时可以仔细对照参考。 该密码锁中RAM存储单元的分配方案如下所示

如图1-3所示给出了该单片机密码锁电路的软件软件流程图。图中AA1~AA8以及START,SET,SAVE是程序中的标号,是为了理解程序而专门标在流程图的对 31H~38H;依次存放8位设定的密码,首位密码存放在31H单元中。  R0:只指向密码地址  R2;已经输入密码的位数

 R3:存放允许的错码次数3与实际错码次数的差值。  R4~ R7:延时用。  00H:错码标志位。

对于ROM存储单元的分配,由于程序比较短,而且占用的存储空间的较少,因此,在无特殊要求时,可以从0030H单元(其他地址也可以)开始存放主程序。 3.2 程序流程图

开始初始化1s提示音等待设置密码NN有键按下?Y短音提示保存设置密码N是否够8位?Y长音提示错误次数清零错误标识清零N有键按下?Y短音提示密码对否?Y是否够8位?Y标志=1?N开锁并长音提示延时锁恢复错误清零错3次?Y报警1 min错误次数清零报警5s错误标志清零Y错误次数加1NN错误标志置1 图1-4 基于AT89S51单片机的密码锁程序流程图

3.3 程序清单(注释)

LOC OBJ LINE SOURCE

0000 1 ORG 0000H 0000 0130 2 AJMP START 0030 3 ORG 0030H 镇江高等专科学校课程设计0030 11A1 4 START:ACALL BP 0032 7831 5 MOV R0,#31H 0034 7A08 6 MOV R2,#8 0036 7590FF 7 SET1:MOV P1,#0FFH 0039 E590 8 MOV A,P1 003B B4FF02 9 CJNE A,#0FFH,L8 003E 0136 10 AJMP SET1

0040 11B0 11 L8: ACALL DELAY 0042 B4FF02 12 CJNE A,#0FFH,SAVE 0045 0136 13 AJMP SET1 0047 11A1 14 SAVE: ACALL BP 0049 F6 15 MOV @R0,A 004A 08 16 INC R0 004B DAE9 17 DJNZ R2,SET1 004D 7D10 18 MOV R5,#16 004F 11A1 19 D2S: ACALL BP 0051 DDFC 20 DJNZ R5,D2S 0053 7831 21 MOV R0,#31H 0055 7B03 22 MOV R3,#3 0057 7A08 23 AA1: MOV R2,#8 0059 7590FF 24 AA2: MOV P1,#0FFH 005C E590 25 MOV A,P1 005E B4FF02 26 CJNE A,#0FFH, L9 0061 0159 27 AJMP AA2 0063 11B0 28 L9:ACALL DELAY 0065 B4FF02 29 CJNE A,#0FFH,AA3 0068 0159 30 AJMP AA2 006A 11A1 31 AA3: ACALL BP 006C C3 32 CLR C 006D 96 33 SUBB A, @R0 006E 08 34 INC R0 006F B40002 35 CJNE A,#00H,AA4 0072 0176 36 AJMP AA5 0074 D200 37 AA4: SETB 00H 镇江高等专科学校课程设计0076 DAE1 38 AA5: DJNZ R2,AA2 0078 20000E 39 JB 00H,AA6 007B C2B5 40 CLR P3.5 007D 7D08 41 L3:MOV R5,#8 007F 11A1 42 ACALL BP 0081 DCFA 43 DJNZ R4,L3 0083 7B03 44 MOV R3,#3

0085 D2B5 45 SETB P3.5 0087 0157 46 AJMP AA1 0089 DB0C 47 AA6: DJNZ R3,AA7 008B 7D18 48 MOV R5,#24 008D 7CC8 49 L5: MOV R4,#200 008F 11A1 50 L4: ACALL BP 0091 DCFC 51 DJNZ R4,L4 0093 DDF8 52 DJNZ R5,L5 0095 7B03 53 MOV R3,#3 0097 7D28 54 AA7: MOV R5,#40 0099 11A1 55 ACALL BP 009B DDFA 56 DJNZ R5,AA7 009D C200 57 AA8: CLR 00H 009F 0157 58 AJMP AA1 00A1 C2B7 59 BP: CLR P3.7 00A3 7FFA 60 MOV R7,#250 00A5 7E7C 61 L2: MOV R6,#124 00A7 DEFE 62 L1: DJNZ R6,L1 00A9 B2B7 63 CPL P3.7 00AB DFF8 64 DJNZ R7,L2 00AD D2B7 65 SETB P3.7 00AF 22 66 RET 00B0 7F14 67 DELAY:MOV R7,#20 00B2 7E7D 68 L7: MOV R6,#125 00B4 DEFE 69 L6: DJNZ R6,L6 00B6 DFFA 70 DJNZ R7,L7 00B8 22 71 RET 镇江高等专科学校课程设计 72 END 3.4 程序调试

按键AN1~AN7分别代表数码1~7,按键AN0代表8。在没有键按下时,P1.0~P1.7全是高电平1;若某个键被按下,相应的口就变为低电平0.加入设定的密码是612345678,当按键AN6被按下时,P1.6变为低电平,P1端口其余口线为高电平,此时从P1口输入的数值为10111111,存到31H单元的密码值就是10111111,也就是BFH。以此类推,存到32H至38H单元的密码值分别是FDH,FBH,F7H,EFH,DFH,7FH,FEH。开锁时必须先按AN6,使从P1口读入的第一个密码值与31H单元存储的设定值相同,再按顺序按AN1 ,AN2,AN3, AN4, AN5, AN7 ,AN0才能开锁。否则不能开锁,同时开始报警。

4 小结

通过此次课程设计,使我更加扎实的掌握了有关单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。

实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。

此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰

参考文献:(另起一页)

【1】杨居义。单片机课程设计指导。北京:北京大学出版社,2009。

【2】王效华,张咏梅。单片机原理与应用。北京:北京交通大学出版社,2007。 【3】杨光义,马宁,靳光明等。单片机原理与工程应用。北京:清华大学出版社,2009。

第四篇:单片机课程设计

《单片机技术》课程设计说明书

音乐盒

院、部:电气与信息工程学院 学生姓名:刘亮 指导教师:凌云职称讲师 专业:电子信息工程 班级:电子1302班 学

号:1330340220 完成时间: 2016年1月11日

摘要

音乐盒起始于中世纪欧洲,当时为使教会的钟塔报时,而将大小的钟表上装置机械设备,被称为可发出声音的组钟。

本次的课题主要分为数码管显示模块、供电模块、按键模块、发声模块、复位电路和AT89S52单片机。数码管显示模块采用共阳极数码管,通过P0口控制,实现歌曲序号的显示;供电模块采用+5V供电;按键通过P3口控制,实现歌曲播放顺序的调换和暂停播放功能;扬声器由P3.1口控制,实现歌曲播放。

主要的工作过程是通过按键控制下一首和上一首播放以及暂停和播放,同时有数码管显示当前正在播放的歌曲序号,扬声器播放出音乐。

此次设计主要用到PROTEUS、KEIL编程和AD作图软件。用PROTEUS画出原理图,用KEIL编写程序,将程序导入原理图中进行仿真。最后用AD画出PCB图,打印图纸进行腐蚀焊接。将程序下载到单片机中,利用I/O口产生方波,驱动扬声器,发出音调,从而演奏乐曲。

关键词:扬声器;AT89S52单片机;I/0口

目 录

1 背景意义、任务要求及设计原理、框图··························1 1.1 背景意义···············································1 1.2 任务要求···············································1 1.3 设计原理···············································1 1.4 设计框图···············································1 2 硬件系统····················································3 2.1 数码管模块··············································3 2.2 键盘模块················································3 2.3 复位电路················································3 2.4 蜂鸣器模块··············································4 3 软件系统·····················································5 3.1 主程序介绍及流程图······································5 3.2 各个模块及功能介绍······································6 3.2.1 定时器模块········································6 3.2.2 延时模块··········································6 3.2.3 中断模块··········································7 3.2.4 数码管显示模块 ···································9 4 电路仿真和程序检测··········································10 5 实物制作及调试··············································11 结束语 ····························································12 参考文献 ··························································13 致 谢· ···························································14 附 录· ···························································15

1 背景意义、任务要求及设计原理、框图

1.1 背景意义

音乐盒的起源是中世纪欧洲的教会用来钟塔报时,后来,随着工业的发展,逐渐的体积变小,功能变多,不过多数以机械音乐盒为主,这样的音乐盒大部分体积较大音调单一,容易受到外界的影响,而且,代价昂贵。

此次设计的音乐盒,是基于单片机设计制作的电子音乐盒。与传统的相比更加小巧,音质更优美而且可以演奏和弦音乐。单片机音乐盒的动力是+5V的电源,制作简单,可以批量生产,控制功能强大,可以随时的加减歌曲,使用更加的方便而且不易受到外界的影响而音质变坏,另外,可以根据需要,添加流水彩灯等外设更改外观,使音乐盒的功能更加丰富。

1.2 任务要求

此次的设计要求为:设计一个具有特定功能的音乐盒,要求包含软件和硬件两大模块,能够通过按键来选择曲目,切换曲目,显示器来显示曲目编号,能够准确的播放曲目。

1.3 设计原理

本次的设计最主要的在于蜂鸣器的设计,想要蜂鸣器发出不同的音调,通过单片机的定时器产生一定长度的方波,方波脉冲驱动蜂鸣器发声。要产生音频脉冲,只需要算出某一音频的周期,然后取半周期的时间定时。利用定时器计时这半个周期时间,每当计时到之后,就将输出脉冲的I/O反向,然后在重复计时此周期时间再对I/O口反相,就可在I/O口得到此频率的脉冲。如中音DO,频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时1912/2=926。在每计数956次时将I/O口反相,就可以得到中音。

每当有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出曲目。数码管采用共阳极数码管,通过单片机P0口控制,实现曲目序号的显示。功能键盘采用按键开关,通过P3口控制,实现曲目播放顺序的调换和暂停播放功能,蜂鸣器由P3.1口控制,实现音乐播放。

1.4 设计框图

单片机接+5V电源供电,晶振电路负责产生单片机所需要的时钟信号,通过功能键产生外部中断,控制音乐盒的上一曲和下一曲。在由I/O口输出控制蜂鸣器发声。另外可以用复位电路对程序初始化,在程序出错时,重启单片机。具体

的设计框图如图1所示。

图1 总体设计框图

编程设置好定时时间,通过编程器写入AT89S52单片机系统中。由AT89S52单片机的定时器每秒通过P1口控制LED数码管显示,复位信号由按键输入,没按一次,系统恢复原始状态。电源,晶振电路,单片机,功能键,和扬声器部分具体介绍在后面有介绍。

2 硬件系统

2.1 数码管模块

歌曲显示部分用数码管来显示,LED显示器件是通过发光二极管显示字段的器件,该设计采用的是7段数码管,原理是由P0口控制数码管中的7端LED发光二极管,通过单片机给予P0口不同的数值来显示不同的数字。数码管分为共阳极和共阴极两种,共阳极的数码管,当管脚是低电平有效,而阴极的数码管,是管脚高电平有效。这样,单片机给予P0口的数值将会发生差异,也就是说,不同种类的数码管,对应的ASCII码就会不同。本次选用的是共阳极数码管,其引脚如图2所示。

图2 数码管引脚

2.2 键盘模块

本次的键盘模块采用按键开关这样操作简单,辨别容易的开关。用到4个按键开关,分别是复位按键,下一首按键,上一首按键,和暂停按键。上一首按键和下一首按键接单片机的外部中断0,外部中断1。暂停按键接定时器1,复位按键在复位电路中,接单片机RES。

2.3 复位电路

复位电路主要用于初始化程序,当单片机音乐盒发生死机时,用复位电路初始化程序来重启单片机。两个电容,两个电阻和一个复位按键组成,当单片机死机时,按下按键,即可重启,其电路原理图如图3所示。

图3 复位电路原理图

2.4 扬声器模块

扬声器模块最为重要,当单片机输出脉冲经过扬声器时,会是扬声器发声,不过因为设计中用到的元件较多,不能保证通过扬声器的电流足够大,所以要用三极管放大电路来放大电流,这样才能让扬声器正常工作,具体的原理图如图4所示。

图4 扬声器原理图

3 软件系统

3.1 主程序介绍及流程图

一个系统的正常运行不仅需要硬件的运行,还需要软件系统的支持。同时软件要根据硬件的连接来设计,来配合硬件的工作,例如,本次的设计用到的是P 0口和P3口。所以,设计的时候就要注意,只能用到P0和P3。本次用到的软件设计选用课堂学到的汇编语言。另外用KEIL软件来编写程序,用课堂上学到的中断和循环等来编写程序。

主程序要开始定义音频输出端口,歌曲总数以及每首歌的入口地址;然后对定时器初始化,确定工作方式,赋初值,开放中断启动定时器工作;对音频输出端口初始化;设置音节起始位置和节拍间距,把音节和节拍的入口地址信息存放在固定存储单元中,查询音乐的节拍表;当6首歌曲的节拍查询结束后,音乐播放完毕,程序结束。主程序的清单在附录中,其流程图如图5所示。

图5 主程序流程图

3.2 各个模块及功能介绍 3.2.1 定时器模块

单片机中有两个16位的可编程计数器/定时器,他们具有定时和计数的功能,

可用于定时控制,延时,对外部的事件检测和计数。

定时器的核心部件是加一计数器,通过TMOD寄存器可以使定时器工作在定时或者计数,还可以选择工作方式,工作方式关系到后面音调和节拍的调用,因此,要选择合适的工作方式。定时器模块的程序清单见附录。图6为定时程序流程图。

图6 定时器模块流程图

3.2.2 延时模块

此处的延时模块并不是固定的延时程序,而是将节拍表中的接拍数存放在固定的单元中,再将固定单元中的内容送给延时程序中,这样空拍就可以将节拍分开,这样,图7为延时程序流程图。

图7 延时流程图

3.2.3 中断模块

中断模块主要用来进行上一首,下一首和暂停的控制,本次的中断主要用到INT0,INT1和T1三个I/O口。不同的中断有不同的程序。因为单片机中只有两个外部中断,因此,我决定选用定时器1来改变成中断,即应定时器1的F0判断,当F0为1时,为中断。在此仅具体介绍上一曲的功能。下面为流程图介绍。

图8 中断程序流程图

3.2.4 数码管显示模块

本次设计采用的是共阳极的数码管,因此要采用相应的数值来控制数码管的亮灭。另外还要求通过按键在改变曲目顺序的时候改变数码管显示数字。下面为数码管显示模块的流程图。

图9 数码管显示模块流程图

4 电路仿真和程序检测

仿真图作图用到的是PROTEUS软件,对于这个软件,我们已经相当的熟悉,所以用起来比较顺利,首先将各个元件搜索出来,必须要有单片机最小系统,显示模块,按键模块,发声模块。根据要求,可以画出仿真图。如图10所示。

图10 设计仿真图

将KEIL中写好的程序导入到单片机中,开始检测,首先检测是否能够清晰的播放出音乐,其次通过控制三个按键来检测上一首,下一首和暂停的功能是否实现,观察数码管的数字是否随着按键的变化,通过以上检测,发现程序和仿真完全符合标准,表示仿真和程序检测通过,可以制作实物。

5实物调试

将程序编译好产生.hex文件,通过无需驱动程序将编译好的.hex文件导入到三合一的实验板中,在外边接入三个按键开关来控制上一首,下一首和暂停,调试过程与仿真图的调试过程相同,可以通过按键来控制歌曲的调换和暂停,而且也可以控制数码管按曲目的调换来显示序号。实验成功,实验成品如图11所示。

图11 实物图 11

结束语

首先要感谢凌老师平时的耐心教导,才能让我对单片机这门课程产生兴趣,在平时的课堂上都会跟着老师的思路走,下课后,努力的完成老师布置的作业是凌老师让我学到了很多关于单片机的知识。

其次对这次制作课程设计的感想。本次的课题是音乐盒,最主要的就是程序设计,经过比较分,决定采用51编程语言,因为平时上课接触最多的就是汇编语言,对于C语言,了解比较少,并不是非常熟练。运用课堂上学到的定时,中断,循环,以及数码管显示和按键程序,可以比较完整的制作出这次的课题。不仅可以复习平时学到的知识,还会有新的能力学到,比如AD绘图的使用和熟悉。

最后,了解了单片机的方便性,和强大性。这是我们走向岗位的通行证,必须学会单片机,才会在大四毕业的时候找到适合自己的好工作。

参考文献

[1]李广弟.单片机基础[M].第3版.北京:北京航空航天大学出版社,2003.06. [2]李全利.单片机原理及应用(C51编程)[M].北京:高等教育出版社,2012.12. [3]楼然苗.51系列单片机设计实例[M].北京:北京航空航天大学出版社,1999.06.

[4]李叶紫.单片机应用教程[M].北京:清华大学出版社,2002.01. [5]李光飞.单片机课程设计实例指导[M].北京:北京航空航天大学出版社,2004.09.

这次的设计可以说是给了我很多,不仅仅是学习上的,更多的是精神上和生活中的

首先要感谢老师的教育,让我学到了这么多的知识,在这段制作单片机课设的时候更是有感触,当听到设计的音乐盒发出声音的时候,第一感觉是好舒畅,因为第一次可以看到自己制作出这样的东西,在这些自豪中,更能感觉到老师对我们的栽培是那么的重要。

还要感谢同学们的帮助,有的时候,自己真的是不懂了,就去问同学,这不仅仅是问问而已,更能加深同学之间的友情,而且还会收获更多的知识,在这样的学习氛围中,收益的是我们大家。所以我要感谢在这次课设里帮助过我的所有同学。

这次的设计给我最大的启发就是,在学习中马虎不得。当你马虎的对待学习,学业也会马虎的对待你,这样吃亏的还是自己,学业本来就是自己的,自己不努力,难道就会白白得来吗?所以以后的学习中不能有一丝的马虎大意,就算是为了自己也要学下去。

附录A 电路原理图

附录B 电路实物图

附录C 元器件清单

芯片

AT89S52 1 数码管八段2

电容

22µF

电容

33pF

2 三极管1

电阻

470Ω

电阻

300Ω

1

电阻

200Ω

1

电阻

1KΩ

2 LED灯8

下载口

晶振

12MHZ1

按键

9 排阻8位4

排阻

2位1

短路帽

插针

若干

18 附录D 程序清单

OUT BIT p3.1

N EQU 6 OUT_NUM EQU P0 ORG 0000H AJMP MAIN ORG 0003H AJMP LAST_SONG ORG 000BH LJMP F_T0 ORG 0013H AJMP NEXT_SONG ORG 001BH AJMP START_PAUSE ORG 0030H MAIN: MOV SP ,#60H MOV DPTR,#TABLE MOV R0 ,#30H MOV R5 ,#00H MOV R6 ,#1 SET_TAB: MOV A,R5 MOVC A ,@A+DPTR MOV @R0 ,A INC R5 INC R0 MOV A ,R5 MOVC A ,@A+DPTR MOV @R0 ,A INC R5 INC R0 MOV A ,R5

19 MOVC A ,@A+DPTR MOV @R0 ,A INC R5 INC R0 MOV A,R5 MOVC A,@A+DPTR MOV @R0 ,A INC R0 INC R5 INC R6 CJNE R6,#N+1,SET_TAB MOV TMOD ,#61H MOV TH1,#0FFH MOV TL1,#0FFH SETB ET1 SETB ET0 CLR PT0 SETB PT1 SETB IT0 SETB PX0 SETB IT1 SETB PX1 SETB EX1 SETB EX0 SETB EA SETB TR1 SETB OUT CLR F0 MOV 22H ,#01H MOV DPTR,#OUT_TAB MOV A,22H MOVC A,@A+DPTR MOV OUT_NUM,A MOV R7,#00H

START0: MOV R4,#00H MOV R0,#30H MOV A,R7 ADD A,R0 MOV R0,A MOV DPH,@R0 INC R0 MOV DPL,@R0 INC R0 MOV A,R4 INC R4 MOVC A,@A+DPTR MOV 26H,A NEXT:MOV R0,#30H MOV A,R7 ADD A,R0 MOV R0,A MOV DPH,@R0 INC R0 MOV DPL,@R0 INC R0 MOV A,R4 INC R4 MOVC A,@A+DPTR JZ END0 MOV R1,A ANL A,#0FH MOV R2,A MOV A,R1 SWAP A ANL A,#0FH JNZ SING CLR TR0

21 SJMP SING1 SING:DEC A MOV R3,A RL A MOV DPH,@R0 INC R0 MOV DPL,@R0 INC R0 MOVC A,@A+DPTR MOV 21H,A MOV TH0,A MOV A,R3 RL A INC A MOVC A,@A+DPTR MOV 20H,A MOV TL0,A SETB TR0 SING1: LCALL DELAY JB F0,FOR AJMP NEXT FOR:CLR TR0 JB F0,$ AJMP NEXT END0: CLR TR0 MOV A,22H CJNE A,#N,WW MOV 22H,#01H MOV R7,#00H MOV OUT_NUM,#11111001B AJMP WWW WW:MOV A,R7

22 ADD A,#4 MOV R7,A INC 22H CLR EA PUSH DPH PUSH DPL MOV A,22H MOV DPTR,#OUT_TAB MOVC A,@A+DPTR MOV OUT_NUM,A POP DPL POP DPH WWW:SETB EA AJMP START0 F_T0:MOV TH0,21H MOV TL0,20H CPL OUT RETI NEXT_SONG: PUSH ACC PUSH DPH PUSH DPL CLR EA MOV A,22H CJNE A,#N,Q MOV R7,#00H MOV 22H,#01H AJMP BACK Q: INC 22H MOV A,R7 ADD A,#4 MOV R7,A BACK: MOV R4,#00H

23 MOV A,22H MOV DPTR,#OUT_TAB MOVC A,@A+DPTR MOV OUT_NUM,A MOV B ,R0 MOV R4,#00H MOV R0,#30H MOV A,R7 ADD A,R0 MOV R0,A MOV DPH,@R0 INC R0 MOV DPL,@R0 INC R0 MOV A,R4 INC R4 MOVC A,@A+DPTR MOV 26H,A DEC R4 MOV R0,B POP DPL POP DPH POP ACC SETB EA RETI LAST_SONG: PUSH ACC PUSH DPH PUSH DPL CLR EA MOV A,22H CJNE A,#1,QQ MOV 22H,#N MOV B,#4

24 MOV A,#N-1 MUL AB MOV R7,A AJMP BACK2 QQ: DEC 22H MOV A,R7 SUBB A,#4 MOV R7,A BACK2: MOV R4,#00H MOV A,22H MOV DPTR ,#OUT_TAB MOVC A,@A+DPTR MOV OUT_NUM,A MOV B,R0 MOV R4,#00H MOV R0,#30H MOV A,R7 ADD A,R0 MOV R0 ,A MOV DPH,@R0 INC R0 MOV DPL,@R0 INC R0 MOV A,R4 INC R4 MOVC A,@A+DPTR MOV 26H ,A DEC R4 MOV R0,B POP DPL POP DPH POP ACC SETB EA

25

RETI START_PAUSE: CPL F0 JB F0,RETURN SETB TR0 RETURN: RETI DELAY: MOV 27H,26H D2: D3:

MOV 28H,#125 MOV 29H,#248 DJNZ 29H,$ DJNZ 28H,D3 DJNZ 27H,D2 DJNZ R2,DELAY RET OUT_TAB: DB 0CH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH TABLE: DW SONG1,TABLE1,SONG2,TABLE2,SONG3,TABLE3,SONG4,TABLE4,SONG5,TABLE5,SONG6,TABLE6 TABLE1: DW 64580,64684,64777,64820,64898,64968,65030 DW 63628,63835,64021,64103,64260,64400,64524 SONG1: DB 04H DB 32H,54H,52H,32H,54H,52H,32H,12H,12H,32H,32H,54H,52H,32H,52H,52H,32H,32H,21H,31H,4H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H DB 0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,32 26

H,52H,54H,32H,34H,31H,21H,12H,24H,34H DB 34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H DB 22H,0D1H,11H,0E2H,0D2H,0C2H,0C4H,0C4H,32H,52H,52H,32H,62H,05H,61H,54H,31H,52H,31H,12H,31H,32H,54H,52H,32H,52H,52H,32H DB 32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52H,32H,62H,51H,61H,54H,31H,12H,32H,12H,32H,12H,32H,32H,54H,52H

DB DB DB 32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H 32H,52H,52H,32H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H 0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,32H,34H,31H,21H,12H,24H,24H DB 34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H TABLE2: DW 63835,64021,64103,64260,64400,64524,64580,64684,64777 DW 64820,64898,64968,65030,65058,65110,65157,65178 SONG2: DB 02H DB 04H,94H DB 0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,02H

02H DB 0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H DB 04H,0C2H,0C2H,0D4H,0C2H,0D2H,0D8H,0D4H,0D2H,92H DB 0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H, 27

DB 0A4H,0A2H,0B2H,0B4H,0C4H,0E8H,0D8H DB 0C8H,0C8H,08H,08H,78H,28H,38H,34H,24H DB 24H,64H,64H,24H,64H,72H,72H,78H,58H,54H,44H,38H,34H,14H,34H,84H,74H,74H,62H,0D8H,78H,28H,38H,34H,24H

DB DB DB

58H,58H,58H,58H,0A8H,0A8H,0A4H,0B4H,0A4H,84H,0A4H, 24H,64H,64H,24H,64H,72H,72H,72H,94H,92H,94H,0A4H,58H,58H,54H,44H 94H,98H,98H,08H 84H,82H,82H,82H,82H,94H,0A2H,94H,92H,82H,74H,72H,74H,72H,72H,72H,72H,92H,91H,91H,94H,54H,74H,94H 02H DB 0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H,04H,0C2H,0C2H,0D4H,0D8H,0D4H,0D2H,92H 02H DB 0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H,04H,0C2H,0C2H,0D4H,0D8H,0D4H,0D2H,92H

DB 0A4H,0A2H,0B2H,0B3H,0C4H,0E8H,0D8H DB 0C8H,0C8H,0C8H,08H DB 00H DB 0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,DB 0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,TABLE3: DW 64898,64968,65030,65086,65135,65158,65199,64260,64400,64524,64580,64684,64777,64862 SONG3: DB 03H DB 28

04H,04H,0C2H,14H,12H,12H,12H,11H,11H,0C2H,0D1H,0E1H,14H,14H,02H,32H,12H,21H,31H,52H,51H,51H,54H DB 32H,31H,31H,12H,11H,31H,52H,51H,31H,24H,24H,24H,64H,54H,24H,34H,52H,34H,52H,32H,21H,31H,12H,11H,21H,34H,04H DB 52H,51H,0D1H,12H,12H,32H,31H,31H,52H,51H,51H,22H,22H,22H,0D2H,0D1H,0D1H,24H,22H,0C2H,14H,12H,12H,34H,32H,32H,54H,54H,54H,54H DB 12H,11H,31H,52H,51H,51H,64H,54H,32H,31H,11H,52H,52H,52H,32H,02H,12H,02H,0C4H,14H DB 0A2H,0A1H,11H,52H,52H,52H,32H,02H,12H,02H,0C4H,14H,0C4H,14H,0C4H,14H,14H,04H DB 04H,04H,04H,04H DB 00H TABLE4: DW 64260,64400,64524,64580 ,64684,64777,64280,64898,64968,65030,65058,65110,65157,65178,65217 SONG4: DB 04H

DB 82H,01H,81H,94H,84H DB 0B4H,0A4H,04H DB 82H,01H,81H,94H,84H DB 0C4H,0B4H,04H DB 82H,01H,81H,94H,84H DB 0B4H,0A4H,04H DB 82H,01H,81H,94H,84H DB 0C4H,0B4H,04H DB 82H,01H,81H,94H,84H DB 0B4H,0A4H,04H DB 82H,01H,81H,94H,84H DB 0C4H,0B4H,04H 29

DB 82H,01H,81H,94H,84H DB 0B4H,0A4H,04H DB 0C4H,0B4H,04H DB 00H DB 82H,01H,81H,94H,84H TABLE5: DW 64021,64103,64260,64400 ,64524,64580,64684,64777,64820,64898,64968,65030,64934 SONG5:

DB 05H DB 42H,82H,82H,82H,84H,02H,72H DB 62H,72H,62H,52H,48H DB 0B2H,0B2H,0B2H,0B2H,0B4H,02H,0A2H DB 12H,0A2H,0D2H,92H,88H DB 82H,0B2H,0B2H,0A2H,84H,02H,72H DB 62H,72H,62H,52H,44H,02H,12H DB 12H,62H,62H,52H,44H,02H,82H DB 72H,62H,52H,32H,48H DB 00H TABLE6: 64021,6103,64260,64400,64524,64580,64624,64777,64820,64898,64958,65030,65058,65110,65157 SONG6: DB 06H

DB 0A2H,0B2H,0D2H,0B2H,0A4H,0B2H,0D2H DB 0B2H,0A2H,82H,72H,88H DB 72H,82H,0A2H,82H,72H,62H,42H,62H DB 0A4H,02H,0B2H,0A4H,84H DB 72H,82H,72H,62H,72H,84H,72H DB 64H,62H,12H,34H,02H,42H DB 38H,38H DW DB 38H,38H 30

DB 44H,02H,32H,44H,64H DB 72H,74H,82H,0A4H,02H,062H DB 0A8H,0A8H DB 0B2H,0B4H,0A2H,84H,82H,72H DB 62H,72H,82H,0A2H,88H DB 72H,74H,62H,42H,32H,32H,62H DB 78H,78H DB 82H,84H,72H,82H,0A2H,84H DB 72H,82H,72H,62H,48H DB 32H,0A2H,82H,0F2H,0A2H,0B2H,82H,72H DB 68H,68H DB 0B2H,0B2H,0B2H,0A2H,82H,84H,02H DB 72H,74H,62H,42H,32H,42H,62H DB 78H,78H DB 0A2H,0B2H,0A2H,72H,82H,84H,82H DB 72H,74H,62H,44H,64H DB 0A8H,0A4H,02H,0A2H DB 0A2H,0B1H,0A1H,82H,0A2H,0B4H,0B2H,0C2H DB 0A2H,0B2H,0A2H,82H,78H DB 84H,72H,62H,44H,02H,62H DB 72H,81H,71H,62H,72H,84H,02H,0A2H DB 0B4H,02H,82H,74H,82H,72H DB 68H,68H DB 00H END DB 72H,82H,72H,62H,72H,84H,0A2H 31

第五篇:单片机课程设计

目录

第 1 章

概述.....................................................................................6 第 2 章

单片机.................................................................................7

2.1 单片机简介及应用..................................................................7

2.2 AT89C51简介.......................................................................10

2.2.1主要特性..........................................................................11

2.2.2管脚说明..........................................................................11

2.2.3振荡器特性......................................................................12 第 3 章

电子时钟设计方案.............................................................13

3.1电子时钟简介...........................................................................13

3.2电子时钟的基本特点...............................................................13

3.3电子时钟的原理.......................................................................13 第 4 章

电子时钟硬件设计.............................................................15

4.1 Proteus的简介..........................................................................15

4.1.1 EDA工具软件的功能.....................................................15

4.1.2 特点.................................................................................16

4.2 电子时钟原理图及分析...........................................................17

4.2.1原理图...............................................................................17

4.2.2功能说明...........................................................................18 第 5 章

电子时钟软件设计..............................................................20

5.1 软件设计流程图........................................................................20

5.1.1 程序流程图.......................................................................20

5.1.2 源程序...............................................................................21

5.2 系统仿真及程序测试................................................................27 第 6 章

实验心得...............................................................................29 附录 元器件...........................................................................................30 参考文献.................................................................................................30

1

第一章 概述

一、设计目的

计算机控制系统课程设计是自动化专业的一个重要实践教学环节。在课程设计过程中,学生通过一个较完整的设计过程,可以加深对本门课程所学理论知识的理解与应用,提高学生对所学理论知识的综合运用能力,使学生对计算机控制系统有一个整体认识,掌握计算机控制系统的设计方法。通过课程设计,还可以培养学生独立工作能力,为将来毕业设计打好基础。

二、设计要求

1. 用AT89C51单片机及接口电路设计一个电子计时器。

①系统硬件设计:根据任务要求,完成单片机最小系统及其扩展设计,组成功能完整的系统。

②系统软件设计:根据数字电子计时器功能,完成控制软件的编写与调试,并对数码显示进行控制。 2. 实现的功能:

①开机时,电子钟从12:00:00开始自动计时。 ②设置按键,能对时、分、秒进行调整。

三、设备及工作环境

1. 硬件:计算机一台。

2. 软件:Windows操作系统、单片机编译软件,proteus仿真软件。

四、设计思路

电子计时器主要由AT89C

51、显示模块、控制模块和计时运算模块四大部分组成。其中控制模块和计时运算模块主要对时、分、秒的数值显示和调整进行操作,并且秒计算到60时,自动清零并向分进1;分计算到60时,自动清零并向时进1;时计算到24时,自动清零。这样,就形成了循环计时,显示模块主要用来显示当前计数值。A89C51是整个设计的核心,主要用来产生定时中断,传输数据和控制各个部件工作。

2

第二章 单片机

自从1971年微型计算机问世以来,随着大规模集成电路技术的进一步发展,导致微型计算机向两个方向发展:一是高速度、高性能、大容量的高档微型计算机及其系列化,向大、中型计算机的挑战;另一个是稳定可靠、小而廉、能适应各种控制领域需要的单片机。

2.1 单片机简介及应用 1.单片机的简介

单片机是把中央处理单元、随机存储器、只读存储器、定时/计数器以及I/O接口电路等主要部件集成在一块半导体芯片上的微型计算机。虽然单片机只是一个芯片,但从组成和功能上看,它已具有了微型计算机系统的含义,从某种意义上说,一块单片机芯片就是一台微型计算机。

自从1975年美国德克萨斯公司推出世界第一个4位单片机TMS——1000型以来,单片机技术不断发展,目前已成为微型计算机技术的一个独特分支,广泛应用于工业控制、仪器仪表智能化和家用电子产品等各个控制领域。 2.单片机的发展

1975年4位单片机的产生开创了单片机的历史,由于4位单片机具有较高的性能价格比,主要用于家用电器和电子玩具,如电视机、空调机、洗衣机、微波炉等。

1976年美国Intel公司首次推出了8位单片机MCS-48系列,从而进入了8位单片机时代。1978年Motorola公司推出6801系列的8位机。早期的8位单片机的功能较差,一般都没有串行I/O口,几乎不带A/D、D/A转换器,中断控制和管理能力也较弱,并且寻址空间的范围小(小于8KB)。随着集成工艺水平的提高,一些高性能8位单片机相继问世,增加了通用串行通信控制,强化中断控制功能,增加了定时/计数器的个数,扩展了存储器的容量,部分系列单片机内还集成了A/D、D/A转换接口。如Intel公司的MCS-51系列、NEC公司的μPD78XX系列等。为了提高单片机的控制功能,拓展其应用领域,在高档8位单片机基础上,又推出新一代8位单片机,如Intel、Phillips、Atmel、华邦公司的80C51

3 系列,Motorola公司的MC68HC11系列,Microchip公司的PIC16C系列等。8位单片机功能强、品种多、价格低廉,因而广泛应用于各个领域。

继8位单片机以后,16位单片机逐渐问世并得到很大的发展,Intel公司于1983年推出的MCS-96系列单片机就是其中的典型产品。16位单片机的集成度更高,内部除有常规I/O口、定时/计数器、全双工串行口外,还有高速I/O部件、多路A/D转换器、脉冲宽度调制器及监视定时器等,运算速度更快。近年来还出现了32位单片机,例如英国Inmos公司的IMST414单片机、Intel公司的80960单片机、日本NEC公司的μPD77230单片机,可用于高速控制、图像处理、语音偶A/DA处理和数字滤波等

从单片机的结构上看,单片机的发展趋势将向着片内存储器容量增加、高性能、高速度、多功能、低电压、低功耗、低价格以及外围接口电路内装化等方向发展。

1.大容量和高性能化:新一代8位单片机的CPU及寄存器都采用16位,内部总线也采用16位,有的还采用流水线技术以及RISC精简指令集计算机技术,指令执行速度可达100ns,堆栈的空间达64KB,并支持C语言的开发。内部RAM在1MB以上,内部ROM可达48KB,存储器寻址可达16MB。

2. 多样化的I/O口及电路内装化:随着集成度的不断提高,尽可能把众多的各种外围功能部件集成在片内。单片机内部一般带有存储器、定时/计数器、串行口、并行口,目前较高档的单片机内部还集成A/D、D/A、DMA控制器、声音发生器、监视定时器、液晶显示驱动、PWM端口、FIP控制、彩色电视机和录像机用的锁相电路等多样的I/O接口。

3. 低功耗、宽范围的电源电压:许多单片机工作电压范围大,而且可在低电压下工作。

单片机的发展前景是非常乐观的,其应用范围也将更加广泛。 3.单片机的特点

单片机结构上的设计主要是满足控制的需要,因此,它在硬件结构、指令系统及I/O能力等方面均有其独特之处,其显著的特点之一就是具有非常有效的控制功能,故也可以把单片机成为微控制器。

与普通的微型计算机相比,单片机主要具有以下特点:

4 (1) 体积小、结构简单、可靠性高 单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合于恶劣环境下工作。

(2) 控制功能强 单片机虽然结构简单,但是它“五脏俱全”,已经具备了足够的控制功能。单片机具有较多的I/O口,CPU可以直接对I/O口进行I/O操作、算术操作、逻辑操作和位操作,指令简单而丰富。所以单片机也是“面向控制”的计算机。

(3) 低电压、低功耗 单片机已可在2.2V的电压下运行,有的已能在1.2V或0.9V电压下工作;工耗降至μA级,一颗纽扣电池就可以长期使用。

(4) 优异的性能价格比 由于单片机构成的控制系统硬件结构简单、开发周期短、控制功能强、可靠性高,因此,在达到同样功能的条件下,用单片机开发的控制系统比用其他类型的微型计算机开发的控制系统价格更便宜。

4.单片机的应用与89C51单片机的介绍

由于单片机具有上述显著特点,所以其应用领域无所不及,到处都有它的身影。

A、单片机的典型应用领域

(1)工业控制 单片机广泛用于工业自动化控制系统中,数据采集、过程控制、过程测控和生产线上的机器人系统,都是用单片机作为控制器。自动化使工业系统处于最佳工作状态,从而提高经济效益、、改善产品质量和减轻劳动强度,因此单片机技术广泛应用与机械、电子、石油、化工、纺织和食品等工业领域中。

(2)智能化仪器仪表 在各类仪器仪表中引入单片机,可以使仪器仪表智能化、数字化、自动化,提高测试精度和准确度,简化结构,减小体积及重量,提高性能价格比。例如:只智能仪器,医疗器械和数字示波器等。

(3)智能家电 家电产品智能化程度的进一步提高需要有单片机的参与,例如“微电脑控制”的洗衣机、电冰箱、微波炉、空调机、电视机和音响设备等,这里的 “微电脑”实际上就是单片机。

(4)信息与通信技术 图形终端机、传真机、复印机、调制解调器、声像 5 处理器和数字滤波器等。

5.单片机的应用实例

下面以单片机在遥控及数字调谐电视接收机中的应用为例进行介绍。 单片机在电视接收机中的应用,大致分为两个领域:一是用于操作控制系统;二是用于图像、声音信息的处理。属于前一领域的应用有红外遥控、数字调谐、节目预约、功能显示和语言遥控等。

现在以数字调谐选台电路为例加以说明,如图1所示。当进行预置选台是,有本机键盘或遥控发出预置选台指令、单片机控制器读入指令后首先进行解码(通过执行解码程序完成,每一种控制功能都对应一段控制程序,分别写于程序存储器ROM中的不同区域,用地址码来选择)。解码的结果是识别出输入的控制功能指令代码所代表的控制功能,即找到该控制功能所对应控制程序的首地址,然后从该首地址开始执行这段程序。在控制程序的控制下,对时钟脉冲进行变换处理,由微控制器的搜索计数器进行加减计数,产生数字选台数据,其中数字频信息送至频段译码电路,得到三个频段(VL、VH、U)的控制电压送至调谐器完成频段的切换;而数字调谐电压信息送至微控制器内的D/A转换器,以便合成频率和宽度为特定值的脉冲宽度调制(PWM)信号,经低通滤波器变换成直流调谐控制电压VT,也送至调谐器进行频段内不同频道的选择,两种信号共同作用完成选台。控制电路还送出供显示选台及接收机调整状态的标记用的信号。

2.2

AT89C51简介

AT89C51 AT89C51 单片机简介 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROM— Falsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。A单片机的可擦除只读存储器可以反复擦除 100 次。该 器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令 集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器。

2.2.1主要特性

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

2.2.2管脚说明

VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。 当 P1 口的管脚第一次写 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 P3.2 P3.3 P3.4 P3.5 TXD(串行输出口) /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0 外部输入) T1(记时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器

7 读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电 平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地 位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不 变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对 外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个 机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信 号将不出现。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000HFFFFH),不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此 引脚也用于施加 12V 编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。

2.2.3振荡器特性

XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置 为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件, XTAL2 应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外 部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

图 AT89C51

第三章 电子时钟设计方案

3.1电子时钟简介

电子钟亦称数显钟(数字显示钟),是一种用数字电路技术实现时、分、秒计时的装置,与机械时钟相比,直观性为其主要显著特点,且因非机械驱动,具有更长的使用寿命,相较石英钟的石英机芯驱动,更具准确性。电子钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大地方便。

相对于其他时钟类型,它的特点可归结为“两强一弱 ”:比机械钟强在观时显著,比石英钟强在走时准确,但是它的弱点为显时较为单调。

3.

2电子时钟的基本特点

本设计由单片机 AT89C51 芯片和 LED 数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。与传统机械表相比,它具有走时精确,显示直观等特点。 它的计时周期为 24 小时, 显满刻度为“23 时 59 分 59 秒”,另外具有校时功能等特点。该电子钟可以做到的功能:上电或按键复位后能自动显示系统提示符“P.”进入时钟准备状态 2.第一次按电子钟启动/ 调整键,电子钟从 0 时 0 分 0 秒开始运行,进入时钟运行状态。再次按电子钟启动/调整键, 则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键 再次进入时钟运行状态。通过设置的 A、B、C、D 四个键来调整运行,并且利用了 8 位 LED 显示时分秒。

3.

3电子时钟的工作原理

电子钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,具有校时功能和报时功能。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。主电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精

9 度,一般用石英晶体振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。译码显示电路将“时”、“分”、“秒”计数器的输出状态用七段显示译码器译码,通过七段显示器显示出来。整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整。

10

第 四 章

电子时钟硬件设计

4.1 Proteus的简介

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

4.1.1 EDA

工具软件的功能

(1)智能原理图设计(ISIS)

丰富的器件库:超过27000种元器件,可方便地创建新元件;

智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;

智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;

支持总线结构:使用总线器件和总线布线使电路设计简明清晰;

可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。

(2)完善的电路仿真功能(Prospice)

※ ProSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;

※ 超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;

※ 多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入;

※ 丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析 11 仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;

※ 生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;

※ 高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析;

(3)独特的单片机协同仿真功能(VSM)

※ 支持主流的CPU类型:如ARM

7、8051/

52、AVR、PIC10/

12、PIC

16、PIC

18、PIC

24、dsPIC

33、HC

11、 BasicStamp、808

6、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器;

※ 支持通用外设模型:如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信;

※ 实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真;

※ 编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带80

51、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试;

4.1.2 特点

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

②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿 12 真、RS-232动态仿真、C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

③ 目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

④ 支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真

51、AVR、PIC。

4.2 电子时钟原理图及分析

4.2.1原理图

1.系统总体原理图

图1系统总体原理图

4.2.2功能说明

1. 整体功能说明

在LED数码管上能实现数字计时器的时、分、秒显示,并能对时、分、秒进行加1校对和清零.通过控制键控制计时器的开始,暂停,继续和清零.并且开机时时钟时从00:00:00开始计时的。

2. 模块功能说明

(1)AT89C51简介,如下图

图2 AT89C51引脚图

①TMOD定时器/计数器方式寄存器

定时器方式控制寄存器TMOD在特殊功能寄存器中,字节地址为89H,无位地址。

②TCON定时器/计数器控制寄存器

TCON在特殊功能寄存器中,字节地址为88H,位地址(由低位到高位)为 14 88H--8FH,由于有位地址,十分便于进行位操作。 ③定时器/计数器的初始化

由于定时器/计数器的功能是由软件编程确定的,所以一般在使用定时/计数器前都要对其进行初始化,使其按设定的功能工作.初始货的步骤一般如下:

1、确定工作方式(即对TMOD赋值),预置定时或计数的初值。

2、根据需要开放定时器/计数器的中断(直接对IE位赋值)。

3、启动定时器/计数器。 (2)时钟电路

单片机芯片可使用内部时钟电路和外部时钟电路两种方式产生电路所需的时钟脉冲,内部时钟电路实现可用石英晶体和微调电容外接即可达到,外部时钟电路实现需要一个外部脉冲源引入脉冲信号以保证个单片机之间时钟信号的同步。从硬件实现难易角度考虑,内部时钟电路的实现比外部时钟电路的实现更简易。既本数字电子钟设计所需的时钟源采用内部时钟电路实现。所用定时方式为工作方式1,石英晶振为12M,即最小定时时间为1us,最大定时时间约为65.5ms,其电路图如下图2所示。

图3 时钟电路图 (3)LED数码管

7SEG-MPX6-CC是7段6位共阴级数码管,DP为小数点,位码(1-6)应轮流通低电位,段码控制数码管的显示:0-b,1-g,2-a,3-f,4-c,5-e,6-h,7-d.共阴极LED数码管,它是将发光二极管的阴极(负极)短接后作为公共阴极.当驱动信号为高电平才能发光。

15

五 章

电子时钟软件设计

5.1 软件设计流程图

5.1.1 程序流程图.

1.时钟显示程序流程图 时钟显示程序流程图如下图

图 4 时钟显示程序流程图

16

5.1.2 源程序

源程序清单

ORG 0000H LJMP MAIN ORG 0003H LJMP MIAO ORG 000BH LJMP SHI ORG 0013H LJMP FEN ORG 001BH LJMP SZ

MAIN:

MOV R7, #20 MOV R4, #00H MOV R5, #00H MOV R6, #00H

MOV TMOD, #16H MOV TH1, #3CH MOV TL1, #0B0H MOV TH0, #0FFH MOV TL0, #0FFH SETB TR0 SETB

TR1 SETB EA SETB ET1 SETB PT1

17 SETB IT0 SETB IT1 CLR EX0 CLR EX1 CLR ET0

LOOP:

MOV A, R4

MOV B, #10 DIV AB MOV DPTR, #TAB MOVC A, @A+DPTR MOV P0, A MOV P1,

#01H LCALL DELAY MOV P0, #0FFH MOV A, B

MOVC A, @A+DPTR MOV P0, A MOV P1,

#02H LCALL DELAY MOV P0, #0FFH MOV P2, #0FFH JNB

P2.0,TIAOJIE

MOV P1, #04H MOV P0, #0F6H LCALL DELAY MOV P0,#0FFH MOV A, R5

MOV B, #10 DIV AB MOV DPTR, #TAB MOVC A, @A+DPTR MOV P0, A MOV P1,

#08H LCALL DELAY MOV P0, #0FFH MOV A, B

MOVC A, @A+DPTR MOV P0, A MOV P1,

#10H 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, #TAB MOVC A, @A+DPTR MOV P0, A MOV P1,

#40H LCALL DELAY

19 MOV P0, #0FFH MOV A, B

MOVC A, @A+DPTR MOV P0, A MOV P1,

#80H LCALL DELAY MOV P0, #0FFH MOV P2, #0FFH JNB

P2.0,TIAOJIE

LCALL DELAY LJMP

LOOP

TIAOJIE:CPL ET0

CPL ET1

CPL EX0

CPL EX1

LJMP LOOP

DELAY: MOV R3, #100

DEL2:

MOV R2, #10

NOP

DJNZ

R2,$

DJNZ

R3,DEL2

RET LCALL DELAY LJMP LOOP

ORG

0100H SZ: PUSH ACC

MOV TH1, #3CH

MOV TL1, #0B0H DJNZ R7, L2 MOV R7, #20 INC R4 MOV A, R4 CJNE A, #60, L2 MOV R4, #00H INC R5

MOV A, R5 CJNE A, #60, L2 MOV R5, #00H INC R6 MOV A, R6 CJNE A, #12, L2 MOV R6, #00H L2: POP ACC RETI ORG

0200H MIAO:

CLR EA INC R4 SETB EA

RETI FEN: CLR EA INC R5 SETB EA

21 RETI SHI:

CLR EA INC R6 SETB EA RETI

TAB:

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

22

5.2 系统仿真及程序测试

1.调秒

图5 调秒原理图

2.调分

图6调分原理图

23

3.调时

图7调时原理图

24

六 章

实验心得

这个星期参加单片机实习,让我受益匪浅。通过这次的实训,让我学会了Proteus和Keil软件的使用。整个设计通过了软件和硬件上的调试。我想这对于自己以后的学习和工作都会有很大的帮助。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于教材管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。

在老师的精心指导下,花费的时间与精力终于没有白费,效果渐渐地出现了。这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期一周的单片机课程设计没有浪费,我们从中学到了很多知识。也让我们对单片机有了更深一步的了解。

25

附录 元器件 AT89C51

1个 8位数码管

1个 电阻

电容

晶振

按键

电源

GND

13个 3个 1个 4个

3个 4个 26

参考文献

[1]李朝清.单片机原理与接口技术[M].北京航空航天大学出版社。2005.10. [2]耿永刚.单片机与接口应用技术[M].华东师范大学出版社.2008.4. [3]范立南, 谢子殿. 单片机原理及应用教程[M].北京大学出版社. 2006.1. [4]梅丽凤.王艳秋,汪毓铎. 单片机原理及接口技术[M].清华大学出版社.2003.5. [5]何立民.单片机应用系统设计[M].北京航空航天大学出版社.2002. [6]胡汉才.单片机原理及其接口技术[M].清华大学出版社.2004.10.

27

上一篇:语文组教学工作总结下一篇:优秀班干部活动方案

本站热搜