单片机及DSP课程设计报告
专 业: 电子信息
班 级: 信息092
* ** ***
学 号:*********
指导教师:何香玲、王辛杰、吴则举
时 间:2012-06-11~24
通信与电子工程学院
一、设计目的
为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的课程设计。通过设计使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。
1、通过本设计,使学生综合运用《单片机技术原理与应用》、《DSP原理与应用》《C语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。
2、学会使用KEIL C和PROTEUS等软件,用C语言或汇编语言编写一个较完整的实用程序,并仿真运行,保证设计的正确性。
3、了解单片机接口应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等。
二、设计内容
题目42:中断嵌套的设计。
设计要求:实现中断嵌套程序。51单片机的P1口上接有8只LED。在外部中断0输入引脚P3.2()引脚接有一只按钮开关K1。在外部中断1输入引脚P3.3()引脚接有一只按钮开关K2。要求K1和K2都未按下时,P1口的8只LED呈流水灯显示,当K1按下再松开时,产生一个低优先级的外中断0请求(跳沿触发),进入外中断0中断服务程序,左右4只LED交替闪烁。此时按下K2再松开时,产生一个高优先级的外中断1请求(跳沿触发),进入外中断1中断服务程序,P1口的8只LED全部闪烁。当显示一段时间后,再从外中断1返回继续执行外中断0中断服务程序,即P1口控制8只LED左右4只LED交替闪烁。设置外中断1为高优先级,外中断0为低优先级。
三、设计分析
89c52有两个外部中断,外部中断0和外部中断1。分别由INT0和INT1两个端口控制。默认是外部中断0的优先级高于外部中断1,但是设计要求是中断0为高优先级,所以需要用PX1=1更改优先级设置。这样中断1的优先级高于中断0,即中断1可打断中断0以实现设计要求。
外部中断的的中断方式默认为电平触发,要改为跳沿触发应使用EX0=1,EX1=1两个语句,这样只要K1,K2电平发生变化就会触发中断。
在流水灯的设计过程中用到了一个—_crol_循环左移的函数,方便的实现了led的流水显示。在使用—_crol_时要要调用库intrins.h.
在中断1结束后需要人为的打开中断0,才能进入中断0。即需要在中断1结束后给K1一个下降沿,用K1=0来实现。
四、硬件设计
本次设计主要用到了89c52,键盘,led灯等硬件。下面对这三个硬件进行介绍:
while语句的嵌套流程图89c52: 89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
本次设计用到了89c52的P3_2,P3_3两个端口控制两个外部中断,P0控制led的显示。 用按键的按下产生电平变化,来触发中断。
Led灯:8个led灯由P0的8个端口来控制。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论