单片机课程设计 河北科技大学

单片机课程设计 河北科技大学

ID:1153315

大小:240.50 KB

页数:14页

时间:2017-11-08

单片机课程设计 河北科技大学_第1页
单片机课程设计 河北科技大学_第2页
单片机课程设计 河北科技大学_第3页
单片机课程设计 河北科技大学_第4页
单片机课程设计 河北科技大学_第5页
资源描述:

《单片机课程设计 河北科技大学》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、河北科技大学《单片机原理及接口技术》课程设计报告学生姓名:肖轶超学号:130707121专业班级:物联网工程131课程名称:单片机原理与接口技术学年学期:2015—2016学年第一学期指导教师:武卫东2016年1月14目录一、设计题目:3二、设计目的:3三、设计原理及方案:3四、实现方法(包括实验电路测试、软件调试等)7五、实施结果:12六、设计体会:1214一、设计题目:数字秒表计时器二、设计目的:通过单片机控制数码管模拟数字秒表的计时功能。1.必做要求能够通过按键对秒表进行“开始”、“暂停”、“继续”、“停止”、“记录”等操作。2.扩展要求(1)通过按键可

2、翻查所记录的各分项值。(2)其他功能三、设计原理及方案:现在方案中采用了三个中断,外部中断INT0,INT1和定时中断T0。CPU在响应中断时,先处理高级中断,在处理低级中断,若有多个同级中断时,则按自然优先顺序处理。例如当CPU正在处理一个中断申请时,有出现了另一个优先级比它高的中断请求,这是,CPU就暂停终止对当前优先级较低的中断源的服务,转去响应优先级比它高的中断请求,并为其服务。待服务结束,再继续执行原来较低级的中断服务程序。而当CPU为级别高的终端服务程序服务时,如果级别低的中断发出中断请求,此时CPU是不会响应的,所以为了避免开始和暂停两个按键中的一个出

3、现没有响应的情况,在进行程序编辑时要注意对中断的使用,避免出现中断的嵌套。,合理分配中断对本设计的实现是至关重要的。另外由于数字式电子秒表的最小精度位1ms,属于高精度电子秒表。定时器T0的定时周期也为1ms,为了使电子秒表暂停键按下后CPU能马上去响应中断程序,必须将暂停的外部中断级别高于定时计数器的中断级别。避免出现CPU执行完定时溢出中断程序后再响应外部中断程序,影响计时精度。8051的自然优先级顺序排列如下:中断源最高外部中断0定时/计数器0溢出中断外部中断114定时/计数器1溢出中断串行口中断最低数字式秒表中的两个按键采用了中断实现功能。开始采用外部中断I

4、NT0,暂停采用外部中断INT1。另外程序中还用到了定时/计数器0溢出中断进行计时。依据设计要求,暂停的外部中断INT1中断级别最高,计时的定时/计数器0溢出中断次之,开始的外部中断INT0级别最低。(1)外部中断0服务程序:外部中断0服务程序结合外部P3.2停止键实现数字电子秒表的停止功能,具体流程图如图2.2。当按下P3.2停止键按下向CPU发出外部中断请求,CPU转向外部中断0服务程序执行,停止定时器。另外将当前显示的时间进行一次存储,存进中间寄存区。最后中断返回。图2.2外部中断0服务程序流程图(2)外部中断1服务程序外部中断1服务程序结合外部P3.3停止键

5、实现数字电子秒表的启动功能,具体流程图如图2.2。当按下P3.3启动键按下向CPU发出外部中断请求,CPU转向外部中断1服务程序执行,启动定时器。另外进行二次存储,将之前进行一次存储的数码管显示数据存入最终缓存区,避免下次计时暂停时一次存储将数据掩盖,从而起到保护数据的作用。二次存储后就中断返回。14图2.3外部中断1服务程序流程图(3)定时中断服务程序当定时/计数器T0器溢出后,向CPU发出中断请求信号。CPU跳转到定时中断程序执行,具体流程如图2.4。定时中断程序是一个进位程序,主要负责对1ms的加一。1ms位没有满十就跳出中断程序,返回显示程序。当1ms位满十

6、后就对1ms位清零,向10ms位加一,同时检测10ms位是否满十,没有满十就跳出中断程序,返回显示程序。如果满十就向100ms位加一,依次类推,最终达到99.99秒后归零,从零开始再次计时。定时/计数器T0工作在方式0下,TH0和TL0组成一个13位的二进制数计数器。单片机开机或复位时,它的值为00H,当T0启动后,从第一个输入脉冲开始计时,每来一个脉冲计数加一,即从0000000000000开始计数到1111111111111,再计数一个脉冲时TH0和TL0组成的13位计数器将会从13个1变成13个0,并产生溢出,溢出位将被送到TF0标志位,通过溢出标志产生溢出中

7、断请求。显然,T0定时器在方式0下引起一次中断所允许计数的最多脉冲个数为213个。但如果定时计数器如果每次都固定从0开始计数,到计满后,再向CPU发出溢出中断请求信号那是毫无意义的。为了使定时计数器在规定的计数脉冲个数字之后(此时应小于213个脉冲),向CPU发出溢出中断请求,可采取预先向TH0和TL0中放入一个初值X的方法,使计数器以X值为起始值开始计数,即X+1,X+2,……直至计数器计满,从1全变为0。设需要计数的脉冲个数为Y,则有:X+Y=213在定时方式下:定时时间间隔位t=(213—X)*振荡周期*12现在本设计要求1ms实现一次中断,选择定时器T0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。