当前位置:文档之家› 【报告】南邮单片机实验报告

【报告】南邮单片机实验报告

【报告】南邮单片机实验报告
【报告】南邮单片机实验报告

【关键字】报告

南邮单片机实验报告

篇一:南邮数据库实验报告

数据库实验报告

(XX / XX 学年第二学期)?

?

学号

姓名

指导教师

成绩

一、数据库原理第一次实验

【一】实验内容:

数据库表的建立与管理【二】、实验目的:

学习数据库及表的建立、删除、更新等操作。

注:本次实验题目,除了特殊要求,以T-SQL为主,并将所有语句标注好题号,留存在查询界面上,方便检查。【三】、实验题目及其解答:1、创建一名为‘test’的数据库;

CREATE DATABASE test

2、在“test”数据库中新建一张部门表“部门”,输入列:name(char,10位),ID(char,7位),manager (char,10位)各列均不能为空值。

Solution:use test

CREATE TABLE 部门

(ID CHAR(7) NOT NULL,name CHAR(10) NOT NULL,manager CHAR(10) NOT NULL) 结果:

3、在“test”数据库中新建一张员工表,命名为

“员工”。在表中输入以下各列:name(char,10位),personID(char,7位),Sex(char,7位),birthday(datetime),deptID(char,7位),各列均不能为空值。

CREATE TABLE 员工

(name CHAR(10) NOT NULL, personID CHAR(7) NOT NULL, sex CHAR(7) NOT NULL, birthday datetime NOT NULL, deptID CHAR(7) NOT NULL) 结果:

4、修改表的操作练习:

1)将‘部门’表中的列ID设为主键;2)将‘员工’表中personID设为主键,并将deptID 设置为外键,关联到‘部门’表上的‘ID’列;

3)在‘部门’表中,添加列quantity(char, 5);

4) 删除‘员工’表中的列‘sex’;

5)修改‘员工’表中列name为(varchar,8)

ALTER TABLE 部门ADD CONSTRAINT C1 PRIMARY KEY(ID)

ALTER TABLE 员工ADD CONSTRAINT C2 PRIMARY KEY( personID )

ALTER TABLE 员工ADD CONSTRAINT C3 FOREIGN KEY(deptID) REFERENCES 部门(ID) ALTER TABLE 部门ADD quantity CHAR(5) ALTER TABLE 员工DROP COLUMN sex ALTER TABLE 员工ALTER COLUMN name VARCHAR(8) 结果:

5、1)在数据库test中新建表scores,输入以下列:ID (char,8位)主键, C语言numeric(3,1) ,IT英语numeric(3,1) ,数据库numeric(3,1) ,

软件根底numeric(3,1) ,平均成绩。四门学科都不能为空,并且平均成绩为四门学科的平均分;

2)为表scores中的四项成绩添加default约束:使其默认值为0;

3)为表scores中的四项成绩添加check约束:是每项成绩在0到100之间。

Solution:

CREATE TABLE scores

(ID CHAR(8) PRIMARY KEY NOT NULL, C语言NUMERIC(3,1) NOT NULL, IT英语NUMERIC(3,1) NOT NULL, 数据库NUMERIC(3,1) NOT NULL, 软件根底NUMERIC(3,1) NOT NULL,

平均成绩AS(C语言+IT英语+数据库+软件根底)/4)

ALTER TABLE scores ADD CONSTRAINT C语言DEFAULT'0'FOR C语言ALTER TABLE scores ADD CONSTRAINT IT英语DEFAULT'0'FOR IT英语ALTER TABLE scores ADD CONSTRAINT 数据库DEFAULT'0'FOR 数据库ALTER TABLE scores ADD CONSTRAINT 软件根底DEFAULT'0'FOR 软件根底ALTER TABLE scores ADD CONSTRAINT CK1 CHECK(C语言>=0 AND C语言=0 AND IT英语=0 AND 数据库=0 AND 软件根底6、删除department表,并删除数据库test。

Solution:

DROP Table 部门; DROP DATABASE test;

【四】实验一完整的代码:

二、数据库原理第二次实验

【一】、实验内容:

查询技术的应用【二】、实验目的:

1、掌握SELECT语句的基本语法

2、掌握连接查询的表示

3、掌握数据汇总的方法

4、掌握SELECT语句的GROUP BY子句的作用和使用方法

5、掌握SELECT语句的ORDER BY 子句的作用和使用方法【三】、实验内容

1、创建员工管理数据库(compy)及相应的四张表:Employees:员工信息表Departments:部门信息表Salary:员工薪水信息表Purchase:员工购物信息表

各表中(本文来自:小草范文网:南邮单片机实验报告)属性的定义可根据表中的记录加以设定,均以编号为主键,例如可定义Departments

向表中填入数据

CREATE DATABASE compy use compy

CREATE TABLE Employees(

编号CHAR(10) NOT NULL PRIMARY KEY, 姓名VARCHAR(10) NOT NULL, 地址CHAR(10) NOT NULL, 邮编CHAR(6),

电话CHAR(11) NOT NULL,

篇二:南邮课程设计实验报告

课程设计I报告

题目:课程设计班级:44姓名:范海霞指导教师:黄双颖

职称:

成绩:

通达学院

XX 年1 月4日

一:SPSS的安装和使用

在PC机上安装SPSS软件,打开软件:

基本统计分析功能包括描述统计和行列计算,还包括在基本分析中最受欢迎的常见统计功能,如汇总、计数、交叉分析、分类比较、描述性统计、因子分析、回归分析及聚类分析等等。具体如下:

1.数据访问、数据准备、数据管理与输出管理;

2.描述统计和探索分析:频数、描述、集中趋势和离散趋势分析、分布分析与查看、正态性检验与正态转换、均值的置信区间估计;

3.交叉表:计数;行、列和总计百分比;独立性检验;定类变量和定序变量的相关性测度;

4.二元统计:均值比较、T检验、单因素方差分析;

5.相关分析:双变量相关分析、偏相关分析、距离分析;

6.线性回归分析:自动线性建模、线性回归、Ordinal回归—PLUM、曲线估计;

7.非参数检验:单一样本检验、双重相关样本检验、K重相关样本检验、双重独立样本检验、K重独立样本检验;

8.多重响应分析:交叉表、频数表;

9.预测数值结果和区分群体:K-means聚类分析、分级聚类分析、两步聚类分析、快速聚类分析、因子分析、主成分分析、最近邻元素分析;

10. 判别分析;

11.尺度分析;

12. 报告:各种报告、记录摘要、图表功能(分类图表、条型图、线型图、面积图、高低图、箱线图、散点图、质量控制图、诊断和探测图等);

13.数据管理、数据转换与文件管理;

二.数据文件的处理

SPSS数据文件是一种结构性数据文件,由数据的结构和数据的内容两部分构成,也可以说由变量和观测两部分构成。定义一个变量至少要定义它的两个属性,即变量名和变量类型其他属性可以暂时采用系统默认值,待以后分析过程中如果有需要再对其进行设置。在spss数据编辑窗口中单击“变量视窗”标签,进入变量视窗界面,即可对变量的各个属性进行设置。1.创建一个数据文件数据

(1)选择菜单【文件】→【新建】→【数据】新建一个数据文件,进入数据编辑窗口。

窗口顶部标题为“PASW Statistics数据编辑器”。

(2)单击左下角【变量视窗】标签进入变量视图界面,根据试验的设计定义每个变量类型。

(3)变量定义完成以后,单击【数据视窗】标签进入数据视窗界面,将每个具体的变量值

录入数据库单元格内。

2.计算新变量

在对数据文件中的数据进行统计分析的过程中,为了更有效地处理数据和反映事务的本质,有时需要对数据文件中的变量加工产生新的变量。比如经常需要把几个变量加总或取加权平均数,SPSS中通过【计算】菜单命令来产生这样的新变量,其步骤如下:选择菜单【转换】→【计算变量】,打开对话框:

在目标变量输入框中输入生成的新变量的变量名:平均数,单击输入框下面类型与标签按钮,在跳出的对话框中可以对新变量的类型和标签进行设置。

在数字表达式输入框中输入新变量的计算表达式。

单击【如果】按钮,弹出子对话框。包含所有个体:对所有的观测进行计算;如果个案满足条件则包括:仅对满足条件的观测进行计算。

单击确定按钮,执行命令,则可以在数据文件中看到一个新生成的变量。

3.筛选变量:

选择【数据】→【选择个案】命令。指定抽样的方式:【全部个案】不进行筛选;【如果条件满足】按指定条件进行筛选。

4.数据文件的拆分与合并

(1).数据合并:

增加个案的数据合并(【合并文件】

→【添加个案】),将新数据文件中的观测合并到原数据文件中,在SPSS中实现数据文件纵向合并的方法如下:

(2)数据拆分:

在进行统计分析时,经常要对文件中的观测进行分组,然后按组分别进行分析。例如要求按性别不同分组。在SPSS中具体操作如下:选择菜单【数据】→【分割文件】,打开对话框:

篇三:南邮XXIP实验报告

通信与信息工程学院

XX / XX 学年第一学期

实验报告

课程名称:实验名称:

实验二:以太网实验

实验三:TCP/IP协议分析实验

班级学号 B

学生姓名陈超

指导教师刘启发

实验一:实验工具软件介绍

一、实验目的和要求:

1、通过该实验能掌握常用网络工具的使用,为后面的实验做准备。

2、能够利用这些工具了解网络的运行状态。

二、实验环境:

1、采用方案一进行试验,学生每人微机一台和一个虚拟机编号,安装光盘中的/book/tools目录下的虚拟机和软件工具,再次利用VMware运行光盘系统并按照虚拟机编号选择IP地址,另外教师可利用随书光盘系统架设被观测网络(三物理机或三虚拟机,使用备用地址)。

2、实验设计软件的列表如下:

被动式工具:NetXray,Netmonitor,WinPcap/Ethereal,tcpdump

主动式工具:ping,route, traceroute,nslookup, iperf,SNMP_utils,trapwatcher。综合工具:solarwinds, IPSwitch。

其中tcpdump、ping、route、traceroute、nslookup、SNMP_utils几个软件在随书光盘系统中已经安装好了,无需额外安装。请注意NetXray、Netmonitor、solarwinds和IPSwitch有版权问题。

三、实验原理:

通过被动工具,获得并分析数据包;通过主动工具发现网络问题(可以手工制造);通过强大的综合工具对网络进行分析。

四、实验步骤:(包含结果分析)

1、软件安装:

安装各种工具软件

安装各种供测试的应用软件。

2、实验环节:

被动工具——windows:Ethereal;

主动工具——windows:ping,ipconfig, tracert,iperf,trapwatcher.

五、实验心得:

此次实验主要是对主动及被动工具的熟悉与使用,包括工具软件Ethereal及windows 运行的各种主动工具,利用这些常用的网络工具进行数据包的抓取与分析,从而了解网络的运行状态。通过此次实验,直观且深刻地了解到数据包的抓取方法与流程,更重要的是熟悉了一系列常用网络工具,不仅仅为后续实验打下根底,更是为我们对互联网的学习提供了很有利的帮助,实验的内容亦结合课本所学理论,获益匪浅。

实验二:以太网实验

一、实验目的和要求:

1、通过该实验能加深对以太网的认识,特别是其封装格式。

2、通过该实验能加深对ARP协议的认识。

二、实验环境:

1、准备用作服务器的微机一台(使用随书光盘系统构建,手工配置成原网段的IP),学生每人微机一台,在windows环境下即可完成本实验,无需使用VMware。

2、软件:WinPcap,Ethereal。

三、实验原理:

通过抓包软件ethereal获得一些以太网数据包,并对其进行分析,从包的格式来认识以太网协议。

四、实验步骤:(包含结果分析)

1.1软件安装

2.1 抓MAC包

2.1.1 启动Ethereal软件。

2.1.2 点击Capture菜单。

2.1.3 选Start菜单。(注:本弹出窗口里有Filter即过滤器输入框,在后面的试验里需要填写过滤器。)

2.1.4 在弹出窗口里点击OK开始抓包(后面将

2.1.5 在弹出窗口里看到total数据发生变化则点击Stop,结束抓包。

2.1.6 分析所抓的数据包。

所抓数据包截图如下:

1、数据报里的Destination,Source等字段。

2、不同的MAC包字段不一样,有Type,Length,Trailer等字段。

3 、在第三个窗口可以看到对应字段的16进制数字以及在整个包中的位置。

图11.2 数据帧、数据报的封装格式

如下图所示,我们选取2号帧作为代表分别分析相应的数据:

(1)由上图总览,可知数据帧的相关信息:

此帧的编号为2;

获取时间为0.383444;

源地址为;

目的地址为;

高层协议为TCP;

包内信息概况为:源端口为6950,目标端口为1212。

(2)物理层的数据帧概况:(将部分数据放大如下图所示)

从上图中可以看出:

2号帧,线路上有60字节,实际捕获60字节;捕获时间为XX年12月1日15 : 49 : 22,此包与前一捕获数据包的时间间隔为0.0秒,与第一帧的时间间隔为0.0秒;帧号为2,帧长为60字节,捕获长度为60字节,此帧没有被标记且没有被忽略,帧内封装的协议结构为

TCP数据协议。

(3)数据链路层以太网帧头部信息(将部分数据放大如下图所示)此文档是由网络收集并进行重新排版整理.word可编辑版本!

单片机实验报告

PIC单片机原理与应用实验报告 学校: 学院: 班级: 姓名: 学号: 指导教师:

实验一I/O端口实验 一、实验目的 (1)掌握MPLAP IDE集成开发环境的基本操作。 (2)掌握单片机的I/O端口的设计方法。 (3)掌握在线调试器的使用方法。 (4)学会查阅相关数据手册。 二、实验仪器设备 (1)PC机一台; (2)MPLAP IDE开发软件一套; (3)PICkit3在线调试器一套; (4)APP009实验板一块; 三、实验要求 (1)设计发光LED灯闪烁程序,下载调试,验证功能。 (2)设计流水灯程序,或其他花样彩灯程序,下载调试,验证功能。 (3)设计按按键加1计数程序,下载调试,验证功能。 四、实验步骤 (1)连接在线调试器PICkit3、APP009实验板和计算机; (2)打开MPLAP IDE集成开发环境软件,点击Debugger>Select Tools>PICkit 3 选择调试工具; (3)点击Debugger>Settings,在Settings窗口中点击Power栏,选择由PICkit3向实验板供电; (4)完成实现发光LED灯闪烁实验; 程序代码: #include void delay(void); int main() { while(1) { TRISEbits.TRISE0 = 0; //RE0设置为输出(1输入,0输出); https://www.doczj.com/doc/ab3754068.html,TE0 =1; //RE0=1输出高电平+5V,亮灯 delay(); //延时 https://www.doczj.com/doc/ab3754068.html,TE0 =0; //RE0=0输出低电平0V,灭灯 delay(); //延时 } } void delay(void) { long int i; for (i=0;i<65000;i++); } 实验现象:将程序下载到实验板上,运行程序,LED闪烁,通过改变延时函数改变延时时间,进而可以改变LED闪烁的频率。

单片机实验报告

院系:计算机科学学院专业:智能科学与技术年级: 2012 学号:2012213865 姓名:冉靖 指导教师:王文涛 2014年 6月1日

一. 以下是端口的各个寄存器的使用方式: 1.方向寄存器:PxDIR:Bit=1,输出模式;Bit=0,输入模式。 2.输入寄存器:PxIN,Bit=1,输入高电平;Bit=0,输入低电平。 3.输出寄存器:PxOUT,Bit=1,输出高电平;Bit=0,输出低电平。 4.上下拉电阻使能寄存器:PxREN,Bit=1,使能;Bit=0,禁用。 5.功能选择寄存器:PxSEL,Bit=0,选择为I/O端口;Bit=1,选择为外设功能。6.驱动强度寄存器:PxDS,Bit=0,低驱动强度;Bit=1,高驱动强度。 7.中断使能寄存器:PxIE,Bit=1,允许中断;Bit=0,禁止中断。 8.中断触发沿寄存器:PxIES,Bit=1,下降沿置位,Bit=0:上升沿置位。 9.中断标志寄存器:PxIFG,Bit=0:没有中断请求;Bit=1:有中断请求。 二.实验相关电路图: 1 MSP430F6638 P4 口功能框图: 主板上右下角S1~S5按键与MSP430F6638 P4.0~P4.4口连接: 2按键模块原理图: 我们需要设置两个相关的寄存器:P4OUT和P4DIR。其中P4DIR为方向寄存器,P4OUT 为数据输出寄存器。 主板上右下角LED1~LED5指示灯与MSP430F6638 P4.5~P4.7、P5.7、P8.0连接:

3 LED指示灯模块原理图: P4IN和P4OUT分别是输入数据和输出数据寄存器,PDIR为方向寄存器,P4REN 为使能寄存器: #define P4IN (PBIN_H) /* Port 4 Input */ #define P4OUT (PBOUT_H) /* Port 4 Output */ #define P4DIR(PBDIR_H) /* Port 4 Direction */ #define P4REN (PBREN_H) /* Port 4 Resistor Enable */ 三实验分析 1 编程思路: 关闭看门狗定时器后,对P4.0 的输出方式、输出模式和使能方式初始化,然后进行查询判断,最后对P4.0 的电平高低分别作处理来控制LED 灯。 程序流程图: 2 关键代码分析: #include void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P4DIR |= BIT5; // 设置4.5口为输出模式 P4OUT |= BIT0; // 选中P4.0为输出方式 P4REN |= BIT0; // P4.0使能 while (1) // Test P1.4 { if (P4IN & BIT0) //如果P4.0为1则执行,这是查询方式按下去后是低,否则为高

单片机实验报告

单片机实验报告 学院:姓名:学号:指导老师:

目录 第一章实验内容、目的及要求 (2) 一、内容 (2) 二、目的及要求 (3) 第二章实验 (3) 实验一数字量输入输出实验 (3) 实验二定时器/计数器实验 (4) 实验三A/D、D/A转换实验 (11) 实验四串行通信设计 (20) 第三章实验体会 (28)

第一章实验内容、目的及要求 一、内容 实验一数字量输入输出实验 阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“3.1 数字量输入输出实验”基本实验项目。 实验二定时器/计数器实验 阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“3.3 定时/计数器实验”基本实验项目。 提高部分:定时器控制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转换实验 阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“4.3 A/D转换实验”项目(P64)和“4.4 D/A转换实验”项目。 提高部分:(要求:Proteus环境下完成) 小键盘给定(并显示工作状态),选择信号源输出波形类型(D/A 转换方式),经过A/D采样后,将采样数据用LED灯,显示当前模拟信号值大小及变化状态。 实验四串行通讯实验 阅读、调试C语言程序功能。使用汇编语言编程,完成实验指导书之“3.7 串口通讯实验”项目。(要求:实验仪器上完成)提高部分:(要求:Proteus环境下完成) 利用单片机实验系统,实现与PC机通讯。功能要求:将从实验系统键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到单片机实验系统的数码管上。

单片机实验报告

汇编语言程序设计 1)编译后,系统提示:目标越界,改为AJMP后编译通过,将ORG 07FFH 改为0800H, 系统提示:目标越界,这说明AJMP可以在2KB 范围内无条件转移。 2.改为LJMP编译通过,这说明LJMP可以在64KB 范围内无条件转移。 3.将LJMP LP1改为SJMP LP0,机器码为80FC,其中FC为偏移量,它是一个补码,01H~7FH说明向PC(增大√、减小)方向跳,80H~FFH说明向PC(增大、减小√)方向跳,这说明SJMP可以在当前PC值-128B~+127B 范围内无条件转移。 1、X、Y以补码的形式存放在20H、21H中,编写程序实现如下函数: 实验程序: MOV A,20H JZ ZREO JB ACC.7,NEG MOV 21H,#01H SJMP PEND ZREO:MOV 21H,A SJMP PEND NEG:MOV 21H,#0FFH PEND:SJMP$ END 结果记录: 1.将数89H存放于20H中,运行程序,观察到21H单元中的内容为FF; 2.将数05H存放于20H中,运行程序,观察到21H单元中的内容为01; 3.将数00H存放于20H中,运行程序,观察到21H单元中的内容为00; 2、将20H~27H中的压缩BCD码拆为两个单字节BCD码,存放在以2000H为首地址的外部RAM 中。 实验程序: MOV R0,#20H MOV R7,#08H MOV DPTR,#2000H LOOP:ACALL CZ INC R0

INC DPTR DJNZ R7,LOOP SJMP $ CZ:MOV A,@R0 SWAP A ANL A,#0FH MOVX @DPTR,A INC DPTR MOV A,@R0 ANL A,#0FH MOVX @DPTR,A RET END 结果记录: 20H 21H 22H 23H 24H 25H 26H 27H 87H 54H 36H 23 19H 43H 77H 69H 2000H 2002H2004H2006H2008H200AH200CH200EH 07H 04H 06H 03H 09H 03H 07H 09H 2001H 2003H2005H2007H2009H200BH200DH200FH 08H 05H 03H 02H 01H 04H 07H 06H 1、数在计算机中是以补码形式存放的,因此,判断数据的正负,往往采用判断第7 位,是0 则为正数,是1 则为正数 2、实验内容2中JZ ZREO 的机器码为600DH ,其中0DH 为偏移量,当前PC值0004 加上这个偏移量等于0011H ,这正是即将执行的程序的首地址,即标号为ZREO 语句。程序计算器PC的功能是指向下一条指令,因此,跳转语句是依靠偏移量来改变程序计数器PC的值,从而改变程序的流向。 3、分支程序一定要注意分支的语句标号的正确性,每一分支之间必须用跳转(如SJMP)指令分隔,并跳转到相应标号。 4、子程序往往用间址寄存器传递数据,内部RAM用@Ri ,外部RAM用@DPTR ,绝对不能用直接地址。最后以RET 结尾。 5、循环程序往往用寄存器传递数据,用R7控制循环次数,用调用作为循环体,用指令INC 修改地址指针,用指令DJNZ 判断循环结束。 6、执行ACALL前(SP)= 07H ,执行ACALL时,(SP)= 09H ,(08H)= 09H ,(09H)= 00H ,(PC)= 000FH ,PC的值正是子程序的入口地址,而堆栈中这两个单元存放的是断点处PC的值;执行到RET后,(SP)= 07H , 原08H的值弹给(PC)7~0 ,原09H的值弹给(PC)15~8 ,因此,返回断点继续执行主程序。

单片机STM32实验报告

实验报告 课程名称:单片微机原理与车载系统 学生姓名蒋昭立 班级电科1601 学号16401700119 指导教师易吉良 成绩 2018年12月17日

实验1 GPIO实验 1.1 实验目的 1)熟悉MDK开发环境; 2)掌握STM32单片机的GPIO使用方法。 1.2 实验设备 1)一台装有Keil和串口调试软件的计算机; 2)一套STM32F103开发板; 3)STlink硬件仿真器。 1.3基本实验内容 1)熟悉MDK开发环境,参考《STM32F1开发指南(精英版)-寄存器版本_V1.0》第3章,安装MDK 并新建test工程,运行例程,在串口窗宽观察结果,并记录如下: 从图片可以看出,例程运行成功,没有错误。 2)按键输入实验,《STM32F1开发指南(精英版)-寄存器版本_V1.0》第8章。实现功能:3 个按钮(KEY_UP、KEY0和KEY1),来控制板上的2 个LED(DS0 和DS1)和蜂鸣器,其中KEY_UP 控制蜂鸣器,按一次叫,再按一次停;KEY1 控制DS1,按一次亮,再按一次灭;KEY0 则同时控制DS0 和DS1,按一次,他们的状态就翻转一次。 理解连续按概念及其实现代码。参数mode 为0 的时候,KEY_Scan 函数将不支持连续按,扫描某个按键,该按键按下之后必须要松开,才能第二次触发,否则不会再响应这个按键,这样的好处就是可以防止按一次多次触发,而坏处就是在需要长按的时候比较不合适。当mode 为1 的时候,KEY_Scan 函数将支持连续按,如果某个按键一直按下,则会一直返回这个按键的键值,这样可以方便的实现长按检测。 寄存器方法实现不支持连续按的关键代码,以及程序运行后的效果。

单片机实验报告

太原工业学院计算机工程系成绩: 单片机原理及应用 课程实验报告 课程:单片机原理及应用 姓名:冯文颖 专业:计算机科学与技术 学号:132054413 日期:2016年4月20日 太工计算机工程系 计算机原理实验室

实验一:拆字程序实验 实验环境PC机+Win 2007+伟福仿真软件实验日期2016.4.20一.实验内容 1.熟悉51仿真系统,设计并单步调试实现,将R5中一字节数拆分成两位独立的数据,分别存于R6,R7中,将R6,R7中的一位HEX数据转换为输出 2.ASCII编码分析BIN,HEX,BCD,ASCII等不同编码的数学意义及表现形式上的异同 二.理论分析或算法分析 (1)基本要求的描述 在这次实验中,要将R5中存的一字节数拆分成两个独立的数据,主要用到是逻辑运算符中的与功能,进而取得高字节和低字节的数,将R5的数和0f0h进行与取得高字节,和0f0h 与取得低字节的数,进而将它们分别存于R6、R7中。 (2)扩展要求的描述 在扩展要求中,要求将高低字节的数据转换成ASCII码值,首先先运用操作符subb将高低位字节与0Ah进行比较,根据CY的值来判断高低字节的数据是否在0到9之间,若在则在它们的基础上加上30h即可得到其对应的ASCII码值,否则,若在A到F之间,则需要在它们的基础上加37h即可得到它们对应的ASCII码值。 三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等) org 0019h clr c mov r5,#6ah mov a,r5 anl a, #0fh mov r6, a mov a, r5 anl a,#0f0h swap a mov r7,a sjmp $ end Masc1:mov a,r6 add a,#0F6h . mov,a,r6 jnc ad30h add a,#07h ad30h: add a,#30h mov r6,a 1

实验报告(单片机)

实 验 报 告 实验课程:单片机原理及应用 实验名称:实验1 ——原理图绘制练习 班级:13自动化2班学号:201310320226 :李浩 教师:张玲成绩: 实验日期:2016 年 5 月24 日

一、实验目的:学习Proteus 软件的使用,掌握单片机原理图的绘图方法 二、实验内容: 1、绘制“计数显示器”电路原理图; 2、利用提供的hex文件验证此电路的运行效果。 三、实验要求: 提交的实验报告中应包括:1、绘图方法简述,要求说明元件与电源的选取、摆放及属性编辑,总线与标签的画法等内容;2、电路原理图;3、仿真运行效果展示,要求就仿真文件加载方法及3~4幅运行截图进行简要说明;4、实验小结,说明遇到的主要问题或实验1体会等。 参考电路原理图如下: 元件类别电路符号元件名称 Microprocessor ICs “U1”80C51 Miscellaneous “X1”/12MHz CRYSTAL Capacitors “C1”~“C2”/1nF CAP Capacitors “C3”/22μF CAP-ELEC Resistors Packs “RP1”/7-100ΩRESPACK-7 Resistors “R1”/100ΩRES Optoelectronics “LED1”~“LED2”7SEG-COM-CAT-GRN Switches & Relays “BUT”BUTTON ————————————————

1、绘图方法简述 Protues绘图:打开之后首先新建设计,然后按照元件英文名查找器件,单击鼠标即可放置好元件,单击引脚即可连好导线。点击左方标签后即可在相应导线上放置标签,点击总线图标后即可画出总线。Keic中生成hex文件后在protues中双击单片机芯片即可下载仿真程序。点击左下角播放开始仿真。 2、电路原理图

单片机实验报告

实验一:8255输入、输出实验 一.实验要求 编写程序,使用8255可编程并行口芯片,来检测八位拨动开关的状态,并控制八位发光二极管。使得八位发光二极管的亮灭变化与八位拨动开关的状态相一致。实验中用8255PB口作输入,PC口做输出。 二.实验目的 了解8255芯片结构及编程方法。 三.实验电路及连线 8255的PB0~PB7(PB口)接至八位拨动开关K0~K7。 将PC0~PC7(PC口)接至八位发光二极管L0 – L7。CS8255接F228。 四.实验说明 可编程通用接口芯片8255A有三个八位的并行I/O口,请用户仔细阅读有关书籍掌握其特点和各种用法。 由于8255的A1、A2脚分别接至地址线的A0、A1。所以相对应8255各口/寄存器的地址分配如下:PA口:F228H; PB口:F229H;PC口:F22AH;控制寄

存器地址:F22BH。 本示例程序中使用PB口作输入,检测八位拨动开关的状态;使用PC口作输出,控制八个发光二极管的亮灭。 五.实验程序及框图 实验示例程序见8255.ASM。 实验示例程序流程框图如下: 开 设置8255 工作状态 PB口读入八 位开关量 PC口输出至八 位二极管 程序代码: ;FOR EAT598 ;--------------------------------------------------------- D8255 EQU 0F22BH ;8255命令口地址 D8255A EQU 0F228H ;8255 PA口地址 D8255B EQU 0F229H ;8255 PB口地址 D8255C EQU 0F22AH ;8255 PC口地址 ;--------------------------------------------------------- ORG 0000H LJMP START ORG 0100H START: LCALL DELAY ;延时 MOV DPTR,#D8255 MOV A,#82H ;置8255状态 ;方式0,PA,PC口输出,PB口输入MOVX @DPTR,A ROTATE: MOV DPTR,#D8255B MOVX A,@DPTR ;读开关状态

南邮单片机实验报告

南邮单片机实验报告 篇一:南邮数据库实验报告 数据库实验报告 ( XX / XX 学年第二学期)? ? 学号 姓名 指导教师 成绩 一、数据库原理第一次实验 【一】实验内容: 数据库表的建立与管理【二】、实验目的: 学习数据库及表的建立、删除、更新等操作。 注:本次实验题目,除了特殊要求,以T-SQL为主,并将所有语句标注好题号,留存在查询界面上,方便检查。【三】、实验题目及其解答: 1、创建一名为‘test’的数据库; CREATE DATABASE test 2、在“test”数据库中新建一张部门表“部门”,输入列:name(char,10位),ID(char,7位),manager (char,10位)各列均不能为空值。

Solution: use test CREATE TABLE 部门 (ID CHAR(7) NOT NULL,name CHAR(10) NOT NULL,manager CHAR(10) NOT NULL) 结果: 3、在“test”数据库中新建一张员工表,命名为 “员工”。在表中输入以下各列: name(char,10位),personID(char,7位),Sex(char,7位),birthday(datetime),deptID(char,7位),各列均不能为空值。 CREATE TABLE 员工 (name CHAR(10) NOT NULL, personID CHAR(7) NOT NULL, sex CHAR(7) NOT NULL, birthday datetime NOT NULL, deptID CHAR(7) NOT NULL) 结果: 4、修改表的操作练习: 1)将‘部门’表中的列ID设为主键; 2)将‘员工’表中personID设为主键,并将deptID设置为外键,关联到‘部门’表上的‘ID’列; 3)在‘部门’表中,添加列quantity(char, 5); 4) 删除‘员工’表中的列‘sex’; 5)修改‘员工’表中列name为(varchar,8) ALTER TABLE 部门 ADD CONSTRAINT C1 PRIMARY KEY(ID) ALTER TABLE 员工ADD CONSTRAINT C2 PRIMARY

单片机实验报告

哈尔滨师范大学计算机科学与信息工程学院 实验报告手册 课程名称:嵌入式系统原理与应用指导教师:王洪侠 专业:计算机科学与技术20 18 年—20 19 年第 1 学期姓名:吴晗学号:2016040860 年级:2016级班级: 2 班

实验报告内容 实验题目:P1口输出实验 实验目的:通过实验了解P1口做为输入输出方式使用时,CPU对P1口的操作方式 实验要求:控制8个LED灯,完成从左到右然后从右到左再从左到右依次的循序流水实验器材:计算机和普中科技STC89C52单片机电路板 实验步骤/程序流程分析: 1.单片机由P2口控制流水灯 2.根据题目要求实现每点亮一盏灯就熄灭前一盏 3.套用循环实现从左到右的动态流水式亮灯 4.完成从左到右再从右到左再从左刀右流水亮灯 程序源代码: #include "reg52.h" #include typedef unsigned int u16; typedef unsigned char u8; #define led P2 void delay(u16 i) { while(i--); } void main() { u8 i; led=0xfe; delay(50000); // while(1) { /* for(i=0;i<8;i++) { P2=~(0x01<

单片机实验报告(学期全部实验)

单片机程序设计 实 验 报 告 姓名: 学号: 专业班级:

第二节课: 实验一:1357,2468位置的灯交替闪烁 一实验要求 1357,2468位置的灯交替闪烁。 二硬件连接图与结果 三原理简述 程序直接控制LED各位置的灯亮灭,时间间隔简单的用了一个延时的语句。四程序 #include main () { int i; P0=0XAA; //1357四个灯亮 for (i=0;i<=25000;i++); //延时程序 P0=0X55; //2468四个灯亮 for (i=0;i<=25000;i++); //延时程序 }

五所遇问题与解决方式 程序比较简单,没有遇到问题。 实验二:流水灯 一实验要求 流水灯,一个接一个的灯亮,亮到最后一个后,全部的灯亮,然后重头开始。二硬件连接图与结果 三原理简述 程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转

移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。时间间隔简单的用了一个延时的语句。 因为移位时是直接补0,发送低电平不亮,所以直接移位达到要求。 四程序 //流水灯 #include main () { int i,j; while(1) { P0=0X01; //第1个灯亮 for (i=0;i<=30000;i++); //延时程序 for(j=0;j<=7;j++) //移位循环程序 { P0=P0<<1; //移位 for (i=0;i<=30000;i++); //延时程序 } P0=0xff; //全亮 for (i=0;i<=30000;i++); //延时程序 } }

单片机实验报告

单片机实验报告 姓名:姚竞华 班级:电自094 学号:09401300420

实验一存储器读写 一、实验目的: 1、寄存器、存储器读写等汇编指令; 2、掌握编程软件编辑、编译、调试等基本操作; 3、学习简单程序的基本调试方法。 二、实验内容 将70H-7FH16个字节单元的数据复制到片外存储器2000H开始的地址单元中,程序清单如下: ORG 0000H SJMP START ORG 0030H START: MOV R1,10H ;一共16个数据 MOV R0,#70H ;原数据首地址 MOV DPTR,#2000H; 片外存储单元首地址 MOV 70H,#00H;送入原始数据,把70H-71H中分别送入00H-0FH MOV 71H,#01H MOV 72H,#02H MOV 73H,#03H MOV 74H,#04H MOV 75H,#05H MOV 76H,#06H MOV 77H,#07H MOV 78H,#08H MOV 79H,#09H MOV 7AH,#0AH MOV 7BH,#0BH MOV 7CH,#0CH MOV 7DH,#0DH MOV 7EH,#0EH MOV 7FH,#0FH LOOP: MOV A,@R0;循环送入2000H-200FH

MOVX @DPTR,A INC R0 INC DPTR DJNZ R1,LOOP END 三、调试结果

实验二数据排列 一、实验目的 掌握汇编语言分支结构的应用。 二、实验内容 将R0、R1、R2中的数据从大到小排列,并分别从放在70H-71H中。程序清单如下:ORG 0000H SJMP START ORG 0030H START: MOV R0,#02H;分别向R0-R1中写入数据 MOV R1,#05H MOV R2,#03H MOV A,R0 SUBB A,R1;R0-R1 JC SUB1 LOOP1: MOV A,R0 SUBB A,R2;R0-R2 JC SUB2 MOV A,R1 SUBB A,R2;R1-R2 JC SUB3 AJMP OVER; R0>R1>R2 SUB3: CLR C MOV A,R1 XCH A,R2 MOV R1,A AJMP OVER; R0>R2>R1 SUB2: CLR C MOV A,R0 XCH A,R2 MOV R0,A MOV A,R1 XCH A,R2 MOV R1,A AJMP OVER;R2>R0>R1 SUB1: CLR C ;清除C位 MOV A,R0;R0与R1互换

单片机实验报告

单片机实验报告 标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

(理工类) 课程名称:单片机原理及应用专业班级:07电子信息工程(2)班学生学号: 02 学生姓名:师中秋 所属院部:信息技术学院指导教师:徐志国 20 10 ——20 11 学年第 1 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:存储器块清零实验学时: 2学时 同组学生姓名:张炎实验地点: B403 实验日期: 2010-10-12 实验成绩: 批改教师:批改时间: 一、实验目的和要求 1、实验目的 (1)掌握存储器读写方法 (2)了解存储器的块操作方法 2、实验要求 指定存储器中某块的起始地址和长度,要求能将其内容清零。 二、实验仪器和设备 伟福LAB6000仿真实验系统,奔腾以上计算机,装有WAVE集成调试软件三、实验过程 实验程序: Block equ 4000h mov dptr, #Block ; 起始地址 mov r0, #0 ; 清 256 字节 clr a Loop:

单片机实验报告

单片机原理与应用实 验报告 学校:合肥工业大学 班级:计算机科学与技术 学号: 姓名:

第一章MC51 单片机原理及应用软件实验 实验1:系统认识实验 1.实验目的 (1)了解ZY15MCU12BC2单片机实验开发装置的接线与安排。掌握实验箱内拨位开关KF,KC的使用方法。 (2)通过实例程序的编辑、编译、链接及调试,熟悉Keil C51软件的使用方法和基本操作。(3)教育学生爱抚实验装置,养成良好的实验习惯。 2.试验设备 (1)ZY15MCU12BC2单片机实验开发装置一台。 (2)PC系列微机及相关软件。 3.试验内容 (1)使用串行通讯电缆将实验开发装置与PC机相连。 (2)开启PC机及实验开发装置,启动Keil C51软件进入uVision2集成开发环境。 (3)确认拨位开关KF的开关为A端,确认89C51处于仿真状态。 (4)在uVision2开发平台上建立并编辑示例程序: 计算N个数求和程序。其中N个数分别放在片内RAM区50H到55H单元中,N=6,求和的结果放在片内RAM区03H(高位)和04H(低位)单元中。 题目: 1)32H+41H+01H+56H+11H+03H=? 2)895H+02H+02H+44H+48H+12H=? (5)编译连接源程序。 (6)在Keil uVision2主菜单窗口进入DEBUG调试环境,打开存储器窗口输入数据至片内RAM区50H到55H单元中,全速运行程序,并检查程序的运行结果,即观察在存储器窗口片内RAM区03H(高位)、04H(低位)单元中的数据是否正确。 (7)实验结束,撤出接线,将一切整理复原。 4.实验源程序 ORG 0000H LJMP MAIN ORG 1000H MAIN: MOV R2,#06H MOV R3,#03H MOV R4,#04H MOV R0,#50H L1: MOV A,R4

单片机实验报告

目录 一、实验一 (1) 二、实验二 (7) 三、实验三 (11) 四、实验四 (15)

实验一定时/计数器验证实验 一、实验目的 熟悉定时/计数器T0的特点,学会合理选择定时方式并能根据具体情况结合软件的方式定时。 二、实验设备及器件 IBM PC机一台 PROTEUS 硬件仿真软件 Keil C51。 三、实验内容 用AT89C51单片机的定时/计数器T0产生1s的定时时间,作为秒计数时间,当1s产生时秒计数加1;秒计数到60时,自动从0开始。 四、实验要求 要求采用Proteus软件实现上述实验。 五、实验步骤 1.打开Proteus ISIS编辑环境,按照表1-1所列的元件清单添加元件。 表1-1 元件清单 元件全部添加后,在Proteus ISIS的编辑区域中按图1-1所示的原理图连接硬件电路。

图1-1 电路原理图 2.根据参考程序绘出流程图,并辅以适当的说明。 流程图如图1-2所示:

图1-2 程序流程图 3.打开KeilμVision4,新建Keil项目,选择AT89C51单片机作为CPU,将参考 程序导入到“Source Group 1”中。在“Options for Target”对话窗口中,选中“Output”选项卡中的“Create HEX File”选项和“Debug”选项卡中的“Use:Proteus VSM Simulator”选项。编译汇编源程序,改正程序中的错误。 4.在Proteus ISIS中,选中AT89C51并单击鼠标左键,打开“Edit Component” 对话窗口,设置单片机晶振频率为12MHz,在此窗口中的“Program File” 栏中,选择先前用Keil生成的.HEX文件。在Proteus ISIS的菜单栏中选择“File”→“Save Design”选项,保存设计,在Proteus ISIS的菜单栏中,打开“Debug”下拉菜单,在菜单中选中“Use Remote Debug Monitor”选项,以支持与Keil的联合调试。 5.在Keil的菜单栏中选择“Debug”→“Start/Stop Debug Session“选项,

单片机实验报告

单 片 机 实 验 报 告 姓名:钟林春班级:0801205 学号:2012212963 任课教师:张开碧上课地点:S411

实验一流水灯实验 一、实验目的及要求 1、闪烁的LED; 2、从左到右的流水灯; 3、8只LED左右来回点亮; 4、LED模拟交通灯。 要求1:LED按设定的时间间隔闪烁 要求2:接在P0口的8个LED从左到右循环依次点亮,产生走马灯效果要求3:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果; 二、实验原理 电路图1、 电路图2、

三、源程序 要求1: #include #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { while(1) { LED=~LED; DelayMS(150); } } 要求2: #include #include //包含程序中的_cror_(P0,y) #define uchar unsigned char #define uint unsigned int uchar led; void delay(unsigned int i) { uint j; uchar k; for(j=i;j>0;j--) for(k=125;k>0;k--); } void main() { led=0x7f;//只亮第一个 delay(1000); while(1) { P0=led; delay(500);

单片机实验报告

单片机实验报告 实验一数据传送(RAM–>XRAM) 一、实验目的 熟悉星研集成环境软件或熟悉Keil C51集成环境软件的使用方法。 熟悉MCS51汇编指令,能自己编写简单的程序,掌握数据传输的方法。 二、实验内容 1、熟悉星研集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。 2、编写程序,实现内外部数据段的传送、校验。 三、程序框图 数据传送程序框图 四、实验步骤 在内部RAM 30H ~3FH中输入数据;使用单步、断点方式调试程序,检测外部数据RAM 的1000H ~100FH中的内容。熟悉查看特殊功能寄存器、内部数据RAM、外部数据空间的各种方法。 五、程序清单 ;将内部RAM Address1 开始的16个字节送到外部RAM从Address2开始的单元里,再作比较。 Address1 DATA 30H Address2 XDATA 1000H ORG 0000H LJMP STAR ORG 0100H STAR: MOV SP,#60H MOV R0,#Address1 MOV DPTR,#Address2

MOV R7,#10H STAR1: MOV A,@R0 ;传送 MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,STAR1 MOV R0,#Address1 MOV DPTR,#Address2 MOV R7,#10H STAR2: MOV B,@R0 ;比较 MOVX A,@DPTR CJNE A,B,STAR3 INC R0 INC DPTR DJNZ R7,STAR2 SJMP $ ;传送正确STAR3: SJMP $ ;传送错误 END

单片机的实验报告

单片机实验报告 实验一:存储器块清零或赋值 一、实验目的 1 熟悉存储器的读写方法,熟悉51汇编语言结构。 2 熟悉循环结构程序的编写。 3 熟悉编程环境和程序的调试。 二、实验内容 指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。例如将4000H开始的10个字节内容清零或全部赋值为33H。 注意: 1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。 2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容 3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR 4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。 5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。 三、实验仪器 微机、VW,WAVE6000编程环境软件,(单片机实验箱)

Lab6000/Lab6000通用微控制器 MCS51实验 四、实验步骤 1、新建工程文件。(注意:文件不要用中文名称保存时不要用中文路径) 2、编写程序。 3、运行和调试过程。 外部数据存储器(4000H为首地址的10个字节)中初始状态(随便赋值FFH): 单步执行程序,观察SFR中外部地址指针的变化; 全速执行程序,可以看到外部数据存储器已赋值33H:

五、实验结果 可以看到外部数据存储器已赋值33H: 六、问题讨论 本次实验能够清楚地了解存储器中数据的移动和赋值过程,通过单步执行,对于每一步的指令操作过程能够了解如何执行,查看每条语句涉及到的寄存器和存储器内容的变化结果。同时,学习掌握汇编程序的编写和调试过程。 实验二:存储块移动

单片机实验报告

系统认识实验 一、实验目的 1、熟悉nKDE-51单片机教学实验系统。 2、掌握集成环境的使用方法。 3、掌握简单C51程序的输入,编辑,编译,下载,运行,调试,排错,结果观察的方法与步骤。 二、实验内容及要求 1、观察单片机教学实验系统的组成结构,熟悉各模板功能及芯片配置。 2、利用单片机的P0口接8个发光二极管,用C51编程实现;当开关动作时,对应的发光二极管亮或灭。 3、在集成开发环境下,建立工程文件并加入源程序,经编译排错后生成.HEX目标文件并下载到单片机,然后运行程序,观察结果,如有问题,则修改源程序,重复上述过程,最终完成设计任务。 三、实验设备 硬件:PC机,nKDE-51 单片机实验教学系统,P89V51RD2单片机 软件:KeilC51集成开发软件。 四、实验步骤 1、设计实验电路。 2、启动集成调试环境:双击Keil uVision3图标。 3、建立新工程(项目):点击project菜单——选择建立新工程,工程名自定, CPU类型:NXP——P89V51RD2 4、设置工程参数:output——选勾生成.HEX文件,debug——选use——keil monitor-51driver,最后确定。 5、建立源文件:file——选file new——源程序编辑窗口——输入、编辑、保

存源文件(文件名自定,但一定是.c格式)。 参考程序如下: #include void main (void) { unsigned char i ; P1=0xff; for(;;) { i=P1 ; P0=i;} } 6、在工程中加源文件:工程窗口——右击Source group弹出菜单,加入新 文件。 7、编译链接:project——选建立所有文件。 8、下载调试:debug——启动debug(同时下载)——设置PC指向程序运 行起点——run(连续运行)。 9、实验接线: CPU板的J1或J5(P0)接基本IO板的J4(LED),基本IO板的J7(开关)接CPU板的J2或J6(P1)。 10、观察和记录运行结果: 截图如下:

单片机实验报告

单片机实验报告 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

目录 一、实验 一 (1) 二、实验 二 (7) 三、实验 三 (11) 四、实验 四 (15)

实验一定时/计数器验证实验 一、实验目的 熟悉定时/计数器T0的特点,学会合理选择定时方式并能根据具体情况结合软件的方式定时。 二、实验设备及器件 IBM PC机一台 PROTEUS 硬件仿真软件 Keil C51。 三、实验内容 用AT89C51单片机的定时/计数器T0产生1s的定时时间,作为秒计数时间,当1s产生时秒计数加1;秒计数到60时,自动从0开始。 四、实验要求 要求采用Proteus软件实现上述实验。 五、实验步骤 1.打开Proteus ISIS编辑环境,按照表1-1所列的元件清单添加元件。 表1-1 元件清单 元件全部添加后,在Proteus ISIS的编辑区域中按图1-1所示的原理图连接硬件电路。

图1-1 电路原理图 2.根据参考程序绘出流程图,并辅以适当的说明。 流程图如图1-2所示:

图1-2 程序流程图 3.打开KeilμVision4,新建Keil项目,选择AT89C51单片机作为CPU, 将参考程序导入到“Source Group 1”中。在“Options for Target”对话窗口中,选中“Output”选项卡中的“Create HEX File”选项和“Debug”选项卡中的“Use:Proteus VSM Simulator”选项。编译汇编源程序,改正程序中的错误。 4.在Proteus ISIS中,选中AT89C51并单击鼠标左键,打开“Edit

南邮51单片机软件实验程序1----数据传送

一、数据传送 1.实验目的 (1)熟悉51单片机的开发环境Keil C51 (2)掌握8051单片机内部数据存储器、外部数据存储器的数据传送特点和应用 (3)掌握MOV, MOVX和MOVC类指令的用法及区别 2.实验内容 (1)将内部数据存储器20H为首地址的十六个字节传送到30H 为首地址的数据区,即:20H~2FH送30H~3FH。 ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV R0 , #20H MOV R1 , #30H MOV R2 , #16 LOOP: MOV A , @R0 MOV @R1 ,A INC R0 INC R1 DJNZ R2 , LOOP SJMP $ END (2)将外部数据存储器2000H~200FH单元的十六个数传送至 内部数据存储器的30H~3FH。 ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV DPTR , #2000H MOV R0 , #30H MOV R2 , #16 LOOP: MOVX A , @DPTR MOV @R0 , A INC DPTR INC R0 DJNZ R2 , LOOP END (3)建立一个数字0~9的ASCII码表,表格放在程序存贮器区 首址为1000H的十个单元内,编程根据R0中的内容来查 表,所得结果存放在寄存器B中,注意R0中的内容不在 0~9范围时的处理。 ORG 0000H LJMP MAIN ORG 0030H

MAIN: MOV R0,#9 MOV DPTR,#TABLE MOV A,R0 CJNE A,#10,MAIN1 MAIN1: JNC MAIN MOVC A,@A+DPTR MOV B,A SJMP MAIN ORG 1000H TABLE: DB 30H,31H,32H,33H,34H, DB 35H,36H,37H,38H,39H END

相关主题
文本预览
相关文档 最新文档