当前位置:文档之家› 哈工大单片机实验代码(张毅刚版教材)(10个)

哈工大单片机实验代码(张毅刚版教材)(10个)

哈工大单片机实验代码(张毅刚版教材)(10个)
哈工大单片机实验代码(张毅刚版教材)(10个)

电路图用张毅刚版教材里给的图!!!!1、流水灯

#include<>

#include<>

void delay()

{

unsigned char i,j;

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

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

}

void main()

{

P2=0xfe;

while(1)

{

P2=_crol_(P2,1);

delay();

}

}

2、单个外部中断

#include<>

#include<>

void delay(unsigned char delay_time) {

unsigned int i,j;

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

for(j=0;j<=100;j++); }

void init_tx()

{

EA=1;

EX0=1;

IT0=0;

}

void main()

{

P1=0x00;

init_tx();

delay(200);

while(1)

{

P1=~P1;

delay(200);

}

}

void tx0() interrupt 0 {

P1=0xfe;

while(!INT0)

{

P1=_crol_(P1,1);

delay(200);

}

P1=0xff;

}

3、定时器

#include<>

unsigned char t=20;

sbit button=P3^2;

sbit yellowled=P1^0; /*定义接口*/ void main()

{

TMOD=0x01; /*选择中断方式*/ EA=1;

ET0=1;

TH0=0x3c;

TL0=0x0b;

while(button==0)

{

TR0=1;

}

yellowled=1;

}

void tx() interrupt 1

{

TH0=0x3c;

TL0=0xb0;

t--;

if(t==0)

{

yellowled=~yellowled;

t=20;

}

}

4、双机串行通信

#include<>

#define uchar unsigned char

#define uint unsigned int

#define outk P1

#define out1 P0

#define out2 P2

uchar code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; uchar key,send,rec;

uchar scan(void);

void delay(unit);

void main(void)

{

TMOD=0X20; /*设置定时器T1为方式2*/

TH1=0XF2; /*给定时器T1赋初值*/

TH1=0XF2;

TR1=1; /*接通定时器T1*/

SCON=0X50; /*串行口方式1,REN=1允许接收*/

PCON=0X00; /* SMOD=0*/

EA=1;

ES=1;

EX1=1;

EX0=1;

while(1)

{

outk=0x07;

out1=seg[send];

out2=seg[rec];

}

}

uchar scan(void)

{

uchar k=10,m,n,in;

delay(10);

outk=0x07;

if((outk&0x07)!=0x07)

{

for(m=0;m<3;m++)

{

outk=~(0x01<<(m+3));

for(n=0;n<3;n++)

{

in=outk;

in=in>>n;

if((in&0x01)==0)

{

if((in&0x01)==0)

{

k=n+m*3;

break;

}

}

}

if(k!=10)break;

}

}

return(k);

}

void delay(uint j)

{

uchar i;

for(;j>0;j--)

{

i=250;

while(--i);

i=249;

while(--i);

}

}

void ext0()interrupt 0

{

EX0=0;

key=scan();

if(key!=10)send=key+1; EX0=1;

}

void ext1()interrupt 2

{

ES=0;

SBUF=send;

while(!TI);

TI=0;

ES=1;

}

void com()interrupt 4

{

RI=0;

rec=SBUF;

}

5、单片机与PC串行通信

#include <>

void send(unsigned char dat) {

SBUF=dat;

while(TI==0);

;

TI=0;

}

void init_tx()

{

EA=1;

EX0=1;

}

void delay(void)

{

unsigned char m,n;

for(m=0;m<250;m++)

for(n=0;n<250;n++)

;

}

void main(void)

{

init_tx();

TMOD=0x20;

SCON=0x40;

PCON=0x00;

TH1=0xfd;

TL1=0xfd;

TR1=1;

while(1);

}

void tx0() interrupt 0 {

unsigned char i=0;

send(0x01);

delay();

i++;

}

6、扩展82c55并行IO接口

#include<>

#include<>

#define uchar unsigned char

#define uint unsigned int

sbit rst_8255=P3^5;

#define con_8255 XBYTE[0x7003] /*0x7003为82C55的控制寄存器地址*/ #define pa_8255 XBYTE[0x7000] /*以下定义pa、pb的端口地址*/

#define pb_8255 XBYTE[0x7001]

void reset_8255(void);

void delay(uint);

void main(void)

{

uchar temp;

rst_8255=1; /*复位*/

delay(1);

rst_8255=0;

con_8255=0x82;

while(1)

{

temp=pb_8255; /*锁存*/

pa_8255=temp;

}

}

void delay(uint j) /*延时函数*/

{

uchar i;

for(;j>0;j--)

{

i=250;

while(--i);

i=249;

while(--i);

}

}

7、矩阵键盘

#include<>

unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1, 0x86,0x8e};

void delay()

{

unsigned char i,j; (延时)

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

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

}

unsigned char key_scan()

{

unsigned char key0,key1;

unsigned char key_num=0;

P1=0x0f; 先将~置高

key0=P1;

if(key0!=0x0f) 如果~不全为1,可能有键按下

{

delay();

key0=P1;

if(key0!=0x0f)

{

P1=0xf0;

key1=P1;

if(key0==0x0e)

{

switch(key1)

{

case 0xe0: key_num=0;break;

case 0xd0: key_num=1;break;

case 0xb0: key_num=2;break;

case 0x70: key_num=3;break;

default: key_num=0;break;

}

}

else if(key0==0x0d)

{

switch(key1)

{

case 0xe0: key_num=4;break;

case 0xd0: key_num=5;break; (处理5号键)

case 0xb0: key_num=6;break;

case 0x70: key_num=7;break;

default: key_num=0;break; (无效按键,如多个键同时按下) }

}

else if(key0==0x0b)

{

switch(key1)

{

case 0xe0: key_num=8;break;

case 0xd0: key_num=9;break;

case 0xb0: key_num=10;break;

case 0x70: key_num=11;break;

default: key_num=0;break;

}

}

else if(key0==0x07)

{

switch(key1)

{

case 0xe0: key_num=12;break;

case 0xd0: key_num=13;break;

case 0xb0: key_num=14;break;

case 0x70: key_num=15;break;

default: key_num=0;break;

}

}

}

}

return key_num;

}

void main()

{

unsigned char key_num;

do{

key_num=key_scan();

P2=table[key_num];

}while(1);

}

8、1602液晶显示

#include<>

#include<>

#define uchar unsigned char

#define uint unsigned int

#define out P0

sbit RS=P2^0;

sbit RW=P2^1;

sbit E=P2^2;

void lcd_initial(void);

void check_busy(void);

void write_command(uchar com); void write_data(uchar dat); void string(uchar ad,uchar *s); void lcd_test(void);

void delay(uint);

void main(void)

{

lcd_initial();

while(1)

{

string(0x82,"Hello Welcome");

string(0xC2,"To China");

delay(100);

write_command(0x01);

delay(100);

}

}

void delay(uint j)

{

uchar i=250;

for(;j>0;j--)

{

while(--i);

i=249;

while(--i);

i=250;

}

}

void check_busy(void)

{

uchar dt;

do

{

dt=0xff;

E=0;

RS=0;

RW=1;

E=1;

dt=out;

}while(dt&0x80);

E=0;

}

void write_command(uchar com) {

check_busy();

E=0;

RS=0;

RW=0;

out=com;

E=1;

_nop_();

E=0;

delay(1);

}

void write_data(uchar dat)

{

check_busy();

E=0;

RS=1;

RW=0;

out=dat;

E=1;

_nop_();

E=0;

delay(1);

}

void lcd_initial(void)

{

write_command(0x3c);

write_command(0x0C);

write_command(0x14);

write_command(0x01);

delay(1);

}

void string(uchar ad,uchar *s) {

write_command(ad);

while(*s>0)

{

write_data(*s++);

delay(100);

}

}

9、DA转换

#include<>

#define uchar unsigned char

#define uint unsigned int

#define out P1

sbit DAC_cs=P2^0;

sbit DAC_wr=P2^1;

void main(void)

{

uchar temp,i=255;

while(1)

{

{

out=temp;

DAC_cs=0; /*片选端,芯片被选中*/

DAC_wr=0; /*选通,并被锁存*/

DAC_cs=1; /*以下开始转换*/

DAC_wr=1;

temp++;

while(--i); /*延时函数!!,老师帮改的*/ }

}

}

10、AD转换

#include<>

#define uchar unsigned char

#define uint unsigned int #define LED P0

#define out P1

sbit start=P2^1;

sbit OE=P2^7;

sbit EOC=P2^3;

sbit CLOCK=P2^0;

sbit add_a=P2^4;

sbit add_b=P2^5;

sbit add_c=P2^6;

void main(void)

{

uchar temp;

add_a=0;

add_b=0;

add_c=0;

while(1)

{

start=0;

start=1;

start=0;

while(1)

{

CLOCK=!CLOCK;

if(EOC==1)

{

break;}

OE=1;

temp=out;

OE=0;

LED=temp;

}

}

}

单片机实验报告

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/7f16906905.html,TE0 =1; //RE0=1输出高电平+5V,亮灯 delay(); //延时 https://www.doczj.com/doc/7f16906905.html,TE0 =0; //RE0=0输出低电平0V,灭灯 delay(); //延时 } } void delay(void) { long int i; for (i=0;i<65000;i++); } 实验现象:将程序下载到实验板上,运行程序,LED闪烁,通过改变延时函数改变延时时间,进而可以改变LED闪烁的频率。

数据库系统基础课后题

《数据库系统基础》课后练习题 数据库系统基础 课后练习题 哈尔滨工业大学计算机科学与技术学院

《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言 1.分别用关系代数、元组演算、SQL语句完成CAP数据库的查询。 CAP数据库有四个关系(表): Customers(cid, cname, city, discnt), 客户定义表,描述了客户的唯一标识 cid,客户名称cname,客户所在的城市city,以及该客户购买产品时所可能给予的折扣discnt Agents(aid, aname, city, percent), 代理商定义表,描述了代理商的唯一标识aid, 代理商名称aname, 代理商所在的城市city,以及该代理商销售产品时所可能给予的佣金/提成percent(以百分比形式表达) 哈尔滨工业大学计算机科学与技术学院

《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言 (1) 找出订单总价大于或者等于$1000的(ordno, pid)对 哈尔滨工业大学计算机科学与技术学院

《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言 (2) 找出所有价格在$0.50和$1.00之间的商品名字,包括边界价格 哈尔滨工业大学计算机科学与技术学院

《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言 (3) 找出订单价格低于$500的(ordno, cname)对,使用一次连接 哈尔滨工业大学计算机科学与技术学院

《数据库系统基础》课后练习题关系代数、关系元组演算、SQL语言 (4) 找出所有三月份接受的订单的(ordno, aname)对,使用一次连接 哈尔滨工业大学计算机科学与技术学院

数据库实验3答案

实验三:交互式SQL语句的使用 1、实验目的 (1)掌握数据库对象的操作过程,包括创建、修改、删除 (2)熟悉表的各种操作,包括插入、修改、删除、查询 (3)熟练掌握常用SQL语句的基本语法 2、实验平台 使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。 3 实验容及要求 选择如下一个应用背景之一: ●学生选课系统 ●习题3、4、和5中使用的数据库 ●其它你熟悉的应用 (1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。 (2)要求认真进行实验,记录各实验用例及执行结果。 (3)深入了解各个操作的功能。 实验要求包括如下方面的容: 3.1 数据定义 1.基本表的创建、修改及删除 2.索引的创建 3.视图的创建 3.2 数据操作 完成各类更新操作包括: 1.插入数据

2.修改数据 3. 删除数据 3.3 数据查询操作 完成各类查询操作 1.单表查询 2.分组统计 3. 连接查询 4. 嵌套查询 5. 集合查询 3.4 数据操作 1.创建视图 2.视图查询 参考示例: 建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。 一、数据定义 创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表: 表1. Student表结构 表2. Course表结构

表3. SC表结构 1.创建、修改及删除基本表 (1)创建Student表 CREATE TABLE Student (Sno CHAR(8)PRIMARY KEY, Sname CHAR(8), Ssex CHAR(2)NOT NULL, Sage INT, Sdept CHAR(20) ); (2)创建Course表 CREATE TABLE Course (Cno CHAR(4)PRIMARY KEY, Cname CHAR(40)NOT NULL, Cpno CHAR(4), Ccredit SMALLINT, ); (3)创建SC表 CREATE TABLE SC (Sno CHAR(8)FOREIGN KEY (Sno)REFERENCES Student(Sno), Cno CHAR(4), Grade SMALLINT, ); (4)创建员工表Employee

哈工大单片机实验报告

软件实验 在软件实验部分,通过实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。 实验一清零程序 一、实验目的 掌握汇编语言设计和调试方法,熟悉键盘操作。 二、实验内容 把2000~20FFh的内容清零。 三、程序框图 四、实验过程 (1)实验中定义R0为循环次数,利用定义了初值的数据指针DPTR不断加1指向需要被清零的外部数据存储器单元。 (2)再利用MOVX语句,将外部存储器指定内容清零。 (3)用CJNE比较语句判断循环是否结束。 五、实验结果及分析

问题回答:清零前2000H~20FFH中为内存里的随机数,清零后全变为0。 六、实验源程序 ;清零程序 ORG 0000H MOV DPTR,#2000H MOV R0,#0FFH ORG 0660H MAIN: MOV A,#00H MOVX @DPTR,A INC DPTR DJNZ R0,MAIN END 实验二拆字程序 一、实验目的 掌握汇编语言设计和调试方法。 二、实验内容 把2000h的内容拆开,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。 三、程序框图 四、实验过程 (1)定义数据指针DPTR为2000H,将其中内容送入累加器A中,利用高低四位交换语句SWAP可将高四位移至低四位,再用语句ANL与0FH进行与操作取出高四位送入2001H低位 (2)再次让数据指针DPTR为2000H,将其中内容送入累加器A中,直接与0FH相与取出低四位送入2002H低位。 五、实验结果及分析

HIT软件学院数据库实验1

哈尔滨工业大学 <<数据库系统>> 实验报告之一 (2014年度春季学期)

实验一交互式SQL语言 一、实验目的 ●掌握SQL语句的语法 ●着重熟悉掌握利用SQL编写Select查询的方法 ●熟悉SQLite的用法 二、实验内容 ●1) 双击打开sqlite3.exe,该程序为SQLite数据库管理系统 ●2) 利用.help查看SQLite支持的控制台系统命令。注意系统命令结尾处 没有结束符“;”

●3) 阅读.help中对.databases 命令的说明,并查看输出结果 ●4) 阅读.help中对.open命令的说明,并使用该命令创建一个数据库(名 字任意)后缀名统一为“.db3”(可以没有后缀名,但不推荐) ●5) 再次运行.databases 命令,与步骤3的输出结果对比 ●6) 阅读.help中对.tables命令的说明,并使用该命令查看当前数据库的所 有表 ●7) 创建满足要求的关系表(使用create table) ●表一 ●表名:College(存储大学的信息) ●属性:cName(字符串存储的大学名字),state(字符串格式的大学所在

州),enrollment(整数形式的大学入学学费) ●表二 ●表名:Student(存储学生的信息) ●属性:sID(整数形式的学号),sName(字符串形式的学生名字),GPA (小数形式的成绩),sizeHS(整数形式的所在高中规模) ●表三 ●表名:Apply(存储学生申请学校的信息) ●属性:sID(整数形式的学号),cName(字符串形式的大学名字),major (字符串形式的专业名字),decision(字符串形式的申请结果) ●8)利用.tables查看当前数据库中的表,对比步骤6中的运行结果 ●9) 利用如下命令,将存储在txt文件中的元组导入数据库的关系中●.separator "," ●.import dbcollege.txt College ●.import dbstudent.txt Student ●.import dbapply.txt Apply

(完整word版)哈工大人工智能导论实验报告

人工智能导论实验报告 学院:计算机科学与技术学院 专业:计算机科学与技术 2016.12.20

目录 人工智能导论实验报告 (1) 一、简介(对该实验背景,方法以及目的的理解) (3) 1. 实验背景 (3) 2. 实验方法 (3) 3. 实验目的 (3) 二、方法(对每个问题的分析及解决问题的方法) (4) Q1: Depth First Search (4) Q2: Breadth First Search (4) Q3: Uniform Cost Search (5) Q4: A* Search (6) Q5: Corners Problem: Representation (6) Q6: Corners Problem: Heuristic (6) Q7: Eating All The Dots: Heuristic (7) Q8: Suboptimal Search (7) 三、实验结果(解决每个问题的结果) (7) Q1: Depth First Search (7) Q2: Breadth First Search (9) Q3: Uniform Cost Search (10) Q4: A* Search (12) Q5: Corners Problem: Representation (13) Q6: Corners Problem: Heuristic (14) Q7: Eating All The Dots: Heuristic (14) Q8: Suboptimal Search (15) 自动评分 (15) 四、总结及讨论(对该实验的总结以及任何该实验的启发) (15)

单片机实验报告

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

目录 第一章实验内容、目的及要求 (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.建立基本表 1)创建仓库表,由以下属性组成:仓库号(CHAR 型),城市(CHAR 型),面积(INT 型)。其中仓库号为主码,并且有面积>0 的限定条件 2)创建职工表,由以下属性组成:仓库号(CHAR型),职工号(CHAR型),工资(INT型)。其中职工号为主码,仓库号为外码,工资的限定条件为1000<=工资<=5000。 3)创建供应商表,由以下属性组成:供应商号(CHAR型),供应商名(CHAR型),地址(CHAR 型)。其中供应商号为主码。 4)创建订购单表,由以下属性组成:职工号(CHAR型),供应商号(CHAR型),订购单号(CHAR 型),订购日期(CHAR型)。其中订购单号为主码,职工号和供应商号为外码。 2.修改基本表 1)往订购单表中增加一个新的属性“完成日期”,DATETIME型,并且允许为空值。 2)将职工表中的工资属性类型改为SMALLINT 型。 3)删除刚才在订购单表中加入的“完成日期”属性。 二、索引操作 1.建立索引 1)在订购单表上建立关于供应商号的普通索引supidx。 2)在订购单表的多个字段建立索引sup_empidx,先按照供应商号升序索引,然后按照职工号升序索引。 2.删除索引 1)删除订购单表上的索引supidx。 2)删除订购单表上的索引sup_empidx。 (二)数据操作 一、插入数据 1)向仓库表插入下列数据:WH1,北京,370 WH2,上海,500 WH3,广州,200 WH4,武汉,400 2)向职工表插入下列数据:WH2,E1,1220 WH4,E2,1270 WH1,E3,1210 WH2,E4,1250 WH3,E5,1200 WH3,E6,1230 WH1,E7,1250 3)向供应商表插入下列数据: S1,利民电子元件厂,上海 S2,联华电子公司,武汉 S3,振华电子厂,西安

哈工大单片机实验报告(上传)

H a r b i n I n s t i t u t e o f T e c h n o l o g y 单片机原理与应用 实验报告 学生姓名: 学号: 班级: 专业: 任课教师: 所在单位: 2013年5月

软件实验 在软件实验部分,通过实验程序的调试,使学生熟悉MCS-51的指令系统,了解程序设计过程,掌握汇编语言设计方法以及如何使用实验系统提供的调试手段来排除程序错误。 实验一清零程序 一、实验目的 掌握汇编语言设计和调试方法,熟悉键盘操作。 二、实验内容 把2000~20FFh的内容清零。 三、程序框图 四、实验过程 实验中利用MOVX语句,将外部存储器指定内容清零。利用数据指针DPTR完成数据传送工作。程序采用用循环结构完成,R0移动单元的个数,可用CJNE比较语句判断循环是否结束。 五、实验结果及分析 清零前清零后

【问题回答】清零前2000H~20FFH中为内存里的随机数,清零后全变为0。 六、实验源程序 AJMP MAIN ORG 0640H MAIN: MOV R0, #00H MOV DPL, #00H MOV DPH, #20H LOOP: MOV A, #00H MOVX @DPTR, A INC DPTR INC R0 CJNE R0, #0FFH, LOOP MOVX @DPTR, A END 实验二拆字程序 一、实验目的 掌握汇编语言设计和调试方法。 二、实验内容 把2000h的内容拆开,高位送2001h低位,低位送2002h低位,2001h、2002h高位清零,一般本程序用于把数据送显示缓冲区时用。 三、程序框图 四、实验过程 将寄存器中内容送入2000H,分别将高低四位移到低位,将高四位置零然后移入2001H 和2002H中。利用MOVX语句、DPTR指针可实现数据的传送,利用高低四位交换语句SWAP和与语句ANL可进行对高低位的清零。

北邮大数据库实验三

实验三完整性及视图、索引 视图是基于某个查询结果的一个虚拟表,只是用来查看数据的窗口而已。索引能够提供一种以一列或多列的值为基础迅速查找数据表(或视图)中行的能力,用来快速访问数据表(或视图)中的数据。触发器是一种特殊的存储过程,它在特定语言事件发生时自动执行,通常用于实现强制业务规则和数据完整性。 【实验目的】 掌握MySQL视图、索引的使用,理解什么是数据库的完整性。 【实验要求】 1、每完成一个任务,截取全屏幕快照1~3作为中间步骤和结果的贴图,粘贴在最后的实验报告中。 2、除了使用我们提供的数据外还要自己向表中添加些新数据,以保证每个查询结果不为空集,或计数结果不为0。 3、思考题可以选做,作为优秀加分的依据。 【实验任务】 1、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号 及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。

2、创建一个视图,该视图为每门课程的平均成绩,视图包括的列有课程号、 课程名及平均成绩,并用利用该视图查询所有课程的平均成绩,要求给出课程号、课程名及平均成绩。

3、为院系代码表(dept_code)创建基于“院系代码”列的索引。 4、为教室信息表(classroom_info)创建基于room_id列的惟一索引并插入一 条room_id列与表中已有的值重复的数据,观察系统的反馈。

5、重新修改表stud_info、lesson_info及stud_grade,修改的容为: ①为三表增加主码约束,stud_info的主码为stud_id,lesson_info的主码为 course_id,stud_grade的主码为stud_id、course_id。

哈尔滨工业大学微处理器原理与应用实验报告

微处理器原理与应用 实验报告 姓名:王烁行 同组人:张绍文、马文佳、孙蓦征 学号:1080520406 班级:0805204 指导教师:赵彬 院系:电子信息工程

1 实验一简单I/O口扩展实验(一) 交通灯控制实验 1.1实验要求 扩展实验箱上的74LS273作为输出口,控制八个发光二极管燃灭,模拟交通灯管理。 1.2实验目的 1.学习在单片机系统中扩展简单I/O接口的方法 2.学习数据输出程序的设计方法 3.学习模拟交通灯控制的实现方法 1.3实验原理 本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。不妨将L1、L3、L5作为东西方向的指示灯,将L2、L4、L6作为南北方向的指示灯。而交通灯的燃灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。 各发光二极管共阳极,阴极接有与非门,因此使其点亮应使相应输入端为高电平。1.4 实验内容(包括实验电路和程序流程图) 按指导书搭接电路,调试程序并运行。

图1实验电路图 图2实验流程图

1.5 实验结果 实验现象与既定目标相符:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。 1.6 实验结果讨论分析 实验中发现交通灯在黄灯和红绿灯切换的时候有抖动和延时,初步估计是单片机定时系统不稳定以及程序的延时冗余没有添加所导致。 1.7 实验程序代码 PORT EQU 0CFA0H ;片选地址CS0 ORG 0000H LJMP BEGIN ORG 4100H BEGIN: MOV A,#03H ;1、2亮,其余灭 ACALL SHOW ;调用273显示单元 ACALL T03 ;延时3秒 EW: MOV A,#12H ;东西导通;南北截止 ACALL SHOW ACALL T10 ;延时10秒 MOV A,#02H ;东西截止;南北截止 ACALL SHOW SNBY: MOV A,#04H ;3亮,其余灭 ACALL SHOW ;调用273显示单元 ACALL T02 ;延时2秒 MOV A,#00H ; ACALL SHOW ACALL T02 ;延时2秒 MOV A,#04H ;3亮 ACALL SHOW ACALL T02 ;延时2秒 MOV A,#00H ;灭 ACALL SHOW ACALL T02 ;2秒 MOV A,#04H ;3亮 ACALL SHOW

数据库实验三

注意:在粘贴截图时请保留窗口完整标题,但只需保留关键界面,多余的空白界面请删除。 一、实验课时:4 二、实验目的 (1) 掌握使用T-SQL语句创建、删除数据库的方法。 (2) 掌握使用T-SQL语句创建、修改、删除表的方法。 (3) 掌握使用T-SQL语句创建、删除数据库完整性约束条件的方法。 (4) 掌握使用T-SQL语句对表添加、修改、删除数据的方法。 (5) 掌握使用T-SQL语句创建、修改、删除、查询视图的方法。 三、实验要求 (1) 使用SQL Server 2008查询分析器。 (2) 严格依照操作步骤进行。 (3) 在本地服务器中创建和管理数据库。 四、实验环境 (1) PC机。 (2) SQL Server 2008。 五、实验内容及步骤(请特别注意实验步骤:第6项的第1小项,即“插入数据”操作必须在第4项以前执行) ??? 1.使用Transact-SQL语句创建JOBS数据库,数据库名格式为 JOBS_SunYu(即JOBS_你的中文名字拼音) CREATE Database JOBS_DengZhiPeng;

2.使用Transact-SQL语句创建JOBS数据库包含的所有表 EMPLOYEE CREATE TABLE EMPLOYEE( EMPNO SMALLINT NOT NULL, SUPNAME VARCHAR(50)NOT NULL, FORENAMES VARCHAR(50)NOT NULL, DOB DATE NOT NULL, ADDRESS VARCHAR(50)NOT NULL, TELNO CHAR(10)NOT NULL, DEPNO SMALLINT NOT NULL ); JOBHISTORY CREATE TABLE JOBHISTORY( EMPNO SMALLINT NOT NULL, POSITION VARCHAR(50)NOT NULL, STARDATE DATE NOT NULL, ENDDATE DATE NULL, SALARY INT NOT NULL ); COURSE CREATE TABLE COURSE( COURSENO SMALLINT NOT NULL, CNAME VARCHAR(50)NOT NULL, CDATE DATE NOT NULL ); DEPARTMENT CREATE TABLE DEPARTMENT( DEPNO SMALLINT NOT NULL, DNAME VARCHAR(50)NOT NULL, LOCATION VARCHAR(10)NOT NULL, HEAD SMALLINT NOT NULL ); EMPCOURSE CREATE TABLE EMPCOURSE( EMPNO SMALLINT NOT NULL,

《Flexsim仿真实验》报告

安徽工业大学管理科学与工程学院 《Flexsim仿真实验》报告 专业物流工程班级流131 姓名潘霞学号 139094152 指导老师张洪亮 实验(或实训)时间十九周

实验报告提交时间 2016年7月7日 一、实验(或实训)目的、任务 1基本掌握全局表的使用 2理解简单的仿真语言 3简单使用可视化工具 二、实验(或实训)基本内容(要点) 运用Flexsim软件了解多产品加工生产系统仿真的过程。 模型介绍: 发生器产生四种临时实体,服从整数均匀分布,类型值分别为1、2、3、4,颜色分别为绿色、蓝色、白色、黄色,进入暂存区1;临时实体到达的时间间隔exponential(0,10,0) 然后随机进入处理器进行加工,可以使用的处理器有四个,不同类型的临时实体在处理器上的加工时间不同,详情如下表: 加工结束后,进入暂存区2存放,并由叉车搬运至货架。

同时,在各个处理器附近用可视化工具显示该处理器的实时加工时间。 三、实验(实训)原理(或借助的理论) 系统仿真的基本概念 系统、模型和系统仿真 系统式相互联系、相互作用、的对象的组合。可以分为工程系统和非工程系统。系统模型是反映内部要素的关系,反映系统某昔日方面本质特征,以及内部要素与外界环境关系的形同抽象。模型主要分为两大类:一类是形象模型,二类是抽象模型,包括概念模型、模拟模型、图标模型和数学模型等。 通过Flexsim可成功解决:提高设备的利用率,减少等候时间和排队长度,有效分配资源,消除缺货问题,把故障的负面影响减至最低,把废弃物的负面影响减至最低,研究可替换的投资概念,决定零件经过的时间,研究降低成本计划,建立最优批量和工件排序,解决物料发送问题,研究设备预置时间和改换工具的影响。 Flexsim软件的基本术语:Flexsim实体,临时实体,临时实体类型,端口,模型视图。 四、所使用到的实验设备、仪器、工具、图纸或软件等 计算机 Flexsim软件 五、实验(或实训)步骤 步骤一:模型布局 双击Flexsim图标打开应用程序,此时可看到Flexsim菜单、工具条、实

哈工大天线原理实验报告

Harbin Institute of Technology 天线原理实验报告 课程名称:天线原理 院系:电信学院 班级: 姓名: 学号: 指导教师: 实验时间: 实验成绩: 哈尔滨工业大学 一、实验目的 1.掌握喇叭天线的原理。

2.掌握天线方向图等电参数的意义。 3.掌握天线测试方法。 二、实验原理 1.天线电参数 (1).发射天线电参数: a.方向图:天线的辐射电磁场在固定距离上随空间角坐标分布的图形。 b.方向性系数:在相同辐射功率,相同距离情况下,天线在该方向上的辐射功率密度Smax与无方向性天线在该方向上的辐射功率密度S0之比值。 c.有效长度:在保持该天线最大辐射场强不变的条件下,假设天线上的电流均匀分布时的等效长度。 d.天线效率:表征天线将高频电流或导波能量转换为无线电波能量的有效程度。 e.天线增益:在相同输入功率、相同距离条件下,天线在最大辐射方向上的功率密度Smax与无方向性天线在该方向上的功率密度S0之比值。 f.输入阻抗:天线输入端呈现的阻抗值。 g.极化:天线的极化是指该天线在给定空间方向上远区无线电波的极化。 h.频带宽度:天线电参数保持在规定的技术要求范围内的工作频率范围。 (2).接收天线电参数: 除了上述参数以外,接收天线还有一些特有的电参数:等效面积和等效噪声温度。 a.等效面积:天线的极化与来波极化匹配,且负载与天线阻抗共轭匹配的最佳状态下,天线在该方向上所接收的功率与入射电波功率密度之比。 b.等效噪声温度:描述天线向接收机输送噪声功率的参数。 2.喇叭天线 由逐渐张开的波导构成,是一种应用广泛的微波天线。按口径形状可分为矩形喇叭天线与圆形喇 叭天线等。波导终端开口原则上可构成波导辐射器,由于口径尺寸小,产生的波束过宽;另外, 波导终端尺寸的突变除产生高次模外,反射较大,与波导匹配不良。为改善这种情况,可使波导 尺寸加大,以便减少反射,又可在较大口径上使波束变窄。 (1).H面扇形喇叭:若保持矩形波导窄边尺寸不变,逐渐张开宽边可得H面扇形喇叭。

实验报告(单片机)

实 验 报 告 实验课程:单片机原理及应用 实验名称:实验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、电路原理图

七人表决器实验报告

竭诚为您提供优质文档/双击可除七人表决器实验报告 篇一:哈工大电工学新技术实践实验报告-7人表决器 总成绩: 一、设计任务 1、有七人参与表决,显示赞同者个数。 2当赞同者达到及超过4人时,绿灯显示表示通过。 二、设计条件 本设计基于软件multisim10.0.1进行仿真,在电机楼实验室20XX5进行验证。 三、设计要求 1、熟悉74Ls161,74Ls151,数码管的工作原理。 2、设计相应的电路图,标注元件参数,并进行仿真验证。 四、设计内容 1.电路原理图(含管脚接线)电路原理图如图1所示 图1电路原理图 2.计算与仿真分析

仿真结果如图2、3、4所示 图2仿真结果 图4仿真结果 4.调试流程 调试流程如图5所示 图5调试流程 5.设计和使用说明 74Ls151芯片为互补输出的8选1数据选择器,引脚排列如图6所示,功能见表1。选择控制端(地址端)为c~A,按二进制译码,从8个输入数据D0~D7中,选择一个需要的数据送到输出端Y,g为使能端,低电平有效。 (1)使能端g=1时,不论c~A状态如何,均无输出(Y=0,w=1),多路开关被禁止。 (2)使能端g=0时,多路开关正常工作,根据地址码c、b、A的状态选择D0~D7中某一个通道的数据输送到输出端Y。如:cbA=000,则选择D0数据到输出端,即Y=D0。如:cbA=001,则选择D1数据到输出端,即Y=D1,其余类推。 图674Ls151引脚排列 表174Ls151功能表 74Ls161功能: (1)异步置“0”功能:接好电源和地,将清除端接低

电平无论其他各输入端的状态如何,测试计数器的输出端,如果操作无误Q3~Q0均为0。 (2)预置数功能:将清除端接高电平,预置控制端接低电平,数据输入端D3~D0置0011,在cp的上升沿作用后,测试输出端Q3~Q0的电平。如果操作准确,D3~D0的数据为0011,说明D3~D0的数据已预置到Q3~Q0端。 (3)计数和进位功能:将LD、cr、ceT、cep端均接高电平,cLK端输入单脉冲,记录输出端状态。如果操作准确,每输入一个cp 脉冲,计数器就进行一 篇二:课程设计报告---七人表决器设计 电子综合设计 题目 学院 专业 班级学生姓名指导教师 七人抢答器设计计信学院电子信息工程 20XX年6月18日 一、设计原理 所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。七人表决器顾名思义就是由七个人

数据库实验三报告

江西师范大学计算机信息工程学院学生实验报告专业___计算机科学与技术__ 姓名___燕悦__ 学号__1408091077_ 日期__ __

四.程序及运行结果(或实验数据记录及分析) 针对S_T数据库: 1)创建三个表:student course sc。程序: use S_T go /*创建Student表*/ create table student( Sno char(5) primary key not null check(Sno like '[0-9][0-9][0-9][0-9][0-9]'), Sname char(20) not null, Ssex char(2) not null check(Ssex in ('男','女')), Sage smallint not null check(Sage between 14 and 38), Sdept char(20) not null ); /*创建Course表*/ create table course( Cno char(4) not null primary key check(Cno like '[0-9][0-9][0-9][0-9]'), Cname char(40) not null, Cpno char(4), Ccredit smallint not null ); /*创建SC表*/ create table sc( Sno char(5) not null , Cno char(4) not null, Grade smallint check(Grade between 0 and 100), primary key(Sno,Cno)); 执行结果: 2)对course表进行修改。程序: /*修改course表,为Cpno列添加一个外键约束*/ alter table course add foreign key (Cpno) references course(Cno); 执行结果:

数据库 实验三答案

实验3 SQL语言 一、实验目的 1、掌握SQL中运算符和表达式的使用。 2、掌握实用SQL语言查询数据库。 二、实验要求 1、所有的实验过程请严格按照实验内容的步骤进行。 2、对关键步骤截屏并复制到实验报告的相应位置。 三、实验设备、环境 设备:计算机 环境:WINDOWS XP、SQL SERVER 2000中文版 四、实验原理、方法 上机操作 五、实验内容 准备工作:还原学生成绩管理数据库; 注意:写SQL语句时,注意学生成绩管理数据库中表名称和字段名称的对应。 1、使用SQL查询分析器,对学生成绩管理数据库完成如下查询操作: 1)简单查询 (1)求数学系学生的学号和姓名。 (2)求选修了课程的学生学号。

(3)求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。 (4)求选修课程0001且成绩在80~90之间的学生学号和成绩,并将成绩乘以系数0.8输出。 (5)求数学系或计算机应用系姓王的学生的信息。 (6)求缺少了成绩的学生的学号和课程号。

2)连接查询 (1)查询每个学生的情况以及他(她)所选修的课程。 (2)求学生的学号、姓名、选修的课程名及成绩。 (3)求选修0001课程且成绩为90分以上的学生学号、姓名及成绩。

3)嵌套查询 (1)求选修了0003的学生学号和姓名。 (2)求0001课程的成绩高于王军的学生的学号和成绩。

(3)求其他系中比计算机系某一学生年龄小的学生。 4)使用分组和函数查询 (1)求学生的总人数。 (2)求选修了课程的学生人数。

(3)求课程和选修0001的人数。 (4)求选修课超过3门课的学生学号。

单片机实验报告

哈尔滨师范大学计算机科学与信息工程学院 实验报告手册 课程名称:嵌入式系统原理与应用指导教师:王洪侠 专业:计算机科学与技术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<

(完整版)哈尔滨工业大学数据库试题(含答案)

试卷一(哈尔滨工业大学) 一、选择题(每题1分,共20分) 1.在数据管理技术的发展过程中,数据独立性最高的是()阶段。 A. 数据库系统 B. 文件系统 C. 人工管理 D. 数据项管理 2. ()是存储在计算机内的有结构的数据集合。 A. 网络系统 B. 数据库系统 C. 操作系统 D. 数据库 3. 在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是()。 A. 外模式 B. 内模式 C. 存储模式 D. 模式 4. 作为关系数据系统,最小应具备的关系运算是()。 A. 排序、索引、统计 B. 选择、投影、连接 C. 关联、更新、排序 D. 显示、打印、制表 5. 在select语句中使用group by Sno时,Sno 必须出现在()子句中。 A. where B. from C. select D. having 6. 在where语句的条件表达式中,与零个或多个字符匹配的通配符是()。 A. * B. ? C. % D. _ 7. 对关系模式进行分解时,要求保持函数依赖,最高可以达到()。 A. 2NF B. 3NF C. BCNF D. 4NF 8. 在关系模式R(U,F)中,Y∈XF+是X→Y是否成立的()。 A. 充分必要条件 B. 必要条件 C. 充分条件 D. 既不充分也不必要条件 9. 在关系数据库设计阶段中,完成关系模式设计的阶段是()。 A. 需求分析阶段 B. 概念设计阶段 C. 逻辑设计阶段 D. 物理设计阶段 10. 基本E-R图就是数据库的()。 A. 外模式 B. 逻辑模式 C. 内模式 D. 概念模式 11. 从数据流图构造E-R图时,选择实体一般应先考虑数据流图中的()。 A. 数据项 B. 数据流 C. 数据处理 D. 数据存储 12. 以下()不是当前常用的存取方法。 A. 索引方法 B. 聚簇方法 C. HASH方法 D. 链表方法 13. 事务一旦提交,对数据库的改变是永久的,这是事务的()。 A. 原子性 B. 一致性 C. 隔离性 D. 持久性 14. 并发控制要解决的根本问题是保持数据库状态的()。 A. 安全性 B. 完整性 C. 可靠性 D. 一致性 15. 在数据库系统中,对存取权限的定义称为()。 A. 授权 B. 定义 C. 约束 D. 审计 16. 视图建立后,在数据字典中存放的是()。 A. 查询语句 B. 视图的定义 C. 组成视图的表内容 D. 产生视图的表定义 17. 由全码组成的关系模式,最高可以达到的模式为()。 A. 4NF B. 2NF C. 3NF D. BCNF 18. 下列叙述中,正确的是()。 A. 对于关系数据模型,规范化程度越高越好 B. 如果F是最小函数依赖集,则R∈2NF C. 如果R∈BCNF,则F是最小函数依赖集

数据库实验三作业及答案.docx

实验3 SQL Server 数据表的管理 一、实验目的 1.学会使用企业管理器和Transact-SQL语句CREATE TABLE和ALTER TABLE创建和修改表。 2.学会在企业管理器中对表进行插入、修改和删除数据操作。 3.学会使用Transact-SQL语句对表进行插入、修改和删除数据操作。 4.了解SQL Server的常用数据类型。 二、实验准备 1.了解在企业管理器中实现表数据的操作,如插入、修改和删除等。 2.掌握用Transact-SQL语句对表数据进行插入(INSERT)、修改(UPDATE)和删除(DELETE和TRANCATE TABLE)操作。 三、实验内容及步骤 1.启动企业管理器,展开studentsdb数据库文件夹。 2.在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1-2、图1-3和图1-4所示。 图1-2 学生基本情况表student_info 图1-3 课程信息表curriculum 图1-4 学生成绩表grade 3.在企业管理器中创建student_info、curriculum表。 4.在企业管理器中,将student_info表的学号列设置为主键,非空。 5.使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表。 CREATE TABLE grade (学号varchar(4), 课程编号varchar(4), 分数decimal(5,0) ) 6.student_info、curriculum、grade表中的数据如图1-5、图1-6和图1-7所示。 图1-5 student_info的数据

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