当前位置:文档之家› 单片机_温度控制_课设报告

单片机_温度控制_课设报告

单片机_温度控制_课设报告
单片机_温度控制_课设报告

单片机温度控制系统

摘要:该实验设计基于飞思卡尔MC9S12DG128开发板平台,根据实验任务要求,完成了水温自动控制系统的设计,该系统的温度给定值可由人工通过键盘进行设定,测量温度经过A/D转换由数码管显示,通过PID控制算法对温度进行调节,使温度输出值在给定值上下波动,控制该系统的静态误差为1℃,用LED灯模拟加热强度,并用串口将输出的水温随时间的变化数值发到PC机上。关键字:飞思卡尔单片机水温控制MC9S12DG128

1、设计题目与设计任务

σ≤;3.温度误要求:1温度连续可调范围是30-150摄氏度;2 超调量20%

<±;4尝试使用能预估大滞后的方法,如史密斯预估,或大林算法;也可差0.5

用PID及改进算法。

内容:1.根据题目的技术要求,画出系统组成的原理框图;2. 给出系统硬件电路图;3.确定温度控制方案;4. 给出控制方法及控制程序;5.整理设计数据资料,课程设计总结,撰写设计计算说明书。

2、前言:

随着电子技术和计算机的迅速发展,计算机测量控制技术拥有操作简单、控制灵活、使用便捷以及性价比较高的优点,从而得到了广泛的应用。单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可以实现对数字信息的处理和控制,因此,单片机广泛应用于现代工业控制中。利用单片机对温度测量控制会大大提高系统的可靠性和准确性。

该设计实验是在实验室完成,实验任务是设计制作一个水温自动控制系统,控制对象为1L净水,容器为搪瓷器皿。水温由人工通过4*4的键盘设定,并能在环境温度改变时实现对水温的自动控制,采用PWM技术控制电阻丝的加热,加热强度由8个LED小灯模拟,以保持设定的温度基本不变,测量温度经过A/D 转换在4位数码管上显示(保留一位小数),并将温度每秒钟向计算机发送一次。

一、系统设计的功能

该系统的闭环控制系统框图如图1.1所示。

图1.1 水温控制系统结构框图

单片机对温度的测量控制是基于传感器、A/D转换器以及扩展接口和执行机构来进行的。在闭环过程控制系统中,过程的实时参数由传感器和A/D转换器来进行实时采集,并由单片机自动记录、处理并控制执行机构来进行调节和控制。

图1.2 系统功能框图

1.电源电路:提供HCS12MCU的芯片内部电压,I/O端口和外部供电电压。

2.复位电路:响应各种外部或侦测到的内部系统故障时进行系统复位。

3.晶振电路:产生总线时钟。

4.BDM接口电路:背景调试模式(BDM)是由Freescal半导体公司自定义的片上调试规范[1] 。

5.键盘:用于设定温度。

6.数码管:显示模拟的外界环境温度值。

7.Pt100:热电阻传感器,检测温度。

8.SSR:过零导通继电器,通过继电器的闭合断开对电阻丝进行加热或是不叫热。

二、硬件设计原理及内容

图2.1 实验电路原理图

本系统软件设计包括两个部分:管理程序和控制程序。管理程序包括LED 显示动态刷新、控制指示灯、处理键盘的扫描和响应、执行中断服务操作等等。控制程序包括A/D转换、数据采样、数字处理、PID计算等等。

2.1 单片机:单片机是整个控制系统的核心,在此我们用MC9S12DG128可

以提供系统控制所需要的I/0口、中断、定时以及存放中间结果的RAM

电路。

2.2 电源电路:电路图如图2.2所示。

图2.2 电源电路

电源电路部分的C21和C22构成的滤波电路,可以改善系统的电磁兼容性,降低电源波动对系统的影响,增强电路工作的稳定性。

2.3 复位电路:电路图如图2.3所示。

图2.3 复位电路

正常工作时,复位引脚通过4.7k电阻接到电源征集,所以应为高电平。若按下复位按钮RST1,则复位引脚为低电平,芯片复位。

2.4 晶振电路:电路图如图2.4所示。

图2.4 晶振电路

2.5键盘设置电路:电路图如图2.5所示。

图2.5 键盘电路

用4*4键盘设计温度输入,如上图所示,4条行线分别接P口的PP7~PP4,4条列线分别接P口的PP0~PP3,用扫描法获取键值,例如识别“1”键,编程时将PP0~PP3定义为输入并有上拉电阻,PP4~PP7定义为输出,那么当键按下时对应键值11101110,同理2键对应的键值11011110……编程实现当图中A键按下时,进入温度设定状态,设定完成后,按下B键,确定设定温度[2]。

2.6数码管显示电路:电路图如图2.6所示。

图2.6 数码管显示电路

数码管的a、b、c、d、e、f、g、DP分别接A口的PA0~PA7,上图中的3引脚作为片选线号引脚,外加驱动电路,驱动电路的输入接T口的PT0~PT3,七段式数码管,每一段相当于一个二极管,当PT0为高电平时,三极管导通,DS3为低电平,即被选中,此时判断A口状态,为低电平的那一段亮,高电平的段不亮,例如PORTA=11111110,数码管显示0[3]。

2.7温度检测电路:电路如图2.7所示。

图2.7 温度检测电路

Pt100与前置放大电路组成温度检测电路,Pt100作为温度传感器,测温范围主要在中低温区(-200~630℃),利用导体的电阻值随温度变化的特性

对与温度相关的参量进行检测[4]。将检测到的温度小信号,经过前置运算放大器进行信号放大。

三、系统软件设计流程

系统软件设计流程图如图3.1所示。

其中初始化包括串口初始化、键盘初始化、数码管初始化、A/D转换初始化、PWM初始化。继电器控制为当检测温度小于设定温度,使继电器闭合给电阻丝加热;当检测温度大于设定温度,使继电器断开,停止给电阻丝加热。

图3.1 系统软件流程图

四、调试过程及数据

在开始做这个设计的时候,先是把系统的每一部分都分成不同模块,每一个模块先单独作为一个工程建立,每一个模块调试成功之后才将各部分组合在一起,最终调试成为一个系统的。系统的模块分为:SCI串行口输入输出模块、LED 数码管显示模块、KB键盘输入模块、AD转换输入模块、PWM模块、定时器模块。

4.1 SCI串口调试

编写串口程序,包括SCI的初始化函数、发送数据函数、接收数据函数,通过BDM将编好的程序下载到单片机里,使程序编译通过,在SCI的调试主程序中通过输入字符,并让其在电脑自带的超级终端上显示,如果超级终端成功显示我们在键盘上输入的字符,则说明SCI串行口模块可以调用,如果显示不成功则需要继续对程序进行修改和编译。

问题:键盘输入的字符不在超级终端显示。

解决过程:首先直接在SCI调试主程序中直接调用发送数据函数,但是超级终端上仍然没有显示,然后检查程序发现所设SCI0BDL过大,因为实

验板的晶振16M,但是单片机MC9S12DG128中未启用锁相环,故

单片机的内部总线实际上只有16M/2,所以在串行口波特率要求

9600时,需要在程序的串口初始化中将SCI0BDL=0X80改为

SCI0BDL=0X34。

4.2 数码管调试

编程实现,用四个共阴极8段数码管显示要显示的四位数。

问题1:数码管不显示

解决过程:检查硬件连接,发现所用引脚和课本给出的不一致,通过修改连线,数码管显示正常数字。

问题2:数码管显示亮度不一致,现象如下图所示。

解决过程:发现延时时间比较短,增加延时时间,显示的亮度基本接近但还是有差异,因此该用定时中断的方式,此问题彻底得到解决,正常显示如下图所示。

4.3 键盘输入模块调试

在理解了4*4矩阵键盘的编程原理后,自己结合课本成功编译通过键盘程序。将按键值通过实验板上的八个LED等显示。

问题:有些按键对小灯没有影响。

解决过程:单步运行程序,发现那些对小灯没有影响的按键不会使PTP口的值改变,于是换个实验板,运行正常。

4.4 A/D转换输入调试

在编译通过AD转换程序后,联系数码管显示模块,用一个电位器的检测采样,用单片机的AD转换通道AN6输入采样信号,将其转化为30~150可变

数字,用以模拟温度30~150度的变化,并在数码管上显示。

问题:改变电位器,但是显示的值不变

解决过程:检查硬件电路,发现0~5V输出接到了AD7口上,而程序中采样信号是由A/D转换通道AN6输入的,改变接线,问题得到解决。

五、实验结果与心得

5.1 最终调试结果:1.通过键盘能够设定温度值;2.用电位器模拟温度变化时

数码管及时显示30到150摄氏度的变化,并且数码管的最后一位为小数部分;

3.用8个LED灯模拟加热强度。

4.此系统为自动控制系统,通过PID对其进

行调节,使输出温度在设定温度范围内波动。

5.2 实验心得:

通过本次的设计性实验,实验过程中设计到了很多学科的东西,例如计算机控制技术、检测技术、C语言、模拟电子技术、最主要的是嵌入式系统。实验前的准备工作是我学会了Altium Designer的使用,自己能过完成简单电路的绘制。

这次设计实验虽然只是模拟一个简单的水温控制系统,但是设计思路是相同的,由于老师给出了例子,这个我们提供了很大的帮助,使我们更快的着手实验,实验过程中遇到了很多问题,也使我认识到自己在嵌入式系统设计和编程方面的不足,让我意识到即使再简单的任务,我都要全力以赴的去完成,而不是在学习上投机取巧,要踏踏实实,一步一个脚印的去学习。或许学习的过程很漫长、很艰辛,但是会受益匪浅。

对于一个系统而言它是由多个功能模块组成的,实验中将整个系统分解开来,将每一个涉及的功能模块化,然后又逐步整合逐渐向最终目标靠拢的这种思维,这次实验的思维方式和实验过程,为复杂的系统设计提供了很好的借鉴作用。

六、参考资料

[1]嵌入式系统——使用HCS12微控制器的设计与应用.王宜怀P30 最小系统设计

[2]嵌入式系统——使用HCS12微控制器的设计与应用.王宜怀P134 键盘处理函数

[3]嵌入式系统——使用HCS12微控制器的设计与应用.王宜怀P139 扫描法LED显示

[4]检测技术——使用现代检测技术.金伟P46热电阻传感器

[5]计算机技术——使用计算机控制技术.顾德英P107 数字PID控制算法的计算机实现

附录:

1、源程代码

头文件

#include

//----------------------------------------------/ /

uchar Flag_Send = 0,Flag_ADC = 0; uint NUM = 0;

uint Temperature_Set = 600;

uchar RCVData[16];

//----------------------------------------------/ /

#define ReSendStatusR SCI0SR1

#define ReTestBit 5

#define SendTestBit 7

#define ReSendDataR SCI0DRL

#define EnableSCIReInt SCI0CR2 |= 0x20

#define DisableSCIReInt SCI0CR2 &= 0xdf

//----------------------------------------------/ /

#define LEDduan PORTA

#define LEDduan_DDRA DDRA #define LEDwei PTT

#define LEDwei_DDRT DDRT

//----------------------------------------------/ /

#define KB_P PTP

#define KB_D DDRP

#define KB_PE PERP

#define KB_PS PPSP

#define KB_IE PIEP

#define KB_IF PIFP

//----------------------------------------------/ /

#define SCFBit 7

#define kp 10000

#define ki 1000

#define kd 2000

//----------------------------------------------/ /

uchar KB_Table[33] =

{

0xee,'1',0xde,'2',0xbe,'3',0x7e,'4',

0xed,'5',0xdd,'6',0xbd,'7',0x7d,'8',

0xeb,'9',0xdb,'0',0xbb,'A',0x7b,'B',

0xe7,'C',0xd7,'D',0xb7,'E',0x77,'F',

0x00

};

uchar Duantable[11] =

{

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x00

};

uchar Weitable[4] = {0xf7,0xfb,0xfd,0xfe};

uint AD_wData = 0;

uchar LEDbuf[4] = {'0','0','0','0'};

//----------------------------------------------/ /

void AD_Init(void);

void ADCInit(void);

void Sample(void);

void KB_Init(void);

void Key_Del(void);

void LEDInit(void);

void LEDShow(uchar *data,uchar wei); void LEDShow1(uchar i,uchar c);

void SCIInit(void);

void SCISend1(uchar data);

void SCISendN(uchar n,uchar ch[]) ; void SendToSCI(void);

void ECT_Init(void);

void interrupt Int_TimerOverFlow(void);

uint ADCvalue(uchar channel);

byte PID(dword result);

uchar KB_Scan1(void);

uchar KB_Def(uchar KB_valve); uchar KB_ScanN(uchar KB_count);

主函数

#include

#include

//----------------------------------------------/ /

void LEDInit(void) //LED初始化

{

LEDduan_DDRA = 0xff; //段选PA口输出

LEDwei_DDRT |= 0x0f; //位选PT(低4位)位口输出

}

//----------------------------------------------/ /

void LEDShow(uchar *shuzi,uchar wei)//LED显示

{

uchar temp = 0;

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

//循环显示4位数码管

{

temp = shuzi[wei] - '0';

LEDShow1(3 - wei,temp); //调用1位显示函数

}

}

//----------------------------------------------/ /

void LEDShow1(uchar wei,uchar data) //1位数码管显示

{

LEDwei = Weitable[wei];

if(wei==2)

//第2位数码管加小数点

{

LEDduan = (~Duantable[data])&0x7f;

}

else

{

LEDduan = ~Duantable[data];

}

} //----------------------------------------------/ /

void KB_Init(void) //矩阵键盘I/O口初始化

{

KB_P = 0x00;

KB_D = 0x0f;

KB_PE = 0xf0;

KB_PS = 0x00;

KB_IE = 0x00;

KB_IF = 0xff;

}

//----------------------------------------------/ /

uchar KB_Scan1(void) //矩阵键盘扫描

{

uchar line ,i ,temp;

line = 0xfe; //第一行扫描

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

//循环扫描矩阵键盘

{

temp = KB_P;

temp |= 0x0f;

KB_P = temp & line;

asm("nop");asm("nop");asm("nop");

temp = KB_P;

temp &= 0xf0;

if(temp!=0xf0)

{

temp = KB_P;

break;

}

else

line = (line<<1) | 0x01; //准备扫描下一行

}

if(i==4)

{

temp = 0xff;

}

return (temp);

}

//----------------------------------------------/ /

uchar KB_Def(uchar KB_valve)

{

uchar KeyPress=0;

uchar i=0,j=0;

for(;;)

{

j = KB_Table[i];

if(j == 0)

{

KeyPress = 0xff;

break;

}

else

{

if(j == KB_valve)

{

KeyPress = KB_Table[i+1];

break;

}

else

{

i += 2;

}

}

}

return KeyPress;

}

//----------------------------------------------/ /

uchar KB_ScanN(uchar KB_count) {

uchar

i,KB_value_last,KB_value_now;

if(KB_count == 0 || KB_count == 1) {

return KB_Scan1();

}

KB_value_now = KB_value_last = KB_Scan1();

for(i = 0; i < KB_count - 1; i++)

{

if(KB_value_now == KB_value_last)

{

return KB_value_now;

}

else

{

KB_value_last = KB_value_now;

}

}

return 0xff;

}

//----------------------------------------------/ /

uchar Get_Key(void)

{

uchar keynum,temp;

temp = KB_ScanN(8);

if(temp != 0xff)

{

keynum = KB_Def(temp);

while(KB_ScanN(8)!=0xff);

}

else

{

keynum = 0xff;

}

return keynum;

}

//----------------------------------------------/ /

void Key_Del(void)

{

uchar keynum;

keynum = Get_Key();

if (keynum == 'A')

{

LEDbuf[3] = Temperature_Set/1000+'0';

LEDbuf[2] = (Temperature_Set%1000)/100+'0';

LEDbuf[1] =

(Temperature_Set%100)/10+'0';

LEDbuf[0] = Temperature_Set%10+'0';

for(;;)

{

keynum = Get_Key();

if(keynum == 'B')

{

Temperature_Set = (LEDbuf[3] - '0')*1000 + (LEDbuf[2] - '0')*100 + (LEDbuf[1] - '0')*10 + (LEDbuf[3] - '0');

break;

}

if((keynum >= '0') && (keynum <= '9'))

{

LEDbuf[3] = LEDbuf[2];

LEDbuf[2] = LEDbuf[1];

LEDbuf[1] = LEDbuf[0];

LEDbuf[0] = keynum;

}

}

}

}

//----------------------------------------------/ /

void AD_Init(void)

{

ATD0TEST1 = 0b00000000; //禁止特殊通道

ATD0CTL2 = 0b11000010; //快速清除模式,完成中断允许

ATD0CTL3 = 0b00001000; //队列长度为1

ATD0CTL4 = 0b01000011; //ATDclock=1M

ATD0CTL5 = 0b10100110;

}

//----------------------------------------------/ /

void ADCInit(void)

{

ATD0CTL2 = 0XC0;

ATD0CTL3 = 0X0B;

ATD0CTL4 = 0X07;

ATD0CTL4 &= 0X7F;

}

//----------------------------------------------/ /

uint ADCvalue(uchar channel)

{

uint temp;

ATD0CTL5 = (0x20 | channel);

for(;;)

{

if((ATD0STAT0&(1 << SCFBit)) != 0)

{

temp = ATD0DR0;

temp = (temp >> 6);

break;

}

}

return temp;

}

//----------------------------------------------/ /

byte PID( dword result)

{

int ek1,Pik1;

int ek,Ppk,Pik,Pdk,Pk;

unsigned char tmp;

ek = (int)result - Temperature_Set; ek1 = ek;

Ppk = kp * ek;

Pik = ki * ek + Pik1;

Pik1 = Pik;

Pdk = kd * (ek - ek1);

Pk = Ppk + Pik + Pdk;

if(Pk>0)

{

if(Pk>25500)

{

tmp = 255;

}

else

{

tmp = (byte)(Pk / 100);

}

return tmp;

}

else

{

tmp = 0;

return tmp;

}

}

//----------------------------------------------/ /

void Sample(void)

{

byte ge,shi,bai,point;

dword result;

if(Flag_ADC == 0xff)

{

result=(dword)(AD_wData)*1000/1023 ;

bai = (byte)(result/1000+'0');

shi = (byte)((result%1000)/100+'0');

ge = (byte)((result%100)/10+'0');

point =(byte)(result%10+'0');

if(bai == '0')

{

LEDbuf[3] = '9'+1;

if(shi == '0')

{

LEDbuf[2] = '9'+1;

}

else

{

LEDbuf[2] = shi;

}

}

else

{

LEDbuf[3] = bai;

LEDbuf[2] = shi;

}

LEDbuf[1] = ge;

LEDbuf[0] = point;

if(result>Temperature_Set+1)

{

PWMDTY3++;

}

if(result

{

PWMDTY3--;

}

PORTB = 0xff << PWMDTY3 / 32;

Flag_ADC = 0x00;

}

}

//----------------------------------------------/ /

void ECT_Init(void)

{

TSCR2_PR = 0; //prescale factor is 0, bus clock=8Mhz

TSCR2_TOI = 1; //timer overflow interrupt enable

TSCR1_TEN = 1; //timer enable }

//////////////////////////////////////////////////

void SCIInit(void)

{

SCI0BDH = 0x00;

SCI0BDL = 0x34;

SCI0CR1 = 0x00;

SCI0CR2 = 0x0c;

}

//----------------------------------------------/ /

void SCISend1(uchar o)

{

for(;;)

{

if((ReSendStatusR & (1 << SendTestBit)) != 0)

{

ReSendDataR = o;

break;

}

}

}

//----------------------------------------------/ /

void SCISendN(uchar n,uchar ch[]) {

uchar i;

for(i=0;i

{

SCISend1(ch[i]);

}

}

//----------------------------------------------/ /

void SendToSCI(void)

{

uchar temp[4];

if( Flag_Send==0xff)

{

if(LEDbuf[3]=='9'+1)

{

temp[3]=' ';

}

else

{

temp[3]= LEDbuf[3];

}

if(LEDbuf[2]=='9'+1)

{

temp[2]=' ';

}

else

{

temp[2]= LEDbuf[2];

}

temp[1] = LEDbuf[1];

temp[0] = LEDbuf[0];

SCISend1(temp[3]);

SCISend1(temp[2]);

SCISend1(temp[1]);

SCISend1('.');

SCISend1(temp[0]);

SCISend1(0x0d);

SCISend1(0x0a);

Flag_Send = 0;

}

}

//----------------------------------------------/ /

void Pwm_Init(void)

{

PWME_PWME3 = 0; PWMPRCLK= 0X22; //clockA=总线时钟/4

PWMSCLA = 1; //clockSA=clockA/(2*PWMSCLA) PWMSCLB = 1;

PWMCLK = 0X04; //通道5选用clockSA为时钟源PWMPOL = 0X04; //通道5首先输出高电平

PWMCAE = 0X00; //输出左对齐

PWMCTL = 0X00; //非级联模式

PWMDTY3 = 255;

PWMPER3 = 255; //通道5的周期寄存器

PWME_PWME3 = 1;

}

//----------------------------------------------/ /

void main(void)

{

DDRB = 0XFF;

PORTB = 0X00;

ECT_Init();

LEDInit();

ADCInit();

AD_Init();

SCIInit();

KB_Init();

Pwm_Init();

EnableSCIReInt;

EnableInterrupts;

for(;;)

{

Key_Del();

Sample();

SendToSCI();

}

}

//----------------------------------------------//

void interrupt Int_TimerOverFlow(void)

{

static unsigned int i,j,k;

TFLG2_TOF = 1; //clear timer overflow flag

if((++i)>3)

{

i = 0;

}

LEDShow1(3 - i,LEDbuf[i]-'0');

if(j++>500)

{

j = 0;

Flag_Send = 0xff;

}

if( k++ >10)

{

k = 0;

Flag_ADC = 0xff;

}

}

//----------------------------------------------//

void interrupt ATD_Interrupt(void)

{

AD_wData = ATD0DR0; //Read out the Result Register }

单片机课程设计报告

《单片机原理及接口技术》课程设计题目:简易计算器设计 级:电子1547 名:苏丹丹、李静、齐倩 号:05号、17号、11号

导教师:张老师 间:2013年12月 西安航空学院电气学院

目录 一、选题的背景和意义-------------------1 1.1选题的背景-------------------------------------1 1.2选题的意义-------------------------------------1 二、总体设计-------------------------------1 2.1设计任务---------------------------------------1 2.2方案选择---------------------------------------1 三、硬件设计-------------------------------2 3.1 元器件名称--------------------------------------------------------2 3.2 计算器按键介绍--------------------------------------------------2 3.3硬件系统框图、单元电路--------------------------3 四、软件设计-------------------------------3 4.1 软件调试步骤-----------------------------------------------------3 4.2软件设计流程图---------------------------------------------------4 五、结束语------------------------------------5 六、参考文献--------------------------------5 七、附录---------------------------------------6

数据库设计性实验报告

数据库系统概论实验报告 一、实验题目 小型CMS博客系统的设计与实现 二、实验要求 利用学习的数据库设计的方法和步骤,为选择的应用设计数据库、必要的索引、视图、编写应用程序。 三、总的设计思想,及环境语言、工具等 1、建立系统的目的,系统总体概况的介绍 进行博客系统开发的主要目的是为了提高自己的实践能力、学会自主开发独立程序,学会将所学知识应用于实践中,并在实践中不断学习。在大学里本人所学的知识大多数是从课本上得到的,而这次是要通过动手来实践,实习对本人来说是一次很好的锻炼。 本人所要实现的是一个小型CMS博客系统,用户在注册后可以实现在后台操作数据库更改网站标题、版本号、管理博客、管理日志分类等,在前台可以查看已公开的博客等。本次课程设计初步目标是实现博客的基本功能,在这个基础上对功能进行扩充。 2、选用的语言 利用WINDOWS XP结合DREAMWEAVER和access搭建ASP的环境平台,语言采用强大的vbscript。采用了IIS5.1。 3、需求分析的方法和结果 通过对现行博客系统的基本功能进行调查,明确了CMS博客系统由查看博客、发表博客、回复博客、管理员通过后台管理登录管理日志分类、修改删除博客、发表新文章、设置主页信息等等。用户对系统的描述如下。 a)用户基本功能 1)匿名用户可以查看用户公开的博客,并且可以通过注册申请成为正式用户。 b)管理员基本功能 1)发表新文章。 2)管理文章、如添加删除等。 3)管理分类,如添加、删除、重命名。 4)设置主页上显示的博客条数或者版本号。 数据流图

数据库逻辑模型 将图书馆管理系统的E-R图转换为关系数据库的数据模型,其关系模式为: 博客用户(用户,密码,邮箱),其中用户为主码; 版本信息(版本ID,URL,主页底部信息,副标题),其中版本ID为主码; 日志分类信息(编号,分类名称,基本表述(在鼠标放到分类上后显示的小标签)) 将CMS系统的数据库名定为“SimpleCMS” 数据库模式的规范化 各表的函数依赖集: F博客用户={用户→密码}; F类别={分类ID→名称,分类ID→基本描述}; F版本信息={编号→网站名,编号→网址,编号→底部信息,编号→副标题信息}; 上述关系模式中不存在对非码依赖的表达式,所有的非主属性对码完全并直接依赖,由此证明,博客数据库中各表均服从BCNF,其规范化程度较高,数据库设计合理。 4、E-R图

智能小车单片机课程设计报告

题目: 智能小车设计 打开命令行终端的快捷方式: ctr+al+t:默认的路径在家目录 ctr+shift+n:默认的路径为上一次终端所处在的路径. linux@ubuntu:~$ linux:当前登录用户名. ubuntu:主机名 :和$之间:当前用户所处在的工作路径. windows下的工作路径如C:\Intel\Logs linux下的工作路径是:/.../..../ ~:代表的是/home/linux这个路径.(家目录). ls(list):列出当前路径下的文件名和目录名. ls -a(all):列出当前路径下的所有文件和目录名,包括了隐藏文件. .:当前路径 ..:上一级路径 ls -l:以横排的方式列出文件的详细信息 total 269464(当前这个路径总计所占空间的大小,单位是K) drwxr-xr-x 3 linux linux 4096 Dec 4 19:16 Desktop 第一个位置:代表的是文件的类型. linux系统下的文件类型有以下几种. b:块设备文件 c:字符设备文件 d:directory,目录 -:普通文件. l:连接文件. s:套接字文件. p:管道文件. rwxr-xr-x:权限 r:读权限-:没有相对应的权限 w:写权限

x:可执行权限 修改权限: chmod u-或者+r/w/x 文件名 chmod g-或者+r/w/x 文件名 chmod o-或者+r/w/x 文件名 第一组:用户权限 第二组:用户组的权限 第三组:其他用户的权限. chmod 三个数(权限) 文件名 首先根据你想要的权限生成二进制数,再根据二进制数转换成十进制的三位数 rwxr-x-wx 111101011 7 5 3 chmod 753 文件名 rwx--xr-x 第二个位置上的数字:对应目录下的子文件个数,如果是非目录,则数字是1 第三个位置:用户名(文件创造者). 第四个位置:用户组的名字(前边的用户所处在的用户组的名字). 第五个位置:对应文件所占的空间大小(单位为b) 第六~八个位置:Dec 4 19:16时间戳(最后一次修改文件的时间) 最后一个位置:文件名 操作文件: 1.创建一个普通文件:touch 文件名 2.删除一个文件:rm(remove) 文件名 3.新建一个目录:mkdir(make directory) 目录名 递归创建目录:mkdir -p 目录1/目录2/目录3 4.删除一个目录:rmdir 目录名.//仅删除一个空目录 rm -rf 目录名//删除一个非空目录 5.切换目录(change directory):cd 路径 linux下的路径分两种 相对路径:以.(当前路径)为起点. 绝对路径:以/(根目录)为起点, 用相对路径的方式进入Music:cd ./Music 用绝对路径的方式进入Desktop:cd /home/linux/Desktop 返回上一级:cd ..

数据库课程设计实验报告

数据库课程设计报告 课程名称数据库课程设计__ __ _ ___ 题目______ 教务管理系统___ 指导教师卢益清 设计起止日期 2014-5-15至2014-6-2 学院信息管理学院 专业电子商务 组号 组长陈哲

北京信息科技大学 计算机信息系统系 (课程设计)实验报告 课程名称: 数据库课程设计专业: 电子商务班级: 商务1201学号: 姓名: 成绩: 2.课程设计内容: (1)数据库设计 教师讲解数据库的设计方法以及PowerDesigner的使用,布置题目(或学生自选题目),要求学生根据题目的需求描述,进行实际调研,提出完整的需求分析报告、用PowerDesigner 建立概念模型、物理模型。在物理模型中根据需要添加必要的约束、视图、触发器和存储过程等数据库对象,最后生成创建数据库的脚本,提出物理设计的文档。要求学生提交的报告包含: 需求说明书 概念数据模型(E-R数据模型) 物理数据模型(含约束、视图、触发器和存储过程等) 创建数据库的脚本(数据库对象的定义语言) 物理设计的文档(数据库的实施规划) (2)数据库开发 在数据库设计的基础上开发一个基本的数据库应用系统,要求有基本的数据查询功能和数据管理功能,并能将存储过程、触发器、事务控制等运用其中。 开发工具学生可以自己选择。

1.课程名称、课程设计目的、课程设计内容、课程设计要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供 学生使用; 2.实验条件由学生在实验或上机之前填写,教师应该在实验前检查并指导; 3.实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等; 4.实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等; 5.源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。

基于单片机温度控制开题报告

本科生毕业设计(论文)开题报告论文题目:基于80c52单片机加热数字恒温控制系统设计 学院:电气工程学院 专业班级:自动化 学生姓名:刘东洋 学号: 110302415 导师姓名:关新 开题时间:2015年 3 月26 日

1、课题背景及意义 1.1课题研究背景、目的及意义 二十一世纪是科技高速发展的信息时代,随着超大规模集成电路技术的发展而诞生的电子技术、信息技术、单片机技术的应用更是空前广泛。由于它具有体积小、功能强、性价比高等特点,因此广泛应用于电子仪器、家用电器、节能电器、军事领域、机器人、工业控制等诸多领域,使产品更加小型化、智能化,在不断提高产品的功能和质量的同时又降低了其生产成本、又花了产品设计。在各个领域得到了迅速地发展,人们也因此感受到应用单片机技术的优点,因而单片机也得到了更加快速的发展和应用。 传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差、测量温度准确率低,而且必须经过专门的接口电路转换成数字信号后才能由单片机进行处理。随着微电子技术的发展,单片微处理器功能日益增强,价格低廉,在各方面得到广泛应用。在温度控制器中应用单片机,具有设计简单、可靠性高、控制精度高,功能易扩展,有较强的通用性等优点。温度控制器主要实现对恒温箱温度的控制,并满足不同用户的个性需求。因此一个较完善的控制器应具有以下功能:温度的测量与显示;用户设定功能(如温度设定,定时设定等);对电加热管的控制功能;一些功能键(如定时自动加热,恒温控制,手动加热等);安全措施(漏电检测,安全失效保护,限温保护等)。 近年来,国内传感器正向着集成化、智能化、网络化和单片系统化的方向发展,为开发新一代温度测量系统创造了有利条件。 在电加热恒温箱控制器系统的设计中,由电阻式温度传感器测量温度值并转换成电压信号,由变送器转换成标准的电压信号,经A/D转换器进行模数转换并读入单片机,经单片机处理后的温度数值,一方面送LED数码管显示;另一方面与给定值进行比较,并判断是否超限,将发出报警信号,提醒人注意并采取相应措施;否则正常显示温度数值,然后根据偏差值进行控制计算。从而进行温度的调节,使其达到指定要求。实践证明,现在采用电阻丝加热,不仅有利于避免在常规测温方法中测量误差大、准确度低、测量滞后时间长等问题,而且在节约能源和改善环境方面本设计显示出一定的优越性。 恒温箱主要是用来控制温度,它为农业研究、生物技术、测试提供所需要的各种环境模拟条件,因此可广泛适用于药物、纺织、食物加工等无菌试验、稳定性检查以及工业产品的原料性能、产品包装、产品寿命等测试。 随着单片机的飞速发展,通过单片机对被控对象进行控制日益广泛,具有体积小、功能强、性价比高等特点,把单片机应用于温度控制系统中可以起到更好的控温作用,恒温箱是使用单片机进行温度控制的典型应用,采用单片机做主控

单片机原理课程设计报告模板

单片机原理及接口技术 课程设计报告 设计题目:恒压无塔供水系统设计 学号: 姓名: 指导教师:

信息与电气工程学院二零一四年六月

恒压无塔供水系统设计 随着社会的高速发展,城市高楼林立,高楼层用水往往因水压不够而成问题。常用的水塔式供水系统因设备(尤其是电机)易损而大大增加维护费用,且使用不方便。为此,工程设计人员利用现代电子技术,设计出一种智能变频供水系统,该控制系统智能化程度高,无需水塔,供水稳定,操作也方便,设备寿命大大延长,是一种值得推广的高楼层供水系统。 变频恒压供水系统,通过压力传感器、供水传感器、变频调速器组成闭环回路自动调节电机的转速,从而调节水泵的供水量,使供水量可根据用水量的大小变化而变化,确保供水压力恒定。如果采用取水直供方式,不仅可节约大量的能源,延长设备的使用寿命,又能避免水源二次污染问题。 注:这一部分主要描述题目的背景和意义,对设计所采取的主要方法做一下简要描述。字数不要太多,300-500字。 另注:本文要当做模板使用,不要随意更改字体、字号、行间距等,学会使用格式刷。文中给出的各项内容都要在大家的报告中体现,可采用填空的方式使用本模板。 1. 设计任务 结合实际情况,基于AT89C51单片机设计一个恒压无塔供水系统。该系统应满足的功能要求为: (1) 电机可以工作在两种工作状态,即变频和工频;

(2) 变频器控制电机的转速,且电机能够实现软启动; (3) …… 主要硬件设备:AT89C51单片机、ADC0809模数转换芯片、CYG115型高压力传感器、…… 注:这一部分需要写明系统功能需求,用到的主要硬件(参考实验箱的说明书)。 2. 整体方案设计 恒压无塔供水系统以AT89C51单片机作为整个系统的控制核心,应用其强大的接口功能,构成整个恒压供水控制的硬件系统。该系统具备……方式。在水泵的出水管道上安装一个压力传感器……,送入单片机进行数据处理。经单片机运算后的压力值与设定的压力值相比较……,PID运算……,控制变频调速恒压供水系统的原理图如图2-1所示。 图2-1 基于单片机的变频调速恒压供水系统原理图 本系统硬件主要由A/D转换器、D/A转换器、显示系统……等几部分组成。各模块的主要功能如下: (1) A/D转换器的功能是把水管的压力信号经传感器转换成0~5V的模拟电压信号转换为数字信号,然后送入单片机。 (2) D/A转换器的功能…… (3) ……

最新数据库管理系统实验报告含答案

武汉纺织大学《最新数据 库管理系统》课程实验报告 班级: _______姓名:实验时间:年月日指导教师:_______ 一、实验目的 1、通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。 2、牢固掌握SQL SERVER的功能操作和Transact-SQL语言。 3、紧密联系实际,学会分析,解决实际问题。学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中等。 二、实验内容 1.导入实验用示例数据库: f:\教学库.mdf f:\教学库_log.ldf f:\仓库库存.mdf f:\仓库库存_log.ldf 1.1 将数据库导入 在SqlServer 2005 导入已有的数据库(*.mdf)文件,在SQL Server Management Studio 里连接上数据库后,选择新建查询,然后执行语句 EXEC sp_attach_db @dbname = '教学库', @filename1 = 'f:\教学库.mdf', @filename2 = 'f:\教学库_log.ldf' go use [教学库] EXEC sp_changedbowner 'sa' go EXEC sp_attach_db @dbname = '仓库库存',

@filename1 = 'f:\仓库库存.mdf', @filename2 = 'f:\仓库库存_log.ldf' go use [仓库库存] EXEC sp_changedbowner 'sa' go 1.2 可能出现问题 附加数据库出现“无法打开物理文件"X.mdf"。操作系统错误5:"5(拒绝访问。)"。(Microsoft SQL Server,错误: 5120)”。 解决:找到要附加的.mdf文件-->右键-->属性-->安全-->选择当前用户-->编辑-->完全控制。对.log文件进行相同的处理。 2.删除创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20%,日志文件初始大小为2MB,最大尺寸为5MB,增长速度为1MB。 CREATE DATABASE仓库库存 (NAME = '仓库库存_data', FILENAME = 'F:\仓库库存_data.MDF' , SIZE = 10MB, FILEGROWTH = 20%) LOG ON (NAME ='仓库库存_log', FILENAME = 'F:\仓库库存_log. LDF', SIZE = 2MB, MAXSIZE = 5MB, FILEGROWTH = 1MB) 2.1 在数据库“仓库库存”中完成下列操作。 (1)创建“商品”表,表结构如表1:

基于单片机的数字温度计设计开题报告

****大学综合性设计实验 开题报告 ?实验题目:数字温度计的设计 ?学生专业10电气工程与自动化 ?同组人:———————— ?指导老师: 2013年4月

1.国内外现状及研究意义 随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。 测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段: ①传统的分立式温度传感器 ②模拟集成温度传感器 ③智能集成温度传感器。 目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,AT89S51单片机为控制器构成的数字温度测量装置的工作原理及程序设计作了详细的介绍。与传统的温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确的场所,或科研实验室使用。该设计控制器使用ATMEL公司的AT89S51单片机,测温传感器使用DALLAS公司DS18B20,用液晶来实现温度显示。 2.方案设计及内容 (一)、方案一 采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有A/D 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,

单片机课程设计报告书模板

. .. . .. .. 西南科技大学 2011级微机原理与接口技术 课程设计报告 课题名称微机原理与接口技术 姓名 学号 院、系、部制造科学与工程学院 专业 指导教师 2014年月日

目录 一、绪言 (1) 二、系统设计 (1) 2.1系统整体流程图 (1) 2.2日历时钟的控制方案论证 (1) 2.3单片机的选择方案论证 (2) 2.4键盘选择方案论证 (2) 2.5显示模块的选择方案论证 (2) 2.6模块的选择方案论证 (2) 三、硬件电路设计 (2) 3.1日历时钟的控制电路图 (2) 3.2行列式键盘的设计 (3) 3.3数码管显示电路的设计 (3) 3.4蜂鸣器驱动电路的设计 (4)

3.5主要元器件选择 (4) 四、程序流程图 (5) 五、c语言程序设计 (5) 六、日历时钟的控制器仿真 (19) 6.1K e i l调试 (19) 6.2P r o t e u s调试 (19) 七、结束语 (20) 八、参考文献 (21) 1、绪言 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。电子时钟是现代社会中的主要计时工具之一,广泛应用于手机,电脑,汽车等社会生活需要的各个方面,及对时间有要求的场合。本设计采用AT89C51单片机作为主要核心部件,附以上电复位电路,时钟电路及按键调时电路组成。数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。

数据库课程设计实验报告

《数据库原理及应用》课程设计报告题目:计算机学院选课管理系统 学号:10903060137 姓名朱子奇 2011年6月

数据库课程设计实验报告系统名称:计算机学院选课管理系统 课程名称:数据库课程设计 课程设计时间:为期五天(2011.6.20-2011.6.24)课程设计内容: 一开发背景 1.1 背景 1.2 目的 二功能描述 2.1 系统目的与要求 2.2 系统可行性分析 三业务流程分析 四数据流程分析 4.1 数据流程图 4.2 数据字典 4.3 E-R图 五概念模型设计 六物理模型设计与优化 七课程设计心得体会 八参考文献

一开发背景 1.1 背景: 大学的课程按大类来说一般分为必修课和选修课。必修一般指学校或院系规定学生必须修习某课程,学校对必修课程一般有统一的要求和安排。选修是指根据学生个人兴趣或专业需要自由选择修习某课程。简言之,必修就是必须修读,选修就是选择性修读。一般来说,基础性的知识都作为必修课程。有些知识不是基础性的,与兴趣和研究方向有关,这部分知识可以选择。这是大学与中学最大的不同之处。90年代中期,由于Internet 的迅速普及,使Intranet成为Internet技术在企业管理信息系统中的应用和延伸,形成了集计算机,计算机网络、数据库、分布式计算等于一体的信息技术综合体,它打破了时间和地域的界限,使信息交流变得快捷、准确,为建立现代高校管理信息系统提供了充足的条件,用计算机数据库系统的形式来管理选课成为了既方便又快捷的一种方式。因此开发选课管理系统是十分有前景的工作。 1.2 目的: 利用计算机支持学校高效率完成选课操作,是适应现代管理要求、推动企业劳动型治理走向科学化、规范化的必要条件;而选课管理是一项琐碎、复杂而又十分细致的工作,学生的基本资料,所开设的课程条目,选课资料的保存,选课条件的约束,一般不允许出错,假如实行手工操作,须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,而计算机选课操作,不仅能够保证各项信息准确无误、快速输出,同时计算机具有手工治理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些

(完整版)基于单片机的智能冰箱温控系统开题报告(可编辑修改word版)

XXXX 大学 信息传媒与艺术学院 毕业设计选题申请报告 选题名称: 基于单片机的冰箱智能温度控制系统 指导教师:设计地点: XXX 校内 专业名称: 申请人:XXX 计算机控制技术班级:XXX 学号:XXX 联系电话: XXX E-Mail:XXX

申请时间: 2013 年12 月13 日

一、毕业设计选题依据(选题的意义、同类选题现状分析) 在现代化的工业生产中,温度是常用的主要被控参数,通常采用MCS-51 单片机对温度进行控制,不仅具有控制方面、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品质量和数量。电冰箱就是单片机对温度控制问题的一个典型例子。在生活中我们使用的电冰箱变得越来越智能化,随之功能也越来越多。人们在生活中对电冰箱温度控制技术的需求也越来越强烈,传统的机械式控制、简单的电子控制已经难以满足其发展要求,而以单片机为核心的电冰箱控制器具有功能强、成本低、 温度精确度高、通用性强等特点,正得到越来越广泛的应用。 二、毕业设计方案 1、毕业设计目标、设计内容和拟解决的关键(技术)问题 设计目标:通过单片机控制模拟实现电冰箱的智能温度控制,使人们的生活更加方便,舒适。 设计内容:液晶显示的工作原理,通过液晶将当前环境温度显示出来;温度控制器原理,制冷原理,自动控制电冰箱工作原理使其通过制冷达到所设定的温度;单片机 C 程 序汇编语言。 2、拟采取的设计方法(包括开发平台选择)、试验方案及可行性分析 设计方法:采用C51 单片机开发板模拟电冰箱工作环境,并模拟设定电冰箱温度参数,以研究电冰箱温度控制器的工作原理及设计; 设计路线:采用单片机控制原理,C 语言编程,集成电路应用; 试验方案:在keil C51 环境下,根据单片机工作原理使用C 程序编程,将编译后的hex 文件下载到单片机上,并通过单片机开发板模拟电冰箱温控器工作。 可行性分析:在单片机开发板上,对于测温模块使用DS18B20 温度传感器,其具有良好的测温效果和数据处理能力;数据显示模块使用LCD1602 液晶显示器,其功能相当完善,也可以实现数据实时显示的功能。采用C 语言编程,提高编程效率,有助于快速的理解其单片机工作原理和电冰箱温控器的工作原理,实现智能温度控制,因此主处理函数模块的实现是可行的;使用直流电机模拟压缩机工作。从以上信息可知在单片机开发板上模拟电冰箱智能温控器设计是可行的。 3、毕业设计的计划进度(设计时间安排) 2013.12.9—2013.12.13 熟悉MCS-51 单片机的原理及编程,知识和技术准备,确定选

《单片机》课程设计实训报告

物理与机电工程学院课程设计报告 课程名称:单片机课程设计 系部:物理与机电工程学院 专业班级:09 电子信息工程(1)班 学生姓名: 指导教师: 完成时间: 报告成绩: 评阅意见: 评阅教师日期

题目:交通灯设计 一、设计任务与要求 1、设计任务:十字路口红绿交通灯 北 西 东 南 利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图上图所示。设东西向为主干道,南北为支干道。 2、设计基本要求: (1)车辆通行繁忙的十字交叉路口,设计一交通灯控制器,设东西方向通行时间为40秒,当剩余3秒时黄灯亮,南北方向通行时间为25秒,当剩余3秒时黄灯亮。 (2)东西、南北方向各用三个(绿、黄、红)LED表示,并用数码管显示 东西、南北方向的剩余时间。 (3)可利用按键修改时间参数。

二、方案设计与论证 本次实训单片机交通灯控制要求用单片机编写程序,并且自制电路板,最后要能实现东西方向通行时间为40秒,当剩余时间为3秒时黄灯亮,南北方向通行时间为25秒,当剩余3秒时黄灯亮的基本功能。东西方向通行,可用绿色的LED显示通行信号,同时南北方向须禁行,可用红色的LED显示禁行信号,并且用数码管显示禁行倒计时的数字显示,当倒计时为3秒时开始亮黄灯,作为警示信号,同时设计可以随时修改时间参数的按键。 方案一、STC89C52+点阵式LED显示 采用独立式的稳压电源。显示采用点阵式LED显示。这种方案实现复杂,需完成大量的软件工作,但同时其功能强大,可以显示各种英文字符,汉字,图形等。 方案二、STC89C52+七段共阳极数码管

实验一 数据库模式设计及建立实验报告

长春大学计算机学院科学与技术专业 数据库原理实验报告 实验名称:实验一数据库模式设计及建立 班级:姓名:学号: 实验地点:日期: 一、实验目的: 1.了解SQL SERVER 2005/2008系统或KingBase ES V7.0的使用; 2.基本掌握SQL的数据定义。 二、实验内容、要求和环境: 【实验要求】 注:将完成的实验报告重命名为:班级+学号+姓名+(实验一),(如:041540538张三(实验一)),提交到SPOC学堂。 1.实验课要携带教材、学习辅导、老师下发的实验报告文档等。 2.课前要对实验内容和步骤部分进行预习。 3.将本次实验所建的数据库做好备份,以备以后实验使用。 【实验环境】 1.SQL SERVER 2005/20085; 1.KingBase ES V7.0 ,人大金仓。 【实验内容和步骤】 1.熟悉SQL SERVER 2005/2008系统。 (1)启动“SQL Server Managemet Studio”,新建数据库和关系(表) ①鼠标单击“开始/所有程序/Microsoft SQL server 2008/SQL Server Managemet Studio”启动“SQL Server Managemet Studio”,SQL Server Managemet Studio(SSMS)是一个集成环境,用于访问、配置、控制、管理和开发SQL Server 的所有组件,SSMS将大量图形工具与丰富的脚本编辑器相结合,使各种技术水平的开发人员和管理员都可以访问SQL Server; ②在“SQL Server Managemet Studio”中左窗口“对象资源管理器”中,单击“SQLEXPRESS”的左侧“+”,弹出下拉菜单; ③在上一步的下拉菜单中,鼠标右键单击“数据库”,在弹出的菜单中选择“新建数据库”,在弹出的对话框中,输入数据库名,同时可以进行存储位置的设置; ④在数据库文件夹下,出现新建的数据库文件夹; ⑤点击所建数据库文件名左侧的“+”,弹出下拉菜单; ⑥在上一步弹出的下拉菜单中,鼠标右键单击“表”,弹出下拉菜单,单击“新建表”即可在此数据库文件夹中建立关系(表)了。 (2)在“对象资源管理器”的上方有一个“新建查询”图标,单击“新建查询”,可使用SQL 语言进行对关系的操作 ①单击“新建查询”后,在“对象资源管理器”窗口上部出现一个工具栏,右侧弹出一个窗

基于单片机的温度传感器设计 开题报告

天津理工大学本科毕业设计开题报告 毕业设计题目 学生姓名学号 指导教师职称工程师 (报告内容包括课题的意义、国内外发展状况、本课题的研究内容、研究方法、研究手段、研究步骤以及参考文献资料等。) 1)课题的研究意义 随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域,使得温度控制在生产生活领域有着广泛的应用。 温度是日常生活、工业、医学、环境保护、化工、石油等领域最常用到的一个物理量。测量温度的基本方法是使用温度计直接读取温度。最常见到的测量温度的工具是各种各样的温度计,例如:水银玻璃温度计,酒精温度计。它们常常以刻度的形式表示温度的高低,人们必须通过读取刻度值的多少来测量温度。利用单片机和温度传感器构成的电子式智能温度计就可以直接测量温度,得到温度的数字值,既简单方便,有直观准确。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S51,测温传感器使用DS18B20,采用LCD1602液晶显示能准确达到以上要求。 2)国内外发展状况 目前温度计的发展很快,从原始的玻璃温度计管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等。主要温度仪表,如热电偶、热电阻及辐射温度计等在技术上已经成熟,但是它们只能在传统的场合应用,尚不能满足简单、快速、准确测温的要求,尤其是高科技领域。因此,各国专家都在有针对性地竞相开发各种新型温度传感器及特殊与实用测温技术,如采用光纤、激光及遥感或存储等技术的新型温度计已经实用化。 2008年起中国数字温度计及恒温器市场发展迅速,产品产出持续扩张,国家产业政策鼓励电子温度计及恒温器产业向高技术产品方向发展,国内企业新增投资项目投资逐渐增多。投资者对电子温度计及恒温器行业的关注越来越密切,这使得电子温度计及恒温器行业的发展需求增大。本文研究一种基于单片机温度控制系统,以克服传统方法的不足。 3)研究内容和方法 采用数字式温度传感器为检测器件,进行单点温度检测。用LCD1602液晶直接显示温度值,单片机系统作为电子温度计的控制、显示系统。 本系统从以下三个方面来考虑:

数据库课程设计实验报告一

一、需要实现得功能 1、1录入学生基本信息得功能 学生基本信息主要包括:学号、姓名、性别、年龄、出生地、专业、班级、总学分,在插入时,如果数据库则已经存在该学号,则不能再插入该学号。 1、2修改学生基本信息得功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 1、3查询学生基本信息得功能 可使用“姓名”对已存有得学生资料进行查询。 1、4删除学生基本信息得功能 在管理员模式下,只要选择表格中得某个学生,就可以删除该学生. 1、5用户登陆 用不同得登录权限可以进入不同得后台界面,从而实现权限操作。 1、6用户登陆信息设置 可以修改用户登陆密码 二、设计得目得 课程设计就是学习完该课程后进行得一次较全面得综合练习。其目得在于通过实践加深学生对面向对象程序设计得理论、方法与基础知识得理解,掌握使用Java语言进行面向对象设计得基本思路与方法;加强学生研发、调试程序得能力;培养学生分析、解决问题得能力;提高学生得科技论文写作能力。 三、总体设计 3、1功能图

3、2 Use Case图

3、3系统执行流程图 3、4、数据库设计

主要就是E-R 图与数据库二维表得设计 3、4、1数据库E-R 模型 3、4、2数据库关系模型—-二维表 学生表(s tu dent ) 字段 数据类型 说明 st uId nvarc har(30) 学号 s tuName n varchar(30) 姓名 st uSe x nva rchar(30) 性别 stuAg e i nt 年龄 s tuJg nvar char (30) 籍贯 stuZy n var cha r(30) 专业 cl as sId nvarch ar(30) 班号 stuSour se numeric(5,2) 总学分 学号 姓名 性别 年龄 出生地 专业 班级 总学分 登陆用户管理 账号 密码 职位 学 生

51单片机电子时钟课程设计报告报告

目录 第一部分设计任务和要求 1.1单片机课程设计内 容 (2) 1.2单片机课程设计要求………………………………………………… 2 1.3系统运行流程………………………………………………………… 2 第二部分设计方案 2.1 总体设计方案说明 (2) 2.2 系统方框图 (3) 2.3 系统流程图 (3) 第三部分主要器材及基本简介 3.1 主要器材 (4) 3.2 主要器材简介 (4) 第四部分系统硬件设计 4.1 最小系统 (6) 4.2 LCD显示电路 (6) 4.3 键盘输入电路 (7) 4.4 蜂鸣器和LED灯电路 (7)

第五部分仿真电路图与仿真结果 (8) 第六部分课程设计总结 (8) 第七部分参考文献 (9) 附录A 实物图 附录B 系统源程序 第一部分设计任务和要求 1.1 单片机课程设计内容 利用STC89C51单片机和LCD1602电子显示屏实现电子时钟,可由按键进行调时和12/24小时切换。 1.2 单片机课程设计要求 1.能实现年、月、日、星期、时、分、秒的显示; 2.能实现调时功能; 3.能实现12/24小时制切换; 4.能实现8:00—22:00整点报时功能。 1.3 系统运行流程 程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。若没到则循环执行。计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。调时闪烁中断服务程序

用于被调单元的闪烁显示。调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,如图所示。实现了对时间的设置和修改、LCD显示数值等主要功能。相关的调整是靠对功能键的判断来实现的。第二部分设计方案 2.1 总体设计方案说明 1.程序设计及调试 根据单片机课程设计内容和要求,完成Protues仿真电路的设计和用Keil软件编写程序,并进行仿真模拟调试。 2.硬件焊接及调试 根据仿真电路图完成电路板的焊接,并进行软、硬件的调试,只到达到预期目的。3.后期处理 对设计过程进行总结,完成设计报告。 2.2 单片机系统方框图

《数据库课程设计实验报告》

《数据库课程设计》 设计题目:音乐播放器 专业: 物联网工程

目录 引言 一、人员分配 原雅丽:ER图绘制,编码和数据库的连接,运行代码的编写和调试。 肖凌云:创建数据库,对设计进行可行性分析、需求分析,绘制系统流程图 孟佳:绘制功能界面,绘制数据流图,数据字典,逻辑结构设计和部分ER图绘制 二、课程设计目的和要求 目的:设计一个音乐播放器 要求:能够满足大部分用户对歌曲进行操作的需求,例如收藏,下载,建立歌单,关注歌手,搜索音乐等。 三、课程设计过程 1需求分析阶段 1.1应用背景 在快生活节奏的今天,人们生活、工作的压力日益增加,迫切需要一个方便、快 捷的放松方式,例如听音乐,看MV等,音乐播放器也就应运而生,展现出了其 巨大的潜在市场价值。 1.2需求分析目标 迎合客户的根本需求,可实现听歌、评论、收藏等基本功能,在此基础上可增加 好友互动、分享歌曲等社交活动。 1.3系统设计概要 本系统主要是设计一个音乐播放器,包括音乐播放功能、用户自定义歌单功能、 歌曲搜索功能、热门榜单推荐功能等。 1.4软件处理对象 评论(用户名,评论内容,点赞数,回复内容) 专辑(歌手,发行时间,歌曲列表,唱片公司,专辑名,歌手简介,封面图片) 歌手(姓名,简介,单曲,专辑,MV,歌手照片,粉丝数) 歌曲信息表(发布年份,专辑,热度指数,标签,词作者,曲作者) 用户个人信息(头像,姓名,账号,关注,等级,收藏,生日,地区,乐龄,听歌时长) 热度指数(分享量,下载量,播放量,收藏量,评论量,搜索量) 歌单(歌单名,制作人,收藏量,歌曲列表) 歌曲(歌名,歌手,专辑,长度,歌词,封面,信息表,评论) 1.5系统可行性分析 使用场景:主要运用于手机上,计算机不适用于本音乐播放器 与现有播放器相比的优越性:操作界面简单明了,占用空间小。 费用支出:小组制作的软件,耗费极低。 人员和设备:三人一小组,利用电脑开发音乐播放器。 1.6系统设计目标及意义 设计出一个简洁、方便的音乐播放器,占用空间不大,能满足用户的基本需求。 1.7系统业务流程及具体功能

单片机课程设计报告

《单片机技术》课程设计实验报告 专业:电子信息工程 班级:07电信(本)一班 姓名:李汶泽 学号:200710312136 指导教师:杨加国 日期:20100-6-26

目录 一、课程设计的目的 (3) 二、课程设计具体要求 (3) 三、MCS-51单片机系统简介 (3) 四、MCS-51单片机内部定时器/计数器中断系统简介 (4) 五、键盘和LED数码管显示器简介 (5) 六、实验内容基本原理 (7) 七、硬件电路 (8) 八、程序简介与代码 (8) 九、设计制作过程 (12) 十、实验总结 (17)

一、课程设计的目的 本课程设计是自动化专业、电子信息技术专业学生在学完单片机原理及课程之后必修课程,它的教学目的和任务是综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下基础。 二、课程设计具体要求 1、在PROTEUS中设计硬件,在KEIL51中编写软件,在PROTEUS 中运行程序仿真实现。 2、写课程设计报告,给出设计思想,原理,硬件电路图,给出相应程序,并写出设计过程。 三、MCS-51单片机系统简介 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

MCS-51系列之功能与总线结构 四、MCS-51单片机内部定时器/计数器中断系统简介 ⑴定时/计数器: 1、MCS-51系列中51子系列有两个16位可编程定时/计数器:定时计数器T0和定时计数器T1 2、每个定时/计数器即可以对系统时钟计数实现定时,也可以对外部信号计数实现计数功能,这些功能都是通过编程设定实现的、 3、每个定时/计数器都是多种工作方式,其中T0有四种工作方式;T1有三种工作方式;T2有三种工作方式。通过编程可设定工作于某种方式。 4、每一个定时/计数器定时计数时间到时产生溢出,使相应的溢

单片机课设报告

目录 1 引言 (1) 1.1 设计任务 1 1.2主要技术指标和要求 1 1.3实验价值和理论意义1 2核心芯片简介2 2.1 DS1302简介2 2.1.1 DS1302引脚功能与内部结构3 2.1.2 DS1302的寄存器4 2.2 AT89C52简介4 3方案设计和论证 5 4软硬件设计 4.1硬件电路设计 5 4.2软件实现 10 4.2.1C语言的主程序10 4.2.2时钟读出程序设计13 4.2.3时钟调整程序设计13 5系统调试14 6总结14 参考文献14 附录:A:DS1302读写数据程序15 附录B:主程序以及程序宏定义18 附录C 23 附录D:PCB制板25 目录正文为: 宋体小四 1.5倍行距目录要求独立编写页码,用罗马字母,如右下角所示

一、引言 1.1 设计任务 用DS1302时钟芯片设计实时时钟。 1.2 主要技术指标和要求 (1)通过程序直接对实时时钟时间进行设置,启动时钟运行。用8位数码管实时显示时、分、秒。 (2)用89C52系列单片机及DS1302时钟电路,通过按钮对实时时钟时间进行设置,能输出阳历年、月、日及星期、小时、分、秒等计时信息的实时时钟。 1.3实验价值和理论意义 从古代的滴漏更鼓到近代的机械钟,从电子表到目前的数字时钟,为了准确的测量和记录时间,人们一直在努力改进着计时工具。钟表的数字化,大力推动了计时的精确性和可靠性。在单片机构成的装置中,实时时钟是必不可少的部件。目前常用的实时时钟,很多采用单片机的中断服务来实现,这种方式一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许;有的则使用并行接口的时钟芯片,如MC146818、DS12887等,它们虽然能满足单片机系统对实时时钟的要求,但是这些芯片与单片机接口复杂,占用地址、数据总线多,芯片体积大,占用空间多,给其它设计带来诸多不便。本设计选取串行接口时钟芯片DS1302与单片机同步通信构成数字时钟电路。其简单的三线接口能为单片机节省大量资源,DS1302的后背电源及对后背电源进行涓细电流充电的能力保证电路断电后仍能保存时间和数据信息等。这些优点解决了目前常用的实时时钟所无法解决的问题。该时钟电路强大的功能和优越的性能,在很多领域的应用中,尤其是某些自动化控制、长时间无人看守的测控系统等对时钟精确性和可靠性有较高要求的场合,具有很高的使用价值。 二、核心芯片简介 2.1 DS1302简介 DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,

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