学科代码Word格式文档下载.docx
《学科代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学科代码Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
2009年11月13日—12月15日:
**********
****;
2009年12月17日:
*******;
2009年12月18日—12月30日:
***;
2010年1月1日—3月15日:
*****;
2010年3月16日—3月31日:
*****。
2010年4月22日:
再次审核论文,定稿。
2010年4月23日:
论文答辩。
[1]童诗白主编.模拟电子技术基础.[M]高等教育出版社,2000
[2]电子报社编辑部.电子报2005合订本(上,下)[J]电子科技大学出版社,2005,(3):
40-46
[3]电子制作编辑部.电子制作.[J].电子制作杂志社,2006,(7):
35-37
[4]王卫东.电流模技术在模拟电子电路课程中的应用[J].挂林电子科技大学学报,23卷4期2003(8):
51-54
[5]张爱民.怎样选用电子元器件[J].中国电力出版社,2005,(3)
[6]安阳新世纪电子研究所产品手册[DB/OL].F05P&
J04V典型应用电路.2008
[7]于文辉.基于单片机的智能流量控制系统[EB/OL].西安航空职工大学西航工学院
[8]霍少达,李斌,赵忠禹ZigBee模块的运动数据采集与传输设[J].Microcontrollers&
EmbeddedSystems.2009年第十二期:
21-27
[9]StephenGKochan著.ProgramminginANSIC.HagdenBooksIndiana,[J]U.S.A,1944:
17-19
[10]HMPeitel,PJDeitel.CHowtoprogram,secondEdition.蒋才鹏等译.北京:
机械工业出版社,2000
指导教师意见:
签名:
2009年12月16日
注:
此表须打印,不够填写可续页。
附件3:
贵州师范大学本科毕业论文(设计)指导教师指导记录表
电子信息科学与技术级别:
2006级
论文(设计)题目
学生姓名
学号
指导教师姓名
指导内容:
学生签名:
教师签名:
20年月日
教师签名:
学生签名:
学生签名:
备注:
1、此表由学生根据老师每次指导的内容填写,指导教师签字后学生保存,完成论文(设计)后与论文一并交学院。
2、此表可以续页。
附件6:
贵州师范大学本科毕业论文(设计)答辩记录表
2006级
答辩情况记录:
在答辩时间内完成以下答辩内容
一、本人叙述:
1.本文
2.几种
3.介绍。
4.介绍。
二、提问
问题
(1):
问题
(2):
问题(3):
问题(4):
记录人:
20年月日
答辩委员会成员签名:
答辩委员会负责人签字:
附件5:
贵州师范大学本科毕业论文(设计)成绩表
一、指导教师评价
物理与电子信息科学学院 专业:
200级
指导教师
指导教师评语(参照《贵州师范大学本科毕业论文(设计)成绩评定参考标准》):
建议成绩:
指导教师签名:
20年月日
二、同行教师评审
20级
同行教师评审意见:
同行教师签名:
三、答辩委员会评定
答辩委员会评定意见:
答辩委员会负责人签名:
毕业论文(设计)成绩:
学院本科毕业论文(设计)指导委员会负责人签字:
年月日
年
题目
摘要:
本文摘要***********
Abstract:
This*************
.
Keywords:
Mi**************;
引言
电子*********
1.标题
1.1********
*******
1.2********
********
2.标题
3.标题
3.1*******
******
3.2*******
3.3STC89C51单片机
STC89C51单片机
3.4无线收发及编、解码电路原理
此系统
4.*****
****
图3-1********
5.****
*****
6.结束语
本文从******
参考文献:
[10]HMPeitel,PJDeitel.CHowtoprogram,secondEdition.蒋才鹏等译[J].北京:
致谢!
**************
附录:
附录1.系统详细电路原理图
附录2:
部分程序源代码
(1).12864液晶显示程序
#ifndef_12864_H__
#define_12864_H__
sbitE=P1^2;
//使能端
sbitRW=P1^1;
//读写端
sbitRS=P1^0;
//数据命令端口
sbitCS1=P1^3;
sbitCS2=P1^4;
/****检查液晶是否忙碌***/
voidchekbusy12864(void)
{
uchardat;
RS=0;
//指令模式
RW=1;
//读数据
do{
/**点的显示**/
voiddot(ucharx,uchary)//所有的图形都在右屏上。
{
choose12864
(1);
dat=dat_r12864(y/8,x);
cmd_w12864(0x40+x);
cmd_w12864(0xb8+y/8);
dat_w12864((1<
<
(y%8))|dat);
}
/**温度对图形的转换**/
voidchange(void)
staticucharn=63;
uchari,m,sum=0;
m=temp[0]*10+temp[1]+(temp[2]+5)/10;
if(m<
60)
m=62-m;
n)
vertical(m,63,60);
}
if(m>
if((m/8)>
(n/8))
cmd_w12864(n/8+0xb8);
cmd_w12864(0x40+60);
dat_w12864(0x00);
}
for(i=0;
i<
(8-m%8);
i++)
{
sum=sum+(2<
((m%8)+i));
cmd_w12864(m/8+0xb8);
dat_w12864(sum);
n=m;
dot(60,3);
}
#endif
(2).键盘扫描程序
#ifndef_KEY_H__
#define_KDY_H__
#definedataportP2
ucharscan(uchark);
ucharkeyscan(void)
ucharm,n,keyscantime,keyoverflag;
keyoverflag=0;
ucharscan(uchark)
ucharre;
switch(k)
case0xee:
re=7;
break;
case0xde:
re=8;
case0xbe:
re=9;
case0x7e:
re=10;
//模式切换
case0xed:
re=4;
case0xdd:
re=5;
case0xbd:
re=6;
case0x7d:
re=11;
//上
case0xeb:
re=1;
case0xdb:
re=2;
case0xbb:
re=3;
case0x7b:
re=12;
//下
case0xe7:
re=0;
case0xd7:
re=13;
//菜单
case0xb7:
re=14;
//返回
case0x77:
re=15;
//确定
default:
returnre;
(3).ds18b20温度读取
#ifndef_DS18B20_H__
#define_DS18B20_H__
#include<
reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitDQ=P3^0;
uchartemp[3];
ucharflag=0;
delayfor(8);
DQ=0;
delayfor(70);
//80改60
DQ=1;
delayfor(25);
/**ds18b20读一个字节**/
uchards18b20_readchar(void)
uchari=0;
uchardat=0;
for(i=8;
i>
0;
i--)
DQ=0;
//给脉冲信号
dat>
>
=1;
DQ=1;
if(DQ)
dat|=0x80;
delay11us(10);
return(dat);
/**ds18b20写一个字节**/
ds18b20_writechar(uchardat)
uchari=0;
for(i=8;
i>
i--)
DQ=0;
DQ=dat&
0x01;
delay11us(10);
DQ=1;
dat>
/**读出温度**/
uintreadtemperature(void)
uchara=0;
ucharb=0;
/**温度数值处理**/
voidgettemperature(void)
staticuintte=0xffff;
uintrealtemp;
realtemp=readtemperature();
if(te!
=realtemp)
temp[0]=realtemp/1000;
temp[1]=(realtemp/100)%10;
temp[2]=(realtemp/10)%10;
te=realtemp;
(4).时钟初始化及读取
#ifndef_DS1302_H__//防止重载
#define_DS1302_H__
#defineds1302_second0x80
#defineds1302_minute0x82
#defineds1302_hour0x84
#defineds1302_day0x86
#defineds1302_week0x8a
#defineds1302_month0x88
#defineds1302_year0x8c
/**端口定义**/
sbitIO=P1^6;
sbitCLK=P1^7;
sbitRST=P1^5;
sbitACC0=ACC^0;
sbitACC7=ACC^7;
uchardatastring[13];
////存放时间的数组
typedefstruct
{ucharsecond;
ucharminute;
ucharhour;
ucharday;
ucharweek;
ucharmonth;
ucharyear;
}systemtime;
//定义的时间的类型
voidds1302_write(uchardat)
uchari,j;
j=dat;
8;
i++)//
{//for(i=0;
i++)仿真就会不成功,高手指点下!
!
IO=j&
CLK=1;
CLK=0;
j>
/**实时时钟读出一个字节**/
uchards1302_read()
uchari;
ACC=ACC>
1;
ACC7=IO;
return(ACC);
/**写入数据**/
voiddat_write(ucharaddr,uchardat)//addr为要写数据的地址,dat为要写的数据
RST=0;
CLK=0;
RST=1;
ds1302_write(addr);
ds1302_write(dat);
CLK=1;
}
/**读出数据**/
uchardat_read(ucharaddr)
ds1302_write(addr|0x01);
dat=ds1302_read();
return(dat);
/**是否写保护**/
voidds1302_protect(bitflag)
if(flag)
dat_write(0x8e,0x10);
//禁止写
else
dat_write(0x8e,0x00);
//允许写
/**时间设置**/
voidsettime(ucharaddr,ucharvalue)
{ds1302_protect(0);
dat_write(addr,value);
ds1302_protect
(1);
/**时间增减设置**/
voidset(ucharadr,bitflag)
{uchardat;
dat=dat_read(adr);
dat_write(adr,dat+1);
dat_write(adr,dat-1);
/**12/24小时时间设置**/
voidday_set(bitflag)//flag为1为12时制,为0则为24小时制
{
hour=(dat_read(0x85)&
0x7f);
//保留小时寄存器中原有的时间值
ds1302_protect(0);
{dat_write(0x84,0x80|hour);
}else
{dat_write(0x84,0x00|hour);
/**取时间**/
voidgettime(systemtime*time)
ucharreadvalue;
readvalue=dat_read(ds1302_second);
time->
second=((readvalue&
0x70)>
4)*10+(readvalue&
0x0f);
readvalue=dat_read(ds1302_minute);
minute=((readvalue&
readvalue=dat_read(ds1302_hour);
hour=((readvalue&
0x30)>
readvalue=dat_read(ds1302_day);
day=((readvalue&
readvalue=dat_read(ds1302_week);
week=(readvalue&
0x07);
readvalue=dat_read(ds1302_month);
month=((readvalue&
0x01)>
readvalue=dat_read(ds1302_year);
year=((readvalue&
0xf0)>
datastring[0]=time->
year/10;
datastring[1]=time->
year%10;
datastring[2]=time->
month/10;
datastring[3]=time->
month%10;
datastring[4]=time->
day/10;
datastring[5]=time->
day%10;
datastring[6]=time->
hour/10;
datastring[7]=time->
hour%10;
datastring[8]=time->
minute/10;
datastring[9]=time->
minute%10;
datastring[10]=time->
second/10;
datastring[11]=time->
second%10;
datastring[12]=time->
week;
/**初始时间设置为2008-08-0808时08分08秒**/
voidinit_time(void)
{day_set(0);
settime(ds1302_second,0x08);
settime(ds1302_minute,0x30);
settime(ds1302_hour,0x10);
settime(ds1302_day,0x23);
settime(ds1302_month,0x04);
settime(ds1302_year,0x10);
settime(ds1302_week,0x04);
/**DS1302初始化**/
voidinit_ds1302(void)
{ucharsecond=dat_read(ds1302_second);
if(second&
0x80)
settime(ds1302_second,0);