凌阳16位单片机实验报告

合集下载

基于凌阳16位单片机的冷库温度测控系统的设计毕业设计开题报告

基于凌阳16位单片机的冷库温度测控系统的设计毕业设计开题报告

(四)报警电路 系统报警电路,采用一块 555 时基电路完成延时和震荡两种功能,电路简单,实用。 利用 555 的复位端 4 脚对地接电容器 C2,可实现延时功能。 555 和 R2,R1,C1 等组成一个 延迟 90 秒的音频振荡器.由于 C1 的端电压不能突变,555 的 4 脚呈低电平,使 555 强制复 位,即 555 不工作.此后,随着 C1 的充电(经 555 内部电路),两分钟后,C1 上的充电电压 达到 1.4V 时,555 由复位转成置位而起振,3 脚输出的音频脉冲激励扬声器发出音响报 警。 (五)RS232 接口电路 SPCE061A 的 UART 模块提供了一个全双工标准接口, 用于完成 SPCE061A 与外设之间 的串行通讯。通讯接口采用标准的 232 接口电平,采用 HIN232 芯片作为电平转换器件, RS232 接口电路可以提供串行通讯的传输距离。本控制系统能同 PC 联机通信,以利用 PC 图形处理能力打印显示温度曲线。由于 SPCE061A 串行口为 TTL 电平,PC 串行口为 RS232 电平,使用一片 MAX232 为电平转换驱动。通信速率为 9600 波特率。数据 5 秒传 输一次。 七、系统的软件设计 本系统软件主要由主流程、功能子程序、中断服务程序组成。子程序主要由键盘扫 描、键码分析、温度采集、温度显示、数据上传、数据保存、PID 计算、继电器控制等 模块组成,LED 的显示在 256Hz 的中断程序中完成语音报警。其中主要用 PID 控制算法 实现对温度的精确控制。 在程序开始后系统时钟将调到 24.576M, 程序中 DS18B20 需要严格的读写控制时许, 其中软件延时就是按照这个时钟计算的。然后初始化 IO 端口,打开 2Hz 中断,为了定 时 10 分钟做准备。初始化 SIO 与 UART,为使用 SIO,UART 做准备。然后进入循环,检 测是不是有键按下,如果有键按下,则进行键码分析,对系统所需的数据进行设定。调 用测温函数测温,调用显示函数显示,调用发送数据函数发送数据,判断是否是设定的 时间 (10 分钟) 如果是调用存储函数存储数据, , 如果不是对传感器测得的数据进行 PID 计算,得出最优控制量,然后对继电器控制,从而对压缩机进行控制,进行制冷,然后 继续循环。 温度对象一般都可以看作是带纯滞后时间的一阶惯性环节,用 PID 控制算法就可以 对其进行很好的调节。 - S(k) y(k)

凌阳16位单片机实验板的研究

凌阳16位单片机实验板的研究
维普资讯
中国科技论文统计源期刊 ( 中国科技核心期刊 )







V0. 3 No 4 12 .
AP R.2 0 0 6
EXPERI MENT AL TECHN0L0GY AND MANAGEMENT
凌 阳 1 单 片 机 实 验 板 的研 究 6位
为更 好 地 培 养 学 生 的 动 手 能 力 和 实 践 创 新 能 力 ,我 校 利 用 凌 阳公 司 的 1 单 片机 SC 0 1 6位 P E6A
开设 了 “ 电 系统 综 合 实 验 ” 课 。这 是 一 门字 S A 和 3 B字 P E 6 A B R M 2k
Ab t a t o h u p s fc l v t g s d n s p r t n a i t .a ts o r s d sg e t h 6 b tmi r— sr c :F rt e p r o e o ut ai t e t ’o e ai b l y e tb a d i e in d wi t e 1 ・ i i n u o i h co p o e s rS C 6 r c s o P E0 1 A,whc s u e n t e Me h nc l cr n c S se ca s T e b a d i cu e / i u t ih i s d i h c a ia E e to i y t m ls . h o r n l d s I O cr i , l c s u d cr u t C i u t o e i u t e c Mo e t a 0 tp so s a eo e ae y u i gt i ts o r — y o n i i,I E cr i ,p w rcr i , t . r n5 e f e t c n b p rt d b sn h s e t a B c c c h y t s b d t e e tss h t d ns c n n to l oi i h i k o e g h s e t ,t e su e t a o ny s l f t er n wld e,b tas e h x e e c fp a t e dy u lo g tt e e p r n e o r ci . i c Ke r s y wo d  ̄Mi r p o e s r c o r c so ;S C 0 A;T s B a d S u d P o e s P E 61 e t o r ; o n r c s

单片机实训报告优选范文5篇分享

单片机实训报告优选范文5篇分享

单片机实训报告优选范文5篇分享单片)是一种集成电路芯片,是具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

下面就是小编给大家带来的单片机实训报告优选范文5篇分享,希望大家喜欢!单片机实训报告范文(一)前言一周的单片机实训很快就结束咯,在这一周的时间里,我学到了很多关于单片机各方面的知识。

老师在实训课中也教会咯我们很多关于单片机软件编程与硬件设施的知识。

一周的实训中我们一共实训咯好几个项目,通过这几个项目的实训,我们掌握咯一些单片机的汇编语言和硬件调试,达到了很好的效果。

一周时间实训过后,我把之前在课堂上不懂的知识点,通过实际操作的练习,我都搞明白咯。

当然在实训过程中也遇到咯很多问题,就是有时在调试方面不能调试成功,有时程序是没有错误,但是就是调试不好,一直找原因也找不出是什么原因。

希望以后能够拥有更多的实训时间和机会学习单片机。

实训任务一一、实验目的熟悉Keil C51集成开发环境的使用方法二、实验设备及器件IBM PC机三、实验内容按照本书的第2章的2.1节到2.4节内容进行Keil C51集成开发环境的安装和使用练习。

然后按照以下内容建立文件并编译产生HEX文件。

ORG 8000HLJMP MainORG 80F0HMain:MOV R7,#0LOOP:MOV R6,#0DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R7,LOOP ;延时一台CPL P1.0CPL P1.1CPL P1.2CPL P1.3CPL P1.4CPL P1.5CPL P1.6CPL P1.7SJMP MainEND ;P1.0取反 ;P1.1取反 ;P1.2取反 ;P1.3取反 ;P1.4取反 ;P1.5取反 ;P1.6取反 ;P1.7取反通过该程序实现八盏灯的同时亮和同时灭的功能,更好的掌握汇编指令。

凌阳单片机实习心得

凌阳单片机实习心得

生产实习心得——基于凌阳单片机低温段温度的测量及显示伴随着期末考试的尾声,我们开始了为期三周的生产实习实训。

我选的课题是基于凌阳单片机低温段温度的测量及显示。

自己对这次实训充满了信心,一方面是这个课题与我们测控专业还是密切相关的,定能掌握很多,另一个方面主要是因为刚结束检测技术课程和单片机的学习,在上课时时间有限只能浅略地了解一些,所以也想利用这个机会好好熟悉单片机编程,更加了解具体的电路设计过程,最后能得到满意的成绩,为小学期的生产实习画一个圆满的句号。

在第一节课后,老师安排了实习计划和要求后,我们小组也便开始去图书馆查阅有关资料,课下与老师沟通交流,积极性特别高。

那接下来就说说这三周实习自己学到了什么。

首先是熟悉了凌阳单片机61板(SPCE061A)的硬件组成(包括各个元件的结构,作用,实现的功能),并将各元件准确无误的焊接到PCB板上,了解并使用凌阳单片机的集成开发软件IDE,用PC机将示例程序下载到已焊好的板上。

脱机能够运行。

在焊接过程中,由于我自己的失误将其中一个元器件焊接反了,导致在更正过程中花费了很多时间。

这也让我在接下来的学习和焊接中更加谨慎和用心。

为了更加了解61板的相关知识,我也自己查阅了有关资料,发现了它的巨大功能,就是小小一块板凝聚着很多知识和人才的结晶。

例如我查到在以下很多领域凌阳单片机都有着它独特的应用:(凌阳单片机部分开发实例名称)直流电机控制系统、语音遥控小车、语音识别机器人、语音拨号手机通讯录、有线对讲机、音乐播放器、无线语音传输系统网络家电、数字式多路温度采集系统、数字电子钟、数据采集系统、交通灯控制系统、带语音提示的交通灯控制系统、环境测试仪、公交车报站器、耳温枪设计、多功能手机、电子指南针、带音效的手机游戏、打字游戏之打地鼠、出租车计价器、超声波倒车雷达、ZigBee无线点菜机、ZigBee无线QQ、智能语音识别避障机器人、SD卡存储扩展系统、GPS 全球定位系统等等。

基于凌阳16位单片机的智能车电路模块设计

基于凌阳16位单片机的智能车电路模块设计

基于凌阳16位单片机的智能车电路模块设计轮式小车是智能小车机械结构的主体部分,由车身、轮子、变速器、传动轴等结构部件构成。

轮式小车还包括提供动力的驱动器,用来收集智能小车的自身状态信息或外部环境信息,并对多传感器的数据进行分析、融合,动态调整小车的运动状态,实现在一定条件下的自主行驶。

红外传感器模块电路原理:红外传感电路采用反射式红外传感器,可以方便地实现实时监控并有效防止误触发,灵敏度容易控制。

图3 为红外检测电路,核心IC 器件是LM393,该集成块内部装有两个独立的电压比较器。

LM393 类似于增益不可调的运算放大器。

每个比较器有两个输入端和一个输出端。

两个输入端一个称为同相输入端(用“+”表示),另一个称为反相输入端(用“-”表示)。

用作比较两个电压时,任意一个输入端加一个固定电压做参考电压,另一端加一个待比较的信号电压。

当“+”端电压高于“-”端时,输出管截止,相当于输出端开路。

当“-”端电压高于“+”端时,输出管饱和,相当于输出端接低电位。

两个输入端的电压差大于10mV 就能确保输出能从一种状态可靠地转换到另一种状态。

因此,把LM339 用在弱信号检测等场合是比较理想的。

测速反馈电路由发光二极管、光电级管、单稳态电路以及装在主轴上的光电码盘组成。

当光码盘上的孔经过发光二极管时,发光二极管发出的光使光电三极管导通,输出高电平;当光码盘上的非孔部分经过光二极管时,光电极管截止,输出低电平。

产生的周期性脉冲经单稳电路整形送高速输入通道IOB2 或IOB3 外部中断源,取得每次上升沿的时间值,就是定时器T1 的值,每两次T1 上升沿值之差为光电脉冲周期,从而可计算出主轴的转速。

16位单片机实验指导书

16位单片机实验指导书

16位单片机应用实验指导书电子与信息工程学院2O15年2月实验一MC9S12XS128入门实验一.实验目的1.熟悉CodeWarrior嵌入式开发系统软硬件环境,掌握其使用方法及调试方式。

2.掌握S12 GPIO接口的使用方法及编程方法。

3.熟悉S12单片机的C语言程序编程框架。

4.理解样例中的第一个C语言程序代码。

二.实验设备及其连接1.PC机一台2.S12嵌入式开发实验板一套3.接线原理图实验板上有8个发光二级管和4个按钮开关, 8个发光二级管由单片机的PB口8个IO引脚控制, PB0-PB7输出低电平时LED点亮, 输出高电平时LED熄灭。

4个独立的按键输入直接连接到PP口的PP4-PP7引脚, 常态下为高电平, 按键按下时, CPU相应I/O引脚将检测到低电平, XS128芯片的PP口是有中断功能的IO口, 除了可用查询方式检测IO口的状态以外,我们也可以用中断的方式读入按键的状态。

三.实验内容1.使用CodeWarrior嵌入式开发系统的软硬件环境,掌握其使用方法及调试方式。

2.调试运行提供的样例程序light,观看实验结果。

(软件使用参见第四部分)3.运行样例程序,观察小灯的闪烁和对应的程序实现;调整延时的长短,继续观察小灯的闪烁。

4.尝试新建自己的工程,自编程序,实现用4个开关控制4个小灯的亮灭. 4个开关分别接在端口P的PTP4~PTP7口,4个小灯则接在PORTB0~PORTB3口, 参见第二部分连接图. 编程实现用这4个开关控制4个小灯,按钮开关按下时,对应小灯亮,否则为暗。

提示:新建工程时芯片选择HCS12X family-〉mc9s12xs128,connection 选择TBDML,然后下一步输入工程路径和名称,再3次下一步,选择默认选项,然后下一步、完成。

在main.c 文件中加入你的代码,主要通过设置数据方向寄存器DDRB DDRP和数据寄存器PORTB PTP来实现开关控制小灯的功能。

单片机原理及实用技术-凌阳16位单片机原理及应用课程设计

单片机原理及实用技术-凌阳16位单片机原理及应用课程设计

单片机原理及实用技术-凌阳16位单片机原理及应用课程设计一、课程简介本课程主要介绍凌阳16位单片机的基本原理和常用应用技术,通过理论授课、实验操作和课程设计,帮助学生深入了解单片机的内部架构、指令系统、I/O口、定时器计数器等核心模块,同时还涉及到单片机的多种外设应用技术,如LED、LCD、数码管、蜂鸣器、电机驱动、无线通信等。

二、课程内容1. 凌阳16位单片机的基本原理在本章节课程中,我们将主要介绍单片机的基本原理,包括单片机的内部架构、指令系统、寄存器、存储器等模块的原理,以及如何进行单片机的编程和调试。

2. 凌阳16位单片机的I/O口控制在本章节课程中,我们将主要介绍单片机的I/O口控制原理,包括I/O口的类型、I/O口的工作原理、I/O口的配置和控制方式等。

3. 凌阳16位单片机的定时器计数器在本章节课程中,我们将主要介绍单片机的定时器计数器原理,包括定时器计数器的类型、工作原理、应用场景和编程实现方式等。

4. 凌阳16位单片机的LED、LCD、数码管、蜂鸣器控制在本章节课程中,我们将主要介绍单片机的基本外设应用技术,包括LED、LCD、数码管、蜂鸣器等的控制原理和实现方式。

5. 凌阳16位单片机的电机驱动在本章节课程中,我们将主要介绍单片机的电机驱动原理和应用技术,包括单片机的PWM输出和驱动电机控制原理等。

6. 凌阳16位单片机的无线通信在本章节课程中,我们将主要介绍单片机的无线通信原理和应用技术,包括单片机与射频模块的通讯方式、无线传输原理和实现方法等。

三、实验操作通过课堂演示和实验操作,学生将熟悉单片机的编程和调试方法,掌握各种I/O口控制方式、定时器计数器应用、外设控制技术和电机驱动、无线通信等技能。

四、课程设计为了提高学生的综合能力,本课程将进行一个实际运用的课程设计。

设计主题为:单片机控制智能小车。

学生需要根据课堂所学知识,设计一个能够通过单片机控制的小车,在小车上安装各种外设,例如传感器、蜂鸣器等,通过程序控制实现小车的行动,达到智能化的控制。

“16位单片机原理与应用”课程教学实践

“16位单片机原理与应用”课程教学实践

的考核方式进行了改进。最终的考试成绩 由平时成绩 、 期末笔试 成绩 、 实验成绩三部分组 成 , 中平 时成绩 占 1%, 其 0 期末笔试成 绩 占 6 %, 0 实 验成绩 占 3 %。 0 平时成绩主要 由出勤率 、 等方 面决定 。 作业 期末笔试采 取开卷考试的方式 , 重点考察 学生掌握 知识和运用知识 的能力 。 实验成 绩 由三部 分组成 , 中实验预 习情况报 告 占课程 成绩 的 2 % ; 验操 其 0 实 作及实验态度 占课程成绩 的 4 %; 0 实验考试 ( 调试 成功 ) 占课程成 绩 的 4 % , 中实验考核部 分实行“ 0 其 一票 否决制” 即实验 考核不合格 的话 , , 则本课程的成绩即为不合 格。考核方式决定 了学生对本 门课 程的学习 态度与学习方法 , 在开始本课程的学 习时 , 就将考核方式 和考核标准告 知学生 , 而避免 了死 记硬背 , 从 突击 考试过关 的现象 , 学生根据考 核方 式, 调整 了学习思路 , 对知识 的熟记 转变为对知识 的理 解和运用 , 把 特 别是实验部分 , 由以前的应付 , 转化为积极 的态度去面对 。理 论课 和实 验课相互补充 , 学生实验课上 动手调试 的能力有 了很大的提高。 在实验 考试 中, 通过 精心设计考题 , 划分基本 技能考核考题 ( 调试成功 8 分 ) 0 和较高能力考核试题 ( 调试成功 10 ) 0 分 两种分制 。 动手能力强 、 基础扎 实的学生在完成基本 技能考核试题的基础上 ,完成 了较高 能力考 核试 题的调试。 采用 这种考核制度 , 通过笔试考核学生对基本知识的掌握和 理解 , 通过实验考核学生 的动手实践能力 ,从而通过理论和实践 的结 合, 提高 了学 生的综合 能力 , 为学生 以后走 向工作 岗位 和继续深造 , 打

用单片机语言设计16位加法计算器实验报告

用单片机语言设计16位加法计算器实验报告

湖北第二师范学院计算机学院09计应单片机课程设计实验报告课程设计名称:电子计算器课程设计单位:10计应(1)班课设小组成员:徐凡(1060310039)凡平(1060310058)彭浩(1060310045)桂银(1060310010)潘光卉(1060300033)完成时间:2012年04月02日至2012年04月 24 日单片机课程设计实验报告课程设计题目:简易计算器作品功能描述:当通过输入键盘数字时,能够在显示器上显示输出的数值,并且通过想实现的简单运算功能,实现计算器的加、减、乘、除和清零,并将结果显示出来。

小组成员工作分工:徐凡:程序主框架的构造和主要功能函数的设计。

凡平:原理图的设计和硬件的焊接。

彭浩:基本功能函数的设计(“+,-,*,/”)。

桂银:程序流程图的设计和键盘扫描程序的实现。

潘光卉:编写文档和功能测试。

硬件电路设计:本设计中我们用的是AT89C52芯片,LCD1602 (PROTEUS中为LM016L)就是那个液晶屏,因为可以显示2行16个字符,故叫做LCD1602.11.0592M或12M晶振(CRYSTAL),两者均可,但要涉及到串口需选用12MKEYPAD-SMALLCALC就是那个4X4键盘电容20~30PF(CAP),接最小电路电容10PF主要接复位电路RESPACK-8排阻,为20K的,一个引脚接正极,另8个引脚接I/O口接RES电阻10K,接复位电路实物照片:硬件原理图原理说明:1,上电后,屏幕初始化;2,计算。

按下数字键,屏幕显示要运行的第一个数字,再按下符号键,然后再按下数字键,屏幕显示要运算的第二个数字,最后按下“=”号键,屏幕上显示出计算结果。

3,如果要再次计算,可以按下“ON/C”键清零,或者继续按下数字键,即可重新计算。

键盘使用说明如下:按键功能说明:Array“+”实现两个数的相加“-”实现两个数的相减“×”实现两个数的乘积“÷”实现两个数商的运算“ON/C”计算器显示的清零和接通电源程序控制流程图:软件设计:在程序设计方法上,模块化程序设计是单片机应用中最常用的程序设计方法。

SPCE061A语音型单片机自主实验报告

SPCE061A语音型单片机自主实验报告

SPCE061A语音型单片机自主实验一、061A芯片简介随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出了很强的生命力。

台湾凌阳科技公司最近推出了一种新型16位单片机SPCE061A。

该单片机的问世,使得16位单片机的科技含量及应用跃上一个新的台阶。

1、SPCE061A性能简介(1)16位的高性能unsp内核单片机(2)cpu时钟范围:0.31MHZ—49MHZ(3)片内32字的Flash程序存储器、2k字的SRAM数据存储器(4)2组16位IO端口(5)14个中断源(6)一路专用音频AD转换通道(7)7路AD转换通道(8)内置MIC放大电路和自动增益(AGC)放大电路(9)2路电流输出型的DA转换通道(10)2个16位通用定时器、计数器(11)实时时钟(RTC)(12)低电压复位,低电压监测(13)内置在线仿真接口(ICE)(14)具有保密功能(15)具有WatchDog功能(16)全双工标准UART(17)睡眠、唤醒功能模块2 、SPCE061A特点(1)体积小、集成度高、可靠性好且易于扩展在SPCE061A把各功能部件模块化地集成在1个芯片里。

另外,模块化的结构易于系列扩展,以适应不同用户的需求。

(2)低功耗、低电压SPCE061A采用CMOS制造工艺,同时增加了软件激发的弱振方式、空闲方式和掉电方式,极大地降低了其功耗。

(3)高性能价格比SPCE061A片内带有高寻址能力的ROM、静态RAM和多功能的I/O口。

另外,凌阳科技CPU的指令系统提供出具有较高运算速度的16位×16位的乘法运算指令和内积运算指令,使得SPCE061A运用在复杂的数字信号处理方面既很便利,又比专用的DSP 芯片廉价。

(4)具有较强的中断处理能力SPCE061A中断系统支持10个中断向量及10余个中断源,适合实时应用领域。

16位单片机 期末大作业实验报告

16位单片机 期末大作业实验报告

上海电力学院16位单片机实验报告实验名称:使用键盘中断、PWM及LED数码管的实验专业:姓名:班级:学号:一、实验目的使用使用键盘中断、PWM 及LED 数码管实现用键盘调整PWM 呼吸灯的渐变快慢,同时用LED 显示当前的速度级:1、PWM 占空比(如图1)。

2、16键键盘中断(如图2)。

图2键盘中断接线原理图3、8段LED 数码管(如图3)。

图3 LED 数码管结构图(a) 25%的占空比图1 PWM 占空比示意图时钟 PWM (b) 50%的占空比时钟PWM (c) 75%的占空比时钟PWM二、实验设备及其连接(一)、试验设备:1.PC机一台2.S12嵌入式开发系统一台3.导线九根4.小键盘一个5.4连排共阴极8段数码管一个(二)、设备连接:1.键盘采用手动接线,将键盘接入双排插孔下一排插孔;2.PTP0~3分别接键盘接线处的1~4;3.PTA0~3分别接5-8;4.8段数码管插到指定位置;5.小灯接PP7口。

三、实验内容1.在键盘中断主程序里添加PWM及LED的头文件(.h)及源文件(.c),并在键盘中断主程序main.c中添加PWM占空比小灯及LED显示程序:2.在中断程序isr.c中添加PWM占空比小灯及LED显示程序:3.运行程序并记录实验现象:四、程序展示1.添加头文件声明。

2.在main.c 中添加time 变量及LEDbuf[4]数组,其中time 用来改变PWM 渐变中的Delay 延时时间,LEDbuf 则用来显示每次按键改变的速度值:main.c 程序展示:#include "Includes.h" //包含总头文件//在此添加全局变量定义uint8 iii;uint8 period;uint8 duty;uint8 time=100;uint8 LEDbuf[4];//主函数void main(){//0.1 主程序使用的变量定uint32 mRuncount=0; //运行计数器//运行计数器//uint8 period,duty,time=10;//0.2 关总中断DisableInterrupt();//0.3 芯片初始化MCUInit(FBUS_32M);//0.4 模块初始化Light_Init(Light_Run_PORT,Light_Run,Light_OFF); //RUN指示灯初始化为暗SCIInit(0,FBUS_32M,9600); //串口0初始化KBInit(); //键盘初始化PWMInit(7); //初始化PWM通道1 LEDInit();//Light_Init(Light_Run_PORT,Light_Run,Light_OFF); //RUN指示灯初始化为暗//0.5 开放中断EnableSCIReInt0; //开放SCI0接收中断EnableKBint(); //开放键盘中断EnableInterrupt();DDRB=0xff;PORTB=0x00; //开放总中断period = 0xFF; //PWM周期duty=0x00;LEDbuf[0]='0'; //待显示数据0000LEDbuf[1]='0';LEDbuf[2]='0';LEDbuf[3]='0';// 主循环for(;;){ //int i,j,k;LEDShow(LEDbuf);// Light_Change(Light_Run_PORT,Light_Run); //指示灯的亮、暗状态切换//}//---------------------------------------------------------------------//2.通过占空比的变化来调节小灯的亮度for(duty=0;duty<0xff;duty++){PWMSetting(7,period, duty); //不断增加PWM的占空比LEDShow(LEDbuf);Delay(time);}//延时for(duty=0xff;duty>0;duty--){PWMSetting(7,period, duty); //不断增加PWM的占空比LEDShow(LEDbuf);Delay(time);}//延时}}3.在isr.c中添加对按键的判断,当按下按键时,缩短Delay延时使得小灯闪烁速度加快,同时改变LEDbuf数组的值使得LED显示当前的按键值(速度级)。

凌阳单片机实验指导书

凌阳单片机实验指导书

第一章SPCE061A 基础应用实验实验一熟悉µ’nSP™ IDE 集成开发环境下汇编语言程序的编写【实验目的】1. 熟悉SPCE061A 单片机常用的汇编指令;2. 学会使用SPCE061A 单片机汇编语言以及伪指令构造汇编程序;3. 掌握µ’nSP™ IDE 集成开发环境的一般使用方法。

【实验设备】1. 装有Windows 系统和µ’nSP™ IDE 集成开发环境的PC 机一台,SPCE061A 实验仪一套。

2. 本实验用到的实验仪硬件模块为:CPU 区电路模块、供电电路模块、下载模式选择电路模块。

【实验要求】1. 编程要求:编写一个汇编语言程序。

2. 实现功能:从1 到100 进行累加,并把计算结果保存在[Sum]单元里。

3. 实验现象:实验过程中,单步运行时,可通过IDE 的调试工具寄存器观察窗口(Register Window)观察通用寄存器的变化,通过变量观察窗口(Toggle Watch)观察变量Sum 的变化;累加结束后保存累加结果:通过变量观察窗口(Toggle Watch)可以观察到变量Sum 的值为5050(十六进制表示为0x13BA)。

【实验原理】SPCE061A 的汇编指令按其功能主要有数据传送指令、算术指令、逻辑指令、转移指令和控制指令。

在程序运行中主要用到r1~r4 四个通用寄存器和BP(r5)、SP、PC、SR 四个特殊功能寄存器。

其中r1~r4一般作为目标寄存器或源寄存器,参与数据传输或算术逻辑运算。

【程序流程】初始化寄存器r2 作为累加器,初始值为0;寄存器r1 为加数,初始值为1。

初始化操作完成后即进入累加循环;在累加循环当中,累加器的数值加上加数,并保存在累加器当中,加数自加1;当加数加到了100,退出累加循环,把r2 累加的结果送到[Sum]单元中。

程序流程图如图1-1 所示。

图1-1 程序流程图【实验步骤】鉴于本实验为本书的第一个实验,所以在此介绍一些有关unSP IDE 操作的步骤;在之后的实验中,将不再重述。

凌阳单片机实验报告

凌阳单片机实验报告

南京邮电大学课程设计П实验报告模块名称_ _____凌阳单片机______ _ 班级学号_______B080210 姓名__ ____ _ _______ 指导老师_赵建立__叶玲__董恒梅霆_开课时间 2011/2012 学年,第一学期实验1 熟悉’nSP™ IDE环境下的汇编程序和C程序的编写一、实验目的熟悉汇编程序和C程序的编写。

编译程序,软件调试,观察并跟踪其结果,查看各个寄存器状态,等等。

二、实验设备装有WINDOWS操作系统以及μ’nSP™ IDE仿真开发环境的PC机一台;十六位单片机实验板及扩展板。

三、实验原理参照SPCE061A单片机教材和实验指导书熟悉凌阳单片机的开发环境。

四、流程图汇编程序主程序流程图:五、关键代码汇编程序代码://===============================================================//// Program: 计算1 to 100累加值// Output: [sum] = 5050(十进制) 或 13BA(十六进制)//===============================================================//.RAM // 定义预定义 RAM 段.var R_Sum; // 定义变量.CODE //定义代码段.public _main; // 对main程序段声明_main:r1 = 0x0001; // r1=[1..100]r2 = 0x0000; // 寄存器清零L_SumLoop:r2 += r1; // 累计值存到寄存器r2r1 += 1; // 下一个数值cmp r1,100; // 加到100否jna L_SumLoop; // 如果 r1 <= 100 跳到 L_SumLoop[R_Sum] = r2; // 在R_Sum中保存最终结果L_ProgramEndLoop: // 程序死循环jmp L_ProgramEndLoop;C程序代码://===============================================================// // Program: 计算1 to 100累加值// Output: [sum] = 5050(十进制) 或 13BA(十六进制)//===============================================================// int main(){int i, Sum=0;for (i=0;i<=100;i++)Sum = Sum + i; // Sum 是累加的结果while(1){ }; // 程序死循环// 用变量 Watch 窗口看 Sum 的值}六、实验结果用RegisterWindow工具观察各个寄存器状态变化符合实际情况。

数字示波器设计与总结报告 以凌阳16位单片机SPCE061A作为控制核心

数字示波器设计与总结报告 以凌阳16位单片机SPCE061A作为控制核心

摘要:本数字示波器,以凌阳16位单片机SPCE061A作为控制核心,提供友好的人机接口。

以FPGA可编程逻辑器件EP2C8作为系统数据采样及存储控制核心,并兼作精准频率计及方波校准信号发生器,简化了电路。

使用采样率为1MSa/s的A/D转换芯片AD7821作为信号采集芯片,以精准的数字频率合成芯片(DDS)提供采样时钟,能够实现实时采样速率≤1MSa/s,等效采样速率≥200MSa/s。

通过调节旋钮实现数据的水平分辨率,垂直分辨率的分档,波形的水平、垂直移动,触发电平的调节等功能。

增加波形存储/调出功能,提供单次触发功能,本示波器性能良好,能够测量频率范围为1Hz~10MHz的周期信号,仪器输入阻抗大于1MΩ,显示波形无明显失真,工作状态稳定,可靠。

关键词:现场可编程门阵列(FPGA)、凌阳16位单片机、等效采样、数字频率合成(DDS)Abstract: The digital oscilloscope uses Sunplus 16 SPCE061A microcontroller as the control unit to provide a friendly man-machine interface. The FPGA programmable logic device served as the data sampling and storage systems control unit. It also served as a precise cymometer and square wave signal generator, simplifying the circuit. The use of sampling rate of 1MSa/s A/D converter chip AD7821 as signal acquisition, accurate digital frequency synthesis chip (DDS) to provide a sampling clock, to achieve real-time sampling rate ≤ 1MSa / s, equivalent sampling rate ≥ 200MSa / s. By adjusting the knob to achieve the level of data resolution, t he vertical resolution of the stalls, wave horizontal, vertical movement of the trigger level adjustment functions. Add waveform storage function, waveform is not lost when power is off . It provides a single trigger function. The good performance oscilloscopes is capable of measuring the frequency range of 1Hz to 10MHz cycle signal. Input impedance greater than 1M ohm.It showed no obvious waveform distortion and working condition is stable and reliable.Keywords: Field Programmable Gate Array (FPGA), Sunplus 16 microcontroller, Equivalent Sampling, Digital Synthesis (DDS)一、方案设计与论证相比模拟示波器,数字示波器的优点在于其可以方便的对模拟信号进行存储,并为进一步通过微处理器处理和计算数据提供方便。

毕业论文-基于凌阳16位单片机的多功能复读机的设计与实现

毕业论文-基于凌阳16位单片机的多功能复读机的设计与实现

摘要本次毕业设计的主要目的是设计并制作一个具有录音、放音、计时、语音播报和数码管显示的多功能复读机。

设计阶段主要完成了以下功能模块:提示语音模块:接通电源后自动播放一段音乐和录制的提示语音;倒计时模块:按下录音键,LED键盘模组的第6个数码管进行倒计时,依次显示3、2、1,间隔为一秒钟;录音与计时模块:倒计时完成(即1消失后),操作者可利用麦克风进行语音录入,同时,计数器开始计时,此时间为录音的时长;语音播报与显示模块:按下停止键,录音停止,并语音播报录音的时长,并在数码管上显示录音的时长;放音模块:按下回放键可以回放刚才的录音。

该复读机在功能上有所更新,除了具备基本的录音、放音功能外,还能播放音乐和提示语音,计时器可记录录音的时长,并利用外接的LED键盘模组进行显示,倒计时功能能够提醒用户适当的录音时刻,解决了一按录音键就开始录音而导致声音无法完全录入的问题。

本次毕业设计选用凌阳SPCE061A单片机,SPCE061A的语音处理功能是由凌阳公司自行开发的具有音频编解码及各种语音压缩算法实现的。

其CPU 内核采用凌阳推出的μ’nSP (Microcontroller and Signal Processor)16 位微处理器芯片。

凌阳单片机可以做控制,也可以完成数据信息的处理,尤其是语音识别上,有自己的特色。

各种算法相应的程序模块存放在语音算法库SCAM-LIB中, 使用时只需调用相应的模块就可方便地实现语音合成、语音播放、录音、识别等功能。

凌阳单片机还采用了SOC 理念,一颗芯片就是一个系统,把传统单片机学要扩展的AD、DA、存储器等器件都做到了芯片内部,方便了单片机的学习和项目开发。

本次设计主要完成了以下任务:学习61板和焊接的相关知识;利用《Protel 99SE》完成了电路原理图和印制电路板的设计;独立焊接了电路板所有元器件,并顺利通过测试和自检;根据指导教师分配的任务完成了程序编写、修改、调试、下载,最终完成预期目标。

单片机原理及实用技术-凌阳16位单片机原理及应用课程设计 (2)

单片机原理及实用技术-凌阳16位单片机原理及应用课程设计 (2)

单片机原理及实用技术-凌阳16位单片机原理及应用课程设计简介单片机作为一种微处理器,主要用于嵌入式控制系统的设计和开发。

由于其小巧,低功耗,易于扩展等特点,它已经成为许多工业、农业、医疗应用等领域的核心控制器。

本文主要介绍凌阳16位单片机的原理和应用技术,通过课程设计的方式帮助初学者了解单片机的基本原理、学习单片机编程,并掌握单片机实际应用的方法和技巧。

课程目标•了解单片机的基本原理,掌握单片机的编程语言和基本操作指令。

•学习单片机的实际应用技术,包括输入输出端口、定时器、中断、串口通信等。

•参与课程设计,设计和实现一个简单的单片机控制系统。

课程大纲第一周基本原理•单片机的概念和分类•单片机的体系结构和指令系统编程语言•C语言在单片机中的应用•语言编译和程序下载的流程输入输出端口•I/O端口的基本概念和使用方法•硬件和软件中断控制输入输出端口定时器•定时器的概念和使用•定时器在单片机控制中的实际应用第三周中断•中断的概念和分类•中断在单片机控制中的应用串口通信•串口通信的基本原理和应用•串口编程和STM32控制使用第四周课程设计•设计和实现一个简单的单片机控制系统•系统级程序设计与应用课程设计本课程设计要求参与者设计并实现一个简单的单片机控制系统,包括硬件和软件两个部分,具体要求如下:•所有硬件应由参与者自行设计和制作。

•最少需要包含LED灯、按键、蜂鸣器等常用的输入输出设备。

•可根据需要添加其他外设模块,如显示器、数码管等。

软件部分•参与者应使用C语言编写控制程序,实现单片机控制硬件设备的目的。

•程序应包括常用控制功能,如循环、条件判断、函数调用等。

•程序应使用定时器、中断等技术实现控制逻辑。

•程序应实现能够响应串口通信的功能,可以通过串口控制硬件设备。

实践指南工具准备•Keil C51,用于C语言编译和程序下载。

•Proteus,用于电路软件模拟。

硬件制作•可以使用面包板或印刷电路板设计和制作。

实验报告(单片机实验报告)

实验报告(单片机实验报告)

实验报告(单⽚机实验报告)1 双字节⽆符号数加法例1: 双字节⽆符号数加法(R0 R1)+(R2 R3) → (R4 R5),R0、 R2、 R4存放16位数的⾼字节, R1、 R3、 R5存放低字节。

已知(R0 R1)=(93h,79h);(R2 R3)=(25h,a4h)假设其和不超过16位。

请编程。

org 0000hLjmp startorg 0050hstart:mov R0,#93hmov R1, #79hmov R2,#25hmov R3, #0a4hmov A,R1ADD A,R3mov R5,Amov A,R0ADDC A,R2mov R4,Ass: jmp ssend2双字节⽆符号数减法例2: 双字节⽆符号数相减(R0 R1)-(R2 R3) → (R4 R5)。

R0、 R2、R4存放16位数的⾼字节, R1、 R3、 R5存放低字节,已知(R0 R1)=(93h,79h);(R2 R3)=(25h,a4h);请编程。

同学⾃⼰可以设置被减数与减数数值org 0000hLjmp startorg 0050hstart:mov R0,#93hmov R1,#79hmov R2,#25hmov R3,#0a4hmov A,R1CLR CSUBB A,R2mov R4,Ass: jmp ssend3双字节数乘以单字节数例3: 利⽤单字节乘法指令,进⾏双字节数乘以单字节数运算。

若被乘数为16位⽆符号数, 地址为M1(30H) 和M1+1(31H)(低位先、⾼位后), 乘数为8位⽆符号数, 地址为M2(32H), 积由⾼位到低位存⼊R2、 R3和R4三个寄存器中。

30H,31H,32H内容 12H,34H,56H ;org 0000hLjmp startorg 0050hstart:mov 30h,#12hmov 31h,#34hmov 32h,#56hmov a,(30h)mov b,(32h)mul abmov R3,bmov R4,amov a,(31h)mov b,(32h)mul abadd A,R3mov R3,Amov A,bADDC A,#00hmov R2,Ass: jmp ssend4. 把8位⼆进制数转换为3位BCD例4: 利⽤除法指令把累加器A中的8位⼆进制数转换为3位BCD 数, 并以压缩形式存放在地址M1、 M2单元中。

凌阳16位单片机在煤矿瓦斯浓度自动监测系统中的应用

凌阳16位单片机在煤矿瓦斯浓度自动监测系统中的应用

凌阳16位单片机在煤矿瓦斯浓度自动监测系统中的应用单强(中国神华神东煤炭分公司,陕西,神木,719300)摘要:介绍凌阳SPCE061在数据采集中的应用及其井下瓦斯的自动检测、预测及监控系统的设计。

关键词:SPCE061单片机;瓦斯浓度检测;数据采集The application of Sunplus 16-bit MCU to the Mine gas Auto-detectionSystemShan Qiang(Shendong company of Chinese Shenhua Group,Shaanxi-Shenmu,719300,China)Abstract:The paper introduced the application of Sunplus SPCE061 MCU to data-acquisition and design of mine gas Auto-detection ,Prediction and monitoring system.Key words:SPCE061;monolithic processor;gas detection; data acquisition1 问题的提出我国煤矿百万吨煤死亡率是美国的60倍,是印度的5倍[1]。

近几年来,煤矿重大、特大事故频繁发生,其中,瓦斯爆炸事故占了一大部分,给国家和人民的生命财产造成了重大损失。

加强企业管理预防事故发生,是煤矿企业管理的重要课题。

要从根本上增强在高危险环境下作业的安全性,必须依靠先进的科技检测手段和先进的技术预防措施。

目前,国内外用于检测瓦斯的装置分为固定式和便携式检测仪表,这些仪器的缺点是不能实现在线实时检测、预测和监控。

我们设计的井下瓦斯自动检测、预测和监控系统解决了这些问题。

本设计系统框图如图1所示。

其中,前三个框部分放置在井下作业面或排风口,后三个框图1 井下瓦斯检测、预测、报警和监控系统框图部分放置在井上,井下与井上通过光缆连接成一个完整的系统。

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

更改后 F_Key_Scan_ServiceLoop: r1 = [P_IOB_Data]; F_Key_Scan_ServiceLoop_2:
r1 = [P_IOB_Buffer]; r1 &= 0xFF7F; [P_IOB_Buffer] = r1; r1 = [P_IOB_Data]; r1 &= 0x000F; r2 = r1; r3 = r2 xor 0xffff; nop; nop; nop; r1 = [P_IOB_Buffer];
0x7000; 0x7002; 0x7003; 0x7005; 0x7007; 0x7008; 0x7010; 0x7011; 0x700A; 0x700B; 0x700C; 0x700D; 0x000d; 0x0004;
[P_TimerB_Ctrl]=R1;
4)对实验八 1) 选择不同FOSC信号频率,观察发光二极管亮灭快慢;
答:改变:
.DEFINE Fosc_CLK_RATE C_FoscCLK_49; 选取的频率大,闪烁越快。
2) 改变CPUCLK频率,观察发光二极管亮灭快慢。 答:改变:
.DEFINE CPU_CLK_RATE 选取的频率越大,闪烁越快。
r1 = [P_IOA_Buffer]; r1 &= 0xFF7F; [P_IOA_Buffer] = r1; r1 = [P_IOA_Data]; r1 &= 0x000F; r2 = r1; r3 = r2 xor 0xffff; nop; nop; nop; r1 = [P_IOA_Buffer];
2、 学习实验五或实验六,写出实验结果。 实验五的结果:开始时,所有灯全灭,每次按一个开关,相应的灯就是被点亮。松开后, 相应的灯再一次熄灭。
3、对实验五或六修改,将以前的输入与输出口进行变换,即按键连接B口作为输入, A口为输出连接发光二极管,并要求发光二极管事先全灭,按下键时控制相应的二极 管亮。说明如何修改,写出修改地方的程序。
2) 学习实验十八,观察结果,并说明实现 D/A 转换,需要对哪些寄存器进行设置?
各完成什么任务?如何实现三角波?
答:结果:声音逐渐增大后,突然消失。并循环往复。
寄存器设置:
①P_DAC_Ctrl:设置 DAC 输出数据锁存方式,A/D 转换方式。
②P_DAC1、P_DAC2:输出。
实现方法:
L_MainLoop1:
[bp] = r2; [bp+1] = r3; r3 = 0x0001; [flag] = r3; FLAG: bp = bp+1; r1 -= 1; jnz LOOP2; r4 = [flag] jnz LOOP1; MAINLOOP: r1 = 0x0001; [P_Watchdog_Clear] = r1 JMP MAINLOOP;
[num2]=r1
删去所有的延时程序。 需要更改的代码
更改前 R1 = 0xf09f; [P_TimerA_Data] = R1; [P_TimerB_Data] = R1;
更改后 R1 =0xfbff; [P_TimerA_Data] = R1; R1=0xdfff; [P_TimerB_Data] = R1;
CPUCLK_Fosc32;
[实验总结] 在本次试验中,我学会了如何通过改变计数初值和输入时钟的频率来产生不同频率的 输出信号。最值得注意的是TimerA和TimerB的脉宽调制输出端口是不一样的。
第四次实验:A/D转换,双通道D/A
[实验内容] 1) 学习实验十七,观察结果,并说明实现 A/D 转换,需要对哪些寄存器进行设置?
凌阳 16 位单片机实验报告
姓名:赵伟 学号:04103123
第一次实验:编程与环境学习
[实验准备] (要求实验前写出实验内容中的两个程序) 1) .IRAM Array .DW 5,89,40,12,55,32,18,46,77,21 .RAM .VAR G_Sum; .CODE .PUBLIC _main _main: R1 = 0x0002; R2 = 0x0000; L_SumLoop: R2 += R1; R1 += 2; CMP R1,200; JNA L_SumLoop; [G_Sum] = R2; L_ProgramEndLoop: JMP L_ProgramEndLoop; .END
[P_IOB_Dir] = R1;
[P_IOA_Attrib] = R1;
[P_IOB_Attrib] = R1;
[P_IOA_Data] = R1;
[P_IOB_Data] = R1;
R1 = 0xffff;
R1 = 0xffff;
[P_IOB_Dir] = R1;
[P_IOA_Dir] = R1;
[P_DAC1]=R1;
[P_DAC2]=R1;
CALL _Delay
//调用延时
R1+=R3
jmp L_MainLoop1
每次让 R1 加一个数 R3 并输出。这样声音逐渐增大。当 R1 溢出时,此时 R1=0,声音消失。
以此循环往复,实现三角波。
3) 学习十九,观察结果,并说明实验的原理。 答:设定定时器 A 的频率,即为采样率。采用自动方式,当定时器 A 溢出时,触发中断, 进入中断服务程序。把通过 MIC_IN 输入的语音信号经过 A/D 转换后,再经过 D/A 转换,并 在通过 AUD1 和 AUD2 两个通道播放
(注:不要在源文件中修改。重新建立项目或拷贝到其它地方进行修改)
在main.asm中:
更改前
更改后
[P_IOB_Buffer] = R1;
[P_IOA_Buffer] = R1;
L_User_Init_IO:
L_User_Init_IO:
R1 = 0x0000;
R1 = 0x0000;
[P_IOA_Dir] = R1;
R1=0xff9f; [P_TimerA_Data]=R1; LED灯闪烁频率发生变化。计数初值越小。闪烁越慢。
3、 选择同一时钟源,改变占空比,观察灯的闪烁变化。 答:周期不变,但在一个周期内,LED灯点亮的时间改变。
3) 将实验七中的定时器A改用定时器B完成。应作怎样的修改?写出修改的地方。
更改前
[实验中遇到的问题与解决措施] 对于冒泡排序,我有些淡忘。在写程序时,一开始,我用的是选择排序,但是在凌阳 16位单片机的程序里,变址寻址时,觉得很麻烦,所以就使用冒泡排序了。 [实验总结] 应熟悉对 ram 内自定义数据的使用。
第二次实验:并行I/O口
[实验内容] 1、 学习实验三或实验四,写出实验结果。 答:实验三的结果:从低位到高位,按照二进制1出现的顺序,依次点亮对应位的灯。
需要增加的代码: .ram .var num1 .var num2
在_main:后增加 r1=0xffff [num1]=r1 [num2]=r1
在L_FIQ_TMA后增加: R1 = [num1] r1^= 0x000f [P_IOA_DATA] = R1 [num1]=r1
在L_FIQ_TMB后增加: R1 = [num2] r1^= 0x000f [P_IOB_DATA] = R1
[实验总结] 通过本次试验,我学会了在凌阳16为单片机上经行数模和模数转化。并完成了录音和 放音的功能。
第五次实验:中断实验
[实验内容] 1) 按照要求学习实验十一、十二、十三、十四、十五。分别记录各实验的结果。 答: 实验十一:与IOA0-IOA1相连的灯:1秒亮,1秒灭,以此循环。
与IOA2-IOA3相连的灯:0.5秒亮,0.5秒灭,以此循环。 与IOA4-IOA7相连的灯:0.25秒亮,0.25秒灭,以此循环。 实验十二:与IOA0-IOA3相连的灯:1秒亮,1秒灭,以此循环。 与IOB0-IOB3相连的灯:0.5秒亮,0.5秒灭,以此循环。 实验十三:与IOA0-IOA3相连的灯:1秒亮,1秒灭,以此循环。 与IOB0-IOB3相连的灯:0.5秒亮,0.5秒灭,以此循环。 实验十四:当与IOB2相连的开关产生一个负跳沿时,与IOA0-IOA3相连的LED灯点亮。 当与IOB3相连的开关产生一个负跳沿时,与IOA4-IOA7相连的LED灯点亮。 实验十五:当与IOA0相连的键按下时,进入睡眠,熄灭与IOB0-IOB7相连LED灯。按任 意键唤醒,循环熄灭与IOB0-IOB7相连LED灯。
完整的程序: .DEFINE P_IOA_DATA .DEFINE P_IOA_DIR .DEFINE P_IOA_ATTRI .DEFINE P_IOB_DATA .DEFINE P_IOB_DIR .DEFINE P_IOB_ATTRI .DEFINE P_INT_CTRL .DEFINE P_INT_CLEAR .DEFINE P_TimerA_Data .DEFINE P_TimerA_Ctrl .DEFINE P_TimerB_Data .DEFINE P_TimerB_Ctrl .DEFINE C_Timea_Clk .DEFINE C_Timeb_Clk
r1 |= 0x0080; [P_IOA_Buffer] = r1; r1 = [P_IOA_Data];
r1 |= 0x0080; [P_IOB_Buffer] = r1; r1 = [P_IOB_Data];
[实验总结] 实验三中,题目要求使用B入A出,我一开始,只修改了main.asm中的相关位置,发现 结果不对,后来当我一点一点分析后发现,key.asm中的相关代码页需要修改。最后实验成 功了。在以后的实验中,不但要看懂主程序,也要搞清楚其子程序和相关函数的实现。
2) 编写完整的项目(或选择一个合适的实验进行拷贝,然后修改),实现定时器 A,B中断,控制发光A口和B口二极管分别以2s,4s周期闪烁; 说明实现的原理,写出关键的程序语句。
相关文档
最新文档