DSP课程设计(精)
- 格式:doc
- 大小:50.00 KB
- 文档页数:15
dsp简单课程设计一、教学目标本课程旨在让学生了解和掌握DSP(数字信号处理器)的基本原理和应用,培养学生对DSP技术的兴趣和热情。
知识目标:使学生掌握DSP的基本概念、工作原理和主要性能指标;了解DSP 在不同领域的应用,如通信、音视频处理、工业控制等。
技能目标:通过实践操作,培养学生使用DSP芯片进行程序设计和系统应用的能力;使学生能够运用DSP技术解决实际问题,提高创新能力。
情感态度价值观目标:培养学生对新技术的敏感度,增强其对DSP技术的自信心和责任感;激发学生对电子科技和自动化的兴趣,培养其积极向上的学习态度。
二、教学内容本课程的教学内容主要包括DSP的基本原理、DSP芯片的结构与工作原理、DSP程序设计方法和DSP应用实例。
1.DSP基本原理:介绍DSP的定义、分类和发展历程,使学生了解DSP技术的基本概念。
2.DSP芯片结构与工作原理:详细讲解DSP芯片的内部结构、工作原理和主要性能指标,以便学生能够深入理解DSP的运作方式。
3.DSP程序设计方法:教授DSP的编程语言、程序设计流程和调试技巧,使学生具备实际的编程能力。
4.DSP应用实例:分析DSP技术在通信、音视频处理、工业控制等领域的应用实例,帮助学生了解DSP技术的广泛应用。
三、教学方法为了提高教学效果,本课程将采用讲授法、讨论法、案例分析法和实验法等多种教学方法。
1.讲授法:通过教师的讲解,使学生掌握DSP的基本原理和应用。
2.讨论法:学生就DSP技术的相关问题进行讨论,培养学生的思考能力和团队协作精神。
3.案例分析法:分析DSP技术在实际应用中的案例,帮助学生更好地理解DSP技术的价值和应用前景。
4.实验法:安排学生进行DSP实验,锻炼学生的动手能力,提高其对DSP技术的实际应用能力。
四、教学资源为了保证教学效果,我们将准备以下教学资源:1.教材:选用权威、实用的DSP教材,为学生提供系统、全面的学习资料。
2.参考书:提供相关的DSP技术参考书籍,丰富学生的知识储备。
dsp综合设计课程设计报告一、教学目标本课程的教学目标是使学生掌握DSP(数字信号处理器)综合设计的基本理论和实践技能。
通过本课程的学习,学生应能够:1.知识目标:理解DSP的基本概念、原理和应用;熟悉DSP芯片的内部结构和编程方法;掌握DSP算法的设计和实现。
2.技能目标:能够使用DSP芯片进行数字信号处理的设计和实现;具备DSP程序的编写和调试能力;能够进行DSP系统的故障诊断和优化。
3.情感态度价值观目标:培养学生对DSP技术的兴趣和热情,提高学生的问题解决能力和创新意识,使学生认识到DSP技术在现代社会中的重要性和应用价值。
二、教学内容本课程的教学内容主要包括DSP的基本理论、DSP芯片的内部结构和工作原理、DSP程序的设计和调试方法、DSP应用系统的设计和实现等。
具体包括以下几个部分:1.DSP的基本概念和原理:数字信号处理的基本概念、算法和特点;DSP芯片的分类和特点。
2.DSP芯片的内部结构:了解DSP芯片的内部结构和工作原理,包括CPU、内存、接口、外设等部分。
3.DSP程序的设计和调试:学习DSP程序的设计方法,包括算法描述、程序编写和调试技巧。
4.DSP应用系统的设计和实现:掌握DSP应用系统的设计方法,包括系统架构、硬件选型、软件开发和系统测试等。
三、教学方法为了实现本课程的教学目标,我们将采用多种教学方法,包括讲授法、案例分析法、实验法等。
具体方法如下:1.讲授法:通过教师的讲解,使学生掌握DSP的基本理论和原理,引导学生理解DSP技术的核心概念。
2.案例分析法:通过分析具体的DSP应用案例,使学生了解DSP技术的实际应用,培养学生的实际操作能力。
3.实验法:通过实验操作,使学生熟悉DSP芯片的使用方法和编程技巧,提高学生的实践能力。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选择一本合适的教材,作为学生学习的基础资料,提供系统的DSP知识。
dsp大学课程设计一、教学目标本课程的教学目标旨在帮助学生掌握数字信号处理(DSP)的基本理论、算法和实现方法。
通过本课程的学习,学生应能够:1.知识目标:–理解数字信号处理的基本概念、原理和数学基础。
–熟悉常用的数字信号处理算法,如傅里叶变换、离散余弦变换、快速算法等。
–掌握DSP芯片的基本结构、工作原理和编程方法。
2.技能目标:–能够运用DSP算法进行实际问题的分析和解决。
–具备使用DSP开发工具和实验设备进行软硬件调试的能力。
–能够编写DSP程序,实现数字信号处理算法。
3.情感态度价值观目标:–培养学生的创新意识和团队合作精神,提高解决实际问题的能力。
–增强学生对DSP技术的兴趣和热情,为学生进一步深造和职业发展奠定基础。
二、教学内容本课程的教学内容主要包括以下几个方面:1.数字信号处理基础:包括信号与系统的基本概念、离散信号处理的基本算法等。
2.离散余弦变换和傅里叶变换:离散余弦变换(DCT)和快速傅里叶变换(FFT)的原理和应用。
3.数字滤波器设计:低通、高通、带通和带阻滤波器的设计方法和应用。
4.DSP芯片和编程:DSP芯片的基本结构、工作原理和编程方法,包括C语言和汇编语言编程。
5.实际应用案例:包括音频处理、图像处理、通信系统等领域的实际应用案例分析。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式:1.讲授法:通过教师的讲解,使学生掌握数字信号处理的基本概念和原理。
2.讨论法:通过分组讨论和课堂讨论,培养学生的思考能力和团队合作精神。
3.案例分析法:通过分析实际应用案例,使学生了解数字信号处理在工程中的应用。
4.实验法:通过实验操作,使学生掌握DSP芯片的基本编程方法和实验技能。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《数字信号处理》(或其他指定教材)。
2.参考书:提供相关的参考书籍,供学生自主学习和深入研究。
3.多媒体资料:制作课件、教学视频等,以丰富教学手段和提高学生的学习兴趣。
dsp无刷电机课程设计一、课程目标知识目标:1. 让学生掌握DSP无刷电机的基本原理和结构,理解其工作过程;2. 使学生了解无刷电机在工业和日常生活中的应用,认识到其在现代科技领域的重要性;3. 引导学生掌握与无刷电机相关的电子电路知识,如PWM控制、霍尔传感器等。
技能目标:1. 培养学生运用所学知识分析和解决实际问题的能力,能独立进行无刷电机控制系统的设计与调试;2. 提高学生的动手实践能力,通过课程设计,使学生能熟练使用相关仪器设备和软件进行电机控制系统的搭建;3. 培养学生团队协作和沟通表达的能力,能就课程设计过程中的问题进行有效讨论和交流。
情感态度价值观目标:1. 培养学生对电机控制技术领域的兴趣,激发其探索未知、创新实践的热情;2. 引导学生树立正确的工程观念,注重实际应用,认识到技术在国家经济发展和社会进步中的重要作用;3. 培养学生严谨、勤奋、刻苦的学习态度,形成良好的学习习惯,为其终身学习奠定基础。
课程性质分析:本课程设计属于电子技术领域,具有较高的实践性和应用性,旨在培养学生的实际操作能力和创新思维。
学生特点分析:针对高年级学生,已具备一定的电子技术基础和动手能力,对新技术和新知识有较高的接受能力。
教学要求:结合课程性质和学生特点,注重理论与实践相结合,充分调动学生的主观能动性,提高课程设计的实用性和针对性。
通过课程目标的具体分解,使学生在完成课程设计的过程中,达到预定的学习成果。
二、教学内容1. 无刷电机原理及结构:讲解无刷电机的种类、工作原理、结构组成,以教材第三章第一节为基础,深入解析电机转子的磁极配置、定子的绕组方式等关键知识点。
2. 无刷电机控制系统:分析无刷电机控制系统的构成,包括驱动电路、控制策略、传感器等,参考教材第五章相关内容,以PWM控制技术为核心,探讨无刷电机的调速原理及方法。
3. DSP控制器及应用:介绍DSP控制器的特点、选型及应用,结合教材第四章内容,讲解DSP在无刷电机控制中的应用,如程序设计、算法实现等。
dsp期末课程设计一、课程目标知识目标:1. 学生能理解数字信号处理(DSP)的基本原理,掌握相关的数学公式和算法。
2. 学生能够运用所学知识,分析并解决实际的数字信号处理问题。
3. 学生能够描述并比较不同DSP算法的特点和适用场景。
技能目标:1. 学生能够熟练运用编程软件(如MATLAB)进行数字信号处理的相关操作。
2. 学生能够独立设计并实现简单的数字信号处理系统,如滤波器、傅里叶变换等。
3. 学生能够通过实际操作,解决数字信号处理中遇到的问题,并优化算法。
情感态度价值观目标:1. 学生能够认识到数字信号处理在现代社会中的广泛应用和重要意义,激发对相关领域的学习兴趣。
2. 学生在课程学习过程中,培养合作精神、创新思维和问题解决能力。
3. 学生能够树立正确的科学态度,尊重事实,严谨求证,勇于探索。
课程性质:本课程为电子信息类专业DSP课程的期末课程设计,旨在巩固和拓展学生所学知识,提高学生的实际操作能力和创新能力。
学生特点:学生具备一定的数字信号处理理论基础,掌握基本的编程技能,具有较强的学习能力和实践欲望。
教学要求:结合学生特点,注重理论与实践相结合,强调实际操作和问题解决能力的培养。
课程目标分解为具体的学习成果,以便在教学过程中进行有效指导和评估。
二、教学内容本课程教学内容主要包括以下几部分:1. 数字信号处理基础理论回顾:包括采样定理、离散时间信号与系统、Z变换等基本概念和原理。
- 教材章节:第一章至第三章- 内容列举:采样定理、离散信号、线性时不变系统、Z变换等。
2. 数字信号处理算法:重点学习傅里叶变换、快速傅里叶变换(FFT)、滤波器设计等算法。
- 教材章节:第四章至第六章- 内容列举:傅里叶变换、FFT算法、IIR滤波器设计、FIR滤波器设计等。
3. 数字信号处理应用案例:分析并实践数字信号处理在音频、图像、通信等领域的应用。
- 教材章节:第七章至第九章- 内容列举:音频处理、图像处理、通信系统中的应用案例。
1课程设计目的通过我们对DSP 控制器及其应用课程的学习和理解, 综合运用课本中所学到的理论知识完成一个温度采集与显示的课程设计。
通过这次实践锻炼我们查阅资料、方案比较、团结合作的能力。
在计。
学会采用简单电路的实验调试和整机指标测试方法,增强我们的动手能力,为以后学习和工作 打下坚实基础2课程设计正文 2.1系统分析 2.1.1设计的任务及步骤根据实验测得热敏电阻和温度的一些数据,设计温度一一电阻公式; 设计外部硬件电路;编写上位机程序2.1.2技术要求函数关系。
其次进行软件设计,主要包括 AD 转换模块、液晶显示模块、算法转换模块、主函数模块以及上位机模块。
最后进行软硬件联系调试,并能在液晶上正常显示温度值。
2.2总体设计 2.2.1硬件设计TMS320F2812作为本次课设使用的 DSP 芯片。
它包含33个电源引脚(为使器件正常运行,所电源复位、复位引脚~RS 软件复位、非法地址复位、看门狗定时器溢出、欠压复位六种复位信号。
所以在设计的初期,把它分成了五个模块。
其中复位采用电源复位的方式,由引脚这个过程我们必须掌握温度采集技术的硬件设计、熟悉A/D 转换技术和DSP 夜晶显示功能的软件设(1)熟悉MC1403芯片的应用;(2)软件完成程序流程图设计和编程,其中包括A/D 转换和液晶显示部分;(6) 软硬件联合调试; (7)书写设计说明书。
此系统利用热敏电阻测得电阻一温度之间的关系, 找到电阻和温度之间的代数关系, 从而检测温度,设计硬件外扩电路,同时设计软件程序,包括 A/D 程序设计,进行软硬件联系调试,能在液晶显示屏上显示温度。
2.1.3设计思路首先设计温度采集电路,由于考虑到使用的是非线性负温度系数的热敏电阻, 因此采用了桥式电路尽量减小因外接不必要因素导致的误差,通过多次试验测得几个点,并拟合出一条合适的线性有电源引脚必须正确连接且不能悬空)时钟源模块,DSP 有六种信号可以使 DSP 控制器复位,即PCRESETI 起。
大学dsp课程设计一、教学目标本课程的教学目标是使学生掌握数字信号处理(DSP)的基本理论、算法和实现方法,培养学生运用DSP技术解决实际问题的能力。
具体目标如下:1.知识目标:(1)掌握数字信号处理的基本概念、原理和算法。
(2)熟悉DSP芯片的结构、工作原理和编程方法。
(3)了解数字信号处理在通信、音频、图像等领域的应用。
2.技能目标:(1)能够运用DSP算法进行数字信号处理。
(2)具备使用DSP开发工具进行程序设计和仿真。
(3)能够阅读和分析DSP芯片的数据手册,进行硬件编程。
3.情感态度价值观目标:(1)培养学生对数字信号处理的兴趣,提高学习的积极性。
(2)培养学生团队协作、自主学习的能力。
(3)使学生认识到数字信号处理技术在现代社会中的重要性,培养学生的责任感。
二、教学内容本课程的教学内容主要包括以下几个部分:1.数字信号处理基本理论:采样与恢复、离散时间信号与系统、离散傅里叶变换、快速傅里叶变换等。
2.DSP芯片及其编程:DSP芯片结构、指令系统、编程方法、硬件接口等。
3.数字信号处理算法实现:数字滤波器、快速卷积、数字信号合成等。
4.应用实例分析:通信系统、音频处理、图像处理等。
三、教学方法为实现教学目标,本课程将采用以下教学方法:1.讲授法:用于传授基本理论、概念和算法。
2.案例分析法:通过实际案例,使学生更好地理解理论知识。
3.实验法:培养学生动手能力,巩固理论知识。
4.讨论法:鼓励学生积极参与课堂讨论,提高思维能力。
四、教学资源为实现教学目标,本课程将采用以下教学资源:1.教材:选用权威、实用的教材,如《数字信号处理》(李晓波等编著)。
2.参考书:提供相关领域的参考书籍,如《DSP原理与应用》(陈后金著)。
3.多媒体资料:制作课件、视频等多媒体资料,辅助教学。
4.实验设备:配备DSP实验开发板、仿真器等实验设备,为学生提供动手实践的机会。
五、教学评估本课程的教学评估将采用多元化、全过程的评价方式,以全面、客观地评价学生的学习成果。
dsp课程设计设计方案一、教学目标本课程的教学目标是使学生掌握数字信号处理的基本理论、方法和应用,培养学生运用数字信号处理技术解决实际问题的能力。
具体目标如下:1.知识目标:(1)了解数字信号处理的基本概念、原理和特点;(2)掌握数字信号处理的基本算法和常用算法;(3)熟悉数字信号处理技术的应用领域。
2.技能目标:(1)能够运用数字信号处理理论分析和解决实际问题;(2)具备使用数字信号处理软件和工具进行算法实现和数据分析的能力;(3)掌握数学建模和编程技巧,提高科学研究和工程实践能力。
3.情感态度价值观目标:(1)培养学生的创新意识,提高学生分析问题和解决问题的能力;(2)培养学生团队合作精神,提高学生的沟通与协作能力;(3)培养学生对科学事业的热爱,激发学生持续学习的动力。
二、教学内容本课程的教学内容主要包括以下几个方面:1.数字信号处理基本概念:数字信号、离散时间信号、离散时间系统、Z域等;2.数字信号处理基础算法:离散傅里叶变换、快速傅里叶变换、离散余弦变换、快速离散余弦变换等;3.数字信号处理应用领域:通信系统、语音处理、图像处理、音频处理等;4.数学建模与编程实践:MATLAB软件的使用,数字信号处理算法的实现与分析。
三、教学方法本课程采用多种教学方法相结合,以提高学生的学习兴趣和主动性:1.讲授法:通过讲解基本概念、原理和算法,使学生掌握数字信号处理的基本知识;2.讨论法:学生进行课堂讨论,培养学生的思考能力和团队协作能力;3.案例分析法:分析实际案例,使学生了解数字信号处理在工程应用中的重要性;4.实验法:通过实验操作,让学生亲手实践,加深对数字信号处理算法的理解和掌握。
四、教学资源本课程的教学资源包括以下几个方面:1.教材:选用国内外优秀教材,如《数字信号处理》(郑志中)、《数字信号处理原理与应用》(李翠莲)等;2.参考书:提供相关领域的参考书籍,如《数字信号处理教程》(谢维信)、《数字信号处理学习指导》(张刺激)等;3.多媒体资料:制作课件、教学视频等,以图文并茂的形式展示教学内容;4.实验设备:配备计算机、MATLAB软件、信号发生器、示波器等实验设备,为学生提供实践操作的机会。
dsp的课程设计一、课程目标知识目标:1. 理解数字信号处理(DSP)的基本概念,掌握其基本原理;2. 掌握DSP系统的数学模型和基本算法;3. 了解DSP技术在现实生活中的应用。
技能目标:1. 能够运用数学工具进行DSP相关计算;2. 能够运用编程语言实现简单的DSP算法;3. 能够分析并解决简单的实际问题,运用DSP技术进行优化。
情感态度价值观目标:1. 培养学生对DSP技术的兴趣,激发其探索精神;2. 培养学生严谨、客观的科学态度,提高其分析问题和解决问题的能力;3. 培养学生的团队协作意识,提高其在团队中的沟通能力。
分析课程性质、学生特点和教学要求:1. 课程性质:DSP课程具有较强的理论性、实践性和应用性,要求学生具备一定的数学、编程和电路基础知识;2. 学生特点:高中年级学生,具备一定的逻辑思维能力和动手操作能力,对新技术和新知识充满好奇;3. 教学要求:注重理论与实践相结合,以实际问题为引导,激发学生的学习兴趣,提高其分析问题和解决问题的能力。
课程目标分解:1. 知识目标:通过本课程的学习,使学生掌握DSP的基本概念、原理和算法;2. 技能目标:通过实践操作,使学生能够运用数学工具和编程语言实现DSP 算法;3. 情感态度价值观目标:通过团队合作和实际问题解决,培养学生对DSP技术的兴趣,提高其科学素养和团队协作能力。
二、教学内容1. 数字信号处理基本概念:信号的定义、分类及特性;离散时间信号与系统;傅里叶变换及其性质。
2. DSP数学基础:复数运算;欧拉公式;离散傅里叶变换(DFT)及其快速算法(FFT)。
3. 数字滤波器设计:滤波器类型;无限长冲击响应(IIR)滤波器和有限长冲击响应(FIR)滤波器设计方法;滤波器的实现与优化。
4. DSP算法实现:快速傅里叶变换(FFT)算法;数字滤波器算法;数字信号处理中的数学优化方法。
5. DSP应用案例分析:语音信号处理;图像信号处理;通信系统中的应用。
dsp综合课程设计一、教学目标本课程的教学目标旨在帮助学生掌握数字信号处理(DSP)的基本原理和应用技能,通过理论学习与实践操作相结合的方式,培养学生的技术创新能力和实际问题解决能力。
知识目标:学生将掌握数字信号处理的基本概念、算法和典型的DSP芯片应用。
具体包括:•数字信号处理的基础理论•常用数字滤波器的设计与分析•快速算法实现,如FFT、IFFT等•DSP芯片的工作原理及编程方法技能目标:通过课程学习和实践操作,学生将能够熟练使用DSP相关软件(如MATLAB等)进行算法仿真和系统设计,并具备一定的硬件操作能力,包括:•利用仿真工具对DSP算法进行验证•设计简单的数字信号处理系统•进行DSP芯片编程和硬件调试情感态度价值观目标:通过课程学习,培养学生对数字信号处理技术的兴趣和热情,增强其科技责任感和创新意识,激发学生将所学知识应用于工程实践和科研探索中,为我国信息技术产业的发展贡献自己的力量。
二、教学内容教学内容围绕数字信号处理的基本理论、算法实现、DSP芯片应用及系统设计展开。
1.数字信号处理基础:涵盖信号的采样与恢复、离散时间信号处理、离散时间系统特性等基本概念。
2.数字滤波器设计:包括常用滤波器(低通、高通、带通、带阻)的设计方法和理论。
3.快速算法:重点讲解快速傅里叶变换(FFT)、快速卷积等高效算法。
4.DSP芯片介绍:详细讲解DSP芯片的结构、工作原理及编程环境。
5.实际应用案例:结合实际案例,使学生理解DSP技术在现代通信、音视频处理等领域的应用。
三、教学方法结合课程特点,采用多种教学方法激发学生的学习兴趣和主动性:1.讲授法:系统讲解理论知识,确保学生掌握扎实的基础。
2.案例分析法:通过具体案例,使学生理解DSP技术的应用。
3.实验法:安排实验课,让学生动手实践,加深对理论知识的理解。
4.小组讨论法:鼓励学生分组讨论,培养团队合作精神,提高问题解决能力。
四、教学资源为支持课程的顺利进行,将准备以下教学资源:1.教材:《数字信号处理》(或等同教材)2.参考书籍:提供相关领域的参考书籍,丰富学生的知识视野。
基于TMS320LF2407按键计数器设计一.说明在控制电路中,通常需要以按键来控制程序执行流程或是输入数据。
在图4.1中,4个按键K1~K4分别对应TMS320LF2407芯片的引脚IOPF3~IOPF4作为I/O端口的输入,8只发光二极管LED1~I LED8通过SW-DIP8拨码开关和74HC273锁存器芯片分别对应TMS320LF2407芯片的引脚IOPF0~IOPF7作为I/O端口的输出。
本设计仅使用一条I/O引脚,借助软件查询方法点亮8只发光二极管。
本设计中的K1键对应的TMS320LF2407输入I/O引脚为IOPF3,当按下K1键,则将所对应的端口F数据和方向控制寄存器(PFDATDIR)的第3位为(IOPF3引脚)0,同时点亮发光二极管。
二.内容1.设计并调试用于TMS320LF2407芯片的计数程序,要求由按键K1作输入并对其进行计数,计数的结果由LED7~LED0发光二极管以二进制方式显示。
2.对程序稍作改动,用K4按键完成上述功能。
三.硬件电路图4.1 TMS320LF2407与键盘、LED接口电路四.参考程序清单通过编程,设计一个按键计数器,要求刚接通电源时,8只发光二极管都不亮,表示计数器的初始值为0,即二进制数的00000000B;当按下K1键时,计数器的值加1,发光二极管LED0点亮,表示二进制数的00000001B,然后松开按键;再次按下K1键时,计数器的值又加1,发光二极管LED1点亮,表示二进制数的00000010B,然后再松开按键;依次类推。
直到按动了255次按键时,发光二极管LED7~LED0会全部点亮,其后的一次K1键按下时将使计数器回0,就这样循环往复。
C语言程序(1)所需的复位和中断向量定义文件“vectors.asm”同于前。
在这以后的所有例程中,如果没有特别说明,vectors.as m都是相同的。
(2 主程序源程序代码:#include "register.h"int m=0x0001;initial({asm(" setc SXM";asm(" clrc OVM";asm(" clrc CNF";*SCSR1=0x81FE;*WDCR=0x0E8;*IMR=0x0000;*IFR=0x0FFFF;*MCRA=*MCRA&0x0FF;*PFDATDIR=*PFDATDIR|0x0400; *PBDATDIR=*PBDATDIR|0x0FF00; *PFDATDIR=*PFDATDIR|0x0404; *PFDATDIR=*PFDATDIR&0xFFFB; }void inline disable({asm(" setc INTM";}int keyscan({int k,j;k=*PFDATDIR&0x0008;if(k==0x0008k=0;elsek=1;{for(j=30000;j>0;j--j=j;k=*PFDATDIR&0x0008;if(k==0x0008k=0;elsek=1;}return(k;}int keyserve({int k;k=*PFDATDIR&0x0008;if(k==0x0000*PBDATDIR=(*PBDATDIR&0xFF00+m++; else*PBDATDIR=*PBDATDIR;*PFDATDIR=*PFDATDIR|0x0404;*PFDATDIR=*PFDATDIR&0xFFFB;}main({disable(;initial(;while(1{i=0;i=keyscan(;if(i==1keyserve(;}}void interrupt nothing({return;}汇编程序;键盘与发光二极管配合使用程序st0_temp .usect ".b20",1 ;60st1_temp .usect ".b20",1 ;61context .usect ".b20",7 ;62-68STACK .usect ".stack",40IOSFT_REG .usect ".data0",1 ;显示数据移位寄存器IO_COUNT .usect ".data0",1 ;延时计数寄存器IO_DATA .usect ".data0",1 ;I/O临时数据缓冲区LEDXS .usect ".data0",1 ;LED显示的数据LEDFLAG .usect ".data0",1 ;LED显示标志寄存器K1FLAG .usect ".data0",1 ;K1 标志寄存器KEYDATA .usect ".data0",1 ;读得键盘值存放寄存器DP_USER .set 5.include "F2407REGS.H" ;引用头部文件.def _c_int0; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(1)建立中断向量表.sect ".vectors" ;定义主向量段RSVECT B _c_int0 ;PM 0 Reset Vector 1INT1 B PHANTOM ;PM 2 Int level 1 4INT2 B GISR2 ;PM 4 Int level 2 5INT3 B PHANTOM ;PM 6 Int level 3 6INT4 B PHANTOM ;PM 8 Int level 4 7INT5 B PHANTOM ;PM A Int level 5 8INT6 B PHANTOM ;PM C Int level 6 9 RESERVED B PHANTOM ;PM E (Analysis Int 10 SW_INT8 B PHANTOM ;PM 10 User S/W int —SW_INT9 B PHANTOM ; PM 12 User S/W int -SW_INT10 B PHANTOM ; PM 14 User S/W int -SW_INT11 B PHANTOM ; PM 16 User S/W int -SW_INT12 B PHANTOM ; PM 18 User S/W int -SW_INT13 B PHANTOM ; PM 1A User S/W int -SW_INT14 B PHANTOM ; PM 1C User S/W int -SW_INT15 B PHANTOM ; PM 1E User S/W int -SW_INT16 B PHANTOM ; PM 20 User S/W int -TRAP B PHANTOM ; PM 22 Trap vector -NMI B PHANTOM ; PM 24 Non maskable Int3 EMU_TRAP B PHANTOM ; PM 26 Emulator Trap2 SW_INT20 B PHANTOM ; PM 28 User S/W int -SW_INT21 B PHANTOM ; PM 2A User S/W int -SW_INT22 B PHANTOM ; PM 2C User S/W int -SW_INT23 B PHANTOM ; PM 2E User S/W int -SW_INT24 B PHANTOM ; PM 30 User S/W int -SW_INT25 B PHANTOM ; PM 32 User S/W int -SW_INT26 B PHANTOM ; PM 34 User S/W int -SW_INT27 B PHANTOM ; PM 36 User S/W int -SW_INT28 B PHANTOM ; PM 38 User S/W int -SW_INT29 B PHANTOM ; PM 3A User S/W int -SW_INT30 B PHANTOM ; PM 3C User S/W int -SW_INT31 B PHANTOM ;PM 3E User S/W int —;中断子向量入口定义pvecs.sect ".pvecs" ;定义子向量段PVECTORS B PHANTOM ;保留向量地址偏移量-0000h B PHANTOM ;保留向量地址偏移量-0001hB PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-05B PHANTOM ; SCI_RX_ISR; 保留向量地址偏移量B PHANTOM ; SCI_TX_ISR ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-0AB PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-10B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-15B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-1AB PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-20B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-25B PHANTOM ; 保留向量地址偏移量-0026hB T1GP_ISR ; 保留向量地址偏移量-0027h T1PINT中断B PHANTOM ; 保留向量地址偏移量-0028hB PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-2AB PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; pvector addr offset 0x02f - T3PINTB PHANTOM ; 保留向量地址偏移量-30B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-35B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-3AB PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量B PHANTOM ; 保留向量地址偏移量-3FB PHANTOM ; CANMBX_ISR ; 保留向量地址偏移量B PHANTOM ;保留向量地址偏移量-0041h; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(2)主程序.text_c_int0CALL SYSINIT ;调系统初始化程序CALL KEYLEDINIT ;调键盘和LED初始化程序LDP #DP_USER ;指向0280h~0300h区SPLK #01H,IOSFT_REG ;寄存器和标志初始化SPLK #00H,IO_COUNTSPLK #001H,IO_DATASPLK #001H,LEDXSSPLK #00H,LEDFLAG ;LEDFLAG.0=1表示 K1,K2,K3 按下;LEDFLAG.0=0表示 K4 按下SPLK #01H,K1FLAGCLRC INTM ;开总中断LOOP: CALL KEY ;调键盘程序,即扫描键盘LDP #DP_USERBIT LEDFLAG,15BCND LEDBD1,TCLACL IO_COUNTSUB #03E8HBCND WAIT,LEQ ;判10 s延时到否LEDBD1: SPLK #00H,IO_COUNTLDP #DP_PF2LACL PFDATDIROR #0404H ;IOPF2=1SACL PFDATDIR ;开74HC273片选信号LDP #DP_USERLACL LEDXSOR #0FF00H ;IOPB口为输出方式LDP #DP_PF2SACL PBDATDIR ;送要显示的数据到IOPB口LACL PFDATDIRAND #0FFFBH ;IOPF2=0SACL PFDATDIR ;关74HC273片选信号LDP #DP_USERBIT LEDFLAG,15BCND LEDBD2,TCLACL LEDXSSFLSACL LEDXSLACL IOSFT_REGSFLSACL IOSFT_REGBIT IOSFT_REG,BIT8 ;判是否循环完一次BCND LOOP1,TCB WAITLOOP1: LDP #DP_USERSPLK #01H,IOSFT_REG ;赋初值LEDBD2: LACL IO_DATASACL LEDXSWAIT: NOPB LOOP; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(3)系统初始化程序SYSINIT:SETC INTMCLRC SXMCLRC OVMCLRC CNF ;B0区被配置为数据空间LDP #0E0H ;指向7000h~7080h区SPLK #81FEH,SCSR1 ;时钟4倍频,CLKIN=6 M,CLKOUT=24 MSPLK #0E8H,WDCR ;不使能WDTLDP #0SPLK #02H,IMR ;使能中断优先级INT2SPLK #0FFFFh,IFR ;清中断标志LDP #DP_EVA ;指向7400h~7480h区SPLK #80H,EVAIMRA ;使能T1PINT 中断SPLK #0FFFFh,EVAIFRA ;清EVA中断标志SPLK #0,GPTCONASPLK #0EA6H,T1PR ;使定时器每10 ms产生一次中断SPLK #0,T1CNTSPLK #0164CH,T1CON ;设置通用定时器1RET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(4)键盘和发光二极管初始化程序KEYLEDINIT:LDP #DP_PF2LACL MCRCAND #083FFH ;IOPF2,IOPF[3~6] 配置为一般的I/O口SACL MCRCLACL MCRAAND #000FFH ;IOPB[0~7] 配置为一般的I/O口SACL MCRALACL PFDATDIROR #0400H ;IOPF2为输出方式AND #08787H ;IOPF[3~6] 为输入方式SACL PFDATDIRLACL PBDATDIROR #0FF00H ;IOPB[0~7] 为输出方式SACL PBDATDIRRET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(5)键盘程序KEY:CALL READKEY ;调读键程序LACL KEYDATABCND KEYRET,EQ ;ACC=0?CALL KEYDELAY材料:玉米粒50克, 胡萝卜30克, 生菜30克, 鸡蛋3个,面粉100克椒粉各少许;做法:1. 先将鸡蛋打散成蛋液,加入少许胡椒粉拌匀,胡萝卜洗净切沥干切碎,葱切花;2. 将胡萝卜粒和玉米粒放入沸水中煮熟后沥干待用;3. 面粉中加入适量的盐,再倒入鸡蛋液,加入适量的水搅拌成4. 放入沥干的胡萝卜粒和玉米粒、生菜、葱花,再加入少许芝;再一次读键值LACL KEYDATABCND KEYRET,EQLDP #DP_USER ;判断按键情况BIT KEYDATA,15BCND KEYRET,NTCCALL K1 ; "+"键按下B KEYRETKEYRET: LACL KEYDATAAND #0FFF0H ;清读取的键值寄存器SACL KEYDATARET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;(6)读键子程序READKEY:LDP #DP_PF2LACL PFDATDIR ;取出键值PFDATDIR.3~PFDATDIR.6RPT #2OR #0FFF0H ;屏蔽高4位(用到4个键)CMPLLDP #DP_USERSACL KEYDATA ;存放键值RET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(7)用软件延时30mS消抖动KEYDELAY:LACC #6000KEYD1: SUB #1RPT #80NOPBCND KEYD1,NEQRET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(8)键子程序K1: ;"+"键子程序READK1: CALL KEYDELAYCALL READKEYLDP #DP_USER ;判断按键 K1 是否松开BIT KEYDATA,15BCND READK1,TCSPLK #01,LEDFLAG ;关闭LED左移标志,即LED对同一个数不刷新LACL IO_DATAADD #1SACL IO_DATARET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~GISR2: ;优先级INT2中断人口; 保护现场LDP #0 ; 保存机器上下文SST #0, st0_temp ; 使用自动寻址DP-0SST #1, st1_temp ; 保存状态寄存器到B2 DARAM.SACL context ; 保存ACC的低16位SACH context+1 ; 保存ACC的高16位SAR AR1,context+2SAR AR2,context+3SAR AR3,context+4SAR AR4,context+5SAR AR5,context+6LDP #0E0HLACC PIVR,1 ;读取外设中断向量寄存器(PIVR),并左移一位ADD #PVECTORS ;加上外设中断入口地址BACC ;跳到相应的中断服务子程序T1GP_ISR: ;通用定时器1中断入口LDP #DP_USERLACL IO_COUNTADD #1SACL IO_COUNT; 恢复现场LDP #DP_EVASPLK #0FFFFH,EVAIFRALDP #0LAR AR5,context+6LAR AR4,context+5LAR AR3,context+4LAR AR2,context+3LAR AR1,context+2LACC context+1,16ADDS contextLST #1, st1_tempLST #0, st0_tempCLRC INTM ;开总中断,因为一进中断就自动关闭总中断RET; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;(10)假中断程序PHANTOMKICK_DOG ;复位看门狗RETEND。