计硬基础实验报告3(推荐五篇)

时间:2019-05-14 07:56:01下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《计硬基础实验报告3》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《计硬基础实验报告3》。

第一篇:计硬基础实验报告3

实验名称:中断技术、基本时钟和低功耗模式(实验

5、实验6)姓名: 学号: 实验目的

1.了解中断原理,包括对中断源、中断向量、中断类型号、中断程序以及中断响应过程的理解;

2.掌握单片机C语言中断程序设计方法;

3.了解 MSP430Gxxx 基本时钟模块的工作原理,掌握其控制方法; 4.掌握利用时钟信号和中断技术实现定时功能的方法; 5.掌握低功耗模式控制方法。实验基本任务 实验 5中断技术: 1.中断响应过程的理解

阅读下面 C 语言中断程序 L5_int.C,说明程序执行的流程和实现功能。上机实践,回答下面问题,掌握用 C 语言编写中断程序的方法。

程序L5_int如下:

#include “io430.h” #include “in430.h” void delay()

//延时函数 { unsigned int j;for(j=0;j<0xffff;j++);} void Blink()

//LED闪 { P2OUT &=~BIT3;delay();P2OUT |= BIT3;delay();} void Buzz()

//蜂鸣响 { unsigned int i;for(i=0;i<3;i++){ P2OUT &=~BIT4;delay();P2OUT|= BIT4;delay();};} void main(void){ WDTCTL = WDTPW + WDTHOLD;//关闭看门狗

//设置引脚P2.4、P2.3输出,P2.3连接LED,P2.4连接蜂鸣器 P2SEL &=~(BIT3+BIT4);P2SEL2 &=~(BIT3+BIT4);P2OUT|=(BIT3+BIT4);P2DIR|=(BIT3+BIT4);//设置端口P1.5允许中断 P1SEL &= BIT5;P1SEL2 &= BIT5;P1OUT |=BIT5;P1REN |=BIT5;P1DIR &=~BIT5;P1IES |= BIT5;P1IFG &=~BIT5;P1IE |= BIT5;_EINT();//总中断允许 for(;;)//主循环 { Blink();};} #pragma vector=PORT1_VECTOR __interrupt void port_ISR(){ Buzz();P1IFG &=~BIT5;}

1)从程序如何判断用的是哪个中断源?其中断类型号是多少?将实验板上某一按键与该中断源对应的引脚相连,运行程序,操作按键,观察现象。

答:程序是通过判断中断标志位来确定是哪个中断源,P1.5为中断源,中断类型号是2; 现象:运行程序时P2.3控制的LED4灯不断闪烁,当P1.5控制的开关发出中断申请时即按下按键后闪烁暂停,控制P2.4连接的蜂鸣器响3声,然后继续LED4灯闪烁。

2)main函数中无调用函数 Buzz的语句函数 Buzz 如何能被执行?何时会被执行? 据此描述中断响应过程。

答: 函数Buzz是在函数名为port_ISR的中断程序中,因此当P1.5发出中断申请时即当按下按键时,函数port_ISR就会被执行,执行完毕后再返回main函数中继续执行main函数。

中断响应的过程:P1.5处发出中断请求→判断是否满足响应条件→若满足,则CPU在执行完当前指令后,硬件自动完成保护现场的操作→从中断向量表中取中断向量至PC→转去执行中断服务子程序;

3)如果 port_int 函数中不清分中断标志P1IFG的后果是什么? 答: 如果不清分中断标志P1IFG的话就会一直响应中断,然后port_ISR函数就会一直被执行,蜂鸣器不断的响。

4)如果L5_int.c中的PORT1_VECTOR改为PORT2_VECTOR,其他不变,程序执行的后果是什么?为什么?(可在 main 函数入口处加一断点,运行程序,看现象,分析原因)

答: PORT1_VECTOR改为PORT2_VECTOR,其他不变,程序将会无法进入中断。因为程序中的中断属于P1引脚的中断,中断向量与P2引脚的中断向量不同,所进行的改动则是把中断程序写入到了P2引脚的中断向量对应的地址中,而P1引脚的中断向量对应的地址上没有程序,因此无法执行原先的中断子程。

当在主程序入口处加一断点时可以发现,由于已经设置了中断的端口,因此当有中断信号发出时,程序仍然会去执行中断子程,但由于中断向量没有正确设置,PC指针会跑飞,然后机器会自动复位,重新执行程序。

5)如果中断源采用的是P2.1,按键用 K7,请设计连线,修改 L5_int.c程序完成以中断方式响应 K7 的操作。

答:将P2.1引脚连线与K7相连,其他连线不变,连线图如下:

修改后的程序如下:

#include “io430.h” #include “in430.h” void delay()

//延时函数 { unsigned int j;for(j=0;j<0xffff;j++);} void Blink()

//LED闪 { P2OUT &=~BIT3;delay();P2OUT |= BIT3;delay();} void Buzz()

//蜂鸣响 { unsigned int i;for(i=0;i<3;i++){ P2OUT &=~BIT4;delay();P2OUT|= BIT4;delay();};} void main(void){ WDTCTL = WDTPW + WDTHOLD;//关闭看门狗

//设置引脚P2.4、P2.3输出,P2.3连接LED,P2.4连接蜂鸣器 P2SEL &=~(BIT3+BIT4);P2SEL2 &=~(BIT3+BIT4);P2OUT|=(BIT3+BIT4);P2DIR|=(BIT3+BIT4);//设置端口 P2.1 允许中断 P2SEL &=~ BIT1;P2SEL2 &=~ BIT1;P2OUT |=BIT1;P2REN |=BIT1;P2DIR &=~BIT1;P2IES |= BIT1;P2IFG &=~BIT1;P2IE |= BIT1;_EINT();//总中断允许 for(;;)//主循环 { Blink();};} #pragma vector=PORT2_VECTOR __interrupt void port_ISR(){ Buzz();P2IFG &=~BIT1;}

6)(选做)分析L5_int.c 程序 1)有主循环;2)无主无限循环两种情况有何不同? 注意: 1)查看io430G2553.h 文件末尾处有关中断向量偏址的符号定义。

2)为便于了解程序执行流程,可在中断子程入口处设置一断点,然后连续运行程序(F5),观察操作按键和不操作按键两种情况下程序执行的现象有何不同。

答:无主无限循环程序很快运行结束,无法响应中断,因此不可去掉无限循环语句。

2.中断程序编程练习

在实验板上用跳线将按键 K3、K7 分别与单片机的 P1.1 和 P1.6 相连,编程以中断方式 响应按键 K3 和 K7 的请求:当按下一次 K3 键,实验板上的蜂鸣器发出一警报声;当按下一次 K7 键,实验板上的发光二极管 L2 闪 3 次。主循环中控制 L5 循环闪亮。

答:用跳线将按键 K3、K7 分别与单片机的 P1.1 和 P1.6 相连,P2.1、P2.4分别连接 L2和L5,P2.3 连接蜂鸣器,接线图如下:

程序如下: #include “io430.h” #include “in430.h” void delay()//延时函数 { unsigned int j;for(j=0;j<0xffff;j++);} void L2Blink()//L2闪3次 { unsigned int i;for(i=0;i<3;i++){ P2OUT &=~BIT1;delay();P2OUT|= BIT1;delay();};} void L5Blink()//L5闪 { P2OUT &=~BIT4;delay();P2OUT |= BIT4;delay();} void Buzz()//蜂鸣响 { P2OUT &=~BIT3;delay();P2OUT|= BIT3;delay();} void main(void){ WDTCTL = WDTPW + WDTHOLD;//关闭看门狗

//设置引脚 P2.1、P2.3、P2.4输出,P2.1、P2.4分别连接 L2和L5,P2.3 连接蜂鸣器 P2SEL &=~(BIT1+BIT3+BIT4);P2SEL2 &=~(BIT1+BIT3+BIT4);P2OUT|=(BIT1+BIT3+BIT4);P2DIR|=(BIT1+BIT3+BIT4);//设置端口 P1.1、P1.6 允许中断K3、K7 分别与单P1.1 和 P1.6 相连 P1SEL &=~(BIT1+BIT6);P1SEL2 &=~(BIT1+BIT6);P1OUT |=(BIT1+BIT6);P1REN |=(BIT1+BIT6);P1DIR &=~(BIT1+BIT6);P1IES |=(BIT1+BIT6);P1IFG &=~(BIT1+BIT6);P1IE |=(BIT1+BIT6);_EINT();//总中断允许 for(;;)//主循环

{ L5Blink();};} #pragma vector=PORT1_VECTOR __interrupt void port_ISR(){ if((P1IFG&BIT1)!=0){Buzz();P1IFG &=~BIT1;};if((P1IFG&BIT6)!=0){ L2Blink();P1IFG&=~BIT6;};}

实验思考和研究:

1)如果按键K3、K7分别连接在P2.0和 P2.4上,如何修改程序以实现任务2功能? 答: P2.1、P2.5分别连接 L2和L5,P2.3 连接蜂鸣器,P2.0、P2.4分别连接按键K3、K7,接线图如下:

程序如下: #include “io430.h” #include “in430.h” void delay()//延时函数 { unsigned int j;for(j=0;j<0xffff;j++);} void L2Blink()//L2闪3次 { unsigned int i;for(i=0;i<3;i++){ P2OUT &=~BIT1;delay();P2OUT|= BIT1;delay();};} void L5Blink()//L5闪 { P2OUT &=~BIT5;delay();P2OUT |= BIT5;delay();} void Buzz()//蜂鸣响 { P2OUT &=~BIT3;delay();P2OUT|= BIT3;delay();} void main(void){ WDTCTL = WDTPW + WDTHOLD;//关闭看门狗

//设置引脚 P2.1、P2.3、P2.5输出,P2.1、P2.5分别连接 L2和L5,P2.3 连接蜂鸣器 P2SEL &=~(BIT1+BIT3+BIT5);P2SEL2 &=~(BIT1+BIT3+BIT5);P2OUT|=(BIT1+BIT3+BIT5);P2DIR|=(BIT1+BIT3+BIT5);//设置端口 P2.0、P2.4 允许中断,P2.0、P2.4分别连接按键K3、K7 P2SEL &=~(BIT0+BIT4);P2SEL2 &=~(BIT0+BIT4);P2OUT |=(BIT0+BIT4);P2REN |=(BIT0+BIT4);P2DIR &=~(BIT0+BIT4);P2IES |=(BIT0+BIT4);P2IFG &=~(BIT0+BIT4);P2IE |=(BIT0+BIT4);_EINT();//总中断允许 for(;;)//主循环

{ L5Blink();};} #pragma vector=PORT2_VECTOR __interrupt void port_ISR(){ if((P2IFG&BIT0)!=0){Buzz();P2IFG &=~BIT0;};if((P2IFG&BIT4)!=0){ L2Blink();P2IFG&=~BIT4;};} 2)如果按键 K3、K7 分别连接在 P1.3 和 P2.7 上,如何修改程序以实现任务 2 功能? 答: P2.1、P2.5分别连接 L2和L5,P2.3 连接蜂鸣器,P1.3、P2.7分别连接按键K3、K7,接线图如下:

程序如下: #include “io430.h” #include “in430.h” void delay()//延时函数 { unsigned int j;for(j=0;j<0xffff;j++);} void L2Blink()//L2闪3次 { unsigned int i;for(i=0;i<3;i++){ P2OUT &=~BIT1;delay();P2OUT|= BIT1;delay();};} void L5Blink()//L5闪 { P2OUT &=~BIT4;delay();P2OUT |= BIT4;delay();} void Buzz()//蜂鸣响 { P2OUT &=~BIT3;delay();P2OUT|= BIT3;delay();} void main(void){ WDTCTL = WDTPW + WDTHOLD;//关闭看门狗

//设置引脚 P2.1、P2.3、P2.4输出,P2.1、P2.4分别连接 L2和L5,P2.3 连接蜂鸣器 P2SEL &=~(BIT1+BIT3+BIT4);P2SEL2 &=~(BIT1+BIT3+BIT4);P2OUT|=(BIT1+BIT3+BIT4);P2DIR|=(BIT1+BIT3+BIT4);//设置端口 P1.3、P2.7 允许中断分别连接按键K3、K7 P1SEL &= BIT3;P1SEL2 &= BIT3;P1OUT |=BIT3;P1REN |=BIT3;P1DIR &=~BIT3;P1IES |= BIT3;P1IFG &=~BIT3;P1IE |= BIT3;P2SEL &=~ BIT7;P2SEL2 &=~ BIT7;P2OUT |=BIT7;P2REN |=BIT7;P2DIR &=~BIT7;P2IES |= BIT7;P2IFG &=~BIT7;P2IE |= BIT7;_EINT();//总中断允许 for(;;)//主循环

{ L5Blink();};} #pragma vector=PORT1_VECTOR #pragma vector=PORT2_VECTOR __interrupt void port_ISR(){ if((P1IFG&BIT3)!=0){Buzz();P2IFG &=~BIT3;};if((P2IFG&BIT7)!=0){ L2Blink();P2IFG&=~BIT1;};}

3.采用事件标志处理中断

阅读程序 L5_intA.c 和 L5_intB.c(见后页),描述其实现功能。在实验板上将 P1.0 与 一个按键的控制端相连,P1.7 与蜂鸣器的控制端相连。比较 L5_intA.c 和 L5_intB.c 二者在编程实现上有何不同。注意各自中断子程执行时间的长短。用 L5_intB.c 的方法,改写任务2的编程。

答: 程序A和程序B实现的功能相同:用P1.0作为中断源,当P1.0接收到中断信号时,控制蜂鸣器响一声。不同的是程序A把控制蜂鸣器鸣叫的过程放在中断程序中,而程序B仅仅在中断程序中设置了一个事件标志,而把控制蜂鸣器鸣叫放在了while循环中,这样每当事件标志被响应时,蜂鸣器就会鸣一声。因此程序A的中断子程执行时间长于程序B。

接线图如下: P2.1、P2.4分别连接 L2和L5,P2.3 连接蜂鸣器,P1.1连K3、P1.6连K7。

修改的程序如下: #include “io430.h” #include “in430.h” int flag=0;void delay()//延时函数 { unsigned int j;for(j=0;j<0xffff;j++);} void L2Blink()//L2闪3次 { unsigned int i;for(i=0;i<3;i++){ P2OUT &=~BIT1;delay();P2OUT|= BIT1;delay();};} void L5Blink()//L5闪 { P2OUT &=~BIT4;delay();P2OUT |= BIT4;delay();} void Buzz()//蜂鸣响连P2.3 { P2OUT &=~BIT3;delay();P2OUT|= BIT3;delay();} void main(void){ WDTCTL = WDTPW + WDTHOLD;//关闭看门狗

//设置引脚 P2.1、P2.3、P2.4输出,P2.1、P2.4分别连接 L2和L5,P2.3 连接蜂鸣器 P2SEL &=~(BIT1+BIT3+BIT4);P2SEL2 &=~(BIT1+BIT3+BIT4);P2OUT|=(BIT1+BIT3+BIT4);P2DIR|=(BIT1+BIT3+BIT4);//设置端口 P1.1连K3、P1.6连K7 允许中断 P1SEL &=~(BIT1+BIT6);P1SEL2 &=~(BIT1+BIT6);P1OUT |=(BIT1+BIT6);P1REN |=(BIT1+BIT6);P1DIR &=~(BIT1+BIT6);P1IES |=(BIT1+BIT6);P1IFG &=~(BIT1+BIT6);P1IE |=(BIT1+BIT6);_EINT();//总中断允许 for(;;)//主循环 { L5Blink();if(flag==1){ Buzz();flag=0;} if(flag==2){ L2Blink();flag=0;} } } #pragma vector=PORT1_VECTOR __interrupt void port_ISR(){ if((P1IFG&BIT1)!=0){flag=1;P1IFG &=~BIT1;};if((P1IFG&BIT6)!=0){ flag=2;P1IFG&=~BIT6;};}

4.(选做)按键抖动处理

程序 L5_Key.C 见后页,其功能是用中断方式相应与 P1.2 连接的按键,计数按键的次数,并将所计的次数用8 个发光二极管显示出来。运行该程序,并操作按键,观察实际操作的次数与显示值之间的关系。编程改进L5_Key.C 程序,用软件方式去除按键抖动的影响。

说明:通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。

答:根据分析,需要在响应了第一次下降沿后,加入一定的延时,躲过其它电压毛刺的产生时间。通过实验观察可以发现,改进之前,二进制显示的数值明显大于实际按键数,而改进之后,两者数值大致相等。

具体程序如下:

#include “io430.h” #include “in430.h”

unsigned int number=0;

//记录响应按键次数

void delay()

//延时函数

{

unsigned int j;

for(j=0;j<0xffff;j++);

}

int main(void)

{

WDTCTL = WDTPW + WDTHOLD;

//关闭看门狗

__disable_interrupt();//_DINT();禁止总中断

P2SEL=0;

//置P2为基本I/O功能

P2SEL2=0;

P2OUT=0xFF;

//置P2输出的初值

P2DIR=0xFF;

//置P2为输出方向

P1SEL &= BIT2;//置P1.2允许中断连K3

P1SEL2 &= BIT2;

P1OUT |=BIT2;;

P1REN |=BIT2;

P1DIR &=~BIT2;

P1IES |= BIT2;

P1IFG &=~BIT2;

P1IE |= BIT2;

__enable_interrupt();//_EINT();总中断运行

while(1){ };}

#pragma vector=PORT1_VECTOR

__interrupt void port_int(void){

if((P1IFG&BIT2)!=0){ delay();//增加延时函数,避开毛刺

if((P1IFG&BIT2)!=0)

{

number++;

P2OUT=~number;

}

P1IFG &=~BIT2;} }

实验6 基本时钟和低功耗模式: 1.数字示波器的使用

1)将信号源的波形在示波器上显示出来,掌握测量周期、频率、峰峰值的方法;

答:用示波器测得信号源的周期T=20us、频率f=1.000KHZ、峰峰值V=3.18V。2)用孔孔导线将实验板的地信号与示波器的地信号相连,测量实验板上的 Vcc 电源信号是否正常。

答: 测得实验板上Vcc信号正常,Vccmax=3.76V,Vccmin=3.52V,Vccavg=3.66V。2.测试上电复位系统的 ACLK、和 SMCLK 时钟频率

编程输出单片机上电复位后的 ACLK、和 SMCLK 时钟,用示波器测量其频率,并记录下来。

答:本程序需要置引脚P1.0、P1.4分别输出ACLK、SMCLK,需要确认外部晶振连上,输出的ACLK频率为F(ACLK)=32.7KHZ,SMCLK的频率为F(SMCLK)=1.031MHZ。

程序如下:

#include “io430.h” int main(void){ //关闭看门狗

WDTCTL = WDTPW + WDTHOLD;//设置P2.6、P2.7连接外部晶振 P2SEL|=(BIT6+BIT7);P2SEL2&=~(BIT6+BIT7);P2DIR&=~BIT6;P2DIR|=BIT7;//设置P1.0、P1.4输出ACLK、SMCLK P1SEL|=BIT0;P1SEL2&=~BIT0;P1DIR|=BIT0;P1SEL|=BIT4;P1SEL2&=~BIT4;P1DIR|=BIT4;while(1);}

实验思考和研究

思考:1)上电复位后,CPU 工作的时钟信号 MCLK 频率值是多少?

答:上电复位后,通过查看基本时钟模块相关寄存器,发现BCSCTL2寄存器上SELM位为00,SELS位为则0,可知MCLK的时钟源为DCO,SMCLK的时钟源也为DCO,因此通过测量上面复位后的SMCLK频率可知MCLK的频率,由上述可知F(MCLK)=1.031MHZ。

2)实验板上 JP8 中间的两个插针接到 32.768KHz 侧和接到 P2.6/P2.7 侧结果有何不同? 为什么?

答:是由32.768KHZ低频振荡器控制的,因此比较精确,示波器测量的精确值和理论值相差不大,接到 P2.6/P2.7 侧是由片内低功耗低频振荡器控制的,受环境温度和工作电压影响较大,因此测量值和理论值相差较大。3.掌握基本时钟模块的编程控制

参看附录 A 实验板原理图,用跳线将 JP8 中的插针信号接到晶振 32.768Khz 侧,使晶振 与单片机的 P2.6 和 P2.7 相连。编程控制基本时钟模块,设置 ACLK 分别为下面时钟频率,并通过 P1.0 输出 ACLK,用示波器观察:

1)ACLK=8192Hz;(时钟源外部晶振四分频,即 32768Hz/4)

答:P2.6、P2.7连接外部晶振引脚,通过 P1.0 输出 ACLK,观察的F(ACLK)=8.1kHZ。

具体程序代码如下:

#include “io430.h” int main(void){ // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;P1SEL|=BIT0;//设置P1.0输出ACLK P1SEL2&=~BIT0;P1DIR|=BIT0;P2SEL|=BIT6;//设置P2.6、P2.7连接外部晶振引脚 P2SEL2&=~BIT6;P2DIR&=~BIT6;//P2.6 XIN输入 P2SEL|=BIT7;P2SEL2&=~BIT7;P2DIR|=BIT7;//P2.7 XOU输出

BCSCTL1|=DIVA_2;//设置ACLK为4分频 while(1);}

2)ACLK=1.5KHz;(时钟源 VLOCLK 八分频,即 12KHz/8)答:通过 P1.0 输出 ACLK,观察的F(ACLK)=1.2KHZ。

具体程序代码如下:

#include “io430.h” int main(void){ // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;P1SEL|=BIT0;//设置P1.0输出ACLK P1SEL2&=~BIT0;P1DIR|=BIT0;BCSCTL1|=DIVA_3;//设置ACLK时钟源为VLOCLK,并为8分频 BCSCTL3|=LFXT1S_2;while(1);}

实验思考和研究

思考:可否编程在引脚 P2.4 上输出 ACLK? 为什么?

答:不可以,因为根据说明指导书MSP430G2553的辅助时钟ACLK是由P1.0输出的,内部硬件电路设计结构决定了不能用P2.4输出ACLK。

4.DCO 出厂校验值的频率检测

1)利用出厂校验值,编程使DCO 分别为1MHz、8MHz、12MHz、16MHz,通过P1.4输出,用示波器测量实际值。

答: 出厂校验值为1MHZ时,F实际=0.991MHZ。出厂校验值为8MHZ时,F实际=8.157MHZ。出厂校验值为12MHZ时,F实际=12.03MHZ。出厂校验值为16MHZ时,F实际=16.17MHZ。

以上测试数据说明:DCOCLK是由片内数字可控RC振荡器控制的,受环境温度和工作电压的影响较大,因此出厂校验值和实际测量值也存在不小的误差。

具体程序代码如下:

#include “io430.h” int main(void){ // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;//关闭看门狗

P1SEL|=BIT4;//设置P1.4输出SMCLK P1SEL2&=~BIT4;P1DIR|=BIT4;BCSCTL1=CALBC1_1MHZ;//利用出厂校验值设置DCO的振荡频率为1MHZ,//其他情况改变1MHz就可以了 DCOCTL=CALDCO_1MHZ;while(1);}

2)(选做)控制发光二级管通过延时闪亮,分别编程使主系统时钟工作在(1)MCLK=复位频率/8 约100KHz;(2)MCLK=DCO=16MHz 两种不同MCLK 频率下,观察灯的亮灭速度有何不同,掌握主系统时钟的变化对程序执行速度的影响。

答: 经实验观察可知,MCLK设置为100KHZ时LED1灯的闪烁频率比设置为16MHZ慢了非常多,由此可知主系统时钟是主要提供给CPU工作的时钟,MCLK频率越高,CPU工作速度越快。

MCLK=复位频率/8具体程序代码如下:

#include “io430.h” void delay()//延时函数 { unsigned int j;for(j=0;j<0xffff;j++);} int main(void){ // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;P2SEL&=~BIT0;//设置P2.0连接L1控制LED1闪烁 P2SEL2&=~BIT0;P2DIR|=BIT0;BCSCTL2|=DIVM_3;//设置MCLK=复位频率/8约100KHz; unsigned int i;while(1){ for(i=0;i<5;i++){P2OUT &=~BIT0;delay();P2OUT|=BIT0;delay();} } }

MCLK=DCO=16MHz具体程序代码如下:

#include “io430.h” void delay()//延时函数 { unsigned int j;for(j=0;j<0xffff;j++);} int main(void){ // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;P2SEL&=~BIT0;//设置P2.0连接L1控制LED1闪烁 P2SEL2&=~BIT0;P2DIR|=BIT0;BCSCTL1=CALBC1_16MHZ;//利用出厂校验值设置DCO的振荡频率为16MHZ DCOCTL=CALDCO_16MHZ;unsigned int i;while(1){ for(i=0;i<5;i++){P2OUT &= ~BIT0;delay();P2OUT |=BIT0;delay();} } }

5.低功耗模式学习

程序 L6_LPM.c 见下,用跳线将P2.3 与L4 短接,将P2.4 用长杜邦线与buzz 短接,P1.1与K2 短接,并用示波器分别观察P1.0、P1.4 输出的ACLK 和SMCLK,了解低功耗模式的进入和退出。

程序L6_LPM.c 清单(提供电子版): #include “io430.h” #include “in430.h” void delay()//延时函数 { unsigned int j;for(j=0;j<0xffff;j++);} void Blink()//LED闪 { unsigned int i;for(i=0;i<5;i++){ P2OUT &= ~BIT3;delay();P2OUT |=BIT3;delay();};} void Buzz()//蜂鸣响 { unsigned int i;for(i=0;i<3;i++){ P2OUT &= ~BIT4;delay();P2OUT |=BIT4;delay();};} int main(void){ WDTCTL = WDTPW + WDTHOLD;//关闭看门狗

//设置端口P2.3输出,连接L4,控制LED,P2.4输出,控制蜂鸣器 P2SEL &=~(BIT3+BIT4);P2SEL2&=~(BIT3+BIT4);P2OUT |= BIT3+BIT4;P2DIR |= BIT3+BIT4;//设置端口P1.1允许中断 P1.1连接K2 P1SEL &=~BIT1;P1SEL2 &=~BIT1;P1REN |=BIT1;P1OUT |=BIT1;P1DIR &=~BIT1;P1IES |=BIT1;P1IFG &=~BIT1;P1IE |=BIT1;_EINT();//P1.0输出时钟ACLK, P1.4输出时钟SMCLK P1SEL |=BIT0+BIT4;P1SEL2 &=~(BIT0+BIT4);P1DIR |=BIT0+BIT4;Blink();Buzz();for(;;)//主循环 { LPM4;//进入低功耗模式 Blink();} } #pragma vector=PORT1_VECTOR __interrupt void port_ISR(){ Buzz();P1IFG&=~(BIT1);//清中断标志 LPM4_EXIT;}

1)运行程序,观察现象,并记录进入低功耗前、进入低功耗后、响应中断后、退出中断后的时钟、发光二极管和蜂鸣器状态,并做分析。

答:程序开始运行时,P2.3控制的LED4先闪烁,然后蜂鸣器鸣叫,接着进入低功耗模式,实验板无现象产生,若此时按下K2键向P1.1发出中断信号后蜂鸣器开始鸣叫,接着LED4又开始闪烁,然后进入低功耗模式,实验板无现象产生。

进入低功耗LPM4前F(ACLK)=32.89KHZ,F(SMCLK)=1.033MHZ,进入后F(ACLK)=0,F(SMCLK)=0,响应中断后F(ACLK)=32.89KHZ,F(SMCLK)=1.033MHZ,退出中断后刚开始F(ACLK)= 32.89KHZ,F(SMCLK)=1.033MHZ,退出中断LED灯闪烁后F(ACLK)=0,F(SMCLK)=0。

分析:程序顺着流程执行,先是LED闪烁,然后蜂鸣器响,接着进入循环,然后进入低功耗模式LPM4,此时PC指针停止不动,程序停止执行。若此时按下K2键发出中断,则程序会立刻停止低功耗模式,将当前状态储存入堆栈中,然后跳转执行中断子程,蜂鸣器响,退出低功耗模式,然后程序返回断点,返回到主函数中执行Blink()后再次进入低功耗模式。2)如果程序中没有 LPM4_EXIT 语句,运行的结果会有什么不同?请分析。

答:如果程序中没有LPM4_EXIT,则不同之处在于按下K2发出中断信号后只有蜂鸣器鸣叫然后进入低功耗模式,而LED4不会闪烁。

分析:程序在主函数中进入低功耗模式后停止执行,若此时按下K2键发出中断,则程序会立刻停止低功耗模式,将当前状态储存入堆栈中,然后跳转执行中断子程,蜂鸣器响,与1不同的是,中断子程中没有退出LPM4语句,因此程序在执行完中断后立刻返回中断之前的低功耗状态,而不会跳转返回到主函数中执行Blink(),因此LED灯不会闪烁。3)(选做)将 LPM4 改为LPM0,LPM4_EXIT 改为LPM0_EXIT,重新完成任务1。

答:程序开始运行时,P2.3控制的LED4先闪烁,然后蜂鸣器鸣叫,接着进入低功耗模式,实验板无现象产生,若此时按下K2键向P1.1发出中断信号后蜂鸣器开始鸣叫,接着LED4又开始闪烁,然后进入低功耗模式,实验板无现象产生。

进入低功耗LPM0前F(ACLK)=32.89KHZ,F(SMCLK)=1.033MHZ,进入后F(ACLK)=32.89KHZ,F(SMCLK)=1.033MHZ,响应中断后F(ACLK)=32.89KHZ,F(SMCLK)=1.033MHZ,退出中断后刚开始F(ACLK)=32.89KHZ,F(SMCLK)=1.033MHZ,退出中断LED灯闪烁后F(ACLK)=32.89KHZ,F(SMCLK)=1.033MHZ。

分析:程序顺着流程执行,先是LED闪烁,然后蜂鸣器响,接着进入循环,然后进入低功耗模式LPM4,此时PC指针停止不动,程序停止执行。若此时按下K2键发出中断,则程序会立刻停止低功耗模式,将当前状态储存入堆栈中,然后跳转执行中断子程,蜂鸣器响,退出低功耗模式,然后程序返回断点,返回到主函数中执行Blink()后再次进入低功耗模式。

原因分析:在低功耗LPM4模式下,CPU、MCLK、SMCLK、ACLK均被禁止,因此进入低功耗LPM4模式后P1.0和P1.4均不输出信号;而在低功耗LPM0模式下,CPU、MCLK被禁止,而SMCLK和ACLK均在活动,因此进入低功耗模式前后P1.0和P1.4输出的信号不变。虽然表面实验现象和LPM4一样,但是用示波器测得的引脚输出信号不一样。6.利用输出的时钟信号做中断源,实现定时功能

将任务 3 中P1.0 输出的1.5KHz ACLK 时钟信号,作为P1.6 的中断申请信号,用导线将P1.6 与P1.0 相连即可,在中断子程中设置一个计数变量,计数中断子程被执行的次数,中断子程每被执行1500 次表示一秒时间到。利用该定时功能,将8个发光二级管设计成一个秒表,显示秒值,每秒改变一次8 个发光二级管的显示。

答:将P2.0~P2.7与LED1~LED8连接起来,通过设置基本时钟控制寄存器将ACLK的时钟源选为12KHz的VLOCK,然后再设置ACLK为8分频,这样就可以使P1.0输出1.5KHz的ACLK信号。将P1.6与P1.0再连接起来,将P1.6设置为允许中断,在中断程序中加入计数因子,每隔1500次计数则可以视为1s,这时令8个LED灯变化一次。即可实现要求功能。

具体程序代码1如下: #include “io430.h” #include “in430.h” unsigned char time=0;unsigned int i=0;int main(void){ WDTCTL = WDTPW + WDTHOLD;//关闭看门狗 //设置端口P1.0输出1.5KHzACLK时钟信号 P1SEL|=BIT0;P1SEL2&=~BIT0;P1DIR|=BIT0;BCSCTL3&=~LFXT1S0;BCSCTL3 |= LFXT1S_2;// LFXT1 = VLO 低频时钟选择为VLO ACLK选为VLO __bis_SR_register(SCG1 + SCG0);//Stop DCO SCG1禁止SMCLK SCG0禁止DCO BCSCTL2 |= SELM_3 + DIVM_3;//MCLK = LFXT1/8 //因为前面已经选择了LFXT1 = VLO所以MCLK选为VLO 8分频 //所以CPU的MCLK大约为1.5KHz //设置P2.0~P2.7为输出状态 与LED连接分别接L1~L7 P2SEL&=0;P2SEL2&=0;P2DIR|=0Xff;P2OUT|=0Xff;//设置端口P1.6允许中断 将P1.6与P1.0连接 P1SEL&=~BIT6;P1SEL2&=~BIT6;P1REN|=BIT6;P1OUT&=~BIT6;P1DIR&=~BIT6;P1IES&=~BIT6;P1IFG&=~BIT6;P1IE|=BIT6;_EINT();while(1){ if(i>=1500){ time+=1;i=0;} P2OUT=~time;//LED灯显示输出秒表的值 } } #pragma vector=PORT1_VECTOR __interrupt void port_ISR(){ i++;P1IFG&=~(BIT6);//清中断标志 }

或者具体程序代码2如下:

#include “io430.h” #include “in430.h” unsigned char time=0;unsigned int i=0;int main(void){ //关闭看门狗

WDTCTL = WDTPW + WDTHOLD;//设置端口P1.0输出1.5KHzACLK时钟信号 P1SEL|=BIT0;P1SEL2&=~BIT0;P1DIR|=BIT0;BCSCTL3&=~LFXT1S0;BCSCTL3|=LFXT1S1;BCSCTL1&=~DIVA1;BCSCTL1|=DIVA0;//设置P2.0~P2.7为输出状态 P2SEL&=0;P2SEL2&=0;P2DIR|=0Xff;P2OUT|=0Xff;//设置端口P1.6允许中断 P1SEL&=~BIT6;P1SEL2&=~BIT6;P1REN|=BIT6;P1OUT&=~BIT6;P1DIR&=~BIT6;P1IES&=~BIT6;P1IFG&=~BIT6;P1IE|=BIT6;_EINT();while(1){ if(i>=1500){ time+=1;i=0;} P2OUT=~time;//LED灯显示输出秒表的值 } } #pragma vector=PORT1_VECTOR __interrupt void port_ISR(){ i++;P1IFG&=~(BIT6);//清中断标志 }

(选做)如果要每隔5 秒蜂鸣器响一声,如何在任务6 的基础上编程实现? 答:将P1.7与蜂鸣器相连,然后在中断程序在加入一个计时因子来控制蜂鸣器。

具体代码如下: #include “io430.h” #include “in430.h” unsigned char time=0;unsigned int i=0;void delay();int main(void){

WDTCTL = WDTPW + WDTHOLD;//关闭看门狗

//设置端口P1.0输出1.5KHzACLK时钟信号 P1SEL|=BIT0;P1SEL2&=~BIT0;P1DIR|=BIT0;BCSCTL3&=~LFXT1S0;// LFXT1 = VLO 低频时钟选择为VLO ACLK选为VLO BCSCTL3 |= LFXT1S_2;BCSCTL1&=~DIVA1;BCSCTL1|=DIVA0;//设置P2.0~P2.7为输出状态 P2SEL&=~0;P2SEL2&=~0;P2DIR|=0Xff;P2OUT|=0Xff;

//设置P1.7为输出状态

P1SEL&=~BIT7;P1SEL2&=~BIT7;P1OUT|=BIT7;P1DIR|=BIT7;

//设置端口P1.6允许中断

P1SEL&=~BIT6;

P1SEL2&=~BIT6;

P1REN|=BIT6;

P1OUT&=~BIT6;

P1DIR&=~BIT6;

P1IES&=~BIT6;

P1IFG&=~BIT6;

P1IE|=BIT6;_EINT();

while(1){

if(i>=1500){

time+=1;

if((time%5)==0)

P1OUT&=~BIT7;

delay();

P1OUT|=BIT7;

i=0;}

P2OUT=~time;//LED灯显示输出秒表的值

} }

void delay()//延时函数

{

unsigned int j;

for(j=0;j<0xffff;j++);

}

#pragma vector=PORT1_VECTOR

__interrupt void port_ISR(){

i++;P1IFG&=~(BIT6);//清中断标志

}

7.(选做)改用4 个数码管显示秒值,重新完成任务6。

(选做)改用4 个数码管显示秒值无蜂鸣器

答:将P2.0~P2.7依次与Sa ~Sh相连,P1.1~P1.4与S1~S4相连,P1.6与P1.0连接,P1.6设置允许中断,P2.6.0连P2.6,P2.7.0连P2.7。

具体代码如下: #include “io430.h” #include “in430.h” void delay();unsigned char time=0;unsigned int i=0;const char LEDtab[10]={~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F};unsigned char a=0,b=0,c=0,d=0;unsigned char flag=0;int main(void){ //关闭看门狗

WDTCTL = WDTPW + WDTHOLD;//设置端口P1.0输出1.5KHzACLK时钟信号 P1SEL|=BIT0;P1SEL2&=~BIT0;P1DIR|=BIT0;BCSCTL3&=~LFXT1S1;BCSCTL3|=LFXT1S1;BCSCTL1&=~DIVA1;BCSCTL1|=DIVA0;

//设置P2.0~P2.7为输出状态 P2SEL=0;P2SEL2=0;P2DIR=0XFF;P2OUT=0XFF;

//设置P1.1~P1.4为输出状态; P1SEL&=~(BIT1+BIT2+BIT3+BIT4);P1SEL2&=~(BIT1+BIT2+BIT3+BIT4);P1DIR|=BIT1+BIT2+BIT3+BIT4;P1OUT&=~(BIT1+BIT2+BIT3+BIT4);//设置端口P1.6允许中断 P1SEL&=~BIT6;P1SEL2&=~BIT6;P1REN|=BIT6;P1OUT&=~BIT6;P1DIR&=~BIT6;P1IES&=~BIT6;P1IFG&=~BIT6;P1IE|=BIT6;_EINT();while(1){ if(i>1500){ time+=1;i=0;} time=time%5000;d=time/500;c=(time%500)/50;b=(time%50)/5;a=time%5;if(a==0){ delay();} } } void delay()//延时函数 { unsigned int j;for(j=0;j<0xffff;j++);} #pragma vector=PORT1_VECTOR

__interrupt void port_ISR(){ i++;

//显示输出数码管 if(flag==0)

{P2OUT=LEDtab[a];P1OUT&=~(BIT1+BIT2+BIT3+BIT4);P1OUT|=BIT1;flag=1;} else if(flag==1)

{P2OUT=LEDtab[b];P1OUT&=~(BIT1+BIT2+BIT3+BIT4);P1OUT|=BIT2;flag=2;} else if(flag==2)

{P2OUT=LEDtab[c];P1OUT&=~(BIT1+BIT2+BIT3+BIT4);P1OUT|=BIT3;flag=3;} else if(flag==3)

{P2OUT=LEDtab[d];P1OUT&=~(BIT1+BIT2+BIT3+BIT4);P1OUT|=BIT4;flag=0;} P1IFG&=~(BIT6);

//清中断标志 }

(选做)改用4 个数码管显示秒值蜂鸣器响一声

答:将P2.0~P2.7依次与Sa ~Sh相连,P1.1~P1.4与S1~S4相连,P1.6与P1.0连接,P1.6设置允许中断,P2.6.0连P2.6,P2.7.0连P2.7,P1.7与BUZZ相连增加蜂鸣器延时程序。

具体代码如下: #include “io430.h” #include “in430.h” void delay();unsigned char time=0;unsigned int i=0;const char LEDtab[10]={~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F};unsigned char a=0,b=0,c=0,d=0;unsigned char flag=0;int main(void){ //关闭看门狗

WDTCTL = WDTPW + WDTHOLD;//设置端口P1.0输出1.5KHzACLK时钟信号 P1SEL|=BIT0;P1SEL2&=~BIT0;P1DIR|=BIT0;BCSCTL3&=~LFXT1S1;BCSCTL3|=LFXT1S1;BCSCTL1&=~DIVA1;BCSCTL1|=DIVA0;

//设置P2.0~P2.7为输出状态 P2SEL=0;P2SEL2=0;P2DIR=0XFF;P2OUT=0XFF;

//设置P1.1~P1.4、P1.7为输出状态; P1SEL&=~(BIT1+BIT2+BIT3+BIT4+BIT7);P1SEL2&=~(BIT1+BIT2+BIT3+BIT4+BIT7);P1DIR|=BIT1+BIT2+BIT3+BIT4+BIT7;P1OUT|=BIT7;P1OUT&=~(BIT1+BIT2+BIT3+BIT4);//设置端口P1.6允许中断 P1SEL&=~BIT6;P1SEL2&=~BIT6;P1REN|=BIT6;P1OUT&=~BIT6;P1DIR&=~BIT6;P1IES&=~BIT6;P1IFG&=~BIT6;P1IE|=BIT6;_EINT();

while(1){ if(i>1500){ time+=1;i=0;} time=time%5000;d=time/500;c=(time%500)/50;b=(time%50)/5;a=time%5;if(a==0){ P1OUT&=~BIT7;//蜂鸣器响 delay();

P1OUT|=BIT7;} } } void delay()//延时函数 { unsigned int j;for(j=0;j<0xffff;j++);} #pragma vector=PORT1_VECTOR

__interrupt void port_ISR(){ i++;//显示输出数码管 if(flag==0)

{P2OUT=LEDtab[a];P1OUT&=~(BIT1+BIT2+BIT3+BIT4);P1OUT|=BIT1;flag=1;} else if(flag==1)

{P2OUT=LEDtab[b];P1OUT&=~(BIT1+BIT2+BIT3+BIT4);P1OUT|=BIT2;flag=2;} else if(flag==2)

{P2OUT=LEDtab[c];P1OUT&=~(BIT1+BIT2+BIT3+BIT4);P1OUT|=BIT3;flag=3;} else if(flag==3)

{P2OUT=LEDtab[d];P1OUT&=~(BIT1+BIT2+BIT3+BIT4);P1OUT|=BIT4;flag=0;} P1IFG&=~(BIT6);

//清中断标志 }

实验思考和研究

总体来说,觉得实验5、6内容很多,学到了很多知识;实验过程中遇到了很多问题重温了课本和课件后解决了一些难题,加深了对课本上抽象的内容的理解,比如说实验前对于时钟,我的理解一直很模糊,似是而非,经过实验,发现其实它不过是三个寄存器,三个时钟信号,四个时钟源之间的问题,虽然过程比较繁琐,脉络却是清晰的;而且关于中断,我也有了进一步的理解,特别是最后几个选作实验和必做实验是对这两节知识的综合应用,难度有点大,但是写出来之后特别是程序问题解决达到实验效果后还是很有成就感的。

第二篇:计组实验报告要求

计组实验报告要求

实验报告并不要求非常严格的格式,大家参考实验指导书的格式即可。

实验一的实验报告除了参考实验指导书上的内容以外,最重要的是大家要把上次实验时的针对每一个小实验写出你的实验结果,例如138译码器的实验,在三个使能端开关以及其他三个输入开关A、B、C输入不同电平时,Y0、Y1、Y2、Y3、Y4、Y5、Y6、Y7各是什么样的输出(高电平还是低电平)(高电平、低电平分别用1、0表示);

我们下一次的实验室做RAM的那个实验,在实验前,请大家先把实验报告写好,以后的这三个实验,实验报告中要把实验的原理图画清楚,以便于在做实验时可以直接根据你画的图进行连接,较快的完成实验,这是很重要的。

这些要求仅是我根据老师说的话总结的,仅供大家参考,有什么建议可以及时的补充,与大家一起分享。

第三篇:基础会计实验报告

会计模拟实验报告

一、实验目的

本实验以模拟企业的实际会计工作为基础,按照企业会计制度和企业会计准则的要求,进行操作训练,通过手工操作掌握会计核算的基本操作程序,以及各种凭证、帐表的填制规定和方法,把枯燥、抽象的书本知识转化为实际、具体的操作。有目的地检验和复习学生所学的会计理论、方法、技能和技巧,通过实际的操作,使学生比较系统、全面地掌握工业企业会计核算的基本程序和具体方法,加强学生对会计基本理论的理解和对会计基本技能的掌握,形象地掌握各种业务的处理及记账凭证的填写方法,掌握账簿的处理及登记方法,掌握成本核算方法,掌握各种报表的编制方法,掌握会计资料的整理归档方法,同时,在不同岗位进行不同操作,使之在实验中,培养职业道德和职业判断能力,提高职业工作能力,为今后从事会计实务工作打下扎实的基础。

二、实验内容及过程

1、建立账簿:按照公司实际业务的需要开设帐簿,建立现金、银行存款日记帐簿、总分类帐簿、建立各项明细帐簿,根据资料录入各账簿的期初余额。在这过程中应注意:

(1)账页的正确选择;

(2)分清借贷方向,准确填写对应数字。

2、填制记账凭证:根据实验资料所给的原始凭证,填写相应的记账凭证。填写时要注意业务发生的日期,正确判断业务,准确的写出会计分录。过程中要求:(1)内容真实可靠、内容完整、填制及时、书写清楚、次序使用;(2)填写记账凭证的日期、编号、摘要;(3)正确填写账户名称并正确反映借贷方向;

3、登记明细帐,其中包括:

(1)三栏式明细账,适用于登记金额不反应数量的账户。

(2)数量金额式,适用于既需要核算金额又需要核算数量的明细科目;(3)多栏式,适用于费用、成本和收入等科目的明细核算。根据审核无误的记账凭证或原始凭证按经济业务发生的时间先后顺序逐日逐笔进行登记相应的明细账。编制科目汇总表:根据一定时期内的全部记账凭证,按科目进行归类编制的。

4、在科目汇总表中,分别计算出每一个总账科目的借方发生额合计数、贷方合计数。

5、登记总分类账:根据科目汇总表登记总帐总分类账户,并与其所属的明细分类账户应该进行平行登记。总分类账与明细分类账的平行登记要点,有依据相同、期间相同、金额相同、方向相同。

6、期末结转:在会计一个很重要的内容就是期末结转,要将各项费用,按照各明细账进行登记。

编制会计报表 :最后,根据总账和明细账及资料所给的期初余额编制编制“会

7、计报表”,包括资产负债表和利润表。资产负债表是反映企业某一特定日期财务状况的会计报表。利润表又称损益表,是反映企业在一定会计期间经营成果的报表。

三、实验中遇到的问题

1、刚开始时,在登帐过程中很容易出现书写错误,常常抄错数字或借贷写反、会计分录写错,导致核算结果出错,引起不必要的麻烦。这是就需要我们细心对待每一笔账,认真做好每一个步骤的工作、填写好相关会计档案。

2、会计分录是关键所在,在编制过程中不够熟练,有出错的情况,造成了后续工作的阻碍,浪费了时间、拖缓了完成时间。以后还需要加强练习。

3、错帐时,用错帐更正法,通常有划线更正法、补充登记法、红字更正法三种,严禁填补、挖改。

四、体会

会计是一个讲求严谨性和细密性的工作,它的本性决定了从业人员必须具备的一丝不苟的敬业精神。而这些,都以法律的形式写进了一些规章制度,虽然学习会计道德和相关会计法规法律的时候就知道了这些,而当时的自己却存在更多的不以为然。实践证明,没有实际操作就没有发言权,没有经历过就不了解这句话的深刻含义。过程中,我深刻体验到了这一点,在做账务时,一个小数点错了,可能导致你后面的全部错了,一个编号的错误,可能意味着你得从头再来。诚然,在学习的过程中,错误是难以避免的,但是如果每次我们可以从错误中吸取教训、总结经验、思索得失,那对于我们职业习惯的培养、优良品格的塑造,也会有着举足轻重的作用。而对于一名会计专业的学生,更多的我们以后走上社会从事相关工作,在实验中有些错误可以犯,但将来或许一次错误之后,你就失去了再次犯错的机会。无疑,认真细致、严谨耐心,是我们必须具备的。我们应当谨记:差之毫厘,谬以千里。

实验课程虽然要结束了,但是在这个过程中我深刻体会到的会计工作在企业的日常运转中的重要性,以及会计工作对我们会计从业人员的严格要求,培养的严谨细致精神,这些必然会对将来的学习和工作有一个很好的积淀作用。在实际操作过程中找出自身存在的不足,在今后的会计学习明确的方向和目标。“纸上得来终觉浅,绝知此事要躬行”,实验课程将会计专业理论知识和专业实践,有机的结合起来,开阔了我们的视野,增进了我们对企业实践运作情况的认识,也为我们得将来奠定了坚实的基础。在知识上,由朦朦胧胧变得比较明白;在能力上,由完全不敢动手,不会动手,到基本能动手;在情感上,由对学习会计兴趣不大甚至厌烦,到开始有了较大兴趣,有的还感到了相当的乐趣。在作风上,由以前普遍性的马虎、拖沓,变为大多数人能谨慎、主动。在相互关系上,由彼此很少交流,到能实现真正的互相帮助。在个人未来打算上,重新构思了自己的奋斗目标,普遍感到了压力,产生了动力。

总而言之,本次会计模拟实验使我产生了责任感,增强了进取心,使我系统的掌握企业会计核算的全过程,从而实践中可以消化理论知识,巩固以前学习过的会计理论和会计方法,全面掌握会计操作的全部技能,即从建账、填制和审核记账凭证到登记账簿,从日常会计核算,成本计算到编制财务会计报告,在操作中复习以前学的会计主干课程和基本知识。同时以便于我在会计专业知识学习中查漏补缺,弥补差距,检查实际操作能力,有助于走上工作岗位后,能得心应手、游刃有余。

第四篇:《疾病学基础》实验报告

《疾病学基础》实验报告

日期: 2020/6/16

班级:药学5班

姓名:刘星麟

学号:2019141009

实验项目

消化、泌尿系统疾病及传染病

目的要求

知识目标

掌握消化性溃疡、肝硬化、肾小球肾炎、肾盂肾炎、肺结核病特点及治疗原则。

能力目标

能熟练应用网络平台学习常见消化系统系统、泌尿系统疾病、传染病的形态学知识。

能应用疾病的基础知识分析临床常见疾病的临床特点(病案分析)。

能利用药理学的基本知识来分析临床常见疾病的药物作用机理。

思政素养目标

协作能力、分析问题能力、职业素养、科学精神

实验内容

一、大体标本观察

消化性溃疡

肝硬化

肾小球肾炎

肾盂肾炎

肺结核病

二、组织切片观察

消化性溃疡

肝硬化

肾小球肾炎

肾盂肾炎

肺结核病

三、案例分析

消化性溃疡病案例

实验结果与讨论

一、分析病变组织结构改变与临床表现的关系

1.通过肝硬化的结构改变分析其临床意义

答:由各种原因引起肝细胞广泛变性坏死,由于肝细胞再生能力强,导致肝细胞结节状再生,同时这是个慢性的过程,使肝脏出现纤维组织增生,肝脏变硬。增生纤维组织将再生肝细胞结节分割包围成大小不等、圆形或卵圆形的肝细胞团形成大量假小叶;纤维组织增生和假小叶的形成压迫小叶下静脉、中央静脉、肝静脉窦导致门静脉回流受阻,门静脉压力增高,同时导致肝功能减退;门静脉高压会导致1).胃肠道淤血、水肿导致消瘦乏力肝病面容、食欲不振恶心呕吐 2).脾肿大使凝血因子减少,导致贫血和出血倾向 3).门静脉高压导致的各种因素引起的腹水4).侧支循环形成,如食管下段静脉丛曲张引起的破裂大出血或脐周及腹壁静脉曲张导致的海蛇头现象等;同时肝功能下降还会导致内分泌紊乱导致雌激素上升引发蜘蛛痣、肝掌、乳腺发育,或者是黄疸和肝性脑病

2.通过急性肾小球肾炎结构改变分析其临床意义

答:由于感染A族β型溶血性链球菌,引起人体形成CIC或IC使肾小球发生局部变态反应性炎症,炎症的发生使肾小球毛细血管内皮细胞和系膜细胞增生,内皮细胞的增生使毛细血管狭窄,导致肾小球缺血,进而使肾小管缺血,引发管型尿,同时肾小球滤率下降,导致水、纳潴留,表现为尿少;由于水、纳潴留也会导致循环血量上升引发水肿和高血压;肾小球的缺血也会导致血管缺氧,使滤过膜受损破坏,大分子物质渗出,表现为血尿和蛋白尿;肾小球毛细血管内皮细胞和系膜细胞增生会使肾小球体积增大,表现为大红肾、蚤咬肾。

二、案例分析

1.何为消化性溃疡?

答:与胃酸/胃蛋白酶的消化作用有关的主要发生在胃和十二指肠的慢性溃疡,即胃溃疡和十二指肠溃疡,溃疡的深度超过粘膜肌层。

2.试分析该患者的病因是什么?

答:患者3年来经常于餐后2~3小时出现上腹部烧灼痛,严重时夜间痛醒,伴反酸烧灼感,多于秋冬季发作,每次持续一周左右,进食后症状可缓解,胃脘部隐痛,呕吐、泛酸伴头晕,检查时发现肝、肾功能及血糖正常,排除Hp感染其他因素影响,咨询否认有药物食物过敏史,排除药物引起的胃粘膜保护屏障功能减弱,综上所述应为胃酸-胃蛋白酶的侵袭作用所引发的消化性溃疡。

3.试分析患者大便隐血试验阳性的意义

答:说明患者上消化道有出血

4.试分析患者的主要病变部位是?

答:上腹偏右压痛,同时饥饿痛、夜间痛一>进食-缓解,多于秋冬季发作,且有节律性,主要病变部位应为十二指肠球部。

5.请列出该患者的治疗方案

答:一般治疗: 生活规律,工作劳逸结合,避免过劳和精神紧张,改变不良的生活习惯;合理饮食,避免对胃有刺激的食物和药物;戒烟酒;停服不必要的NSAIDs。

药物治疗:采用质子泵阻塞剂(PPI)如奥美拉唑等服用4-6周抑制胃酸分泌,同时也应服用铋剂(4-6周)或弱碱性抗酸剂(4~ 8周)来保护胃粘膜。

第五篇:工程材料基础实验报告

实验二 碳钢和铸铁的平衡组织和非平衡组织 的观察与分析

一.实验目的

1.观察和分析碳纲和白口铸铁在平衡状态下的显微组织。

2.分析含碳量对铁碳合金的平衡组织的影响,加深理解成分、组织和性能之间的相互关系。

3.熟悉灰口铸铁中的石墨形态和基体组织的特征,了解浇铸及处理条件对铸铁组织和性能的影响,并分析石墨形态对铸铁性能的影响。

4.识别淬火组织特征,并分析其性能特点,掌握平衡组织和非平衡组织的形成条件和组织性能特点。

二、.实验仪器及材料

1.观察表2—1中的金相样品.2.几种基本组织的概念与特征见表2—2 3.XJB—1型、4X型、XJP—3A型和MG型金相显微镜数台 4.多媒体设备一套 5.金相组织照片两套

三、实验内容

1.实验前应复习课本中有关部分,认真阅读实验指导书。2.熟悉金相样品的制备方法与显微镜的原理和使用。

3.认真聆听指导教师对实验内容、注意事项等的讲解。

4.用光学显微镜观察和分析表2—1中各金相样品的显微组织。5.观察过程中,学会分析相、组织组成物及分析不同碳量的 铁碳合金的凝固过程、室温组织及形貌特点。

四、实验问题分析

2.根据实验结果,结合所学知识,分析碳钢和铸铁成分、组织和性能之间的关系。

(1)亚共析钢

含碳量在(0.0218—0.77)%之间的铁碳合金,室温组织为铁素体和珠光体,随着含碳量的增加,铁素体的数量逐渐减少,而珠光体的数量则相应的增加,显微组织中铁素体呈白色,珠光体呈暗黑色或层片状。

(2)过共析钢

含碳量在(0.77—2.11)%之间,室温组织为珠光体和网状二次渗碳体,含碳量越高,渗碳体网愈多、愈完整。当含碳量小于1.2%时,二次渗碳体呈不连续网状,强度、硬度增加,塑性、韧性降低,当含碳量大于或等于1.2%时,二次渗碳体呈连续网状,使强度、塑性、韧性显著降低,过共析钢含碳量一般不超过(1.3—1.4)%,二次渗碳体网用硝酸酒精溶液腐蚀呈白色,若用苦味酸钠溶液热腐蚀后,呈暗黑色。(3)共晶白口铸铁

含碳量为4.3%,室温组织由单一的莱氏体组成,经腐蚀后,在显微镜下,变态莱氏体呈豹皮状,由珠光体,二次渗碳体及共晶渗碳体组成,珠光体呈暗黑色的细条状及斑点状,二次渗碳体常与共晶渗碳体连成一片,不易分辨。呈亮白色。(4)灰口铸铁

由铁碳双重相图可知,铸铁凝固时碳可以以两种形式存在,即以渗碳体的形式Fe3C和石墨G的形式存在。碳大部分以渗碳体Fe3C形式存在的,因其断口呈白色。而称白口铸铁,如前所述,白口铸铁硬而脆,很少用做零件。而碳大部分以石墨形式存在的,因其断口呈灰色,而称灰口铸铁。

3.分析碳钢(任选一种成分)或白口铸铁(任选一种成分)凝固过程。

共晶白口铸铁[ w(C)=4.3%]平衡结晶过程:

合金在1点发生共晶反应, 由L转变为(高温)莱氏体Le[即(A+Fe3C)]。1¢~2点间, Le中的A不断析出Fe3CII。Fe3CII与共晶Fe3C相连, 在显微镜下无法分辨, 但此时的莱氏体由A+ Fe3CII+ Fe3C组成。由于Fe3CII的析出, 至2点时A的碳质量分数降为0.77%, 并发生共析反应转变为P;高温莱氏体Le转变成低温莱氏体Le¢(P+ Fe3CII+ Fe3C)。从2¢至3点组织不变化。所以室温平衡组织仍为Le¢, 由黑色条状或粒状P和白色Fe3C基体组成。

共晶白口铸铁的组织组成物全为Le¢, 而组成相还是F和Fe3C。

共晶白口铸铁室温平衡组织

典型铁碳合金在Fe-Fe3C相图中的位置 2

工程材料基础实验报告

下载计硬基础实验报告3(推荐五篇)word格式文档
下载计硬基础实验报告3(推荐五篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    软件技术基础实验报告

    《软件开发技术基础》 实验报告 学院:XX学院 班级:XX 姓名: XX 学号:XX 《软件开发技术基础》实验报告 实验名称:实验一 顺序表的操作 班 级 学 号 姓 名 第 周 星 期 节......

    电工基础实验报告

    篇一:电工基础实验报告电 工 学 实验报告 实训时间: 2012/3/26 指导老师: 班 级: 姓 名:学 号: 11 广州大学 给排水工程专业学生实验报告 no1 科目 电子电工技术班级 1 报告人:......

    基础会计实验报告

    实验报告实验课程基础会计学原理实验专业财务管理年级2012级姓名学号日期 2013 年 6 月29 日一、实验目的通过本实验,让学生正确理解各种经济业务内容,掌握各种记账凭证的具体......

    基础会计实验报告

    一、 实验目的 本实验以模拟企业的实际会计工作为基础,按照企业会计制度和企业会计准则的要求,进行操作训练,通过手工操作掌握会计核算的基本操作程序,以及各种凭证、帐表的填制......

    基础会计实验报告

    基础会计实验报告 1 会计凭证实验 (验证性) 时间 2011.05.6地点 B102 定义、意义、种类、 编制方法(2000字以上); 学习体会(1000字以上) 举一业务 画一张记帐凭证并编制记帐凭证 2......

    《机械设计基础》实验报告汇总

    实验一:平面机构认知实验 一、实验目的和要求 目的:通过观察机械原理陈列柜,认知各种常见运动副的组成及结构特点,认知各类常见机构分类、组成、运动特性及应用。加深对本课程学......

    计组实验数据通路实验报告

    存储器实验 预习实验报告 疑问: 1、 数据通路是干嘛的? 2、 数据通路如何实现其功能? 3、 实验书上的存储器部分总线开关接在高电平上,是不是错了? 一、 波形图:参数设置: 信号......

    计控实验报告LED动态显示

    实验 LED动态显示 主要教学目标: 掌握LED动态显示的方法。 教学的方法及教学手段:讲授法,讨论法,练习法,实验法 教学重点及难点:LED动态显示 实验内容 1.LED用动态显示123456; 2.时......