- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机实验(自动打铃系统)实验报告
2010年小学期单片机设计实验报告
题目:自动打铃系统
班 级:
小班学号: 14
实验组号: 11
学生姓名: 徐骁
指导教师: 张老师
期中检查
教师评语
指导教师签字:
年 月 日
自动打铃系统
― 徐骁
实验摘要
本次单片机实验我们用实验箱制作自动打铃系统,即实现时钟的走时,并在此基础上可以实现在某些时间点引起喇叭发声,即打铃。我们的系统能实现的基本功能有:基本计时以及12小时制显示功能;显示上下午;能设定当前的时间;在制定打铃时间打铃。此外,我们还实现了一些拓展功能:整点报时(可以开启、关闭);可以设定打铃时间的长短及间歇时间;增加上课、下课铃。
我们小组在试验中利用了microchip公司的PIC16F877芯片,运用汇编语言进行编写,主要用到了中断技术以及输入输出接口的相关知识。利用PORTD、PORTE作为显示屏输出端口,PORTB、PORTD作为键盘扫描输入端口,利用PORTC作为响铃输出,基本时钟走时利用了TMR1中断,音调发生程序运用了TMR0中断,调整时间运用了外部中断。总的来说,虽然实验难度不是很大,但是需要细致跟耐心,程序的编写量非常大,而且调试的过程也是比较麻烦的。
关键字
单片机——microcontroller 芯片——CMOS chip
中断——interrupt
输入/输出接口——input/output interface
硬件模块
时钟显示模块
时钟显示模块是我们整个打铃系统的主要组成部分,我们参考液晶显示屏的说明书对显示屏进行初始化,图为初始化的部分相关语句:
液晶显示屏的原图:
初始化完成后,液晶显示屏示意图:
1、左上方显示的是打铃持续时间的长短,在实现的拓展功能中可以实现对它的改变。
2、右上方显示的是整点报时开关,图示N为关,在实现的拓展功能中可以对其进行调整,Y为开。
3、左下方为上下午显示,每当时钟走到11:59:59,下一秒会显示00:00:00,并实现AM/PM之间的切换。
4、右下角为基本的时钟走时显示。
2.键盘模块
除了显示模块之外,就是利用键盘对自动打铃系统进行设置,所以键盘系统是至关重要的,根据实验过程中老师提供的键盘检测原理,我们分别用了PORTB、PORTD的各四个端口,来确定4*4键盘每一个键的位置,以下为键盘实物、构造原理,及键盘检测的相关语句:
关于键盘检测模块,还有一个问题在于,只有当人们想设置的时候,才能使其发挥作用,而平时触摸按键,系统不应该对其有响应,因此,我们小组经过研究后,决定运用外部中断来控制键盘的使用,即当检测到有外部中断的发生时,显示屏光标弹出,此时在光标指示的位上,可以使用键盘进行相关的设置。具体操作如下:
按下外部中断键int
设置整点报时:按下F键,整点报时开启或者关闭(进行反转),按下D键,进入到下一功能的设置。
设置响铃时长:按下2-5键,选择打铃时间的长短即2、3、4、5秒,按下按键后,程序自动跳转至上、下午设置。
上下午设置:每按下一次C键,上下午状态反转一次,按下D键结束设置,并进入时间设置。
时钟时间设置:一次对小时、分钟、秒进行设置,每设置完一位,自动转至下一位,最大值不能超过11:59:59,设置完成后,程序自动跳出中断,进入自动走时打铃状态。
外部中断相关语句如下(以设置整点报时为例):
3.最小系统
由于我们实验用的是实验箱,所以除了研究自动打铃系统之外,我们为了锻炼焊接的技术,制作了最小系统。我们最小系统是由芯片及其外围电路构成的,能运行简单程序,完成简单功能的系统。与自动打铃系统不同,在设计的同时,其重点放在了焊接上,难点是电源电压的转换,即把普通的220V电压转化为芯片能正常工作的5V电压。图为一个最小系统。
二.系统总体设计
⒈系统模块总体框图如下:
1 2 3 4 5 6 7 8 9 0 A B C D E F
时钟基本走时流程:
判断是否打铃流程图以及时钟更改时间流程图:
键盘模块工作流程图:
2.延时程序:
延时程序存在于整个程序中有四个重要用途:
系统走时的原理在于利用了延时程序。
打铃时间长短、间歇时间的控制使用了延时程序。
为了避免非人为因素的干扰,检测按键的时候需要延时程序。
延时程序有时候起到稳定系统的作用
图为一个延时10ms的子程序
3.中断程序:
中断程序运用于整个程序中,我们在实验中运用了三
文档评论(0)