文档库 最新最全的文档下载
当前位置:文档库 › 中南大学单片机实验报告

中南大学单片机实验报告

单片机原理及应用系统设计实验报告

学院:信息科学与工程学院

班级:

学号:

姓名:

指导老师:

目录

第一章综述 0

第二章实验要求 (1)

第三章软件设计 (2)

1 清零程序 (2)

2 拆字程序 (3)

3 拼字程序 (4)

4 数据传送程序设计 (5)

5 排序程序 (7)

6 散转程序 (8)

第四章硬件设计 (10)

1 数字量输入输出实验 (10)

1)硬件构造: (10)

2)程序代码: (10)

2 定时器/计数器实验 (12)

1)硬件构造: (13)

2)程序代码: (14)

3 A/D、D/A转换实验 (15)

1)硬件构造: (15)

2)程序代码: (15)

4 串行通信软件设计 (19)

1)硬件构造: (20)

2)程序代码: (20)

第五章调试过程及体会 (24)

1 调试过程 (24)

2 收获体会 (24)

第一章综述

单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!

单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。

1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。

2.MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。

Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和P

hilips的历史功绩。

3.单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。

MCS51系列微控制器应用广泛,在家电、汽车甚至航空等领域都有其活跃的身影。然而,普通51系列微控制器内部资源有限,像我用Proteus构建微控制器虚拟实验室选用的AT89C52只有三个定时器、一个全双工的串行口和中断控制,并且其数据处理能力有限,不适合对大量数据进行复杂分析和运算。

因此,在不重新选型(可选用SoC)的前提下,为实现我们所需要的功能,就需要进行外

围扩展。针对微控制器的特点,我们首先考虑串行扩展,因为微控制器的I/O引脚有限,并

行扩展一则外围芯片面积比较大,二则对抑制EMI不利。

第二章实验要求

1、学习Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运

行间的切换方法;

2、熟悉TD-51单片机系统板及实验系统的结构及使用;

3、进行MCS51单片机指令系统软件编程设计与硬件接口功能设计;

4、学习并掌握Keil C51与Proteus仿真软件联机进行单片机接口电路的设计与编程

调试;

5、完成指定MCS51单片机综合设计题

下面主要分为软件和硬件部分来介绍

软件部分:清零程序与拆字程序设计

拼字程序与数据传送程序设计

排序程序与散转程序设计

硬件部分:静态存储器扩展实验

要求:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“4.2 FLASH存储器扩展实验”实验项目(P60)。

数字量输入输出实验

LED灯控制(使用8255接口芯片)

要求:使用汇编语言编程,功能为:通过KK1实现LED灯工作方式即时控

制,完成LED开关控制显示和LED灯左循环、右循环、间隔闪烁功能。

定时器/计数器实验

要求:由单片机内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。编写程序模拟时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个LED灯全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮……一直循环下去。

A/D、D/A转换实验

要求:Proteus环境下完成小键盘给定(并显示工作状态),选择信号源输出波形类型(D/A 转换方式),经过A/D采样后,将采样数据用LED灯,显示当前模拟信号值大小及变化状态。

串行通讯实验

要求:Proteus环境下完成利用单片机实验系统,实现与PC机通讯。功能要求:将从实验系统键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到单片机实验系统的数码管上。

第三章软件设计

1.清零程序

因为清零看不出效果,故改为全部写为01,从7000-8000H空间。

程序如下:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV DPTR,#7000H ;片内RAM首地址

MOV A, #01H ;写入数据初值

MOV R6, #20H ;循环变量

LOOP2: MOV R7, #80H

LOOP1: MOVX @DPTR, A ;写数据到RAM

INC DPTR ;地址加1

DJNZ R7, LOOP1

DJNZ R6, LOOP2

SJMP $

END

结果如下:

单步运行下,第一步为:

最后一步为:8000h为0

2. 拆字程序

流程图为

程序如下:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV DPTR,#7000H ;

MOV A,#12H ;

MOVX @DPTR,A ;

RR A ;

RR A ;

RR A ;

RR A ;

ANL A,#0FH ; 高位送7001H低位

MOV DPTR,#7001H ;

MOVX @DPTR,A ;

MOV DPTR,#7000H ;

MOVX A,@DPTR ;

ANL A,#0FH ; 低位送7002H低位

MOV DPTR,#7002H ;

MOVX @DPTR,A ;

SJMP $ ;设置断点, 观察实验结果中的内容

END

结果如下:

3.拼字程序

流程图如下:

程序如下:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV DPTR,#7000H ;

MOV A,#01H ;

MOVX @DPTR,A ;

ANL A,#0FH ;屏蔽高位

SWAP A ;

MOV B,A ;

MOV DPTR,#7001H ;送7001H

MOV A,#0AH ;

ANL A,#0FH ;

ORL A,B ;拼送后送7002H

MOV DPTR,#7002H ;

MOVX @DPTR,A ;

SJMP $ ;设置断点, 观察实验结果中的内容

END

结果如下:

4. 数据传送程序设计

把(R2,R3)源RAM中首地址内的(R6,R7)个字节数据传送到(R4,R5)目的RAM中。流程图如下

程序:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN: MOV R2,#70H ;

MOV R3,#00H ;源地址

MOV R5,#00H ;目的地址MOV R6,#00H ;

MOV R7,#07H ;传送个数MOV R1,#10H ;

MOV R0,#07H ;

MOV DPH,R2 ;

MOV DPL,R3 ;

MOV A,R1 ;

L0:

MOVX @DPTR,A ;

INC DPTR ;

DJNZ R0,L0 ;赋值

L2: MOV R7,#0FFH ;

L1: MOV DPH,R2 ;

MOV DPL,R3 ;

MOVX A,@DPTR ;

INC DPTR ;

MOV R2,DPH ;

MOV R3,DPL ;

MOV DPH,R4 ;

MOV DPL,R5 ;

MOVX @DPTR,A ;

INC DPTR ;

MOV R4,DPH ;

MOV R5,DPL ;

DJNZ R7,L1 ;

DJNZ R6,L2 ;

SJMP $

END

结果如下:

把7000h中的8个数据发给7100h中:

5. 排序程序

程序如下:

ESELSORT :MOV R7,N

DEC R7

ESST1 :MOV A,R7

MOV R6,A

MOV DPL,ADDPL

MOV R1,DPL

MOV DPH,ADDPH

MOV R0,DPH

MOVX A,@DPTR

MOV B,A

ESST2 :INC DPTR

MOVX A,@DPTR

CLR C

SUBB A,B

JC ESST3

MOV R0,DPL

MOV R1,DPH

MOVX A,@DPTR

MOV B,A

ESST3 :DJNZ R6,ESST2

MOVX A,@DPTR

XCH A,B

MOVX @DPTR,A

MOV DPL,R0

MOV DPH,R1

MOV A,B

MOVX @DPTR,A

DJNZ R7,ESST1

RET

6. 散转程序

流程图如下:

程序如下:

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN:

MOV R0,#02

MOV A,R0

RL A

ADD A,R0

MOV DPTR,#TA

JMP @A+DPTR

TA: LJMP PM0

LJMP PM1

LJMP PM2

LJMP PM3

PM0: MOV R1,#01H

LJMP MAIN

PM1: MOV R2,#02H

LJMP MAIN

PM2: MOV R3,#03H

LJMP MAIN

PM3: MOV R4,#04H

LJMP MAIN

OVER: SJMP $

END

结果如下:

当修改A=02h时跳转到pwm2 即使R1=03

当修改A=00时即使R1=01,结果如下:

第四章硬件设计

硬件部分我主要做了三个实验,前两个是用c完成的,后一个是同学指导用汇编完成的,个人觉得用c来做程序还是比会变简单明了很多,而且原理也是一样的。

1.数字量输入输出实验

任务:通过KK1实现LED灯工作方式即时控制,完成LED开关控制显示和LED灯左循环、右循环、间隔闪烁功能。(要求一定要用到8255)

1)硬件构造如下:

因为要加入8255,所以在硬件与程序中还是遇到了一些小麻烦的,在protus7.0中的8255是有问题的,后来转为7.5才好,可是在实际中又运行不了,只能仿真。

2)程序如下:

#include

unsigned char count;

sbit A0=P2^0;

sbit A1=P2^1;

sbit WR_8255=P2^3;

sbit CS=P2^4;

sbit RESET_8255=P2^2;

void SendData(unsigned char dat);

void delay(void)

{

unsigned char a,b,c;

for(c=19;c>0;c--)

for(b=20;b>0;b--)

for(a=130;a>0;a--);

}

void main()

{

unsigned char i,value;

IT0=1; //设置外部中断0下降沿触发

EX0=1; //允许外部中断0

EA=1; //开总中断

RESET_8255=1; //上电复位8255

for(i=0;i<10;i++);

RESET_8255=0;

WR_8255=0; //设置8255A口输出工作方式A0=1;

A1=1;

P0=0x80;

CS=0;

for(i=0;i<10;i++);

WR_8255=1;

CS=1;

while(1)

{

if(count==0)

{

value=0x01;

for(i=0;i<8;i++) //左移

{

SendData(value);

delay();

SendData(0x00);

value=value<<1;

}

}

if(count==1)

{

value=0x80;

for(i=0;i<8;i++) //右移

{

SendData(value);

delay();

SendData(0x00);

value=value>>1;

}

}

if(count==2)

{

SendData(0xFF); //闪烁

delay();

SendData(0x00);

delay();

}

}

}

//外部中断0中断服务程序,用于选择LED的方式

void extra() interrupt 0

{

count=(count+1)%3;

}

//向8255的A口写一个数据

void SendData(unsigned char dat)

{

unsigned char i;

WR_8255=0;

A0=0;

A1=0;

P0=dat;

CS=0;

for(i=0;i<10;i++);

WR_8255=1;

CS=1;

}

2. 定时器/计数器实验

定时器控制LED灯

要求:由单片机内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。编写程序模拟时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个LED灯全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮……一直循环下去。

1)硬件构造如下:

2)程序如下:

#include

unsigned char count;

void main()

{

unsigned char value, i;

TMOD=0x01;

TH0=0x4C;

TL0=0x00;

ET0=1;

PT0=1;

EA=1;

TR0=1;

while(1)

{ if( count==20)

P1=05H;

if (count==40)

P1=0AH;

if (count==60)

P1=50H;

if (count==80)

P1=0A0H;

if (count==100)

P1=55H;

if (count==120)

P1=0AAH;

if (count==140)

P1=0FFH;

if (count==160)

P1=00H;

count=0;

}

}

void Timer0()interrupt 1 {

TR0=0;

TH0=0x4C;

TL0=0x00;

TR0=1;

count++;

3. A/D、D/A转换实验

要求:Proteus环境下完成小键盘给定(并显示工作状态),选择信号源输出波形类型(D/A 转换方式),经过A/D采样后,将采样数据用LED灯,显示当前模拟信号值大小及变化状态。1)硬件构造如下:

2)程序如下:

PRO_DA EQU 7FFFH

PRO_AD EQU 0BFFFH

ORG 0000H

SJMP MAIN

ORG 001BH

LJMP KEYSCAN

ORG 0030H

MAIN: SETB EA

SETB EX1

SETB IT1

MOV P1,#0FH

MOV R5,#0FFH

TEST: MOV R5,#03H

CJNE R5,#01H,L1

LCALL SQUARE

AJMP TEST

L1: CJNE R5,#02H,L2

LCALL TRIANGLE

AJMP TEST

L2: CJNE R5,#03H,L3

LCALL SAWTOOTH

L3: AJMP TEST

;键盘扫描中断KEYSCAN: ACALL T12MS

;MOV R6,A

ACALL SCAN

JNZ KEY1

SJMP EXIT

KEY1: MOV R2,A

MOV R3,#07FH

MOV R4,#03H

LOOP1: MOV P1,R3

MOV A,P1

CPL A

ANL A,#0FH

JNZ KEY2

MOV A,R3

RR A

MOV R3,A

DJNZ R4,LOOP1

SJMP EXIT

KEY2: DEC R4

CJNE R2,#01H,LOOP3

MOV A,#01H

SJMP LOOP6

LOOP3: CJNE R2,#02H,LOOP4

MOV A,#04H

SJMP LOOP6

LOOP4: CJNE R2,#04H,LOOP5

MOV A,#07H

SJMP LOOP6

LOOP5: CJNE R2,#08H,LOOP6

MOV A,#0AH

LOOP6: ADD A,R4

MOV R5,A

MOV P1,#0FH

;MOV A,R6

EXIT: RETI

;延时后再次扫描有无按键按下SCAN: MOV P1,#0FH

MOV A,P1

CPL A

ANL A,#0FH

RET

T12MS:MOV R7,#15H ;12MS

TM: MOV R6,#0FFH

DJNZ R6,$

DJNZ R7,TM

RET

;D/A产生方波

SQUARE: MOV DPTR,#PRO_DA

MOV A,#0FFH

MOVX @DPTR,A

MOV DPTR,#0BFFFH

MOVX @DPTR,A

ACALL DELAY

MOV A,#00H

MOV DPTR,#PRO_DA

MOVX @DPTR,A

MOV DPTR,#0BFFFH

MOVX @DPTR,A

ACALL DELAY

RET

DELAY:MOV R0,#27H

DEL1: MOV R1,#0FFH

DJNZ R1,$

DJNZ R0,DEL1

RET

;D/A产生三角波时钟500KHz 幅值1mv 扫描周期20ms

TRIANGLE:MOV A,#00H

TLOOP:MOV DPTR,#PRO_DA

MOVX @DPTR,A

MOV DPTR,#PRO_AD

MOVX @DPTR,A

CJNE A,#0FFH,TLOOP2

COUNT1:DEC A

MOV DPTR,#PRO_DA

MOVX @DPTR,A

MOV DPTR,#PRO_AD

MOVX @DPTR,A

CJNE A,#00H,COUNT1

SJMP EXIT1

TLOOP2:INC A

AJMP TLOOP

中南大学计算机体系结构实验报告

计算机体系结构实验报告 学院:信息科学与工程学院 专业班级:高赛文的小仙女 指导老师:雷向东 姓名:igot7

目录 实验 1 对指令操作码进行霍夫曼编码 (3) 一、实验目的 (3) 二、实验内容 (3) 三、实验过程 (3) 四、实验结果 (14) 实验 2 使用 LRU 方法更新 Cache (15) 一、实验目的 (15) 二、实验内容 (15) 三、实验过程 (15) 四、实验结果 (18) 实验 3 通道处理过程模拟 (20) 一、实验目的 (20) 二、实验内容 (20) 三、实验过程 (21) 四、实验结果 (22) 实验 4 单功能流水线调度机构模拟 (23) 一、实验目的 (23) 二、实验内容 (23) 三、实验过程 (23) 四、运行结果 (24) 实验总结 (24)

实验 1 对指令操作码进行霍夫曼编码 一、实验目的 1.了解和掌握指令编码的基本要求和基本原理 二、实验内容 1.使用编程工具编写一个程序,对一组指令进行霍夫曼编码,并输出最后的编码结果以及对 指令码的长度进行评价。与扩展操作码和等长编码进行比较。 问题描述以及问题分析: 我们举例说明此问题,例如: 有一组指令的操作码共分七类,它们出现概率如 下表所示: P1 P2 P3 P4 P5 P6 P7 0.45 0.30 0.15 0.05 0.03 0.01 0.01 对此组指令进行HUFFMAN 编码正如下图所示: 最后得到的HUFFMAN 编码如下表所示: 最短编码长度为: H=0.45*1+0.30*2+0.15*3+0.05*4+0.03*5+0.01*6+0.01*6=-1.95. 要对指令的操作码进行HUFFMAN 编码,只要根据指令的各类操作码的出现概率构造HUFFMAN 树再进行HUFFAM 编码。此过程的难点构造HUFFMAN 树,进行HUFFAM 编码只要对你所生成的HUFFMAN 树进行中序遍历即可完成编码工作。 三、实验过程 观察上图 1,不难看出构造 HUFFMAN 树所要做的工作:

中南大学计算机原理与汇编实验报告(截图完整)

中南大学《计算机原理与汇编》实验报告 学生姓名 学号 专业班级 指导教师雷向东 学院信息科学与工程学院 完成时间 2010年12月

实验2 算术逻辑运算实验 一、实验目的 1.掌握简单运算器的组成以及数据传送通路。 2.验证运算功能发生器(74LS181)的组合功能。 二、实验设备 74LS181(两片),74LS273(两片), 74LS245(一片),开关若干,灯泡若干,单脉冲一片。 三、实验原理 实验中的运算器由两片74LS181以并/串形式构成8位字长的ALU。运算器的输出经过一个三态门(74LS245)和数据总线相连,运算器的两个数据输入端分别由两个锁存器(74LS373)锁存,锁存器的输入连至数据总线,数据开关用来给出参与运算的数据(A和B),并经过一个三态门(74LS245)和数据显示灯相连,显示结果。 74LS181:完成加法运算。 74LS273:输入端接数据开关,输出端181。在收到上升沿的时钟信号前181和其输出数据线之间是隔断的。在收到上升沿信号后,其将输出端的数据将传到181,同时,作为触发器,其也将输入的数据进行保存。因此,通过增加该芯片,可以通过顺序输入时钟信号,将不同寄存器中的数据通过同一组输出数据线传输到181芯片的不同引脚之中。 74LS245:相当于181的输出和数据显示灯泡组件之间的一个开关,在开始实验后将其打开,可以使181的运算结果输出并显示到灯泡上。 四、实验步骤及结果分析 1.选择实验设备:根据实验原理图,将所需要的组件从组件列表中拖到实验设计流程栏中。

图1 运算器实验流程图 2.搭建实验流程:将已选择的组件进行连线(鼠标从一个引脚的端点拖动到另一组件的引脚端,即完成连线)。搭建好的实验流程图如图1所示。具体操作如下: ①将74LS273芯片的0-7号引脚(数据端从低到高)及9号引脚(复位端)接到开关上,8号引脚接至单脉冲组件,左右两个74LS273芯片分别保存参与运算的数据A和B。接着把两个74LS273组件的11-14号引脚(数据的低四位)分别接到74LS181组件(左)的0-7号引脚上,其中0-3号引脚为A的低四位,4-7号引脚为B的低四位。同样的,把两个74LS273组件的15-18号引脚(数据的高四位)分别接到74LS181组件(右)的0-7号引脚上,其中0-3号引脚为A 的高四位,4-7号引脚为B的高四位。 ②74LS181的8-12号引脚(S0-S3、M)接到开关上控制逻辑/算术运算。把低位的74LS181芯片(左)的13号引脚(CN端)由开关控制,高位的74LS181芯片(右)的13号引脚CN与低位的74LS181的15号进位输出相连。 ③最后,把两个74LS181芯片的16-19号引脚顺序接到74LS245的0-7接口上。74LS245芯片的8、9号引脚接开关,11―18号输出引脚(低位到高位)接灯泡,作为运算器结果的显示。 初始化各芯片的控制信号, 数据开关置上相应的数据。

中南大学单片机实验报告模板

中南大学实验报告 学院:信息科学与工程学院 班级:电子信息1x02班 学号:09091x**** 姓名:******** 时间:2014

实验一:单片机IO口应用实验(P3.3输入P1输出) 一、实验目的: 1、掌握单片机P3口、P1口简单使用。 2、学习延时程序的编写和使用。 二、实验原理和内容:(1)实验原理: 1、P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据不正确。 2、延时子程序的延时计算。对于延时的程序 DELAY :MOV R6,#00H DELAY1:MOV R7,#80H DJNZ R7,$ DJNZ R6, DELAY1 查指令表可知MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/ 6.0MHZ,所以该段指令执行时间为: (((128+1)×256)+1)×2×(12÷6000000)=132.1ms。 实验原理图如下: (2)实验内容: 1、P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一输出。

2、P1口做输出口,编写程序,使P1口接的8个发光二极管L0—L7按16进制加一的方式点亮发光二极管。 三、实验步骤: 1、P3.3用插针连至K1,JU2(P1.0~P1.7)用8芯线连至JL(L0~L7)。 2、调试、运行程序test1中的MCUIO.ASM。 3、开关K1每拨动一次,L0~L7发光二极管按16进制方式加一点亮。 四、实验数据和结果: 由实验的当开关K1每拨动一次,L0~L7发光二极管按16进制方式加一点亮。五、实验总结: P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据不正确。在做实验时调试、运行程序test1中的MCUIO.ASM是关键,要学会熟练掌握调试运行程序的过程。

最新中南大学单片机实验报告-中南大学嵌入式系统实验报告

中南大学单片机实验报告-中南大学嵌入式系统实验报告

实验报告 课程名 嵌入式系统开发称: 姓 名: 任课教 师: 学 信息科学与工程学院院: 专业班 物联网工程级:

2016年12月

目录 实验一 ARM汇编指令 (1) 1.实验目的 (1) 2.实验设备 (1) 3.实验内容 (1) 1)实验A--------完成运算x+y,把结果存入堆栈寄存器(R13)中 (1) 2)实验A运行截图 (2) 3)实验B-----完成运算8x+y/2 orr 0x01+ (z and 0xFF+y/2)/2,将结果保存在R2中 (6) 4)实验B运行截图 (6) 实验二 ARM处理器工作模式 (12) 1 实验目的 (12) 2 实验设备 (12) 3实验内容 (13) 4 实验截图 (13) 1)进入系统模式 (16) 2)初始化系统模式下的R0-R14寄存器 (17) 3)切换到FIQ模式 (18) 4)初始化FIQ模式下特有的寄存器R8-R14 (18) 5)切换到中止模式 (19) 7)切换到管理模式 (21) 8)初始化管理模式下特有的寄存器R13-R14 (21) 9)切换到IRQ模式 (22) 10)初始化IRQ模式下的R13-R14 (22) 11)J进入未定义模式 (23) 12)初始化未定义模式下的寄存器R13-R14 (23) 5 实验心得 (24) 实验三 C语言程序(一) (25) 1 实验目的 (25) 2 实验设备 (25) 3 实验内容 (25)

4 实验截图 (25) 实验四 C语言程序实验(二) (33) 1 实验目的 (34) 2 实验设备 (34) 3 实验内容 (34) 4 实验截图 (34) 5 实验心得 (44) 实验五汇编和C语言的相互调用实验 (44) 1 实验目的 (44) 2 实验设备 (45) 3 实验内容 (45) 4 实验截图 (45) 5 实验心得 (53) 实验六综合编程实验 (54) 1 实验目的 (54) 2 实验设备 (54) 3 实验内容 (54) 4 实验截图 (55) 5 实验心得 (63)

中南大学计算机取证技术实验报告

计算机取证技术实验报告 学院:信息科学与工程学院 班级: 学号: 姓名: 指导老师:张健

目录 目录------------------------------------------------------------------ 0实验一事发现场收集易失性数据------------------------------------------- 1实验二磁盘数据映像备份------------------------------------------------ 6实验三恢复已被删除的数据--------------------------------------------- 10实验四进行网络监听和通信分析------------------------------------------ 15实验五分析Windows系统中隐藏的文件------------------------------------- 19和Cache信息------------------------------------------------------------ 19实验六数据解密--------------------------------------------------------- 25总结-------------------------------------------------------------------- 27

实验一事发现场收集易失性数据 实验目的 (1)会创建应急工具箱,并生成工具箱校验和。 (2)能对突发事件进行初步调查,做出适当的响应。 (3)能在最低限度地改变系统状态的情况下收集易失性数据。 实验环境和设备 (1)Windows XP 或Windows 2000 Professional操作系统。 (2)网络运行良好。 (3)一张可用U盘(或其他移动介质)和PsTools工具包。 实验步骤及截图 (1)将常用的响应工具存入U盘,创建应急工具盘。应急工具盘中的常用工具有cmd.exe; netstat.exe;fport.exe;nslookup.exe 等 (2)用命令md5sum创建工具盘上所有命令的校验和,生成文本文件commandsums.txt 保存到工具盘中,并将工具盘写保护。 Windows上面没有这个命令 (3)用time 和date命令记录现场计算机的系统时间和日期,第(4)、(5)、(6)、(7)和(8)步完成之后再运行一遍time 和date命令。

中南大学单片机实验报告

单片机原理及应用系统设计实验报告 学院:信息科学与工程学院 班级: 学号: 姓名: 指导老师:

目录 第一章综述 0 第二章实验要求 (1) 第三章软件设计 (2) 1 清零程序 (2) 2 拆字程序 (3) 3 拼字程序 (4) 4 数据传送程序设计 (5) 5 排序程序 (7) 6 散转程序 (8) 第四章硬件设计 (10) 1 数字量输入输出实验 (10) 1)硬件构造: (10) 2)程序代码: (10) 2 定时器/计数器实验 (12) 1)硬件构造: (13) 2)程序代码: (14) 3 A/D、D/A转换实验 (15) 1)硬件构造: (15) 2)程序代码: (15) 4 串行通信软件设计 (19) 1)硬件构造: (20) 2)程序代码: (20) 第五章调试过程及体会 (24) 1 调试过程 (24) 2 收获体会 (24)

第一章综述 单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性! 单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。 1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。 2.MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。 Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和P hilips的历史功绩。 3.单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。 MCS51系列微控制器应用广泛,在家电、汽车甚至航空等领域都有其活跃的身影。然而,普通51系列微控制器内部资源有限,像我用Proteus构建微控制器虚拟实验室选用的AT89C52只有三个定时器、一个全双工的串行口和中断控制,并且其数据处理能力有限,不适合对大量数据进行复杂分析和运算。 因此,在不重新选型(可选用SoC)的前提下,为实现我们所需要的功能,就需要进行外 围扩展。针对微控制器的特点,我们首先考虑串行扩展,因为微控制器的I/O引脚有限,并 行扩展一则外围芯片面积比较大,二则对抑制EMI不利。

中南大学单片机实验报告

中南大学单片机实验报告 中南大学单片机实验报告 引言: 单片机是一种集成电路芯片,具有微型计算机的功能。它广泛应用于各个领域,如电子设备、通信、汽车控制等。在中南大学,单片机实验是电子信息类专业 学生必修的课程之一。本篇报告将对中南大学单片机实验进行总结和分析。 一、实验目的 单片机实验的主要目的是让学生了解单片机的基本原理和应用,培养学生的实 践能力和创新思维。通过实验,学生可以掌握单片机的编程技巧、电路设计和 硬件连接方法。 二、实验内容 中南大学单片机实验包括多个实验项目,涵盖了单片机的基本知识和应用。其中,最常见的实验项目包括LED灯控制、数码管显示、按键输入、温度传感器 应用等。每个实验项目都有明确的实验要求和实验步骤,学生需要按照要求完 成实验并提交实验报告。 三、实验过程 在单片机实验中,学生首先需要理解实验要求和相关知识。然后,他们需要设 计电路连接图,选择适当的元件和器件进行硬件连接。接下来,学生需要编写 程序代码,将所学知识应用到实际中。完成代码编写后,学生需要进行调试和 测试,确保实验结果符合预期。最后,学生需要整理实验报告,包括实验目的、实验步骤、实验结果和分析等。 四、实验结果

通过中南大学单片机实验,学生可以获得丰富的实践经验和知识。他们可以掌握单片机的基本编程方法和硬件连接技巧。在实验中,学生能够成功实现LED 灯的控制、数码管的显示、按键的输入和温度传感器的应用等。通过实验结果的分析,学生可以发现问题并加以解决,提高自己的实践能力和创新思维。 五、实验心得 中南大学的单片机实验给我留下了深刻的印象。通过实验,我不仅学到了单片机的基本原理和应用,还提高了自己的动手能力和解决问题的能力。在实验过程中,我遇到了许多困难和挑战,但通过不断的努力和尝试,我最终成功完成了实验任务。我发现,实验不仅是理论知识的应用,更是一种锻炼和成长的机会。 六、实验改进建议 虽然中南大学的单片机实验已经很好地培养了学生的实践能力,但我认为还可以进一步改进。首先,可以增加一些创新性的实验项目,鼓励学生在实验中发挥自己的想象力和创造力。其次,可以加强实验指导,提供更详细的实验步骤和操作方法,帮助学生更好地理解和掌握实验内容。最后,可以增加实验报告的分析和讨论部分,让学生更深入地思考实验结果和问题。 结论: 中南大学的单片机实验是一门重要的实践课程,对于电子信息类专业学生的学习和发展具有重要意义。通过实验,学生可以掌握单片机的基本原理和应用,提高自己的实践能力和创新思维。同时,我对实验的改进提出了一些建议,希望能够进一步提高实验教学的质量和效果。总的来说,中南大学的单片机实验为学生提供了一个良好的学习平台,帮助他们更好地理解和应用单片机技术。

基于单片机的数字频率计设计报告

目录 1 前言 (2) 2 频率计原理 (3) 3 设计思想 (3) 4 51单片机系统的硬件连接及调试 (3) 5 单元程序的设计 (5) 5.1 1s定时 (5) 5.2 T1计数程序 (5) 5.3 频率数据采集 (6) 5.4 进制转换 (6) 5.5 数码显示 (8) 6 频率计系统总体程序 (10) 7 程序的调试 (10) 8 结束语 (11) 参考文献 (12)

智能数字频率计的设计 专业:通信工程姓名:*** 指导教师:*** 摘要:采用单片机智能控制,结合外围电子电路,设计的智能数字频率计具有测量精度高,频率范围宽,稳定性好的特点,可应广泛用于各种测试场所。 关键词:单片机,控制系统,仿真 Abstracts:Intelligent Control of the use of single-chip, combined with the external electronic circuit, design of intelligent digital frequency meter with a measurement of high precision, wide frequency range, stability, good features, can be widely used in a variety of test sites。 Keywords:Single-chip,control systems,simulation 1 前言 单片机是20世纪中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。 51系列单片机是国内目前应用最广泛的一种8位单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用。51系列及其衍生单片机还会在继后很长一段时间占据嵌入式系统产品的低端市场,因此,作为新世纪的大学生,在信息产业高速发展的今天,掌握单片机的基本结构、原理和使用是非常重要的。本次课程设计主要用于对方波频率的测量。

单片机课程设计-数字音乐盒设计

长沙学院 《单片机原理与应用课程设计》 课程设计说明书 系 (部) 电子与通信工程系 专业(班级) 08电气二班 姓名 学号 指导教师王新辉、谢明华、刘辉 起止日期

《单片机技术及应用》课程设计任务书 系(部):电子与电气工程系专业:08级电气工程指导教师:王新辉、谢明华、刘辉 长沙学院课程设计鉴定表

一、摘要 本设计是以AT89C51芯片的电路为基础,利用keil和proteus仿真软件,设计出一个多功能音乐盒。音乐盒主要由五大模块构成,包括AT89C51芯片、4*4矩阵键盘、蜂鸣器、晶振复位电路和12864液晶显示器。有开机键(开机时显示welcom),暂停键、播放键、上一曲、下一曲以及10个用来选择歌曲的键。此外用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值。 关键字:AT89C51;Keil;12864液晶显示器;计时;音乐盒 二、原理描述 芯片AT89C51的介绍

AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8 位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示 图 AT89C51引脚排列图 LCD12864的显示 12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。它有8页(8行一页)、128列,可完成图形显示,也可以显示8×4个汉字。 12864硬件模块说明: 图中,IC1为行驱动器,IC2、IC3为行驱动器,外部的CPU通过13根线对模块进行控制。其中DB7—DB0为并行数据总线,E、R/W、D均为控制信号线,CSA、CSB则为选屏信号,分别控制左、右半屏。 图 12864的硬件模块图 音调的产生 频率的高低决定了音调的高低。音乐的十二平均率规定:每两个八度音(如简谱中的中音1和高音1)之间的频率相差一倍。在两个八度音之间又分为十二个半音。另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E 到F之间为半音,其余为全音。由此可以计算出简谱中从低音1到高音1之间每个音名对应的频率,所有不同频率的信号都是从同一个基准频率分频得到的。 1、要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O 脚上得到此频率的脉冲。 2、利用AT89C51的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。 此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。 3、例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。 计数脉冲值与频率的关系公式如下: N=Fi÷2÷Fr N:计算值;Fi:内部计时一次为1us,故其频率为1MHz; 4、其计数值的求法如下: 初值T=65536-N=65536-Fi÷2÷Fr 例如:设K=65536,F=1000000=Fi=1MHz,球低音DO(261Hz)。中音DO(523Hz)。高音的DO(1046Hz)的计算值 T=65536-N=65536-Fi÷2÷÷2÷Fr=65536-500000/Fr 低音DO的T=65536-500000/262=63627 低音DO的T=65536-500000/523=64580

中南大学微控制器技术实验报告

中南大学微控制器技术实验报告

目录 实验目的和要求 0 硬件、软件环境要求 0 实验一、清零程序与拆字程序设计 (1) 实验二、拼字程序与数据传送程序设计 (3) 实验三、散转与排序程序设计 (6) 实验四、数字量的输入输出实验 (8) 实验五、定时器\计数器实验 (12) 实验六A/D、D/A转换实验 (16) 实验七、串行通信实验 (19) 总结 (23)

实验目的和要求 1熟练掌握Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法; 2熟练使用SST89C554RC单片机核心板及I/O扩展实验系统; 3熟练掌握在Keil C51与Proteus仿真软件虚拟联机环境下,基于51单片机控制器数字接口电路的硬件、软件设计与功能调试; 4完成MCS51单片机指令系统软件编程设计和硬件接口功能设计题; 硬件、软件环境要求 软件环境描述 该实验使用Keil C51集成开发环境作为实验设计、调度工具。Keil C51提供了强大的调度功能,可单步、断点、全速运行程序,可观察寄存器区、ROM变量区、RAM变量区等的内容。支持汇编语言和C语言的源程序语言调试。 硬件环境 本实验采用开放的系统板结构,可以灵活地配合各型号接口实验平台开展单片机的应用教学。其提供了丰富的原理及接口应用实验。配合接口实验平台可完成数字量输入/输出、中断、定时器/计数器、看门狗、低功耗、PCA、串口通讯、静态存储器、FLASH、A/D、D/A、键盘及数码显示、电子音响、点阵LED、LCD、步进电机、直流电机、温度控制等实验内容。 TD-51系统板上提供了一片SST89E554RC,该器件是SST公司推出的8位微控制器FlashFlex51家族中的一员,具有如下特征:与8051兼容,嵌入SuperFlash存储器;工作电压5V,工作时钟0~40MHz;1Kbyte内部RAM;两块SuperFlash EEPROM,主块32Kbyte,从块8Kbyte,扇区为128Byte;有三个高电流驱动端口(每个16mA);三个16位的定时器/计数器;全双工、增强型UART; 八个中断源,四级优先级;可编程看门狗定时器(WDT);可编程计数阵列(PCA);双DPTR寄存器;低EMI模式(可禁止ALE);SPI串行口;标准每周期12个时钟,器件提供选项可使速度倍增,达到每周期6个时钟;低功耗模式。

单片机c语言程序设计---DA转换实验报告

单片机c语言程序设计---D/A转换实验报告 课程名称:单片机c语言设计实验类型:设计型实验 实验项目名称: D/A转换实验 一、实验目的和要求 1.掌握数模转换的概念 2.掌握D/A转换芯片DAC0832的功能及特点,掌握与单片机的接口 3.掌握D/A转换芯片DAC0832的c语言编程实例 二、实验内容和原理 实验1.信号发生器 功能:使用DAC0832用作信号发生器,编写产生锯齿波、三角波和方波的程序。本次项目中,DAC0832采用单缓冲单极性的线选法接线方式,其选通地址为7FFFH。 (1)硬件设计 使用P1口接3个独立的按键S01、S02、S03,当按下S01时输出锯齿波,按下S02时输出三角波,当按下S03时输出方波。 电路原理图如下

仿真所需元器件 (2)proteus仿真 通过Keil编译后,利用protues软件进行仿真。在protues ISIS 编译环境中绘制仿真电路图,将编译好的“xxx.hex”文件加入AT89C51。启动仿真,观察仿真结果。 三、实验要求: 1.完成信号发生器实验。具体包括绘制仿真电路图、编写c源程序、进行仿真并观察仿真结果,需要保存原理图截图,保存c源程序,总结观察的仿真结果。完成思考题。 四、操作方法与实验步骤 1.按照硬件设计在protues上按照所给硬件设计绘制电路图。 2.在keil上进行编译后生成“xxx.hex”文件。 3.编译好的“xxx.hex”文件加入AT89C51。启动仿真,观察仿真结果。 五、实验结果与分析

void main() { while(1) { while( K01==0 ) //生成锯齿波 { for(cDigital=0;cDigital<=250;cDigital++) { TransformData(cDigital);//进行数模转换 } } while( K02==0 ) //生成三角波

中南大学嵌入式系统与单片机实验报告2

中南大学 《嵌入式系统与单片机》 实验报告 学生姓名周来喜 指导教师贺建彪 学院信息科学与工程学院 专业班级物联网工程2班 学号0909112108

实验彩灯控制系统 一.实验目的 1. 熟悉单片机实验箱的操作环境; 2. 了解如何编制单片机程序,并将程序下载到单片机中; 3. 创新性思维,多思考出彩灯的变化花样。 二.实验要求 1. 熟悉单片机实验箱的操作环境,掌握上电、断电等基本操作与过程; 2. 了解程序下载操作方法; 3. 编写多种花样的程序来实现彩灯控制。 4.编写实验报告。 三、实验分析与设计 本次实验是简单的单片机应用,单片机使用51单片机,操作平台是恒科电子实验平台。程序编译连接之后就自动下载到单片机里。 1.实验分析: 实验采用汇编代码实现,在程序中实现某种花样,参考源代码c01.asm,这个源程序会将P1.2清零后置一,每次改变使用一次delay,这样可以保证状态的持续。在此基础上多重复花样即可。 2.实验设计: 操作上比较简单。主要是熟记各种指令用法。 另外最重要的是会汇编的两条指令:mov与jmp。 【delay子程序】:

这段程序实现延时100ms的功能,它是基于“DJNZ R6,$”这条指令执行时间为2us这个基础之上的。使用两层循环,将此句话执行:250*200=50000次,也就是100000us,换算成ms为100ms。 四、实验代码 ORG 0000H MOV SP,#60H ; /*送堆栈首址*/ /*第一种全亮再全灭*/ MAIN0: MOV R0,#2 MOV P1,#00H MOV A,#2 ACALL DELAY CASE0: MOV P1,#0FFH MOV A,#1 ACALL DELAY MOV P1,#00H MOV A,#1 ACALL DELAY DJNZ R0,CASE0 ; /*判闪循环是否结束*/ /*第二种顺序亮然后顺序灭*/ MAIN1: MOV R0,#2 MOV P1,#00H MOV A,#2 ACALL DELAY CASE1: CPL P1.0 MOV A,#1 ACALL DELAY CPL P1.1 MOV A,#1 ACALL DELAY CPL P1.2 MOV A,#1 ACALL DELAY CPL P1.3 MOV A,#1 ACALL DELAY CPL P1.4 MOV A,#1 ACALL DELAY

中南大学机电一体化实验报告材料(张友旺版)

实验目的 1.了解直流电机PWM的工作原理; 2.用汇编语言编程并用PID调速方法实现直流电机的调速; 3.培养综合应用所学知识来指导实践的能力; 4.掌握常用元器件的识别和测试,熟悉常用仪表,了解电路调 试的基本方法,进一步掌握电路调试等技能。 实验设备 1.天煌单片机综合开发实验台(包含直流电机、51单片机、F/V、A/D、ADC0809等模块) 2.PC机一台 实验原理 1.PWM的调速原理 PWM调速是通过改变输出脉冲的占空比,从而改变电机转速的一种调速方法。PWM调速分为单极性和双极性两种。在单极性方式下,电机的转动方向不变,改变的只是转速;而在双极性方式下,电机的转动方向和转速都是可变的。本实验是单极性控制,其基本原理如下:假设一个脉冲周期,高电平电压为U s,持续时间为t1;低电平为0V,持续时间为t2.则脉冲周期T=t1+t2,该周期平均电压U0=t1*U s/T。令α=t1/T,则U0=α* U s,α表示占空比。当高电平电压不变的情况下,电机两端电压的平均值U0取决于占空比α的大小。改变α的值就可以

改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。 2.对象模块(PWM电机调速模块)工作原理 直流电机PWM调速模块由测速电路和PWM调速电路两部分组成。模块的电源由接口总线引入。本模块使用的电机为5V直流电机。1)电机测速部分 ①直流电机测速原理介绍 电机测速部分由光电开关完成,电机带动一个周边均匀分布圆孔的金属圆盘,当电机转动时,圆盘跟着一起转动。光源发出的光通过圆孔照射到光电器件上,当圆孔随着电机轴转动时,光电开关可以输出和圆孔数目相同的脉冲,从而测得转速。 ②电机测速部分电路说明 光电开关产生与电机转速有一定关系的脉冲后,通过LED显示出此时的频率(由于本次试验仅是对频率的调控,所以之后不再区分转速与频率),信号经F/V转换,转换成电压信号,而单片机只能处理数字信号,所以还要通过A/D转换,模拟信号输入到ADC0809模块中,再由ADC0809模块输入到51单片机中,测速部分完毕。 2)电机调速部分 ①PWM调速电路原理及方法说明 上一步的测速结果输出到51单片机中后,与预期转速值转换后

毕业设计----基于单片机的频率计设计

学生毕业设计(论文)报告 系别:电子与电气工程学院 专业:电子信息工程技术 班号:电子085 学生姓名: 学生学号: 设计(论文)题目:基于单片机的频率计设计指导教师:

毕业设计(论文)任务书 一、课题名称:基于单片机的频率计设计 二、主要技术指标: 1、电源电压:220V ±20% 50Hz 2、测量结果的显示范围(0.100 Hz~9.99 MHz) 3、测量信号幅值:0.2--5V 4、测量频率信号类型:正弦波、方波和三角波 5、测量精度:在测量频率的范围内误差< ±1%。 三、工作内容和要求: 频率计的第一设计方案为纯数字电路构成。第二方案以AT89C51单片机为核心,利用他内部 的定时/计数器完成待测信号周期/频率的测量。设计中充分应用单片机的数学运算和控制功 能,要求实现频率测量量程的自动切换,要具有较高的测量精度和较短的系统反应时间。 四、主要参考文献: [1] 李群芳.单片微型计算机与接口技术(第二版)(M).北京:电子工业出版社,2005 [2] 蒋立培.单片危机系统使用教程(M).北京:机械工业出版社,2004 [3] 凌玉华.单片机原理及应用系统设计(M).长沙:中南大学出版社,2006 [4] 王琼.单片机原理及应用实践教程(M).合肥:合肥工业大学出版社,2005 [5] 刘丹.例说8051(M).北京:人民邮电出版社,2006 学生(签名)2010 年 5 月7 日 指导教师(签名)2010 年5 月10 日 教研室主任(签名)2010 年5 月10 日 系主任(签名)2010 年 5 月12 日

毕业设计(论文)开题报告

微机原理及应用实验报告

微机原理及应用实验报告 微机原理及应用实验报告 班级: 姓名: 学号: 中南大学 机电工程学院精密测控实验室 实验二软件程序设计 1.实验目的: 1、掌握MCS-51单片机指令系统及用汇编语言编程技巧; 2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。 2.实验内容: 1、编写排序程序并上机调试通过。 已知8031内部RAM60H~69H单元中,依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按 递减次序排序,即最大数放在60H中,最小数放在69H中。 2.、编写多字节加法程序并上机调试通过。 8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH 单元中存放3字节加数(低字节在前),求两数之和,并将结果存入以20H为起始地址的区域中(低字节在前)。 3.实验设备名称、型号: 4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单: 程序1、编写排序程序并上机调试通过。 已知8031内部RAM60H~69H单元中,依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程将它们按递 减次序排序,即最大数放在60H中,最小数放在69H中。

解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小 的顺序则不动,否则两两交换,这样比较下去,比较9次后,最小的那个数就会沉底,在下一次比较时将减少一次比较次数。如果一次比较完毕,没有发生交换,说明已 经按照从大到小的顺序排列了。则可以退出循环,结束程序。 程序结构框图和程序代码如下: 1 2 ORG 1000H TEM DATA 50H MOV R7 , #9 MOV 60H , #0FFH MOV 61H , #99H MOV 62H , #77H MOV 63H , #0CCH MOV 64H , #33H MOV 65H , #0DDH MOV 66H , #88H MOV 67H , #0BBH MOV 68H , #44H MOV 69H , #0EEH LOOP0: CLR F0 MOV A , R7 MOV R6, A MOV R0 , #60H MOV R1, #60H INC R1 LOOP1: MOV A , @R0 MOV TEM , A

单片机课程报告

中南大学 微控制器技术实验报告 年级: 大三 学号: ***** 姓名: *** 专业班级: 自动化0706 指导老师: **** 二零一零年五月

第1章实验目的及要求 1、学习Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试 与脱机运行间的切换方法; 2、熟悉TD-51单片机系统板及实验系统的结构及使用; 3、进行MCS51单片机指令系统软件编程设计与硬件接口功能设计; 4、学习并掌握Keil C51与Proteus仿真软件联机进行单片机接口电路的设 计与编程调试; 5、完成指定MCS51单片机综合设计题。 第2章实验内容 本实验分为软件与硬件两大部分,软件部分只需要尽心软件编程调试即可,硬件部分既可以利用实验室提供的设备器材进行联机调试,也可以应用虚拟软件若Proteus进行模拟仿真。要求做实验前需进行充分的准备,软件部分先写好程序、硬件部分编号线路图,或者用虚拟软件运行成功后在到实验室利用单片机等设备进行在线调试运行。 第3章软、硬件环境 软件环境:KEIL uv3,PROTEUS7.4 硬件环境:PC机,TD-51系统板 第4章软件编程设计实验 4.1 实验内容 实验一清零程序与拆字程序设计 根据实验指导书之“第二章单片机原理实验”(P17~P23页)内容,熟悉实验环境及方法,清零程序:把 7000H –7FFFH 的内容清零。 实验二拼字程序与数据传送程序设计 1、折字程序:把 7000H 的内容拆开,高位送 7001H 低位,低位送 7002H 低 位。7001H,7002H高位清零。 2、拼字程序:把 7000H,7001H 的低位相拼后送人 7002H,一般本程序用于 把显示缓冲区的数据取出拼装成个字节。

相关文档
相关文档 最新文档