单片机及DSP课程设计报告

合集下载

DSP课程设计报告

DSP课程设计报告

一、实验内容:编写程序产生正弦波二、实验目的:1.熟悉DSP实验箱的功能及应用。

2.巩固DSP书本知识,掌握编程知识。

3.提高动手和知识的拓展能力。

三、实验设备:一台HK-DSP实验箱、一台PC机四、实验步骤:1.配置实验箱,选择相应的芯片。

2.建立工程文件。

在project中点击new新建工程。

3.在新建的工程中建立汇编源文件、链接文件和复向量文件,汇编源文件的名称必须与工程名和程序名一致,链接文件必须与程序名保持一致。

4.编程。

主程序:.title "shiyan4.asm".mmregs.def start.ref d_xs,d_sinx,d_xc,d_cosx,sin_start,cos_startsin_x: .usect "sin_x",360STACK: .usect "STACK",10k_theta .set 286start: .textSTM #STACK+10,SPSTM #0,AR1STM k_theta,AR0STM #sin_x,AR7STM #90,BRCRPTB LOOP1-1LDM AR1,ALD #d_xs,DPSTL A,@d_xsSTL A,@d_xcCALL sin_startCALL cos_startLD #d_sinx,DPMPYA @d_cosxSTH B,1,*AR7+MAR *AR1+0LOOP1: STM #sin_x+89,AR6STM #88,BRCRPTB LOOP2-1LD *AR6-,ASTL A,*AR7+LOOP2: STM #179,BRCSTM #sin_x,AR6RPTB LOOP3-1LD *AR6+,ANEG ASTL A,*AR7+LOOP3: NOPend: B end.end子程序:sin_start:.def sin_start,d_sinx,d_xsd_coef_s .usect "coef_s",4.datatable_s: .word 01C7H.word 030BH.word 0666H.word 1556Hd_xs .usect "sin_vars",1d_squr_xs .usect "sin_vars",1d_temp_s .usect "sin_vars",1d_sinx .usect "sin_vars",1 c_1_s .usect "sin_vars",1.textSSBX FRCTSTM #d_coef_s,AR4RPT #3MVPD #table_s,*AR4+STM #d_coef_s,AR2STM #d_xs,AR3STM #c_1_s,AR5ST #7FFFH,c_1_sSQUR *AR3+,AST A,*AR3MASR *AR3+,*AR2+,B,AMPYA ASTH A,*AR3MASR *AR3-,*AR2+,B,AMPYA *AR3+ST B,*AR3||LD *AR5,BMASR *AR3-,*AR2+,B,AMPYA *AR3+ST B,*AR3|| LD *AR5,BMASR *AR3-,*AR2,B,AMPYA d_xsSTH B,d_sinxRETcos_start:.def cos_start,d_cosx,d_xc d_coef_c .usect "coef_c",4.datatable_c: .word 0249H.word 0444H.word 0AABH.word 4000Hd_xc .usect "cos_vars",1d_squr_xc .usect "cos_vars",1d_temp_c .usect "cos_vars",1d_cosx .usect "cos_vars",1c_1_c .usect "cos_vars",1.textSSBX FRCTSTM #d_coef_c,AR4RPT #3MVPD #table_c,*AR4+STM #d_coef_c,AR2STM #d_xc,AR3STM #c_1_c,AR5ST #7FFFH,c_1_cSQUR *AR3+,AST A,*AR3||LD *AR5,BMASR *AR3+,*AR2+,B,ASTH A,*AR3MASR *AR3-,*AR2+,B,AMPYA *AR3+ST B,*AR3||LD *AR5,BMASR *AR3-,*AR2,B,ASFTA A,-1,ANEG AMPYA *AR3+MAR *AR3+RETDADD *AR5,16,BSTH B,*AR3RET链接文件:vectors.objshiyan4.obj-o shiyan4.out-m shiyan4.map-e startMEMORY{PAGE 0:EPROM: org=0E000H, len=1000HVECS: org=0FF80H, len=0080HPAGE 1:SPRAM: org=0060H, len=0020HDARAM1: org=0080H, len=0010HDARAM2: org=0090H, len=0010HDARAM3: org=0200H, len=0200H}SECTIONS{ .text :>EPROM PAGE 0.data :>EPROM PAGE 0STACK :>SPRAM PAGE 1sin_vars :>DARAM1 PAGE 1coef_s :>DARAM1 PAGE 1cos_vars :>DARAM1 PAGE 1coef_c :>DARAM2 PAGE 1sin_x : align(512){}> DARAM3 PAGE 1 .vetors :>VECS PAGE 0}复向量文件:.title "vectors.asm".ref start.sect ".vectors"B start.end5.将文件加入工程。

dsp综合设计课程设计报告

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课程设计报告

家庭远程测控系统设计0 开发目的(1) 学习温湿度传感器、直流有刷电机、RS485通信应用、WIFI模块的通信实现;(2) 学习多模块协调工作的编程思想;(3) 熟悉掌握TMS320F28027硬件电路及工作原理。

1 背景和意义随着Internet 技术的发展,家用电器、计算机和通讯一体化技术也逐步走进普通家庭。

现代智能家居由于其安全、方便、高效、快捷、智能化等特点,将成为现代社会和家庭的新时尚。

当家庭智能网关将家庭中各种各样的家电通过家庭总线技术连接在一起时,就构成了功能强大、高度智能化的现代智能家居系统。

当下智能家居行业刚刚起步,建设成本高,发展不完善。

因此本文提出了使用低成本器件和多源控制技术来实现家庭的远程监控。

基于容易实现,方便操作,贴近使用的设计理念,以DSPF28027单片机为控制核心,采用包括上位机、手机应用程序、Web界面等在内的多个控制源,进行远距离、多角度的家庭实时控制。

TMS320F28027是TI公司推出的一款32位定点型DSP,可应用于一些高分辨率、高效率的场合。

它内部嵌入了2kB OTP ROM、256kB FLASH和100kB RAM,使用简单方便,成本平易,性价比高。

TMS320F28027采用3.3V单电源供电,内部集成1.8V的LDO内核供电,模拟集成度高,性能稳定;采用上电复位电路外接阻容即可工作;内部集成1%精度的振荡器,不需外接晶振,节省成本;工作主频达60MHz;同时还具有强大算术处理能力和丰富的外设支持功能。

2 系统结构本设计以DSPF28027芯片为控制核心,以温度、湿度等传感器为环境信息采集源,以Web控制为辅助,共同组成家庭远程测控系统。

在原有的机械式按键开关的基础上,采用PC上位机、Web网页和手机APP,来控制家庭开关设备(如风机,加湿器,空调,电灯等),实现了远距离,多角度对家庭进行实时控制。

传感器包括温湿度传感器等,采用多种传感器相结合,智能根据各传感器采集的数值进行自动化控制,例如,根据家庭温、湿度设定值自动开启和关闭空调。

DSP课程设计报告—刘雅琪

DSP课程设计报告—刘雅琪

一、课程设计的目的和要求1.1课程设计目的:本课程是DSP技术类课程配套的课程设计,要求学生通过高级语言或汇编语言编程实现较复杂的功能。

通过课程设计,使学生加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。

1.2课程设计要求1、认真查阅资料2、课程设计前认真预习3、遵守课程设计时间安排4、认真保质保量完成设计要求5、认真书写报告二、系统功能介绍及总体设计方案2.1 功能介绍随着信息技术和计算机技术的飞速发展,数字信号处理技术在众多领域得到广泛应用。

数字滤波器由于其精度高、稳定性好、使用灵活等优点,广泛应用在各种数字信号处理领域。

数字滤波器根据冲击响应函数的时域特性,可以分为FIR(有限长冲激响应滤波器)和IIR(无限长冲激响应滤波器) 。

FIR 滤波器与IIR 滤波器相比,具有严格的线性相位,幅度特性可任意等优点。

而且, FIR 滤波器的单位抽样响应是有限长的,故一定是稳定的,他又可以用快速傅里叶变换( FFT)算法来实现过滤信号,可大大提高运算效率。

本课程设计的是一个等波纹FIR 低通滤波器,其具体参数为:采样频率s F =1000Hz ,通带频率pass F =150Hz 截止频率stop F =250Hz ,通带衰减pass A =0.5dB 阻带衰减stop A =80dB 。

2.2 总体设计方案:先进行Matlab 程序设计产生待滤波数据(借助设计工具FDATOOL 产生设计系数),将其导入CCS ,在CCS 上进行仿真调试运行,得到了输入和输出的波形及其频谱。

图1 总体设计框图三、主要设计内容和步骤 3.1 FIR 数字滤波器的原理分析3.1.1 FIR 数字滤波器数字滤波器原理一般具有如下差分方程11()()()N N k k k k y n a x n k b y n k --===-+-∑∑ (l)式中()x n 为输入序列,()y n 为输出序列,k a 和k b 为滤波器系数,N 是滤波器阶数。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告一、设计目的本课程设计旨在通过对单片机的学习和实践,培养学生的嵌入式系统设计能力。

通过设计报告的撰写,学生需要整理和总结自己在课程设计中的工作,提高自己的表达和沟通能力。

二、设计背景随着科技的迅猛发展,嵌入式系统在各个领域得到广泛应用。

单片机作为嵌入式系统设计的重要组成部分,具有体积小、功耗低、可靠性高等优势,被广泛应用于家电、智能家居、汽车电子等领域。

因此,掌握单片机的基础原理和应用技巧对于工程师来说至关重要。

三、设计内容本次课程设计的主要内容为设计并实现一个简单的单片机应用系统。

具体要求如下:1. 选取一个合适的单片机型号,并给出详细的理由;2. 设计一个实际应用场景,如温度监测、电子琴等,要求具备一定的实际意义;3. 硬件方面,设计电路及相关外围电路,如传感器、显示器等;4. 软件方面,设计控制程序,实现所选应用场景的功能;5. 进行系统集成和调试,确保系统正常工作;6. 撰写设计报告,对设计过程和结果进行详细说明。

四、设计方案1. 单片机的选择在选择单片机时,需要考虑应用需求和成本因素。

根据本次设计的要求,我们选择了XX单片机,这款单片机具有性能稳定、易于编程和丰富的外围接口等特点,非常适合本次设计的需求。

2. 应用场景的设计本次设计的应用场景为温度监测系统。

随着人们对室内温度的要求越来越高,设计一个简单且准确的温度监测系统对于提高生活质量至关重要。

我们将使用温度传感器和数码显示器来实现温度的监测和显示功能。

3. 硬件设计在硬件设计方面,我们将按照以下步骤进行:a) 选择合适的温度传感器,将传感器与单片机进行连接;b) 设计电源电路和信号采集电路,确保传感器与单片机之间的正常通信;c) 设计数字显示电路,将单片机采集到的温度数值进行显示。

4. 软件设计软件设计主要包括编写单片机控制程序。

我们将按照以下步骤进行:a) 初始化单片机和相关外围设备,确保其正常工作;b) 采集传感器的温度数值,并进行数据处理;c) 控制数码显示器,将温度数值显示在屏幕上。

基于dsp课程设计报告

基于dsp课程设计报告

基于dsp课程设计报告一、教学目标本课程的教学目标分为三个维度:知识目标、技能目标和情感态度价值观目标。

1.知识目标:通过本课程的学习,学生需要掌握DSP(数字信号处理器)的基本概念、原理和应用。

具体包括:了解DSP的发展历程和分类;理解DSP的基本结构和主要性能指标;掌握DSP的编程方法和应用领域。

2.技能目标:培养学生具备使用DSP进行数字信号处理的能力。

具体包括:学会使用DSP开发环境和工具;掌握DSP编程语言和算法;能够独立完成DSP项目的开发和调试。

3.情感态度价值观目标:激发学生对DSP技术的兴趣和好奇心,培养学生的创新意识和团队合作精神。

使学生认识到DSP技术在现代社会中的重要性和广泛应用,树立正确的技术观和价值观。

二、教学内容本课程的教学内容分为五个部分:DSP基础知识、DSP原理与结构、DSP编程方法、DSP应用案例和DSP项目实践。

1.DSP基础知识:介绍DSP的发展历程、分类和主要性能指标。

2.DSP原理与结构:讲解DSP的基本原理、结构和主要组成部分,如运算器、存储器、输入输出接口等。

3.DSP编程方法:学习DSP编程语言、算法和开发环境,掌握基本的编程技巧。

4.DSP应用案例:分析典型的DSP应用场景,如音频处理、图像处理、通信系统等。

5.DSP项目实践:分组进行项目实践,培养学生独立完成DSP项目的能力。

三、教学方法本课程采用多种教学方法,如讲授法、讨论法、案例分析法和实验法等,以激发学生的学习兴趣和主动性。

1.讲授法:用于传授基本知识和理论,引导学生掌握DSP的基本概念和原理。

2.讨论法:鼓励学生针对案例进行分析讨论,培养学生的思考能力和团队协作精神。

3.案例分析法:通过分析实际应用案例,使学生更好地理解DSP技术的应用和价值。

4.实验法:让学生动手进行实验,培养实际操作能力和创新思维。

四、教学资源本课程所需教学资源包括教材、参考书、多媒体资料和实验设备。

1.教材:选用权威、实用的教材,如《数字信号处理器原理与应用》等。

DSP短学期课程设计报告

DSP短学期课程设计报告

D S P短学期课程设计报告课程名称:DSP芯片应用系统设计专业:电气工程及其自动化班级:10自动化(2)设计者:贾**学号:10417****指导教师:***宁波大学信息科学与工程学院一、设计目的通过矩阵键盘的输入,利用F2812的事件管理模块,可以简单有效的控制步进电机的停转、转速和转向。

系统中设计了相应的人机界面,进行相应变量的显示、操作即可在液晶上实时显示电机当前运行状态。

利用拓展端口控制外围设备的方法,掌握使用2407DSP通用计时器的控制原理及中断服务程序的编程方法;了解蜂鸣器发生原理和音乐发生方法;了解步进电机的使用方法;了解液晶显示控制原理及编程方法及小键盘的应用。

二、设计任务该实验设计分成4个模块完成:•液晶模块•键盘模块•电机模块•其它模块(蜂鸣器、点阵)具体化即:1. DSP芯片接受矩阵键盘的输入。

2. DSP芯片对LED灯,蜂鸣器控制模块。

3. DSP芯片对相应信息的反馈,即:LCD液晶显示。

4. DSP控制电机正反转以及对电机速度调节。

三、系统构成及流程图TMS320LF2812A DSP电机矩阵键盘电机LCD液晶显示按键总流程图否是是76 0是开始初始化DSP 时钟,中断寄存器,定时器,ICETEK-CTR 选通发光二极管显示阵列 有键盘输入? 键盘输入“5”? 关闭打开的ICETEK 设备 键盘输入“0”或“6””7” 使能步进电机 键盘输入“1”或“2”控制方向 计数器计数方向,反向送控制字 LCD 显示直流电机使能,初始化PWM11和PWM5输出控制 键盘输入“1”或“2”控制方向 改变PWM5状态 根据输入改变占空比LCD 显示初始化两电机中断寄存器、定时器 初始化ICETEK-CTR步进电机和直流电机使能 键盘输入“5”? 关闭ICETEK 设备步进电机中断服务程序流程图:中断服务程序开始根据标志计数器加1或减1,从0-7共8拍送计数器相应的控制字到步进电机驱动器中断服务程序结束直流电机中断服务程序流程图:中断服务程序开始计数器加1,从0-99比较计数器与占空比的当前值设置PWM11引脚的状态中断服务程序结束LCD显示流程图:开始初始化DSP时钟初始化CTR清屏,设置显示位置显示姓名,学号及当前电机运行状态四、子模块工作原理(一)液晶显示器控制控制1、EMIF接口TMS320F2812DSP的扩展存储器接口(EMIF)与大多数外围设备进行连接,典型应用如连接片外扩展存储器等。

单片机课程设计报告 (2)

单片机课程设计报告 (2)

单片机课程设计报告1. 引言本文为单片机课程设计报告,主要介绍了课程设计的背景、目的、设计方案、实施过程以及结果分析和总结。

2. 背景单片机是嵌入式系统的核心部件,广泛应用于各个领域。

作为计算机科学与技术专业的学生,掌握单片机的基本原理和应用是必不可少的。

因此,本次课程设计旨在通过实践,加深对单片机的理解和应用能力。

3. 目的本次课程设计的目的是设计一个基于单片机的智能温度监控系统。

该系统能够实时监测环境温度,并通过显示屏展示当前温度值,并在温度超过设定阈值时发出警报。

4. 设计方案4.1 硬件设计本设计使用STC89C52单片机作为控制核心,配合温度传感器和液晶显示屏,实现温度监测和显示的功能。

温度传感器负责采集环境温度,将采集到的数据发送给单片机进行处理;液晶显示屏用于显示当前温度值和警报信息。

4.2 软件设计软件设计分为两个模块:温度采集和温度监控。

温度采集模块通过单片机的ADC接口获取温度传感器的模拟信号,将其转化为数字信号,并保存在单片机的内存中。

温度监控模块不断读取内存中的温度值,并与设定的阈值进行比较,如果温度超过阈值,则发出警报信号,同时在液晶显示屏上显示警报信息。

5. 实施过程5.1 硬件实施首先,根据设计方案的要求,将STC89C52单片机、温度传感器和液晶显示屏组装在一起,搭建出硬件平台。

接下来,使用面包板和杜邦线等连接元件,将各个模块按照设计方案进行连线。

最后,使用电源适配器给整个系统供电。

5.2 软件实施软件实施主要分为两个步骤:编写硬件控制程序和编写温度监控程序。

硬件控制程序主要负责初始化硬件设备和处理硬件输入输出;温度监控程序则负责实现温度采集和温度监控逻辑。

在编写硬件控制程序时,需要使用STC89C52的GPIO接口对传感器和显示屏进行控制。

在编写温度监控程序时,需要使用STC89C52的ADC接口进行温度采集,以及使用GPIO接口对警报信号和显示屏进行控制。

6. 结果分析和总结经过实施过程的努力,我们成功地完成了基于单片机的智能温度监控系统。

单片机课程设计报告

单片机课程设计报告

单片机课程设计报告1. 引言本文档旨在总结并详细介绍单片机课程设计的相关内容。

本次课程设计的主题为XXXX,我将在接下来的章节中介绍该课程设计的目标、设计思路、具体实施过程以及结论。

2. 设计目标本次单片机课程设计的目标是XXXX。

通过该设计,我希望能够进一步提升对单片机的理解和应用能力,掌握单片机的基本原理、编程技巧以及相关技术。

3. 设计思路在进行单片机课程设计之前,我对基于单片机的XXXX进行了详细的调研和学习,确定了设计思路和方案。

该设计主要分为以下几个步骤:3.1 步骤一:需求分析在开始设计之前,我首先进行了对需求的分析。

通过与指导老师和同学们的交流,我了解到XXXX,因此在设计中需要考虑到XXXX的特点和要求。

3.2 步骤二:系统设计基于对需求的分析,我进行了系统设计。

该系统涵盖了硬件和软件两个方面。

硬件方面,我选择了XXXX作为主控芯片,并设计了适配的电路板;软件方面,我使用XXXX编程语言进行开发,并设计了相应的算法和逻辑控制。

3.3 步骤三:系统实现在完成系统设计后,我开始进行系统实现。

首先,我搭建了相应的实验环境和开发平台,确保能够顺利进行编程和仿真。

然后,根据系统设计中的硬件和软件需求,逐步实现了系统功能。

3.4 步骤四:系统测试在完成系统实现后,我进行了系统测试。

通过模拟实际应用场景,对系统进行了功能性测试和稳定性测试,保证系统可以正常运行并且满足设计需求。

4. 设计实施在设计实施阶段,我按照设计思路和步骤进行了详细的操作和编程工作。

具体实施过程如下:4.1 实施步骤一:需求分析在这一步骤中,我与指导老师进行了深入的交流,详细了解了项目的需求和目标。

4.2 实施步骤二:系统设计基于需求分析的结果,我进行了系统设计。

首先,我绘制了电路图,并选择了合适的单片机作为主控芯片。

在软件方面,我使用XXXX编程语言进行开发。

4.3 实施步骤三:系统实现在系统设计完成后,我开始进行系统实现。

DSP课程设计报告

DSP课程设计报告

DSP应用技术实习报告课程课题:单片机与DSP通信和字符识别专业班级:电子信息81、82班学生姓名:徐伟、熊苗、崔苗、刘芃旭指导教师:邹修国完成时间:2011.6.7-2011.6.19一、课程题目:我们的项目是DSP 字符识别和单片机与DSP 的串口通信两个系统结合的。

利用DSP 做的印刷体字符识别系统,该系统能够实现字符图片的二值化、二值矩阵相似度等,从而待处字符通过与库里的字符特征比对而得到字符识别功能。

识别过程可利用DSP 的串行口,采用串口异步方式进行通信,该系统能够实现单片机与DSP 之间的数据发送与接收,通过单片机上的数码管来显示识别的内容。

二、设计功能及工作原理LCD 430单片机 DSP本系统是DSP 字符识别系统和单片机与DSP 串口通信两个系统结合成的。

单片机与DSP 串口通信工作原理如下:首先单片机通过UART 口发送数据,并通过MAX232芯片转换成RS232电平发送出去。

在DSP 端,MAX3160接收到信号后将其转换成CMOS 电平发送给TL16C752B 芯片!接着再将接收到的数据通过D0——D7数据线发送给DSP 芯片。

同理,DSP 芯片发送的数据也可以被单片机接收到。

这样就实现了单片机与DSP 之间的通信。

DSP 字符识别系统是通过字符图像的二值化、Sobel 边缘采集、相似度、建库、比对等实现字符的识别。

单片机给DSP 一个信号,进行字符的识别,识别出结果后,DSP 返回信号给单片机,从而在单片机的数码管上显示出来。

三、设计过程void main() { unsigned int uLED[4]={1,2,4,8}; // 控制字,逐位置1: 0001B 0010B 0100B int k=0; bReceive=0; TMCR_reset(); PLL_Init(12); EMIF_init();LCR = 0x80; DLL = 0x18; DLM = 0x00; LCR = 0x03; FCR = 0x01; MCR = 0x00;显 示 屏RXD TXDDXDR字 符 识 别MSR = 0x00;IER = 0x00;// while ( 1 )// {LBDS=uLED[1];cReceive=RBR;cBuffer[k]=cReceive&0x0ff;if ( cReceive=='w' ){int i;cBuffer[k+1]='\0';nLen=k+1;bReceive=1;for (i=0;i<4;i++){LBDS=uLED[i];Delay(512);}}if(cReceive=='m'){cString='s';THR=cString;LBDS=uLED[2];Delay(512);}k++; k%=16;// printf("k = %d\n\n",k);x=10;comp=simrect();// printf("avg[0] = %d\n\n",avg[0]);//InitImage(ku[y],dbImage,IMAGEWIDTH,IMAGEHEIGHT);switch(ku[y]){case 0:cString='a';THR=cString;break;。

单片机及DSP课程设计报告

单片机及DSP课程设计报告

一、课设目的1、通过本设计,能综合运用《单片机技术原理与应用》、《DSP原理与应用》《C语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。

2、学会使用KEIL C和PROTEUS等软件,用C语言或汇编语言编写一个较完整的实用程序,并仿真运行,保证设计的正确性。

3、了解单片机接口应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等。

二、课设内容设计一个基于单片机的音乐播放器,在播放音乐的同时并能显示播放的歌曲序号,同时可以实现上一曲、下一曲的转换;在播放的同时,还能实现暂停\开始的功能。

三、问题分析、方案的提出、设计思路及原因要想使播放器发出响声,就得设计一个能产生声响的程序,让单片机输出到扬声器。

音调的高低用音阶表示,不同的音阶对应不同的频率。

因此,不同频率的方波就可以产生音阶。

由于频率的倒数是周期,因此可由单片机中的定时控制方波周期,当定时器计数溢出时产生中断。

将与扬声器连接就可得到方波的周期,从而达到了控制频率,即音阶的目的。

通过TXAL1 与TXAL2输入时钟信号,通过p1.0~p1.7输出控制现实控制信号显示,有p3.2、p3.3与p3.5分别作为上一曲、下一曲和开始暂停的控制输入。

显示电路是一个8位共阴极LED数码管。

单片机的P0.0-P0.7分别与数码管的A、B、C、D、E、F、G、DP相连接。

晶振电路由两个1nF的电容和一个6Mhz的晶体振荡器组成。

节点1与单片机的XTAL2相连接,节点2与单片机的XTAL1相连接,从而为单片机提供时间信号,为音乐的播放节拍控制提供基本时间单位:当晶体振荡频率为 6.MHz,定时器工作在方式1下时,若各音阶相对应的定时器计数初值为X,则可根据下式计算X:166 1/(2)(2)12/(610)f X⨯=-⨯⨯控制电路,键一与p3.2相连、键二与p3.3相连、键3与p3.5相连。

单片机课程设计报告

单片机课程设计报告

单片机课程设计 报告一、课程目标知识目标:1. 学生能理解单片机的基本概念,掌握其工作原理及结构组成。

2. 学生能掌握单片机编程的基本语法,如指令系统、寄存器等。

3. 学生能了解并运用单片机在现实生活中的应用,如智能家居、机器人控制等。

技能目标:1. 学生具备使用开发板进行单片机程序编写、调试的能力。

2. 学生能通过小组合作,设计并实现简单的单片机控制系统,培养动手实践能力。

3. 学生能运用所学知识解决实际问题,具备一定的创新能力和问题解决能力。

情感态度价值观目标:1. 学生通过单片机课程学习,培养对电子技术的兴趣和热情,增强学习动力。

2. 学生在学习过程中,养成团队协作、沟通交流的良好习惯,增强集体荣誉感。

3. 学生了解单片机在我国科技发展中的重要性,培养国家使命感和社会责任感。

课程性质分析:本课程为单片机课程设计,旨在让学生通过实践操作,掌握单片机的基本原理和编程技术,提高解决实际问题的能力。

学生特点分析:本年级学生具备一定的电子技术基础知识,对单片机有一定了解,但编程能力和实践操作经验有限。

教学要求:1. 注重理论与实践相结合,强化学生的动手实践能力。

2. 采用项目驱动教学法,引导学生主动探究、解决问题。

3. 培养学生的团队协作能力,提高沟通表达水平。

4. 结合生活实际,激发学生学习兴趣,培养创新思维。

二、教学内容根据课程目标,本章节教学内容分为以下三个部分:1. 单片机基础理论- 理解单片机的概念、发展历程及应用领域。

- 掌握单片机的硬件结构、工作原理及性能指标。

- 学习单片机的指令系统、寄存器、I/O口编程等基本知识。

教学内容对应教材章节:第一章 单片机概述、第二章 单片机硬件结构及工作原理。

2. 单片机编程与调试- 学习单片机编程语言(如C语言、汇编语言)及开发环境。

- 掌握单片机程序编写、调试方法,了解程序下载、运行过程。

- 学习中断、定时器、串行通信等单片机功能模块的使用。

教学内容对应教材章节:第三章 单片机编程语言、第四章 单片机编程与调试。

单片机及DSP课程设计报告

单片机及DSP课程设计报告

单片机及DSP课程设计报告专业:通信工程班级:101班姓名:通信与电子工程学院一、课设目的、内容1、课设目的:为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的课程设计。

通过设计使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。

(1)通过本设计,使学生综合运用《单片机技术原理与应用》、《DSP原理与应用》《C 语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。

(2)学会使用KEIL C和PROTEUS等软件,用C语言或汇编语言编写一个较完整的实用程序,并仿真运行,保证设计的正确性。

(3)了解单片机接口应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等2、课设内容:8155或8255扩展用8155或8255扩展IO实现16个LED的跑马灯,提供多种跑马灯运行模式二、问题分析、方案的提出、设计思路及原因本次课程设计的题目是8255的扩展,利用AT89C52驱动扩展8255数据输出口来实现16个LED跑马灯的显示。

但是在80C52系列单片机中,有四个8位I/O端口,但真正能够提供给用户使用的只有P1口,因为P0口和P2口通常需要用来传送外部存储器的地址和数据,P3口也需要使用它的第二功能。

因此,单片机提供给用户的I/O接口线并不多,对于复杂的一些的应用系统都应该进行I/O口的扩展。

8255具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口.而8255又有多种运行模式,而这些操作模式完全由控制寄存器的控制字决定。

利用8255的控制字模式来定义8255输出口的个数,驱动所需的LED灯的个数,实现课题目的。

在仿真实验中,两个按键分别控制跑马灯的顺序显示、跳跃显示两种运行方式,顺序显示分别是一个、两个、四个、八个LED灯依次亮。

《单片机课程设计》报告

《单片机课程设计》报告

机械与车辆学院课程设计题目:姓名:学号:班级:指导老师:时间:成绩:水塔水位控制系统职称:《单片机课程设计》考查评分表、出勤率:□全勤□缺勤较少□缺勤较多□全缺(20%) 2、进度:□较快□正常□较慢□没有按时完成布局焊接:□合理(20%) □错误较多□较合理□原则性错误□基本合理1、程序编写框架:□合理□较合理□基本合理(20%) (10%) (15%) (15%)□原则性错误□基本正确□错漏较多系统调试结果:□实现□基本实现□不能实现1、硬件设计:2、软件设计:3、联调结果:4、过程体味:□合理□合理□正确□属实□较合理□较合理□较正确□较属实□基本合理□基本合理□基本正确□基本属实□不合理□不合理□错漏较多□不属实□思路清晰,内容正确□思路基本清晰,内容基本正确指导教师:吴明友 2022 年 1 月 3 日□错误较多2、程序编写过程:□正确□较正确□思路较清晰,内容较正确□思路较混乱,内容错漏较多一、课程设计性质和目的 (4)二、课程设计的内容及要求 (4)1、硬件设计 (4)2、软件设计 (5)3 、功能要求: (5)三、课程设计的进度及安排 (5)四、设计所需设备及材料 (6)五、设计思路及原理分析 (7)六、流程图及程序编写 (7)(1)根据功能要求画出控制程序流程图。

(8)(2)根据控制程序流程图编写C51 程序 (8)七、调试运行 (10)1 、软件测试: (10)2、硬件测试: (11)八、结果及分析 (12)九、心得体味 (13)十、参考文献 (14)十一、致谢 (14)十二、附录 (15)【1】整流器protel 防真原理图: (15)【2】数字时钟 (16)单片机课程设计是《单片机原理与接口技术》课程与实验结束后的一门综合性实践课。

设计一种基于单片机水塔水位检测控制系统。

该系统能实现水位检测、机电故障检测、处理和报警等功能,实现超高、低警戒水位报警,超高警戒水位处理。

介绍电路接口原理图,给出相应的软件设计流程图和汇编程序,并用Proteus 软件仿真。

单片机课程设计报告[5篇]

单片机课程设计报告[5篇]

单片机课程设计报告[5篇]第一篇:单片机课程设计报告《单片机课程设计报告》学校:专业:班级:姓名:学号:指导教师:摘要由于单片机体积小、成本低、使用方便,所以被广泛地应用于仪器仪表、现场数据的采集和控制。

通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用。

关键词单片机,程序,流水灯,数码管,温度计,键盘扫描,定时器等。

实验内容一、课程设计的目的以本学期对单片机的学习和认识,并通过本次课程设计加以应用,从而达到一个对所学知识的巩固、更深一步的理解,面对一个电子设计,应对出系统的方案,分析出各个板块来,再对各个板块进一步的具体的设计,先进行硬件电路设计,此时一定要考虑好要用什么元件、各个元件的具体参数、是否能实现应有功能,从而得到一个完整的硬件电路。

在根据该电路设计出软件的功能模块、从而完成程序流程图,在根据流程图完成程序的设计,并通过反复的调试、运行、更正,直至完成既定功能为止,最后将软件、硬件结合进行调试、运行,对其功能进行最终测试,并反复思考其测试中遇到相应问题的原因,并将其一一处理,从而完成本次设计的实验要求,以及本次课程设计的最终目的。

实验一:键盘操作实验实验要求:通过本次实验实现对键盘的控制,操作数码管的显示数字。

实验程序:#include #include #include #include #define WR273 XBYTE[0XC000] #define RD244 XBYTE[0XC000] #define uchar unsigned char #define uint unsigned int sbit DQ =P1^0;uint count=0,x,buf[20],tim,flag;uchar fen,shi;uchar codetable_16_1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80 ,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};uchar codetable_16_2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x0 0,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};voidled_clc(void){ XBYTE[0X8000]=0XFF;XBYTE[0X9000]=0XFF;XBYTE [0XA000]=0XFF;XBYTE[0XB000]=0XFF;}void delay(unsigned int i){ while(i--);} void delay_1ms(uint z){ uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);} uchar key_test(){ WR273=0XF0;if((RD244&0X0F)!=0X0F)return 1;else return 0;}void time_init(){ TMOD=0X01;TH0=(65536-46080)/256;TL0=(65536-46080)%256;TR0=1;ET0=1;EA=1;} void time_display(){if(count==10000)count=0;XBYTE[0X8000]=table_16_1[coun t%10];XBYTE[0X9000]=table_16_1[count%100/10];XBYTE[0XA00 0]=table_16_1[count%1000/100];XBYTE[0XB000]=table_16_1[co unt/1000];} void TIME_SET(){ uchar a,b,c,d,key;while(flag==1){ led_clc();while(!key_test());a=keyscan();XBYTE[0XB000]=table_16_1[a];while(!key_test());b=keyscan();XBYTE[0XA000]=table_16_2[b];while(!key_test());c=keyscan();XBYTE[0X9000]=table_16_1[c];while(!key_test());d=keyscan();XBYTE[0X8000]=table_16_1[d] ;while(!key_test());key=keyscan();if(key==11){shi = a*10+b;fen = c*10+d;flag=0;} } } void TIME_DIS(){if(tim==60){ fen++;tim=0;if(fen==60){ shi++;fen=0;if(shi==24)shi=0;} } XBYTE[0X8000]=table_16_1[fen%10];XBYTE[0X9000]=table_16_1 [fen/10];XBYTE[0XA000]=table_16_2[shi%10];XBYTE[0XB000]=ta ble_16_1[shi/10];} void main(){ uint temp;led_clc();// serial_init();time_init();while(1){ temp=keyscan();if(temp==10)fla g=1;TIME_SET();//XBYTE[0X8000]=table_16_1[temp];//time_display();TIME_DIS();} } void time()interrupt 2 { uchar m;TH0=(65536-46080)/256;TL0=(65536-46080)%256;m++;if(m==20){ m=0;count++;tim++;} } void serial()interrupt 4 { if(RI==1){ x=SBUF;RI=0;} put_char(x);delay_1ms(5);}实验心得体会:通过本次实验,让我对单片机实验有了更深的了解,认为这个实验还是比较容易的,没有花太多的时间。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科课程设计说明书设计题目:TMS320VC30DSP开发板制作学院:__明德学院_班级:__电自11151学号:112003110184学生姓名:魏乾指导教师:刘晓燕2014年6月23日贵州大学本科课程设计第 1 页摘要数字信号处理器(Digital Signal Processor;简称为DSP)是针对数字信号处理需要而设计的一种可编程的单片机,是现代电子技术、计算机技术和信号处理技术相结合的产物。

随着信息处理技术的飞速发展,数字信号处理器在电子信息、通信、软件无线电、自动控制、仪器仪表、信息家电等高科技领域获得了越来越广泛的应用。

数字信号处理器由于运算速度快,具有可编程特性及接口灵活,使得它在许多电子信息产品的研制、开发与应用中,发挥着越来越重要的作用;采用DSP器件来实现数字信号处理系统更是成了当前的发展趋势。

与此同时,如何以最短的开发周期,开发出能充分发挥DSP 潜能的高质量的应用软件,已经成了广大DSP工程技术人员共同关心的问题。

据估计,在DSP应用系统的开发中,特别是对于比较复杂的或对时间要求十分严格的应用系统,绝大部分的开发时间用于软件的设计与调试。

DSP软件的调试离不开DSP的开发工具,因此熟悉并掌握DSP的开发工具是开发出高质量DSP软件的必备条件。

正是出于这种目的,本论文对美国德州仪器(简称T1)公司推出的新一代16位定点TMS320C3XDSP进行了介绍,该系列DSP是目前TI 公司推出性价比最高的第三代浮点数字信号处理器之一。

贵州大学本科课程设计第 2 页数字信号处理器DSP以其独特的结构和快速实现各种数字信号处理算法的突出优点,在通信、雷达、声纳、语音信号处理、图象处理、高速控制和仪器设备等众多领域获得了广泛应用。

在掌握开发和深入了解其结构的基础上制作了TMS320VC33 DSP开发板。

开发板集成了TMS320VC33的存储器扩展,AD前向通道,后向通道(DA)的接口,RS232接口,并能通过USB仿真器下载程序脱机运行,并介绍了系统板上各部分电路原理和JTAG接口。

关键词:TMS320VC33 AD前向通道RS232接口JTAG接口一、设计目的为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的课程设计。

通过设计使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。

1、通过本设计,使学生综合运用《单片机技术原理与应用》、《DSP原理与应用》《C语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。

2、学会使用KEIL C和PROTEUS等软件,用C语言或汇编语言编写贵州大学本科课程设计第 3 页一个较完整的实用程序,并仿真运行,保证设计的正确性。

3、了解单片机接口应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等。

二、设计内容2. 1 硬件系统设计2.1.1 显示电路的选择与设计对于数字显示电路,通常采用液晶显示或数码管显示。

本设计的显示电路采用7段数码管作为显示介质。

数码管显示可以分为静态显示和动态显示两种。

由于本设计需要采用八位数码管显示时间,如果静态显示则占用的口线多,硬件电路复杂。

所以采用动态显示。

动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。

通常各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的公共阴极位选线由另外的I/O口线控制。

动态方式显示时,各数码管分时轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码,依此规律循环,即可使各位数码管显示将要显示的字符,虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。

数码显示管分为共阳数码管和共阴数码管两种共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,通常公共阳极接高电平,即接电源,其它管脚接段驱动电路输出端。

当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。

此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定贵州大学本科课程设计第 4页段导通电流来确定相应的限流电阻。

共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起,通常公共阴极接低电平即接地,其它管脚接段驱动电路输出端,当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。

此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。

本设计采用共阳极数码显示管做显示电路,数码管的a、b、c、d、e、f、g、h引脚为低电平,那么其对应的二极管就会发光,使数码显示管显示0~9的编码见表2.1.1。

表2.1.2 共阳极数码显示管字型代码数字共阳极段码数字共阳极段码0 C0H 6 82H1 F9H 7 F8H2 A4H 8 80H3 B0H 9 90H4 99H 灭FFH5 92H动态显示电路由显示块、字形码驱动模块、字位驱动模块三部分组成。

如图2.1所示为本系统的8位LED动态显示器接口电路。

图中,8个数码管的8段段选线分别与外接上拉电阻的单片机P0口对应相连,而8个数码管的位控制端则和NPN型三极管的集电极相连接。

2.1.2 按键电路的选择与设计本设计中有三个按键,分别实现启动/停止、暂停/继续、清零功能。

这三个键可以采用中断的方法,也可以采用查询的方法来识别。

四个按键均采用低电平有效。

当按键没有按下时,单片机的I/O口直接连接电源,因此需要接上拉电阻来进行限流,本设计中选取阻值为470Ω的电阻作为上拉电阻.具体设计如图2.1.2所示VCCP1.0P1.1P1.2P1.3图2.1.2 按键电路2.1.3 时钟电路的选择与设计单片机的时钟信号用来提供单片机内各种微操作的时间基准,AT89S52片内设有一个由反向放大器所构成的振荡电路,XTAL1和XTAL2分别为振荡电路的输入和输出端,AT89S52单片机的时钟信号通常用两种电路形式得到:内部振荡方式与外部振荡方式。

外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。

对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。

时钟发生器把振荡频率两分频,产生一个两相时钟信号P1和P2供单片机使用。

P1在每一个状态S的前半部分有效,P2在每个状态的后半部分有效。

本设计采用的内部振荡方式,内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。

只要按照图2.3所示电路进行设计连接就能使系统可靠起振并能稳定运行。

图中,电容器C1、C2起稳定振荡频率、快速起振的作用,电容值一般为5~33pF。

但在时钟电路的实际应用中一定要注意正确选择其大小,并保证电路的对称性,尽可能匹配,选用正牌的瓷片或云母电容,如果可能的话,温度系数尽可能低。

本设计中采用大小为33pF的电容和12MHz的晶振。

贵州大学本科课程设计第 6页图2.1.3内部振荡电路2.1.4 复位电路的选择与设计当AT89S52单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就完成了复位操作。

如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。

因此要求单片机复位后能脱离复位状态。

而本系统选用的是12MHz的晶振,因此一个机器周期为1μs,那么复位脉冲宽度最小应为2μs。

在实际应用系统中,考虑到电源的稳定时间,参数漂移,晶振稳定时间以及复位的可靠性等因素,必须有足够的余量。

根据应用的要求,复位操作通常有两种基本形式:上电复位、手动复位。

上电复位要求接通电源后,自动实现复位操作。

AT89S52单片机的上电复位POR(Power On Reset)实质上就是上电延时复位,也就是在上电延时期间把单片机锁定在复位状态上。

在单片机每次初始加电时,首先投入工作的功能部件是复位电路。

复位电路把单片机锁定在复位状态上并且维持一个延时(记作TRST),以便给予电源电压从上升到稳定的一个等待时间;在电源电压稳定之后,再插入一个延时,给予时钟振荡器从起振到稳定的一个等待时间;在单片机开始进入运行状态之前,还要至少推迟2个机器周期的延时。

上述一系列的延时,都是利用在单片机RST引脚上外接一个RC支路的充电时间而形成的。

典型复位电路如图2.1.4(a)所示贵州大学本科课程设计第 7 页图2.1.4 上电复位延时电路标准AT89S52不仅复位源比较单一,而且还没有设计内部上电复位的延时功能,因此必须借助于外接阻容支路来增加延时环节,如图2.1.4(a)所示。

其实,外接电阻R还是可以省略的在每次单片机断电之后,须使延时电容C上的电荷立刻放掉,以便为随后可能在很短的时间内再次加电作好准备。

否则,在断电后C 还没有充分放电的情况下,如果很快又加电,那么RC支路就失去了它应有的延迟功能。

因此,在图2.4(a)的基础上添加一个放电二极管D,上电复位延时电路就变成了如图2.4(c)所示的改进电路。

也就是说,只有RC支路的充电过程对电路是有用的,放电过程不仅无用,而且会带来潜在的危害。

于是附加一个放电二极管D来大力缩短放电持续时间,以便消除隐患。

二极管D只有在单片机断电的瞬间(即VCC趋近于0 V,可以看作VCC对地短路)正向导通,平时一直处于反偏截止状态。

手动复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。

单片机要完成复位,必须向复位端输出并持续两个机器周期以上的高电平,从而实现复位操作。

本设计采用上电且开关复位电路,如图2.5所示上电后,由于电容充电,使RST持续一段高电平时间。

当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。

2.1.5 电路原理图2.2软件系统的设计2.2.1 软件系统程序流程框图初始化贵州大学本科课程设计第 8页显示子程序右键闭合二次调用子程序确有按下释放否键号送A按键处理贵州大学本科课程设计第 9 页3.4 软件系统程序清单#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit P20=P2^0;sbit P21=P2^1;sbit P22=P2^2;sbit P17=P1^7;uchar code table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f }; //段位码uchar ms;uint LED0,LED1,LED2,LED3,LED4,LED5; // 各位的数字int m,n,delay;bit add;bit sub;bit scankey;bit start;贵州大学本科课程设计第 10 页bit stop;bit ready;bit start0;void begin1() //初始化子程序{m=0;n=0;ms=0;LED0=0;LED1=0;LED2=0;LED3=0;LED4=0;LED5=0;add=0;sub=0;start=0;ready=0;贵州大学本科课程设计第 11页start0=0;scankey=0;}void display(){ switch (ms%6){ //显示子程序 case 0:P3=0xfe;P1=table[LED3];P17=0;break;case 1:P3=0xfd;P1=table[LED2];P17=0;break;case 2:P3=0xfb;P1=table[LED1];贵州大学本科课程设计第 12 页 P17=1;break;case 3:P3=0xf7;P1=table[LED0];P17=0;break;case 4:P3=0xef;P1=table[LED4];P17=1;break;case 5:P3=0xdf;P1=table[LED5];P17=0;break;贵州大学本科课程设计第 13 页default: return;}}void time0(void) interrupt 1 using 1 //中断程序{TL0=0x18 ;TH0=0xfc;ms++;if(ms==10){ ms=0;scankey=1; //扫描键盘标志位有效 }display(); //显示程序调用 }void add1(time)uint time;{ uint n,a;a=time/1000;贵州大学本科课程设计第 14 页LED0=a; //计算十秒位数值n=time%1000;LED1=(n/100); //计算秒位数值n=n%100;LED2=(n/10); //计算十分一秒位数值LED3=n%10; //计算百分一秒位数值}void add2(t){ LED5=(t/10); //计算分钟十位数值LED4=t%10; //计算分钟个位数值}void scan() //扫描开关输入子程序{ P2=0xff;if(P20==0&&ready==0&&start0==0) //K1计时开始与暂停{ for(delay=0;delay<=200;delay++);P2=0xff;if(P20==0)start=!start;}贵州大学本科课程设计第 15 页if(P21==0&&ready==0&&start0==0) //K2计时清零{ for(delay=0;delay<=200;delay++);P2=0xff;if(P21==0)stop=1;}if(P22==0&&ready==0&&start0==0) //K3进入倒计时准备状态{ for(delay=0;delay<=200;delay++);P2=0xff;if(P22==0)ready=1;}if(P20==0&&ready==1&&start0==0) //K1调整倒计时初值加标志位有效{ for(delay=0;delay<=200;delay++);P2=0xff;if(P20==0&&ready==1)add=1;}if(P21==0&&ready==1&&start0==0) //K2调整倒计时初值减标志位有效{ for(delay=0;delay<=200;delay++);P2=0xff;if(P21==0&&ready==1)sub=1;}if(P22==0&&start0==1)//K3倒计时暂停贵州大学本科课程设计第 16页{ for(delay=0;delay<=200;delay++);P2=0xff;if(P22==0&&start0==1)start0=0;}if(P22==0&&ready==1&&start0==0) //K3倒计时开始{ for(delay=0;delay<=200;delay++);P2=0xff;if(P22==0&&ready==1)start0=1;}if(P21==0&&start0==1)//K2倒计时清零,只能在倒计时进行时使用{for(delay=0;delay<=200;delay++);P2=0xff;if(P21==0&&start0==1)start=0;ready=0;start0=0;stop=1;}}void main(){begin1();TMOD=0x01;TL0=0x18;贵州大学本科课程设计第 17页TH0=0xfc;EA=1;ET0=1;TR0=1;for(;;){if(scankey==1) //进行键盘扫描{ scankey=0;scan();if(start==1&ready==0) //计时开始{ m++;if(m==6000){m=0; n++;if(n==60){n=0;start=0;}}add1(m);add2(n);}if(stop==1&ready==0) //计时清零贵州大学本科课程设计第 18 页{m=0;n=0;start=0;stop=0;add1(m);add2(n);}if(add==1) //倒计时初值加10{ m=m+10;add=0;if(m==6000){m=0; n++;if(n==60)n=0;}add1(m);add2(n);}if(sub==1) //倒计时初值减10{ m=m-10;sub=0;if(m==-1&&n!=0){n--;m=5999;}if(m==-1&&n==0){m=0;}add1(m);add2(n);}if(start0==1) //倒计时{ m--;贵州大学本科课程设计第 19 页if(m==-1&&n!=0){n--;m=5999;}if(m==-1&&n==0){m=0;ready=0;start0=0;start=0;}add1(m);add2(n);}}}}三.设计体会对于这次设计本身,是对本学期单片机技术的一个综合,比较具有挑战性,也比较具有趣味性。

相关文档
最新文档