C++32实验报告4
定时器计数器实验报告

定时器计数器实验报告简介:定时器是一种用来产生、计数和处理时间信号的计时装置。
在数字电路中,定时器主要分为内部定时器和外部定时器两类,内部定时器是在单片机内部实现的,外部定时器则是通过外部电路实现的。
计数器则是一种用来计数的电子元件,根据不同的使用场合和要求,计数器可以分为多种类型。
在嵌入式系统中,定时器计数器应用广泛,例如在时钟、延时、计数等方面都有很大的作用。
实验目的:1. 学习定时器和计数器的基本原理及应用。
2. 熟悉定时器和计数器在单片机中的编程方法。
3. 掌握通过定时器和计数器实现延时和计数功能的方法。
实验器材:1. STM32F103C8T6开发板2. ST-LINK V2下载器3. 电脑实验内容:一、实验1:使用定时器和计数器实现延时功能1. 在Keil C中新建一个工程,并编写以下程序代码:```#include "stm32f10x.h"void TIM2_Int_Init(u16 arr,u16 psc){TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;NVIC_InitTypeDef NVIC_InitStructure ;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);TIM_TimeBaseStructure.TIM_Period = arr;TIM_TimeBaseStructure.TIM_Prescaler=psc;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode _Up;TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE );NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);TIM_Cmd(TIM2, ENABLE);}void TIM2_IRQHandler(void){if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) {TIM_ClearFlag(TIM2, TIM_FLAG_Update);GPIO_WriteBit(GPIOB,GPIO_Pin_12,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_12)));}}int main(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB,&GPIO_InitStructure);TIM2_Int_Init(9999,7199);while (1);}```2. 将STM32开发板连接到电脑,并下载程序到开发板中。
水温控制系统stm32实验报告

水温控制系统stm32实验报告设计并制作一个水温自动控制系统,控制对象为1升水,容器为搪瓷器皿(其他容器也可)。
水温可以在一定范围内设定,并能实现在10℃-70℃量程范围内对每一点温度的自动控制,以保持设定的温度基本保持不变。
要求(1)可键盘设定控制温度值,并能用液晶显示,显示最小区分度为0.1℃;(2)可以测量并显示水的实际温度。
温度测量误差在+0.5℃内;(3)水温控制系统应具有全量程(10℃-70℃)内的升温、降温功能(降温可用半导体制冷片、升温用800W以内的电加热器);(4)在全量程内任意设定一个温度值(例如起始温度+15℃内),控制系统可以实现该给定温度的恒值自动控制。
控制的最大动态误差<+4℃,静态误差<+1℃,系统达到稳态的时间<15min(最少两个波动周期)。
人机交互模块的设计温度控制系统经常是用来保证温度的变化稳点或按照某种规律进行变化。
但是通常温度具有惯性大,滞后性严重的特点,所以很难建立很好的数学模型。
所以在本次实验中我们采用了性能高又经济的搭载ARM Cortex-M内核的STM32F429的单片机作为它的微控制处理器。
人机交互模块主要是有普通的按键和一块彩色液晶屏幕所组成。
该实验中采用的是模糊的PID 算法,完成对系统的设计。
温度检测模块的设计传统的测温元件有热电偶,热敏电阻还有一些输出模拟信号的温度传感器。
但这些元件都需要较多的外部元件的支持。
电路复杂,制作成本高。
因此在本次实验中我们采用了美国DALLAS半岛公司推出的一款改进型的智能温度传感器 DS18B20。
此温度传感器读数方便,测温范围广,测温准确,输出温度采用数字显示更加智能化。
温度检测模块是以DS18B20温度传感器作为核心,将测量的温度信号传递给STM32单片机芯片进行温度的实时检测,并通过数码管显示。
stm32 实验报告

stm32 实验报告STM32 实验报告一、引言STM32是一款由STMicroelectronics公司推出的32位单片机系列,具有高性能、低功耗和丰富的外设资源等特点。
本篇实验报告将介绍我在学习和实践STM32过程中的一些经验和成果。
二、实验目的本次实验的目的是通过使用STM32单片机,实现一个简单的温度监测系统。
通过该实验,我希望能够熟悉STM32的开发环境,掌握基本的硬件连接和编程方法,并能够成功运行一个简单的应用程序。
三、实验步骤1. 硬件连接:将STM32单片机与温度传感器、LCD显示屏等硬件设备连接起来。
确保连接正确,避免短路或接触不良的情况。
2. 开发环境搭建:下载并安装STM32CubeIDE,配置开发环境。
这是一个集成开发环境,支持STM32系列的开发和调试。
3. 编写代码:使用C语言编写一个简单的程序,实现温度传感器数据的读取和显示。
在编写代码过程中,需要熟悉STM32的寄存器和外设配置,以及相关的函数库。
4. 编译和烧录:将编写好的代码进行编译,生成可执行文件。
然后使用JTAG或SWD接口将可执行文件烧录到STM32单片机中。
5. 测试和调试:将STM32单片机连接到电源,观察LCD显示屏上是否正确显示当前的温度数值。
如果有错误或异常情况,需要进行调试和排查。
四、实验结果经过以上的实验步骤,我成功地实现了一个简单的温度监测系统。
在LCD显示屏上,我可以清晰地看到当前的温度数值,并且该数值能够实时更新。
通过与实际温度计的对比,我发现该系统的测量结果相当准确。
五、实验总结通过这次实验,我对STM32单片机的开发和应用有了更深入的了解。
我学会了如何搭建开发环境、编写代码、编译和烧录程序,并且成功实现了一个简单的应用。
在实验过程中,我也遇到了一些问题,但通过查阅资料和与同学的交流,我能够及时解决这些问题。
在今后的学习和实践中,我将进一步探索STM32单片机的功能和应用领域。
我希望能够深入研究更复杂的项目,并挖掘出更多的潜力。
微机原理实验报告(两个32位无符号数乘法程序以及码制转换程序设计)

微机原理实验报告(两个32位无符号数乘法程序以及码制转换程序设计)----05f17e0a-6eb2-11ec-86e4-7cb59b590d7d微机原理实验报告姓名:班级:学号:时间:实验名称:基本汇编语言程序设计实验1:两个32位无符号数乘法程序实验2:代码系统转换程序设计<1>十六进制到ascii<2>从二进制到ascii一、程序流程图1、两个32位无符号数乘法程序:2.十六进制到ASCII二、程序的实现:1、实验一程序:名称32位多数据段mulnumdw0000,0ffffh,0000,0ffffh,4dup(?)dataendsstack'stack'db100dup(?)斯塔克恩兹codesegment假设:代码,ds:data,ss:stack,es:datastartprocfarbegin:pushdsmovax,0pushaxmovax,datamovds,axmoves,axleabx,mulnummulu32:movax,[bx]movsi,[bx+4]movdi,[bx+6]乳化液mov[bx+8],axmov[bx+0ah],dxmovax,[bx+2]mulsiaddax,[bx+0ah]adcdx,0mov[bx+0ah],axmov[bx+0ch],dxmovax,[bx]muldiaddax、[bx+0ah]adcdx、[bx+0ch]mov[bx+0ah]、axmov[bx+0ch]、DXFmovax,[bx+2]muldipopfadcax,[bx+2]adcdx,0mov[bx+0ch],axmov[bx+0eh],dxretSTARTENDPCODENDSENDSTART2、实验二的程序:1)名称HEX_uu更改为uuidatasegmentl1dw2stringdb34h,98hl2dw?缓冲区db2*2dup(?)数据端stacksegmentparastack'stack'db100dup(?)stackends代码段assumecs:code,ds:data,es:data,ss:stackstartprocfarbegin:pushdsmovax,0pushaxmovax,datamovds,axmoves,axmovcx,l1leabx,stringleasi,buffermovl2,cxmovcx,ax再次:moval,[bx]movdl,alandal,0fhcallchangemoval,dlpushcxmovcl,4shral,clpopcxcallchangeincbxretstartendpchangeproccmpal,10jladd_0addal,'a'-'0'-10add_0:addal,'0'mov[si],alincsiretchangeendpcodeendsendstart2)namebinary_to_acsiidatasegmentnumdw4f78hstringdb16dup(?)dataendsstack'stack'db100dup(?)斯塔克恩兹codesegment假设:代码,ds:data,ss:stack,es:datastartprocfarbegin:pushdsmovax,0pushaxmovax、数据MOVDS、axmoves、axleadi、字符串movcx,lengthstringpushdipushcxmoval,30h;repstowpopcxpopdimoval,31hmovbx,numagain:rclbx,1jncnextmov[di],alnext:incdiloopagainretstartendpcodeendsendstart三、实验感想:在实验过程中,我根据书慢慢理解了这些代码的含义,并纠正了代码中的错误。
阴离子鉴定实验报告

一、实验目的通过本实验,掌握常见阴离子的鉴定方法,学会利用化学试剂和仪器对溶液中的阴离子进行鉴定,提高实验操作技能和化学分析能力。
二、实验原理阴离子鉴定实验主要是利用各种阴离子与特定试剂反应产生的颜色变化、沉淀生成、气体产生等现象来识别和鉴定阴离子。
常见的鉴定方法有沉淀反应、颜色反应、气体生成等。
三、实验用品1. 试管:若干2. 试管夹:若干3. 胶头滴管:若干4. 烧杯:若干5. 玻璃棒:若干6. 酚酞试液:1%7. 氢氧化钠溶液:1%8. 氯化钡溶液:1%9. 硫酸钡溶液:1%10. 碳酸钠溶液:1%11. 稀硝酸:1mol/L12. 稀盐酸:1mol/L13. 酒精灯:1个14. 滤纸:若干15. 漏斗(含铁圈):1个四、实验步骤1. 取少量待测溶液于试管中,滴加酚酞试液,观察溶液颜色变化。
2. 若溶液变红,继续滴加稀硝酸,观察红色是否消失。
若红色消失,则可能含有OH-离子。
3. 另取少量待测溶液于试管中,滴加氯化钡溶液,观察是否有白色沉淀生成。
若有,继续滴加稀硝酸,观察沉淀是否溶解。
若沉淀溶解,则可能含有CO32-离子。
4. 另取少量待测溶液于试管中,滴加硫酸钡溶液,观察是否有白色沉淀生成。
若有,继续滴加稀硝酸,观察沉淀是否溶解。
若沉淀溶解,则可能含有SO42-离子。
5. 另取少量待测溶液于试管中,滴加稀盐酸,观察是否有气体产生。
若有,继续滴加氯化钡溶液,观察是否有白色沉淀生成。
若生成白色沉淀,则可能含有Cl-离子。
6. 另取少量待测溶液于试管中,滴加碳酸钠溶液,观察是否有白色沉淀生成。
若有,继续滴加稀硝酸,观察沉淀是否溶解。
若沉淀溶解,则可能含有Ag+离子。
五、实验现象1. 加入酚酞试液后,溶液变红,继续滴加稀硝酸后红色消失,可能含有OH-离子。
2. 加入氯化钡溶液后,生成白色沉淀,继续滴加稀硝酸后沉淀溶解,可能含有CO32-离子。
3. 加入硫酸钡溶液后,生成白色沉淀,继续滴加稀硝酸后沉淀溶解,可能含有SO42-离子。
实验报告

C语言程序设计实验报告1实验目的(1)熟练掌握scanf()/print()库函数的调用格式,正确使用各种格式转换控制副,掌握各种数据的输出输入方法;2(2)掌握getchar()/putchar()库函数的调用格式,以及使用它们进行字符类型数据输出输入的方法。
实验内容(2)输入并运行下面程序:#include<stdio.h>main(){int a,b,c;scanf("%d%d",&a,&b);c=a/b;printf("%d\n",c);}要求:调试通过后,运行该程序。
○1输入值:50 4<回车>,查看并运行结果;○2输入值:50.4 10.8<回车>,查看运行结果;○3输入值:50000 100<回车>,查看运行结果;○4输入值:10 0<回车>,查看运行结果;○5输入值:50,4<回车>,查看运行结果。
分析得到的结果,并说明原因。
(3)从键盘上输入三个小写字母,输出其对应的大写字母(例如:输入:a,b,c,则输出分别为A,B,C)。
要求:○1通过一条scanf库函数语句输入三个小写字母,通过printf函数以空格键分隔字符输出;○2通过getchar函数输入三个小写字母,通过printf函数以域宽为3的规定格式输出;○3通过getchar函数输入三个小写字母,通过putchar函数输出。
3算法描述流程图4.源程序:○1#include<stdio.h>main(){char c1,c2,c3;scanf("%c%c%c",&c1,&c2,&c3);printf("%c %c %c\n",c1-32,c2-32,c3-32);}○2#include<stdio.h>main(){char c1,c2,c3;c1=getchar();getchar();c2=getchar();getchar();c3=getchar();printf("%3c,%3c,%3c\n",c1-32,c2-32,c3-32);}○3#include<stdio.h>main(){char c1,c2,c3;c1=getchar();c2=getchar();c3=getchar();putchar(c1-32);putchar(c2-32);putchar(c3-32);}5测试数据:4 56789116运行结果(1)50 4 12Press any key to continue (2)50 .4 10.8Press any key to continue (3)50000 100500Press any key to continue (4)10 0Press any key to continue (5)50,4Press any key to continue (1)a bcA B CPress any key to continue6(2)a,b,c7A,B,CPress any key to continue8(3)abc9ABCPress any key to continue7出现问题及解决方法1.在编写第一个程序,运行的时候发现出现了一个错误,最后才找到是因为c的大小写问题,幸好及时改正。
c语言实验报告
《高级语言程序设计》实验指导学院:信息科学与技术学院专业:信息管理与信息系统学期:2010~2011学年第二学期教师:目录实验1 熟悉C语言程序开发环境 (1)1.1 实验目的 (1)1.2 实验预习 (1)1.3 实验任务 (1)实验2 数据描述 (6)2.1 实验目的 (6)2.2 实验预习 (6)2.3 实验任务 (6)实验3 顺序结构程序设计 (10)3.1 实验目的 (10)3.2 实验预习 (10)3.3 实验任务 (10)实验4 选择结构程序设计 (13)4.1 实验目的 (13)4.2 实验预习 (13)4.3 实验任务 (13)实验5 循环结构程序设计 (16)5.1 实验目的 (16)5.2 实验预习 (16)5.3 实验任务 (16)实验6 函数与编译预处理 (22)6.1 实验目的 (22)6.2 实验预习 (22)6.3 实验任务 (22)实验7 数组 (28)7.1 实验目的 (28)7.2 实验预习 (28)7.3 实验任务 (28)实验8综合实验 (33)8.1 实验目的 (33)8.2 实验预习 (33)8.3 实验任务 (33)实验9 指针 (36)9.1 实验目的 (36)9.2 实验预习 (36)9.3 实验任务 (36)实验10 结构体数据类型与链表 (40)10.1 实验目的 (40)10.2 实验预习 (40)10.3 实验任务 (40)实验11 共用体数据类型 (43)11.1 实验目的 (43)11.2 实验预习 (43)11.3 实验任务 (43)实验12 文件 (45)12.1 实验目的 (45)12.2 实验预习 (45)12.3 实验任务 (45)实验13 综合实验 (48)13.1 实验目的 (48)13.2 实验预习 (48)13.3 实验任务 (48)实验1 熟悉C语言程序开发环境院(系):信息科学与技术学院课程名称:高级语言程序设计教师签名:1.1 实验目的1.了解和掌握C语言的主要特点。
《C语言程序设计》实验报告(实验1-12)
《C语言程序设计》实验报告(实验1-12)《C语言程序设计》实验报告20XX~20XX学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 一、实验目的:1.了解在Visual C++ 环境下如何xx、编译、连接和运行一个C程序; 2.通过运行简单的C程序,初步了解C 源程序的特点。
二、预习内容:教材《C语言程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 环境下输入并运行下面的程序:#include int main( ) {printf("This is a C program.\\n"); return 0; }2. 在Visual C++ 环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。
#include int main( ) {int a,b,sum a=3; b=4; sun=a+b;print(“%d+%d=%d\\n”,a,b,sum); return 0; }四、实验结果:1. 运行结果(或截图):This is a C program.Press any key to continue- 1 -2. (1) 改正后的源程序:#include int main( ) {int a,b,sum; a=3; b=4; sum=a+b;printf(\ return 0; }(2) 运行结果(或截图):3+4=7五、思考题:1. 一个C程序上机的步骤有哪些?答:上级输入与xx源程序—对原程序进行编译–与库函数链接–运行可执行的目标程序。
2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:一个函数包括两部分:分别为函数头或函数首部和函数体。
成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。
维生素c的测定实验报告
维生素c的测定实验报告维生素C的测定实验报告维生素C是一种重要的水溶性维生素,对人体的健康起着至关重要的作用。
为了了解食物中维生素C的含量,本次实验旨在通过测定某些水果中维生素C的含量来探究其浓度。
实验步骤:1. 实验前准备:准备所需的实验器材和试剂,包括维生素C试剂盒、锥形瓶、量筒、试管、移液管等。
2. 样品制备:选择不同种类的水果作为样品,如橙子、苹果、草莓等。
将样品洗净后,用刀将其切成小块。
3. 提取维生素C:将样品放入锥形瓶中,加入适量的蒸馏水,用研钵和研钉研磨样品,使其充分溶解。
然后使用滤纸过滤提取液,收集滤液。
4. 维生素C测定:将收集到的滤液平均分配到几个试管中,每个试管中加入相同体积的维生素C试剂。
然后将试管放入恒温水浴中,在规定的时间内进行反应。
5. 定量测定:在反应结束后,使用比色计测定试管中的溶液吸光度,并根据维生素C试剂盒提供的标准曲线,计算出维生素C的浓度。
实验结果:在本次实验中,我们选择了橙子、苹果和草莓作为样品,通过测定它们中维生素C的含量,得到了如下结果:橙子中维生素C的浓度为X mg/L,苹果中维生素C的浓度为Y mg/L,草莓中维生素C的浓度为Z mg/L。
通过对这些样品的测定,我们可以得出结论:橙子中的维生素C含量最高,苹果次之,草莓最低。
实验讨论:在本次实验中,我们通过测定不同水果中维生素C的含量,发现橙子中的维生素C含量最高。
这可能是因为橙子本身就富含维生素C,同时也与橙子的生长环境和种植方法有关。
苹果和草莓的维生素C含量较低,可能是因为它们的生长环境或采摘时间等因素的影响。
同时,我们还发现维生素C的浓度与水果的颜色并无明显关联。
虽然橙子的颜色较深,但并不意味着它的维生素C含量一定更高。
因此,在选择水果时,不能仅仅根据颜色来判断其维生素C含量的高低。
此外,本次实验中使用了维生素C试剂盒来测定维生素C的浓度。
这种方法简便、快速,并且具有较高的准确性。
但需要注意的是,在进行实验时,要严格按照试剂盒说明书的要求进行操作,以确保实验结果的准确性。
实验报告
实验一 CCS 调试环境熟悉以及简单程序的软件调试内容一:一.实验目的1.了解 F28335 简单的浮点运算。
2.熟悉浮点运算的编程。
二.实验原理TMS320F28335是一款32 位浮点通用数字信号处理芯片,它具有存储空间大、运算精度高等特点。
三.实验要求1.设置Code Composer Studio 3.3 在硬件仿真方式下运行2.启动Code Composer Studio 3.33.打开工程文件工程文件为:E:\realtimedsp\F28335\ICETEK_F28335_Ae\DSP2833x_examples\Lab202-float\Example_2833xfpu_software.pjt打开源程序Example_2833xFPU.c 阅读程序,理解程序内容。
4.编译、下载程序。
5.把y1 和y2 添加到观察窗。
6.运行程序,观察y1 和y2 结果。
7. 修改x1 和x2 值,重新执行程序,观察y1 和y2 结果。
8.退出CCS四.实验结果分析程序设计实现了简单的浮点乘法和加法运算,y1 和y2 是实验结果。
记录实验结果。
五.问题与思考如何做复杂的浮点运算。
程序:// TI File $Revision: /main/1 $// Checkin $Date: August 29, 2007 14:07:22 $//############################################################ ###############//// FILE: Example_2833xFPU.c//// TITLE: DSP2833x Device Getting Started Program.//// ASSUMPTIONS://// This program requires the DSP2833x header files.//// Other then boot mode configuration, no other hardware configuration// is required.// As supplied, this project is configured for "boot to SARAM"// operation. The 2833x Boot Mode table is shown below.// For information on configuring the boot mode of an eZdsp,// please refer to the documentation included with the eZdsp,//// $Boot_Table://// GPIO87 GPIO86 GPIO85 GPIO84// XA15 XA14 XA13 XA12// PU PU PU PU//========================================= =// 1 1 1 1 Jump to Flash// 1 1 1 0 SCI-A boot// 1 1 0 1 SPI-A boot// 1 1 0 0 I2C-A boot// 1 0 1 1 eCAN-A boot// 1 0 1 0 McBSP-A boot// 1 0 0 1 Jump to XINTF x16// 1 0 0 0 Jump to XINTF x32// 0 1 1 1 Jump to OTP// 0 1 1 0 Parallel GPIO I/O boot// 0 1 0 1 Parallel XINTF boot// 0 1 0 0 Jump to SARAM <- "boot to SARAM"// 0 0 1 1 Branch to check boot mode// 0 0 1 0 Boot to flash, bypass ADC cal// 0 0 0 1 Boot to SARAM, bypass ADC cal// 0 0 0 0 Boot to SCI-A, bypass ADC cal// Boot_Table_End$//// DESCRIPTION://// The code calculates two y=mx+b equations. The variables are all// 32-bit floating-point. //// Two projects are supplied://// Example_fpu_hardware.pjt (floating-point)://// If the Example_2833xFPU_hardware.pjt file is used then the compiler// will generate floating point instructions to do these calculations.// To compile the project for floating point, the following Build Options were used:// 1. Project->Build Options-> Compiler Tab-> Advanced category:// a. in textbox: compiler options -v28 --float_support=fpu32 are set// b. OR the following is equivalent to "a.": pull-down menu next to// "Floating Point Support"-> "fpu32" selected.// 2. Project->Build Options-> Linker Tab-> Libraries category:// a. runtime support library used is rts2800_fpu32.lib.// 3. Not included in this example: If the project includes any other libraries,// they must also be compiled with floating point instructions.//// Example_fpu_software.pjt (fixed-point emulates floating-point with software)://// If the Example_2833xFPU_software.pjt file is used, then the compiler// will only used fixed point instructions. This means the runtime// support library will be used to emulate floating point.// This will also run on C28x devices without the floating point unit.// To compile the project for fixed point, the following Build Options were used:// 1. Project->Build Options-> Compiler Tab-> Advanced category:// a. in textbox: compiler option --float_support=fpu32 is REMOVED// -v28 should not be removed// b. OR the following is equivalent to "a.": pull-down menu next to// "Floating Point Support"-> "None" selected.// 2. Project->Build Options-> Linker Tab-> Libraries category:// a. runtime support library used is rts2800.lib or rts2800_ml.lib.// 3. Not included in this example: If the project includes any other libraries,// they must also be compiled with fixed point instructions.//// Watch Variables:// y1// y2// FPU registers (optional)////############################################################ ###############// $TI Release: DSP2833x Header Files V1.01 $// $Release Date: September 26, 2007 $//############################################################ ################include "DSP2833x_Device.h" // DSP2833x Headerfile Include File#include "DSP2833x_Examples.h" // DSP2833x Examples Include Filefloat y1, y2;float m1, m2;float x1, x2;float b1, b2;void main(void){// Step 1. Initialize System Control:// PLL, WatchDog, enable Peripheral Clocks// This example function is found in the DSP2833x_SysCtrl.c file. InitSysCtrl();// Step 2. Initalize GPIO:// This example function is found in the DSP2833x_Gpio.c file and // illustrates how to set the GPIO to it's default state.// InitGpio(); // Skipped for this example// Step 3. Clear all interrupts and initialize PIE vector table:// Disable CPU interruptsDINT;// Initialize the PIE control registers to their default state.// The default state is all PIE interrupts disabled and flags// are cleared.// This function is found in the DSP2833x_PieCtrl.c file.InitPieCtrl();// Disable CPU interrupts and clear all CPU interrupt flags:IER = 0x0000;IFR = 0x0000;// Initialize the PIE vector table with pointers to the shell Interrupt // Service Routines (ISR).// This will populate the entire table, even if the interrupt// is not used in this example. This is useful for debug purposes.// The shell ISR routines are found in DSP2833x_DefaultIsr.c.// This function is found in DSP2833x_PieVect.c.InitPieVectTable();// Interrupts that are used in this example are re-mapped to// ISR functions found within this file.// Step 5. User specific code, enable interrupts://// Calculate two y=mx+b equations.y1 = 0;y2 = 0;m1 = 10;m2 = .6;x1 = 7;x2 = 7.3;b1 = 4.2;b2 = 8.9;y1 = m1/x1 + b1;y2 = m2*x2 + b2;ESTOP0; // This is a software breakpoint}//======================================== ===================================// No more.//======================================== ===================================实验二数字量输入与数字量输出内容一:指示灯实验一.实验目的1.了解ICETEK–F28335-A 评估板在TMS320F28335DSP 外部扩展存储空间上的扩展。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
(2015/2016学年第二学期)
课程名称面向对象程序设计及C++
实验名称实验四:流运算符的重载及文件的使用实验时间年月日指导单位
指导教师
学生姓名班级学号
学院(系)专业
实验名称流运算符的重载及文件的使用指导教师
实验类型验证实验学时2实验时间
一、实验目的和要求
(1)掌握在自定义的类中重载输入流运算符>>和输出流运算符<<,并输入/输出本类对象。
(2)掌握文件操作的步骤和方法,能利用程序建立数据文件、打开数据文件并进行相关操作。
二、实验环境(实验设备)
硬件:微型计算机
软件:Microsoft Visual C++6.0
三、实验原理及内容
实验题目(1):在多态性实验第2题的基础上,在复数类中增加输入流运算符>>和输出流运算符<<的重载,主函数通过“cin>>对象名”输入对象的值,通过“cout<<对象名”输出对象的值,输出复数值时将原来主函数中“对象名.print()”改成“cout<<对象名”形式。
在上一步完成的基础上,将复数类改成一个类模板,只设一个模板参数,即实部和虚部用同一种类型,修改相应的代码,完成输入、输出功能。
实验解答:
(1)源代码参考多态性实验第2题。
(2)记录重载operator<<函数的代码:
(3)将类改写成类模板:(多态性实验代码中的重载符号仅保留加法+,其他可省略)
实验题目2:事先用Windows的记事本建立一个文本文件ff.txt。
①编写一个函数void ReadFile(char*s)实现读取以s串为文件名的文本文件的内容在屏幕上显示。
②编写一个函数void Change(char*s1,char*s2)将文本文件中的小写字母全部改写成大写字母生成一个新文件ff2.txt。
③主函数中调用ReadFile("ff.txt");显示ff.txt的内容,调用Change("ff.txt","ff2.txt");根据ff.txt文件作修改生成一个新的文件ff2.txt,最后再调用ReadFile("ff2.txt");显示新文件的内容。
实验解答:
void ReadFile(char*s)
{
//请完成代码
}
void Change(char*s1,char*s2)
{
//请完成代码
}
实验报告
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
1.在题目(1)中,是否可以将模板参数改为两个使得实部和虚部类型可以不同,有什么好处?
2.在题目(2)中如将主函数作如下修改,请补充完整程序:
int main()
{char s1[20],s2[20];
cin>>s1>>s2;//从键盘上输入要操作的文件名
Change(_______________________);
//调用Change函数将s1串为文件名的内容修改后保存到以s2串为文件名的文本文件中
ReadFile(_______________________);//读取s2串为文件名的文本内容
return0;
}
3.其它问题及解决方法:
4.心得体会:
五、指导教师评语
成绩批阅人日期。