《单片机课程设计2》由会员分享,可在线阅读,更多相关《单片机课程设计2(21页珍藏版)》请在金锄头文库上搜索。
1、单片机课程设计单片机课程设计 2 2本文由那转角幸福贡献doc 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。1课题设计任务、功能要求及总体方案1.1 课题设计任务本课程设计选题目为:数字电子钟。 设计一个具有特定功能的电子钟。1.2 功能要求设计的数字电子钟上电或按键复位后能自动显示系统提示符“P.” ,进入 时钟准备状态;第一次按数字电子钟启动/调整键,数字电子钟从 0 时 0 分 0 秒 开始运行,进入时钟运行状态;再次按数字电子钟启动/调整键,则数字电子钟 进入时钟调整状态,并且时间停止不动,此时可分别利用各调整键调整时、分、 秒,调整结束后可按启
2、动/调整键再次进入时钟运行状态。1.3 设计总体方案介绍及工作原理说明本课程设计采用 AT89S52 单片机设计一个数字电子钟,通过两个 4 位 LED 数码管显示时、分、秒,并设有 9 个按键。其中一个用于单片机的复位;一个为 启动/调整键;两个分别为加,减键;其他键本课题暂不用。 电路分为 5 部分,分别为复位电路、键盘电路、时钟电路、显示电路和控制 电路。 复位电路采用按键复位方式。 键盘电路采用独立式键盘。 时钟电路用 12MHz 的晶振产生时钟信号。显示电路采用 8 个三极管驱动两个 4 位 LED 显示。控制电 路采用 8 位的 AT89S52 单片机作为 CPU;原理是:时钟用
3、T0 为时钟秒加 1 中断, 时间常数位 50MS,每 20 次加 1S,T0 用为时间加 1 中断,时间常数为 50MS,中断 20 次时间加 1。其设计框图如图 1.1 所示:复位电路 显示AT89S52时钟电路键盘电路下载电路图 1.1 设计方案框图42 数字电子钟硬件系统的设计2.1硬件系统各模块功能简要介绍复位是单片机的硬件初始化操作。经复位操作后,单片机系统才能开始正常2.1.1 复位电路工作。 单片机上有复位引脚 RST,用于外接复位电路,这里复位电路采用按键电平 复位。2.1.2 时钟电路单片机工作所需的同步时钟信号由以下两种方法获得: 由单片机片内时钟电 路结合外部晶振、电容
4、产生和直接从单片机外部引入脉冲信号。这里用第一种方 法产生时钟信号。 电路用 12MHz 的石英晶体和二个微调电容(为 33pF)连接起来接到单片机 的 XTAL1 和 XTAL2 引脚上。2.1.3 键盘电路由于按键较少,所以此处使用独立式键盘,键盘接到单片机的 P1 口上,当 键按下时,在其相应的口线上产生低电平信号,键松开时仍为高电平信号。2.1.4 显示电路本显示电路采用三极管驱动两个 4 位数码管段位控端;用单片机的 P2 口控 制位控;用单片机的 P0 口线作段控口,位、段控线上都串入 470 的限流电阻。2.2数字电子钟原理图、PCB 图和元器件布局图2.2.1 原理图原理图见附
5、录 A。2.2.2 PCB 图PCB 图见附录 B。2.2.3 元器件布局图元器件布局图见附录 C。52.3数字电子钟元器件清单本课程设计元器件清单如表 2.1 所示:表 2.1 数字电子钟元器件清单名称 单片机 三极管 电阻 电阻 电阻 上拉排阻 数码管 电容 电解电容 下载线接口 电源线接口型号 AT89S52 9012 470 1k 4.7k 10K 4 位一体 33pF 22F数量 1 块 9 个 24 个 3 个 1 个 2 片 2 块 2 个 1 个 1 个 1 个备注 含插座,双列直插式含两个插座双列 10 针开关 二极管 温度传感器 蜂鸣器 插针 电阻 晶振 按键 200 12
6、MHz 18B201 9 个 1 个 1 个 38 个 1 个 1 个 9 个63 数字电子钟软件系统的设计3.1 数字电子钟使用单片机资源情况在电子钟的编程过程中,单片机资源使用情况如下: 寄存器:通用寄存器的 R0R7; 位地址:23H(用于保存启动/调整键盘当前的状态) ; IO 口线:P0 口(作数码管的段控口) ,P2 口(作数码管的位控口) ,P1 口(作键 盘接口) ; 堆栈栈底单元地址:60H; 定时器:定时器 0; 显示缓冲单元:78H7FH; 秒分时对应储存单元:72H77H 生成键码出口地址:20H。3.2 数字电子钟软件系统各模块功能简要介绍3.2.1 显示模块此处将显
7、示程序编成一个子程序,要显示时调用显示子程序即可,显示程序 中显示的是缓冲区中的内容再调数据表格中显示代码,程序中只要将要显示的内 容在数据表中的位置送往显示缓冲区即可,就可以显示你所需要显示的内容。3.2.2 中断服务程序模块本程序中用了一个定时器中断,所以有中断服务程序,是为了使秒自加而使 用定时器中断, 定时 50MS 循环 20 次到一秒以后,CPU 申请中断, 向 使秒自加 1。3.2.3 键盘模块运用直接判断 IO 口线的方法编成键盘扫描程序,来完成用键盘监控程序的 功能,总共用了四个键,其具体的功能上面已经叙述过,这里不再赘述,使用键 盘能够很准确的、快速的监控系统。73.3 数
8、字电子钟软件系统程序流程框图3.3.1 主程序流程框图主程序员流程框图如图 3.1 所示:开始 初始化部分 中断初始化P.处理并显示N功能键按下?Y开启定时器 0 调显示子程序 调键扫子程序N键释放?YB1 键?NYB2 键?NY执行相应键功能程 序B3 键?NY返回图 3.1 主程序流程图83.3.2中断服务程序流程框图中断服务程序流程图如图 3.2 所示:开始 现场保护 计数器重新加载 循环次数减 1 是 否 满 20 次 ? Y 秒值加 1 是 否 满 60s? Y 秒显示缓冲单元清 0 分值加 1 是 否 满 60min? Y 分显示缓冲单元清 0 时值加 1 是 否 满 24h? Y
9、 时显示缓冲单元清 0 现场恢复 返回图 3.2 中断服务程序流程图NNNN93.3.3加 1 子程序流程框图加 1 子程序流程框图如图 3.3 所示:开始 取十位数 使十位数占 A 高半字节 取个位数,并占 A 低半字节 加 1 十进制调整个位数送缓冲单元 把十位数交换到低半字节 十位数送缓冲单元 返回图 3.3 加 1 子程序流程图3.3.4减 1 子程序流程框图加 1 子程序流程框图如图 3.4 所示:10开始取十位数,并占 A 高半字节 取个位数,并占 A 低半字节 减 1 十进制调整个位数送缓冲单元 把十位数交换到低半字节 十位数送缓冲单元 返回图 3.4 减 1 子程序流程图3.3
10、.5 键扫子程序流程图框图键扫子程序流程图框图如图 3.5开始调显示 N调处理子程序按键释放?Y 去抖动 保存键值 返回图 3.5 键扫子程序流程图113.3.6 显示子程序流程图框图显示子程序流程图框图如图 3.6开始现场保护 改变寄存器组 初始化部分 查表送段控 查表送位控N送完?Y恢复现场 返回图 3.6 显示子程序流程图3.4数字电子钟软件系统程序清单程序清单详见附录 D124 仿真与误差分析4.1数字电子钟的设计结论及使用说明本课程设计的目的是设计一个电子钟,通过原理图的绘制,PCB 板的制作,最终做出的实物是成功的,能够达到预期的目的,以下本次所作电子钟的具体的 使用说明:电子钟上
11、电后,最高位显示 P.,按下启动/调整键,电子钟从 0 时 0 分 0 秒开始自动运行,再次按下启动/调整键,电子钟运行停止,处于调整状态, 按下加减键,可以实现时、分、秒加键 1,这样可以实现时、分、秒的累加调整, 再次按下启动/调整键,电子钟自动运行起来,处于运行状态,调整结束。4.2设计课题的仿真结果如图 4.1、4.2 所示:图 4.1 显示 P.仿真结果图 4.2 运行仿真结果4.3设计课题的误差分析本课程设计存在一定误差, 引起误差原因主要是程序中定时后很多指令引起的时间误差。 经过测试 10 小时, 时钟慢 25 秒, 则每秒钟慢 2.5/3600=0.6944MS, 50MS
12、中断一次, 次中断为 1 秒, 20 因此每次中断比标准慢 0.6944/20=0.03472MS. TH0TL0=65536-(50-0.03472)*1000/1=15570=3CD2H。 将原来中断初值 TH0TL0=3CB0H 改为 TH0TL0=3CD2H。134.4数字电子钟设计体会本次做课程设计,从硬件方面说,我认为本次设计的重点在于单片机的最小系统,若单片机的最小系统不能正常工作,那后面一切都免谈;从软件方面说, 我编程的思路就是从简单到难,一步一步实现各个功能。这个电子钟的程序重点 在于调整键功能程序和中断服务程序的编写, 这两个小模块编好了, 就很容易了。 在做课程设计的过
13、程中,学到很多东西,比如说做 PCB 板的技术有了很大的 提高,再比如说,自己通过编电子钟的程序,使自己对汇编指令的应用越来越熟 练,编程的能力也有了较大提高。在制作电子钟的过程中,遇到的问题都能尝试 去自己解决,比如说调试程序,检查线路等等,使自己发现问题、解决问题的能 力大大提高。4.5教学建议通过一个学期的单片机课,我生生的体会到了什么叫名师;诚然,王老师总说自己不是名师,但我们真的得尊称你为名师。 在这里我只是觉得我们的动手 能力还是太差了,还得增加实践的动手!让我们多做几块板子,即使我们心有不 情愿,还需老师一如既往的加压!14参考文献 1 李广第,朱月秀,冷祖祁.单片机基础M.第三
14、版.北京:航空航天大学 出版社,2007.18-152 Li Guangdi,Zhu Yuexiu,Leng Zuqi.ScmcbasisM.The third edition.Beijing: Aerospace university press,2007.18-152 2 邱丽芳,彭志刚,胡汉辉.单片机原理与应用 .第二版.北京:人民邮电出 版社,2009.7-259 Qiu Lifang,Peng Zhigang,Hu Hanhui.Single-chip microcomputer principle and application. The second edition. Beiji
15、ng: Beijing postal press ,2009.7-259 peoples telephone and15致谢在本课程设计进行过程中得到王韧老师的悉心指导,还有很多同学的帮助。 王老师严谨求实的治学态度,踏实坚韧的工作精神,将使我终生受益。在此,谨 向老师和帮助我的同学致以诚挚的谢意和崇高的敬意。16123456P00 P01 P02 P03 P04 P05 P06 P07DR00 R01 470 R02 470 R03 470 R04 470 R05 470 R06 470 R07 470 470 10 11 11 7 4 2 1 5 7 3 LED1 b d g dp a c
16、 e 1 f数数数D10P30JP1 JP2RP0 470 RP1 470 RP2 470 RP3 470 RP4 470 RP5 470 RP6 470 RP7 470 D8 LED LED VDD LED D7 LED LED D6 JP5 LED D5 LED D4 D2 LED D3D1LED2 b a42153dg1212P00 P01 P02 P03 P04 P05 P06 P071 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8P10 P11 P12 P13 P14 P15 P16 P17P31 P32 P33 P34 P35 P36 P37VCC VDDd1d2d3d4d1d2d3dp 9 8 6 R20 R21 470 R22 470 R23 470 R24 470 R25 470 R26 470 R27 470 Q1 PNP Q2 PNP Q3 PNP Q4 PNP Q5 PNPcef298CON8 JP3CON8 JP4C CON8P20 P21 P22 P23 P24 P25 P26 P271 2 3 4 5