首页

> 学术期刊知识库

首页 学术期刊知识库 问题

基于单片机电子琴毕业论文

发布时间:

基于单片机电子琴毕业论文

你好,同学。这两个选题都是差不多的,都要用单片机,电路仿真 程序

楼主我这里有电子琴的单片机程序,做毕业设计那个我觉得还是自己做得好,因为你没懂的话论文答辩是过不了的。简易电子琴#include<> //包含51单片机寄存器定义的头文件sbit P14=P1^4; //将P14位定义为引脚sbit P15=P1^5; //将P15位定义为引脚sbit P16=P1^6; //将P16位定义为引脚sbit P17=P1^7; //将P17位定义为引脚unsigned char keyval; //定义变量储存按键值sbit sound=P3^7; //将sound位定义为 int C; //全局变量,储存定时器的定时常数unsigned int f; //全局变量,储存音阶的频率//以下是C调低音的音频宏定义#define l_dao 262 //将“l_dao”宏定义为低音“1”的频率262Hz#define l_re 286 //将“l_re”宏定义为低音“2”的频率286Hz#define l_mi 311 //将“l_mi”宏定义为低音“3”的频率311Hz#define l_fa 349 //将“l_fa”宏定义为低音“4”的频率349Hz#define l_sao 392 //将“l_sao”宏定义为低音“5”的频率392Hz#define l_la 440 //将“l_a”宏定义为低音“6”的频率440Hz#define l_xi 494 //将“l_xi”宏定义为低音“7”的频率494Hz//以下是C调中音的音频宏定义#define dao 523 //将“dao”宏定义为中音“1”的频率523Hz#define re 587 //将“re”宏定义为中音“2”的频率587Hz#define mi 659 //将“mi”宏定义为中音“3”的频率659Hz#define fa 698 //将“fa”宏定义为中音“4”的频率698Hz#define sao 784 //将“sao”宏定义为中音“5”的频率784Hz#define la 880 //将“la”宏定义为中音“6”的频率880Hz#define xi 987 //将“xi”宏定义为中音“7”的频率53//以下是C调高音的音频宏定义#define h_dao 1046 //将“h_dao”宏定义为高音“1”的频率1046Hz#define h_re 1174 //将“h_re”宏定义为高音“2”的频率1174Hz#define h_mi 1318 //将“h_mi”宏定义为高音“3”的频率1318Hz#define h_fa 1396 //将“h_fa”宏定义为高音“4”的频率1396Hz#define h_sao 1567 //将“h_sao”宏定义为高音“5”的频率1567Hz#define h_la 1760 //将“h_la”宏定义为高音“6”的频率1760Hz#define h_xi 1975 //将“h_xi”宏定义为高音“7”的频率1975Hz/**************************************************************函数功能:软件延时子程序**************************************************************/void delay20ms(void) {unsigned char i,j;for(i=0;i<100;i++)for(j=0;j<60;j++);}/*******************************************函数功能:节拍的延时的基本单位,延时200ms******************************************/void delay() {unsigned char i,j;for(i=0;i<250;i++)for(j=0;j<250;j++);}/*******************************************函数功能:输出音频入口参数:F******************************************/void Output_Sound(void){C=(46083/f)*10; //计算定时常数TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法TR0=1; //开定时T0delay(); //延时200ms,播放音频TR0=0; //关闭定时器sound=1; //关闭蜂鸣器keyval=0xff; //播放按键音频后,将按键值更改,停止播放}/*******************************************函数功能:主函数******************************************/ void main(void){ EA=1; //开总中断ET0=1; //定时器T0中断允许ET1=1; //定时器T1中断允许TR1=1; //定时器T1启动,开始键盘扫描TMOD=0x10; //分别使用定时器T1的模式1,T0的模式0TH1=(65536-500)/256; //定时器T1的高8位赋初值TL1=(65536-500)%256; //定时器T1的高8位赋初值 while(1) //无限循环{switch(keyval){case 1:f=dao; //如果第1个键按下,将中音1的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 2:f=l_xi; //如果第2个键按下,将低音7的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 3:f=l_la; //如果第3个键按下,将低音6的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 4:f=l_sao; //如果第4个键按下,将低音5的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 5:f=sao; //如果第5个键按下,将中音5的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 6:f=fa; //如果第6个键按下,将中音4的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 7:f=mi; //如果第7个键按下,将中音3的频率赋给fOutput_Sound(); //转去计算定时常数 break; case 8:f=re; //如果第8个键按下,将中音2的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 9:f=h_re; //如果第9个键按下,将高音2的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 10:f=h_dao; //如果第10个键按下,将高音1的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 11:f=xi; //如果第11个键按下,将中音7的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 12:f=la; //如果第12个键按下,将中音6的频率赋给fOutput_Sound(); //转去计算定时常数 break; case 13:f=h_la; //如果第13个键按下,将高音6的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 14:f=h_sao; //如果第14个键按下,将高音5的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 15:f=h_fa; //如果第15个键按下,将高音4的频率赋给fOutput_Sound(); //转去计算定时常数 break;case 16:f=h_mi; //如果第16个键按下,将高音3的频率赋给fOutput_Sound(); //转去计算定时常数 break; } } } /**************************************************************函数功能:定时器T0的中断服务子程序,使引脚输出音频方波**************************************************************/ void Time0_serve(void ) interrupt 1 using 1 {TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法 sound=!sound; //将引脚取反,输出音频方波}/**************************************************************函数功能:定时器T1的中断服务子程序,进行键盘扫描,判断键位**************************************************************/ void time1_serve(void) interrupt 3 using 2 //定时器T1的中断编号为3,使用第2组寄存器{TR1=0; //关闭定时器T0P1=0xf0; //所有行线置为低电平“0”,所有列线置为高电平“1”if((P1&0xf0)!=0xf0) //列线中有一位为低电平“0”,说明有键按下{delay20ms(); //延时一段时间、软件消抖if((P1&0xf0)!=0xf0) //确实有键按下{P1=0xfe; //第一行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=1; //可判断是S1键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=2; //可判断是S2键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=3; //可判断是S3键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=4; //可判断是S4键被按下P1=0xfd; //第二行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=5; //可判断是S5键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=6; //可判断是S6键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=7; //可判断是S7键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=8; //可判断是S8键被按下P1=0xfb; //第三行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=9; //可判断是S9键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=10; //可判断是S10键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=11; //可判断是S11键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=12; //可判断是S12键被按下P1=0xf7; //第四行置为低电平“0”(输出低电平“0”)if(P14==0) //如果检测到接引脚的列线为低电平“0”keyval=13; //可判断是S13键被按下if(P15==0) //如果检测到接引脚的列线为低电平“0”keyval=14; //可判断是S14键被按下if(P16==0) //如果检测到接引脚的列线为低电平“0”keyval=15; //可判断是S15键被按下if(P17==0) //如果检测到接引脚的列线为低电平“0”keyval=16; //可判断是S16键被按下}}TR1=1; //开启定时器T1TH1=(65536-500)/256; //定时器T1的高8位赋初值TL1=(65536-500)%256; //定时器T1的高8位赋初值 }

电子琴好整,芯片都是现成的

密码锁没那么多硬件,做起来比较方便

单片机简易电子琴毕业论文

多路防盗报警器 交通灯控制

手边有一些你需要的关于单片机的论文设计资料 需要的话加QQ 晚上7点以后隐身在线,直接加就行,说明要的资料名字就好。嘿嘿 楼主 要是觉的好的话 可别忘了给分哦。

KEYBUF EQU 30H STH0 EQU 31H STL0 EQU 32H TEMP EQU 33H ORG 00H LJMP START ORG 0BH LJMP INT_T0 START: MOV TMOD,#01H SETB ET0 SETB EA WAIT: MOV P2,#0FFH CLR MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY1 LCALL DELY10MS MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY1 MOV A,P2 ANL A,#0FH CJNE A,#0EH,NK1 MOV KEYBUF,#0 LJMP DK1 NK1: CJNE A,#0DH,NK2 MOV KEYBUF,#1 LJMP DK1 NK2: CJNE A,#0BH,NK3 MOV KEYBUF,#2 LJMP DK1 NK3: CJNE A,#07H,NK4 MOV KEYBUF,#3 LJMP DK1 NK4: NOP DK1: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,@A+DPTR MOV STL0,A MOV TL0,A SETB TR0 DK1A: MOV A,P2 ANL A,#0FH XRL A,#0FH JNZ DK1A CLR TR0 NOKEY1: MOV P2,#0FFH CLR MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY2 LCALL DELY10MS MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY2 MOV A,P2 ANL A,#0FH CJNE A,#0EH,NK5 MOV KEYBUF,#4 LJMP DK2 NK5: CJNE A,#0DH,NK6 MOV KEYBUF,#5 LJMP DK2 NK6: CJNE A,#0BH,NK7 MOV KEYBUF,#6 LJMP DK2 NK7: CJNE A,#07H,NK8 MOV KEYBUF,#7 LJMP DK2 NK8: NOP DK2: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,@A+DPTR MOV STL0,A MOV TL0,A SETB TR0 DK2A: MOV A,P2 ANL A,#0FH XRL A,#0FH JNZ DK2A CLR TR0 NOKEY2: MOV P2,#0FFH CLR MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY3 LCALL DELY10MS MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY3 MOV A,P2 ANL A,#0FH CJNE A,#0EH,NK9 MOV KEYBUF,#8 LJMP DK3 NK9: CJNE A,#0DH,NK10 MOV KEYBUF,#9 LJMP DK3 NK10: CJNE A,#0BH,NK11 MOV KEYBUF,#10 LJMP DK3 NK11: CJNE A,#07H,NK12 MOV KEYBUF,#11 LJMP DK3 NK12: NOP DK3: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,@A+DPTR MOV STL0,A MOV TL0,A SETB TR0 DK3A: MOV A,P2 ANL A,#0FH XRL A,#0FH JNZ DK3A CLR TR0 NOKEY3: MOV P2,#0FFH CLR MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY4 LCALL DELY10MS MOV A,P2 ANL A,#0FH XRL A,#0FH JZ NOKEY4 MOV A,P2 ANL A,#0FH CJNE A,#0EH,NK13 MOV KEYBUF,#12 LJMP DK4 NK13: CJNE A,#0DH,NK14 MOV KEYBUF,#13 LJMP DK4 NK14: CJNE A,#0BH,NK15 MOV KEYBUF,#14 LJMP DK4 NK15: CJNE A,#07H,NK16 MOV KEYBUF,#15 LJMP DK4 NK16: NOP DK4: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,@A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,@A+DPTR MOV STL0,A MOV TL0,A SETB TR0 DK4A: MOV A,P2 ANL A,#0FH XRL A,#0FH JNZ DK4A CLR TR0 NOKEY4: LJMP WAIT DELY10MS: MOV R6,#10 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET INT_T0: MOV TH0,STH0 MOV TL0,STL0 CPL RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H TABLE1: DW 64021,64103,64260,64400 DW 64524,64580,64684,64777 DW 64820,64898,64968,65030 DW 65058,65110,65157,65178 END

基于单片机的电子锁毕业论文

电子密码锁的设计研究开题报告

紧张而又充实的大学生活即将结束,大家都开始做毕业设计了,在做毕业设计之前要先写好开题报告,优秀的开题报告都具备一些什么特点呢?下面是我帮大家整理的电子密码锁的设计研究开题报告,欢迎大家分享。

一、 课题背景和意义

锁是一种保安措施,是人类为了保护自己私有财产而发明的一种用钥匙才能开启的装置。随着人们生活水平的提高和安全意识的加强,对锁的要求也越来越高,既要安全可靠的防盗,又要使用方便。这就使得传统的锁防盗效果已经满足不了现代社会的防盗需要,而且还存在着随身带钥匙的不便。因此近几年,随着科学技术的不断发展,一种新型的电子密码锁应运而生。电子密码锁运用电子电路控制机械部分,使两者紧密结合,从而避免了因为机械部分被破坏而导致开锁功能失常的问题,而且密码输入错误是还有报警声,大大增加了电子密码锁的防盗功能。同时因为电子密码锁不需要携带钥匙,弥补了钥匙极易丢失和伪造的缺陷,方便了锁具的使用。传统的锁由于构造简单,所以被撬的事件屡见不鲜,电子密码锁由于具有保密性高、使用灵活性好、安全系数高等优点,受到了广大用户的青睐。

二、国内外研究现状

电子密码锁的种类繁多,例如数码锁、指纹锁、磁卡锁、IC卡锁、生物锁等,但较实用的还是按键式电子密码锁。20世纪xx年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,而且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显的进展。

目前,在西方发达国家,密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于只能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国密码锁整体水平尚处在国际xx年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不的努力,使电子密码锁在我国也能得到广发应用。

三、 设计论文主要内容

1、电子密码锁设计方案的分析与方案选择;

2、设计一典型结构的电子密码锁,分析其电路结构及控制程序;

3、选者合适的电器元件;

4、编写控制程序;

5、将程序输入PC机,并修改进行模拟运行;

四、 设计方案

查阅文献技术资料,分析电子密码锁结构、工作原理和技术要求。以单片机为主控芯片,结合外围电路,通过软件程序组成电子密码锁系统,能够实现:

1。 正确输入密码前提下,开锁提示;

2。 错误输入密码情况下,蜂鸣器报警;

3. 密码可以根据用户需要更改。

五、 工作进度安排

— 确定毕业设计课题,提交开题报告; 查阅相关论文,调研及收集相关资料; 方案设计、审查和确定,提交中期报告 编写控制程序 整理并撰写论文 完善论文,提交论文

六、 主要参考文献

[1] 石文轩,宋薇。基于单片机MCS—51的智能密码锁设计[M]。武汉工程职业技术学院学报,20xx,(01);

[2] 祖龙起,刘仁杰。一种新型可编程密码锁[J]。大连轻工业学院学报,20xx,(01);

[3] 叶启明,单片机制作的新型安全密码锁[J]。家庭电子,20xx,(10);

[4] 李明喜,新型电子密码锁的设计[J]。机电产品开发与创新,20xx,(03);

[5] 董继成,一种新型安全的单片机密码锁[J]。电子技术,20xx,(03);

[6] 杨茂涛,一种电子密码锁的实现[J]。福建电脑,20xx,(08);

[7] 瞿贵荣,实用电子密码锁[J]。家庭电子,20xx,(07);

[8] 王千,实用电子电路大全[M],电子工业出版社,20xx,p101;

[9] 何立民,单片机应用技术选编[M],北京:北京航空大学出版社,19xx;

[10] ATmega,ATmega8L—8AC,20xx,(01);

一、开题报告前的准备

毕业设计(论文)题目确定后,学生应尽快征求指导教师意见,讨论题意与整个毕业设计(论文)的工作计划,然后根据课题要求查阅、收集有关资料并编写研究提纲,主要由以下几个部分构成:

1.研究(或设计)的目的与意义。应说明此项研究(或设计)在生产实践上对某些技术进行改革带来的经济与社会效益。有的课题过去曾进行过,但缺乏研究,现在可以在理论上做些探讨,说明其对科学发展的意义。

2.国内外同类研究(或同类设计)的概况综述。在广泛查阅有关文献后,对该类课题研究(或设计)已取得的成就与尚存在的问题进行简要综述,只对本人所承担的课题或设计部分的已有成果与存在问题有条理地进行阐述,并提出自己对一些问题的看法。

3.课题研究(或设计)的内容。要具体写出将在哪些方面开展研究,要重点突出。研究的主要内容应是物所能及、力所能及、能按时完成的,并要考虑与其它同学的互助、合作。

4.研究(或设计)方法。科学的研究方法或切合实际的具有新意的设计方法,是获得高质量研究成果或高水平设计成就的关键。因此,在开始实践前,学生必须熟悉研究(或设计)方法,以避免蛮干造成返工,或得不到成果,甚至于写不出毕业设计(论文)。

5.实施计划。要在研究提纲中按研究(或设计)内容落实具体时间与地点,有计划地进行工作。

二、开题报告

1.开题报告可在指导教师所在教研室或学院内举行,须适当请有关专家参加,指导教师必须参加。报告最迟在毕业(生产)实习前完成。

2.本表(页面:A4)在开题报告通过论证后填写,一式三份,本人、指导教师、所在学院(要原件)各一份。

三、注意事项

1.开题报告的撰写完成,意味着毕业设计(论文)工作已经开始,学生已对整个毕业设计(论文)工作有了周密的'思考,是完成毕业设计(论文)关键的环节。在开题报告的编写中指导教师只可提示,不可包办代替。

2.无开题报告者不准申请答辩。

一、选题依据(拟开展研究项目的研究目的、意义)

随着人们生活水平和自身防范意识的提高,个人人身财产安全越来越受到重视,而锁就是主要的有效保障手段。但是机械锁发展到现在已有悠久的历史,人们对它的内部结构已经有了很透彻的研究,可以做到不使用钥匙而轻易打开锁,也由于金属材料在复杂多变的环境下会生锈,导致锁芯卡死、弹簧老化等问题。

在信息化高速发展的今天,锁也摆脱了以往的造型,向着科技化、信息化、智能化发展。自单片机面世以来,凭借着体积小、价格低、易于编程[2],逐步成为越来越多的电子产品的核心控制组件[4]。在这种趋势下,电子密码锁也就应运而生,并经过多年的快速发展,整体上有遥控式电子锁、键盘式电子锁[11]、卡式电子锁、生物特征扫描电子锁这几种类型,电子密码锁以其可以自由更换密码、操作简单、安全性高[16]、自动报警、自动锁死、功耗低、外观个性、附加功能多种多样[3]等优点深受人们的喜爱,但由于电子密码锁的价格远高于普通机械锁,因此市场上的主流还是机械锁,所以我们需要不断的研究、改进电子锁,学习借鉴前人的程序编码【18】,使其更加智能化、廉价化,让电子密码锁得到普及,使人们的自身财产安全得到更好的保障。

二、文献综述内容(在充分收集研究主题相关资料的基础上,分析国内外研究现状,提出问题,找到研究主题的切入点,附主要参考文献)

早在80年代,日本生产了最早的电子密码锁,随着经济复苏,电子行业得到快速发展,一些使用门电路设计的简单电路密码锁出现了。到了90年代,美国、意大利、德国、日本等地的微电子技术的进步和通信技术的发展为电子密码锁提供了技术上的支持。我国于90年代初开始对密码锁进行初步的探索。到目前为止,在此领域已经有了相当程度的发展,能够生产各种高智能、高安全性的密码锁。遥控式电子防盗锁分为光遥控和无线电遥控,光遥控利用窄角度的光传输密码,传输信息量大、速度极快、无法再光路径上以仪器捕获信号试图复制,保密性极高,无线电遥控传输信息量大、速度快但是信号发散广容易被仪器捕获。卡式防盗锁,利用磁卡存储个人信息而且在特定场合能够一卡多用。生物特征防盗锁利用生物自带的唯一特征能够起到极高的防盗作用。但是这种高端电子锁只适用于政府机关、大型企业等少数部门,不适用于广大的人们群众的日常生活。普通群众日常使用的还是机械锁,所以需要设计一款功能实用、价格低廉、操作简单的电子密码锁。利用单片机【1】作为控制元件的电子密码锁能够使用C语言[7]和汇编语言简单的对其进行各种人性化的编程[6],来控制单片机各引脚的高低电位[14]从而实现各元件的接通与关闭,通过整体的配合实现随意更改密码、防盗报警[9]、防暴力破解自锁、LED显示等功能,更加适应不同人群的需求。

参考文献:

[1]宁爱民应用AT89C2051单片机设计电子密码锁.淮海工学院学报.

[2]韩团军;基于单片机的电子密码锁设计[J];国外电子测量技术;2010年07期

[3]郭海英.基于单片机的电子安全密码锁的设计.现代电子技术.

[4]张洪润. 单片机应用技术教程[M].北京:清华大学出版社,1997

[5]李娜,刘雅举. Proteus在单片机仿真中的应用[J].现代电子技术,2007,(04)

[6]杨将新,李华军,刘到骏. 单片机程序设计及应用(从基础到实践)[M].北京:电子工业出版社,2006

[7]谭浩强. C++程序设计[M].北京:清华大学出版社,2004

[8]郑春来;韩团军;李鑫.编译软件Keil在单片机课程教学中的应用.高教论坛.

[9]周功明. 基于AT89C2051单片机的防盗自动报警电子密码锁系统的设计[J].绵阳师范学院学报,2007,(04)

[10]李全利. 单片机原理及接口技术[M].北京:高等教育出版社,2003

[11]瞿贵荣. 实用电子密码锁[J]. 家庭电子,2000,(07):34~73

[12]赵益丹,徐晓林,周振峰. 电子密码锁的系统原理、设计程序及流程图[J].嘉兴学院学报,2003,(15)

[13]李广弟,朱月秀,冷祖祁.单片机基础[M].(第三版) 北京:北京航空航天大学出版社,2007

[14]康华光,陈大钦,张林.电子技术基础(模拟部分)[M].(第五版) 北京:高等教育出版社,2006

[15]李伯成.基于MCS-51单片机的嵌入式系统的设计[M].北京:电子工业出版社,.

[16]郭海英.基于单片机的电子安全密码锁的设计[J].现代电子技术,2005,(13)

[17]蒋辉平 周国雄.基于PROTEUS的单片机系统设计与仿真实例[M].北京:机械工业出版社,.

三、研究方案(主要研究内容、目标,研究方法)

研究内容:

基于整个控制系统的研究设计情况,本设计主要进行如下方面的研究:用智能,集成且功能强大的单片机芯片[15]为控制中心,设计出一套按键式电子密码锁。

本设计主要做了如下几方面的工作:

1.确定密码锁系统的整体设计,包括密码的存储与更改、密码数字的显示、密码是否正确的LED灯提示,暴力破解的密码的蜂鸣器警报。

2.进行各模块的电路设计与连接、大体分配各个器件及模块的基本功能[13]要求。在P0口处接上拉电阻来保证LED屏幕的正常工作以给用户显示正确有效的提示信息,接入两个发光二极管(红、绿各一个)来提示用户的密码是否正确,接入一个蜂鸣器来提示用户密码错误以及在被暴力破解时的报警功能,接入一个4x4矩阵键盘来让用户输入密码,与LED屏幕、发光二极管、蜂鸣器一起起到人机交互的作用。

3.进行软件系统的设计,使用KEI采用C语言对系统进行编程,研究系统的判断逻辑,采用延时函数来有效实现键盘的防抖动功能,采用循环语句来实现键盘的实时监听,采用外接存储器保存密码,采用判断语句判断输入的密码是否正确以及输入错误密码的次数判断是否调用蜂鸣器和键盘响应,将各功能模块整合到一起形成一套高效、简练的系统。

研究目标:

设计一个基于单片机的电子密码锁电路,完成密码的存储与更改、密码数字的显示、密码是否正确的LED灯提示,暴力破解的密码的蜂鸣器警报的功能,完成proteus仿真。

研究方法:

通过文献资料、理论学习,使用KEIL和PROTEUS进行密码锁系统的模拟仿真,验证是否能够实现预期功能。

四、进程计划(各研究环节的时间安排、实施进度、完成程度)

20xx年12月—20xx年3月

进行大量论文相关材料阅读,撰写开题报告,开题。三月中旬完成开题报告;

20xx年3月—20xx年4月

20xx年四月中旬完成论文初稿,交给导师修改,对不足的地方进行改进,学院进行论文中期检查;

20xx年4月—20xx年5月

对论文不足之处再修改,五月中旬并完成论文,形成定稿;

20xx年5月—20xx年6月

对论文进行评阅,合格的论文进行资格检查,组织毕业论文答辩。

新款的单片机都可以设置密码

我有一篇,不知道是不是你想要的,先采纳我的答案

程序设计内容

(1). 密码的设定,在此程序中密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。

(2). 密码的输入问题:  由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。

(3).按键禁止功能:初始化时,是允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态在3次密码输入不正确的情况下发生的。

C语言源程序

#include unsigned char code ps[]={1,2,3,4,5};

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,                               

0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};

unsigned char pslen=9; unsigned char templen;

unsigned char digit; unsigned char funcount;

unsigned char digitcount;

unsigned char psbuf[9];

bit cmpflag;

bit hibitflag;

bit errorflag;

bit rightflag;

unsigned int second3;

unsigned int aa;

unsigned int bb;

bit alarmflag;

bit exchangeflag;

unsigned int cc;

unsigned int dd;

bit okflag;

unsigned char oka;

unsigned char okb;

void main(void)

{  

unsigned char i,j;  

P2=dispcode[digitcount];  

TMOD=0x01;  

TH0=(65536-500)/256;  

TL0=(65536-500)%6;  

TR0=1;  

ET0=1;  

EA=1;  

while(1)   

  {      

if(cmpflag==0)        

{          

if(P3_6==0) //function key           

  {              

for(i=10;i>0;i--)              

for(j=248;j>0;j--);      

         if(P3_6==0)                

{                

   if(hibitflag==0)       

              {     

                  funcount++;  

                     if(funcount==pslen+2)

                        {  

                         funcount=0;

                          cmpflag=1;

                         }

                       P1=dispcode[funcount];

                    }

                    else

                      {

                         second3=0;

                      }  

                 while(P3_6==0);

                }

            }

          if(P3_7==0) //digit key

            {

              for(i=10;i>0;i--)

              for(j=248;j>0;j--);

              if(P3_7==0)

                {

                  if(hibitflag==0)

                    {

                      digitcount++; 

                  if(digitcount==10)

                        {

                          digitcount=0;

                        }

                      P2=dispcode[digitcount];

                      if(funcount==1)

                        {

                          pslen=digitcount;                          

templen=pslen;

                        }

                        else if(funcount>1)

                          {  

                           psbuf[funcount-2]=digitcount;

                          }

                    }

                    else

                      {

                        second3=0;

                      }

                  while(P3_7==0);

                }

            }

        }  

       else

          {

            cmpflag=0;

            for(i=0;i

              {  

               if(ps[i]!=psbuf[i])

                  {

                    hibitflag=1;

                    i=pslen;

                    errorflag=1;

                    rightflag=0;

                    cmpflag=0;

                    second3=0;

                    goto a;  

                 }

              }   

          cc=0;  

           errorflag=0;  

           rightflag=1;

            hibitflag=0;

a:   cmpflag=0;

          }

}

}

void t0(void)

interrupt 1 using 0 {   TH0=(65536-500)/256;  

TL0=(65536-500)%6;  

if((errorflag==1) && (rightflag==0))  

{

      bb++;

      if(bb==800)

        {

          bb=0;

          alarmflag=~alarmflag;

        }

      if(alarmflag==1)

        {

          P0_0=~P0_0;

        }

      aa++;

      if(aa==800)

        {

          aa=0;

          P0_1=~P0_1;

        }

      second3++;

      if(second3==6400)

        {

          second3=0;

          hibitflag=0;

          errorflag=0;

          rightflag=0;

          cmpflag=0;

          P0_1=1;  

         alarmflag=0;

          bb=0;  

         aa=0;  

       }

    }

  if((errorflag==0) && (rightflag==1))

    {

      P0_1=0;

      cc++;

      if(cc<1000)

        {

          okflag=1;

        }

        else if(cc<2000)

          {

            okflag=0;

          }

          else

            {

              errorflag=0;

              rightflag=0;

              hibitflag=0;

              cmpflag=0;

              P0_1=1;

              cc=0;  

             oka=0;

              okb=0;

              okflag=0;  

             P0_0=1;  

           }

      if(okflag==1)

        {  

         oka++;  

         if(oka==2)

            {

              oka=0;

              P0_0=~P0_0;

            }

        }

        else

          {

            okb++;

            if(okb==3)

              {

                okb=0;

                P0_0=~P0_0;

              }  

         }

    }

}

基于单片机的电子秤设计毕业论文

以下均可参考,从参考网址进入,合适的话,给我加分!谢谢1.基于labVIEW虚拟滤波器的设计与实现 2.双闭环直流调速系统设计3.单片机脉搏测量仪 4.单片机控制的全自动洗衣机毕业设计论文电梯控制的设计与实现 6.恒温箱单片机控制7.基于单片机的数字电压表 8.单片机控制步进电机毕业设计论文9.函数信号发生器设计论文 变电所一次系统设计11.报警门铃设计论文 单片机交通灯控制13.单片机温度控制系统 通信系统中的接入信道部分进行仿真与分析15.仓库温湿度的监测系统 16.基于单片机的电子密码锁17.单片机控制交通灯系统设计 18.基于DSP的IIR数字低通滤波器的设计与实现19.智能抢答器设计 20.基于LabVIEW的PC机与单片机串口通信设计的IIR数字高通滤波器 22.单片机数字钟设计23.自动起闭光控窗帘毕业设计论文 24.三容液位远程测控系统毕业论文25.基于Matlab的PWM波形仿真与分析 26.集成功率放大电路的设计27.波形发生器、频率计和数字电压表设计 28.水位遥测自控系统 毕业论文29.宽带视频放大电路的设计 毕业设计 30.简易数字存储示波器设计毕业论文31.球赛计时计分器 毕业设计论文 数字滤波器的设计毕业论文机与单片机串行通信毕业论文 34.基于CPLD的低频信号发生器设计毕业论文变电站电气主接线设计 序列在扩频通信中的应用37.正弦信号发生器 38.红外报警器设计与实现39.开关稳压电源设计 40.基于MCS51单片机温度控制毕业设计论文41.步进电动机竹竿舞健身娱乐器材 42.单片机控制步进电机 毕业设计论文43.单片机汽车倒车测距仪 44.基于单片机的自行车测速系统设计45.水电站电气一次及发电机保护 46.基于单片机的数字显示温度系统毕业设计论文47.语音电子门锁设计与实现 48.工厂总降压变电所设计-毕业论文49.单片机无线抢答器设计 50.基于单片机控制直流电机调速系统毕业设计论文51.单片机串行通信发射部分毕业设计论文 52.基于VHDL语言PLD设计的出租车计费系统毕业设计论文53.超声波测距仪毕业设计论文 54.单片机控制的数控电流源毕业设计论文55.声控报警器毕业设计论文 56.基于单片机的锁相频率合成器毕业设计论文57.基于Multism/protel的数字抢答器 58.单片机智能火灾报警器毕业设计论59.无线多路遥控发射接收系统设计毕业论文 60.单片机对玩具小车的智能控制毕业设计论文61.数字频率计毕业设计论文 62.基于单片机控制的电机交流调速毕业设计论文63.楼宇自动化--毕业设计论文 64.车辆牌照图像识别算法的实现--毕业设计65.超声波测距仪--毕业设计 66.工厂变电所一次侧电气设计67.电子测频仪--毕业设计 68.点阵电子显示屏--毕业设计69.电子电路的电子仿真实验研究 70.基于51单片机的多路温度采集控制系统71.基于单片机的数字钟设计 72.小功率不间断电源(UPS)中变换器的原理与设计73.自动存包柜的设计 74.空调器微电脑控制系统75.全自动洗衣机控制器 76.电力线载波调制解调器毕业设计论文77.图书馆照明控制系统设计 78.基于AC3的虚拟环绕声实现79.电视伴音红外转发器的设计 80.多传感器障碍物检测系统的软件设计81.基于单片机的电器遥控器设计 82.基于单片机的数码录音与播放系统83.单片机控制的霓虹灯控制器 84.电阻炉温度控制系统85.智能温度巡检仪的研制 86.保险箱遥控密码锁 毕业设计变电所的电气部分及继电保护 88.年产26000吨乙醇精馏装置设计89.卷扬机自动控制限位控制系统 90.铁矿综合自动化调度系统91.磁敏传感器水位控制系统 92.继电器控制两段传输带机电系统93.广告灯自动控制系统 94.基于CFA的二阶滤波器设计95.霍尔传感器水位控制系统 96.全自动车载饮水机97.浮球液位传感器水位控制系统 98.干簧继电器水位控制系统99.电接点压力表水位控制系统 100.低成本智能住宅监控系统的设计101.大型发电厂的继电保护配置 102.直流操作电源监控系统的研究103.悬挂运动控制系统 104.气体泄漏超声检测系统的设计105.电压无功补偿综合控制装置 型无功补偿装置控制器的设计电机调速 频段窄带调频无线接收机109.电子体温计 110.基于单片机的病床呼叫控制系统111.红外测温仪 112.基于单片微型计算机的测距仪113.智能数字频率计 114.基于单片微型计算机的多路室内火灾报警器115.信号发生器 116.基于单片微型计算机的语音播出的作息时间控制器117.交通信号灯控制电路的设计 118.基于单片机步进电机控制系统设计119.多路数据采集系统的设计 120.电子万年历 121.遥控式数控电源设计 降压变电所一次系统设计 变电站一次系统设计 124.智能数字频率计 125.信号发生器126.基于虚拟仪器的电网主要电气参数测试设计 127.基于FPGA的电网基本电量数字测量系统的设计 128.风力发电电能变换装置的研究与设计 129.电流继电器设计 130.大功率电器智能识别与用电安全控制器的设计 131.交流电机型式试验及计算机软件的研究 132.单片机交通灯控制系统的设计 133.智能立体仓库系统的设计 134.智能火灾报警监测系统 135.基于单片机的多点温度检测系统 136.单片机定时闹钟设计 137.湿度传感器单片机检测电路制作 138.智能小车自动寻址设计--小车悬挂运动控制系统 139.探讨未来通信技术的发展趋势 140.音频多重混响设计 141.单片机呼叫系统的设计 142.基于FPGA和锁相环4046实现波形发生器 143.基于FPGA的数字通信系统 144.基于单片机的带智能自动化的红外遥控小车 145.基于单片机AT89C51的语音温度计的设计 146.智能楼宇设计 147.移动电话接收机功能电路 148.单片机演奏音乐歌曲装置的设计 149.单片机电铃系统设计 150.智能电子密码锁设计 151.八路智能抢答器设计 152.组态控制抢答器系统设计 153.组态控制皮带运输机系统设计 154..基于单片机控制音乐门铃 155.基于单片机控制文字的显示 156.基于单片机控制发生的数字音乐盒 157.基于单片机控制动态扫描文字显示系统的设计 158.基于LMS自适应滤波器的MATLAB实现 功率放大器毕业论文 160.无线射频识别系统发射接收硬件电路的设计 161.基于单片机PIC16F877的环境监测系统的设计 162.基于ADE7758的电能监测系统的设计 163.智能电话报警器 164.数字频率计 课程设计 165.多功能数字钟电路设计 课程设计 166.基于VHDL数字频率计的设计与仿真 167.基于单片机控制的电子秤 168.基于单片机的智能电子负载系统设计 169.电压比较器的模拟与仿真 170.脉冲变压器设计 仿真技术及应用 172.基于单片机的水温控制系统 173.基于FPGA和单片机的多功能等精度频率计 174.发电机-变压器组中微型机保护系统 175.基于单片机的鸡雏恒温孵化器的设计 176.数字温度计的设计 177.生产流水线产品产量统计显示系统 178.水位报警显时控制系统的设计 179.红外遥控电子密码锁的设计 180.基于MCU温控智能风扇控制系统的设计 181.数字电容测量仪的设计 182.基于单片机的遥控器的设计 电话卡代拨器的设计 184.数字式心电信号发生器硬件设计及波形输出实现 185.电压稳定毕业设计论文 186.基于DSP的短波通信系统设计(IIR设计) 187.一氧化碳报警器 188.网络视频监控系统的设计 189.全氢罩式退火炉温度控制系统 190.通用串行总线数据采集卡的设计 191.单片机控制单闭环直流电动机的调速控制系统 192.单片机电加热炉温度控制系统 193.单片机大型建筑火灾监控系统 接口设备驱动程序的框架设计 195.基于Matlab的多频率FMICW的信号分离及时延信息提取 196.正弦信号发生器 197.小功率UPS系统设计 198.全数字控制SPWM单相变频器 199.点阵式汉字电子显示屏的设计与制作 200.基于AT89C51的路灯控制系统设计 200.基于AT89C51的路灯控制系统设计 201.基于AT89C51的宽范围高精度的电机转速测量系统 202.开关电源设计203.基于PDIUSBD12和K9F2808简易USB闪存设计 204.微型机控制一体化监控系统205.直流电机试验自动采集与控制系统的设计 206.新型自动装弹机控制系统的研究与开发 207.交流异步电机试验自动采集与控制系统的设计208.转速闭环控制的直流调速系统的仿真与设计209.基于单片机的数字直流调速系统设计210.多功能频率计的设计信息移频信号的频谱分析和识别212.集散管理系统—终端设计213.基于MATLAB的数字滤波器优化设计214.基于AT89C51SND1C的MP3播放器215.基于光纤的汽车CAN总线研究216.汽车倒车雷达217.基于DSP的电机控制218.超媒体技术219.数字电子钟的设计与制作220.温度报警器的电路设计与制作221.数字电子钟的电路设计222.鸡舍电子智能补光器的设计223.高精度超声波传感器信号调理电路的设计224.电子密码锁的电路设计与制作225.单片机控制电梯系统的设计226.常用电器维修方法综述227.控制式智能计热表的设计228.电子指南针设计229.汽车防撞主控系统设计230.单片机的智能电源管理系统231.电力电子技术在绿色照明电路中的应用232.电气火灾自动保护型断路器的设计233.基于单片机的多功能智能小车设计234.对漏电保护器安全性能的剖析235.解析民用建筑的应急照明236.电力拖动控制系统设计237.低频功率放大器设计238.银行自动报警系统

1、毕业设计(论文)开题报告应包括以下内容: (1)研究的目的; (2)本论文国内外研究的历史和现状(文献综述); (3)主要研究内容; (4)课题的准备情况; (5)工作进度计划; (6)参考文献。 2、开题报告的撰写应符合科技文献规范,且不少于2000字;参考文献应不少于15篇,(这个不同的学校有不同的规定,我们学校就是2000字和15篇)包括中外文科技期刊、教科书、专著等。 3、开题报告正文字体采用宋体小四号,倍行距。附页为A4纸型,左边距3cm,右边距2cm,上下边距为,字体采用宋体小四号,倍行距。 4、“课题来源”一栏可选项有:科学技术 、生产实践 、社会经济、经典、自拟、其它。 5、“成果形式”一栏可选项有:毕业设计、毕业论文。

毕业设计开题报告 到 " 大学生部落论坛 “ 毕业论文栏目里”有许多的开题报告 找找参考的范文看看吧 ,看看别人是怎么写的。 希望能够解决你的问题。

把我的给你参考下吧,呵呵 一.学位论文题目:二氧化硫对小麦种子萌发早期水解酶活性变化的研究 二.所选课题的来源、目的、意义及该课题在国内外的概况: ● 课题来源 自选课题 研究目的 研究SO2促进小麦种子萌发的最佳浓度,分析小麦种子萌发过程中水解酶活性的变化,进而研究SO2做为一种新型信号分子的信号转导机制。 ● 研究意义 近年来,SO2做为一种新型信号分子已经在哺乳动物及人类身上展开了实验及临床研究,然而SO2在植物体内的研究目前还未见报道... ● 国内外研究概况 1. 种子的萌发与休眠 种子萌发(seed germination)是种子的胚从相对静止状态变为生理活跃状态,并长成营自养生活的幼苗的过程,生产上... 2. 谷物种子中的水解酶及研究进展 3. 二氧化硫研究进展 主要参考文献 [1] Bewley JD (1997). Seed germination and plant dormancy. Plant Cell, 9: 1055 - 1066 三.课题研究的主要内容及拟解决的问题和预期效果: ● 主要内容 ● 拟解决问题 ● 预期效果 四.实验设计方案及所需要的主要设备、仪器、材料(名称、规格型号)及其数据(实验大纲另订)。 ● 实验方案 研究设计方案 ● 所需主要仪器设备 实验流程图 五.关键问题,现有条件及解决办法: ● 关键问题 ● 现有条件及解决方法 六.进度安排及完成毕业论文日期:

一、 选题意义 1、 理论意义 2、 现实意义 二、 论文综述 1、 理论的渊源及演进过程 2、 国外有关研究的综述 3、 国内研究的综述 4、 本人对以上综述的评价 三、论文提纲 前言、 一、 1、 2、 3、 ··· ··· 二、 1、 2、 3、 ··· ··· 三、 1、 2、 3、 结论 四、论文写作进度安排

1.课题的研究背景和现状,意义;2.课题研究的主要内容;3.创新点;4.技术路线;5课题的进程安排。我是学机械的。

第1章 绪论 概述 随着时代科技的迅猛发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。常规的测试仪器仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器在远离、功能、精度及自动化水平定方面发生了巨大变化,并相应的出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得以显著提高。 作为重量测量仪器,智能电子秤在各行各业开始显现其测量准确,测量速度快,易于实时测量和监控的巨大优点,并开始逐渐取代传统型的机械杠杆测量称,成为测量领域的主流产品。 本文设计的电子秤以单片机为主要部件,用汇编语言进行软件设计,硬件则以半桥传感器为主,测量0~500g电子秤,随时可改变上限阈值,并达到阈值报警的功能。称重传感器输出的电量是模拟量,数值比较小达不到A/D转换接收的电压范围。所以送A/D转换之前要对其进行前端放大、整形滤波等处理。然后,A/D转换的结果才能送单片机进行数据处理并显示。其数据显示部分采用LCD显示,成本低且能很好地实现所要求的功能。 本次课设完成的电子秤的主要优点是: 1、实时测量与监控。 2、阈值修改与重设功能。 3、超值报警功能。 4、测量精度高。 5、显示速度快、准确。 本文设计的电子秤虽然是一个极其简单的智能仪器,但是通过它可以更深入的了解智能仪器的工作原理以及其优异的性能。 本文的主要内容 本文分为五章,第一章主要介绍课题的产生背景和本文讲述的主要内容;第二章主要方案的论证,包括任务的分析实现、硬件和软件的方案设计;第三章详细介绍半桥电子秤的硬件设计;第四章讲述半桥电子秤的软件设计;第五章主要论述调试与分析过程。 看看和你要求一样吗237513901

怎么写开题报告呢? 首先要把在准备工作当中搜集的资料整理出来,包括课题名称、课题内容、课题的理论依据、参加人员、组织安排和分工、大概需要的时间、经费的估算等等。 第一是标题的拟定。课题在准备工作中已经确立了,所以开题报告的标题是不成问题的,把你研究的课题直接写上就行了。比如我曾指导过一组同学对伦教的文化诸如“伦教糕”、伦教木工机械、伦教文物等进行研究,拟定的标题就是“伦教文化研究”。 第二就是内容的撰写。开题报告的主要内容包括以下几个部分: 一、课题研究的背景。 所谓课题背景,主要指的是为什么要对这个课题进行研究,所以有的课题干脆把这一部分称为“问题的提出”,意思就是说为什么要提出这个问题,或者说提出这个课题。比如我曾指导的一个课题“伦教文化研究”,背景说明部分里就是说在改革开放的浪潮中,伦教作为珠江三角洲一角,在经济迅速发展的同时,她的文化发展怎么样,有哪些成就,对居民有什么影响,有哪些还要改进的。当然背景所叙述的内容还有很多,既可以是社会背景,也可以是自然背景。关键在于我们所确定的课题是什么。 二、课题研究的内容。课题研究的内容,顾名思义,就是我们的课题要研究的是什么。比如我校黄姝老师的指导的课题“佛山新八景”,课题研究的内容就是:“以佛山新八景为重点,考察佛山历史文化沉淀的昨天、今天、明天,结合佛山经济发展的趋势,拟定开发具有新佛山、新八景、新气象的文化旅游的可行性报告及开发方案。” 三、课题研究的目的和意义。 课题研究的目的,应该叙述自己在这次研究中想要达到的境地或想要得到的结果。比如我校叶少珍老师指导的“重走长征路”研究课题,在其研究目标一栏中就是这样叙述的: 1、通过再现长征历程,追忆红军战士的丰功伟绩,对长征概况、长征途中遇到了哪些艰难险阻、什么是长征精神,有更深刻的了解和感悟。 2、通过小组同学间的分工合作、交流、展示、解说,培养合作参与精神和自我展示能力。 3、通过本次活动,使同学的信息技术得到提高,进一步提高信息素养。 四、课题研究的方法。 在“课题研究的方法”这一部分,应该提出本课题组关于解决本课题问题的门路或者说程序等。一般来说,研究性学习的课题研究方法有:实地调查考察法(通过组织学生到所研究的处所实地调查,从而得出结论的方法)、问卷调查法(根据本课题的情况和自己要了解的内容设置一些问题,以问卷的形式向相关人员调查的方法)、人物采访法(直接向有关人员采访,以掌握第一手材料的方法)、文献法(通过查阅各类资料、图表等,分析、比较得出结论)等等。在课题研究中,应该根据自己课题的实际情况提出相关的课题研究方法,不一定面面俱到,只要实用就行。 五、课题研究的步骤。 课题研究的步骤,当然就是说本课题准备通过哪几步程序来达到研究的目的。所以在这一部分里应该着重思考的问题就是自己的课题大概准备分几步来完成。一般来说课题研究的基本步骤不外乎是以下几个方面:准备阶段、查阅资料阶段、实地考察阶段、问卷调查阶段、采访阶段、资料的分析整理阶段、对本课题的总结与反思阶段等。 六、课题参与人员及组织分工。 这属于对本课题研究的管理范畴,但也不可忽视。因为管理不到位,学生不能明确自己的职责,有时就会偷懒或者互相推诿,有时就会做重复劳动。因此课题参与人员的组织分工是不可少的。最好是把所有的参与研究的学生分成几个小组,每个小组通过民主选举的方式推选出小组长,由小组长负责本小组的任务分派和落实。然后根据本课题的情况,把相关的研究任务分割成几大部分,一个小组负责一个部分。最后由小组长组织人员汇总和整理。 七、课题的经费估算。 一个课题要开展,必然需要一些经费来启动,所以最后还应该大概地估算一下本课题所需要 的资金是多少,比如搜集资料需要多少钱,实地调查的外出经费,问卷调查的印刷和分发的费用,课题组所要占用的场地费,有些课题还需要购买一些相关的材料,结题报告等资料的印刷费等等。所谓“大军未动,粮草先行”,没有足够的资金作后盾,课题研究势必举步维艰,捉襟见肘,甚至于半途而废。因此,课题的经费也必须在开题之初就估算好,未雨绸缪,才能真正把本课题的研究做到最好。

毕业设计开题报告 1、课题背景介绍 临沂市位于山东省东南部,素有“山东南大门”之称,下辖3区9县,面积1。72万平方公里,人口1000万,是山东省面积最大、人口最多的行政区。临沂城水资源丰富,纵贯南北的沂河、柳青河、青龙河和横穿东西的祊河、涑河等5条河流在中心城区交汇,位于临沂城区段的沂河橡胶坝长1248米,为世界之最,已被列入世界吉尼斯记录,上游形成的沂蒙湖水面130万平方米,湖水碧波荡漾,面积相当于两个杭州西湖,2001年被国家水利部评定为国家级水利风景区。 过去由于只注重工业经济的发展,城市建设和环境保护等工作被忽略,市区滨河地段杂草丛生,1片荒芜;挖沙船到处挖沙,使河边变得坑坑洼洼,脏乱不堪;1些不法单位拉来建筑垃圾倾倒在沂河及涑河沿岸的堤坝上,许多工厂将废水也排放到河里,使河水变得浑浊不堪,污染严重,无法饮用。不少居民也将生活垃圾倾倒在这里,使河边变成了垃圾场,1到夏天,熏人的气味扑面而来,严重影响了居民的生活和城市形象。 为了适应经济的发展,扩大城市建设规模,合理利用充足的水资源,同时改善人们的生活环境,提升城市品位,临沂市 *** 决定投入巨沂资规划建设临市区内的滨河区域。 2、课题拟设计研究的主要内容、实验方案 在上述情况的影响下,我这次所报的毕业设计课题为“临沂市沂河沿岸(局部)景观设计”,所以滨水空间的规划、绿化和景观设计是这次课题设计研究的主要内容。 水是人们生活中必不可少因素,自古以来就被赋予多种属性,被当作理想人格的的1种象征,使得其在性、情、景、意交融中充满了生命的灵性;在中国古代文化中,水逐渐成为1种根源性的隐喻,是代表自然与城市“合1”的最好模型。可以说水是古代除了封建礼制以外,对城市规划特色形成起作用的最重要的因素。其作用从饮用、灌溉、运输发展到现在的提供活动、景观的载体,故滨水空间的性质也在不断变化。 在全球化背景下,我国当前进入快速城市化阶段,城市建设也陷入了不断趋同、特色危机重重的窘境;在工业化时期几近湮灭的水的特性再次成为 *** 城市生命力的重要因素。因此在这次设计中应充分利用城市与水的“骨架”与“血肉”关系,因地制宜,融合水与空间、文化的时空联系,塑造出城市的特色与个性,使城市绿化面积扩大,景观更加秀丽宜人,市区环境质量得到全面改善,最终形成“水在城中游,城在水中立,水体与绿地相互依托并融为1体的丰富多彩的、富有地方特色的滨水生态城市”而贡献1份力量。 实验方案: 通过对课题所涉及的地区进行实地测量考察,以及搜集查阅相关资料,对设计的方案进行综合严密的验证。从设计理念、设计原则、风水分析、构图分析、植物配置几大方面展开工作,并在老师的指导下设计出合理的方案。 设计理念:沂河贯穿临沂市区,是离城市公共密集地区较近的生态系统之1,是 城市向乡村延伸,乡村向城市渗透的区域,这种渗透体现的是1种人与自然的对话,在本方案中,以人与自然的和谐统1为设计理念。 设计原则:A、生态原则:维持沂河生态环境是进行城市建设的基本门槛。 B、适应自然和社会运动周期的原则:关注人的活动周期和季节 变化,创造出适应季节变化的景观。 C、经济原则:通过设计对环境的改造,创造更舒适的生活环 境,实现其使用价值,同时也带动周围的土地升值。 风水分析:风水上讲究,曲生吉,直生煞,在本方案中,以曲线(主路)来化解直线带来的煞气。 构图分析:本方案设计设计地段位于沂河和其最大支流枋河交汇处,河道比较弯曲,因此在设计中,以北斗7星为主构图元素,根据人文和地理将其分为3个区域: A区:古文化区,临沂市是1座历史悠久的城市。古称琅琊,距今已有2400年历史。闻名中外的汉代帛画和《孙子兵法》、《孙膑兵法》竹简等,就出土在临沂市银雀山下。我国许多历史文化名人,如春秋时期的曾子、子路,战国时期的荀况,东汉珠算发明家刘洪,西汉经学家匡衡,3国时期著名军事家诸葛亮,东晋书圣王羲之,南北朝文艺批评家刘勰,唐代书法家颜真卿等,有的出生于此,有的在这里生活过,都留下了难以湮灭的印迹。 B区:自然生态区,以沂河自然风光为主题,以生态亲水公园为中心,形成适合休闲娱乐的场所。 C区:沂蒙革命精神区,临沂市是著名的革命老区。革命战争年代,沂蒙人民为抗击外来侵略和中国革命的胜利作出了巨大的贡献和牺牲,3万沂蒙的优秀儿女献身疆场。车轮滚滚的支前队伍、送子送郎参军的动人场面、红嫂的感人故事、名垂青史的台儿庄战役、孟良崮战役记下了这1段光荣的革命业绩。 植物配置:从人性化、乡土性、生态原则3方面进行植物配置。 3、相关文献综述 中国建材出版社出版,汤振宁编著的《城市河道景观设计》1书,以大量实景照片向我们展示了北京,上海,韩国等地的1些优秀河道景观设计,本书内1些优秀设计作品的作者分别为具有丰富施工经验和设计经验的专业人士,使该书具有很好的实用价值,同时该书也具有较强的实用性和前瞻性,给我这次所做的课题提供了很多的参考。 上林国际文化有限公司编著,华中科技大学出版社出版的《滨水区域景观规划》1书,挑选了如“广州市番禹区桥河——河两岸城市设计”,“海南洋浦经济开发区滨海生活服务区设计”等34个典型滨水区域,对照其不同的设计思路历程,阐述了滨水景观规划的设计着眼点。从不同角度,不同细节的解析,使我对滨水景观设计有了更全面的认识。比如该书中强调的人体工程学、环境心理学、审美心理学等要素,因此在这次设计中、使我深入地去了解人们的生理特点、行为心理和视觉感受等方面对景观的设计要求,以便于做出更好的设计。 上海人民美术出版社出版,沈蔚、李竹等编著《室外环境艺术设计》1书介绍了环境艺术设计这门涉及生态、园林、建筑、结构、材料、城市规划等领域的综合性边缘学科,它的实质是以现实条件和自然环境为基础,人性化地对环境进行科学和艺术改善及创造,使之更适应于人们生活、工作和休闲等各种社会生活和人文交流,有益于人们的身心健康和社会的文明进步。阅读该书使我了解了景观设计的元素、手法、进行的基本程序、表达的方法,以及设计的实施,尽可能实现它的功能性、艺术观赏性、科学合理性、经济性。通过学习和研究此书,使我对景观设计有了更专业的认识。 化学工业出版社出版,卢新海、杨祖达编著的《园林规划设计》介绍了园林设计的要素、方法、步骤等具体的内容。内容包括中外园林、园林设计的基本理论、园林设计的原则与依据、园林设计的依据,园林设计的依据、构成要素的规划与设计及各类绿地的规划设计。其中我国古典园林创作的优秀手法,布局形式,依据与原则等给我的设计带来很大的启发。 4、预期成果 实施这1工程将使城市绿化面积扩大,景观更加秀丽宜人,很好地改善市区人们生活环境现状,整体上提升临沂市的城市品位与城市形象,同时通过设计重塑环境,关注城市与自然的关系,建设1个概念明确的公共滨水地带,完成城市公共

有必要上这儿来吗,去图书馆的数据库,这样类型的文章多得不得了啊

要根据自己的硬件来写吧

单片机电子琴论文参考文献

手边有一些你需要的关于单片机的论文设计资料 需要的话加QQ 晚上7点以后隐身在线,直接加就行,说明要的资料名字就好。嘿嘿 楼主 要是觉的好的话 可别忘了给分哦。

音色(Tone)PIANO 钢琴 ELECPIANO 电子钢琴 HARPSICHORD 古钢琴 CELESTA 钢琴片 ORGAN 风琴 ELEC ORGAN 电子风琴 PIPE ORGAN 管风琴 JAZZ ORGAN 爵士风琴 ACCORDION 手风琴 SYNTHORGAN 合成风琴 ORCHESTRA 管弦乐 STRING 弦乐 VIOLIN 小提琴 CELLO 大提琴 PICCOLO 短笛 FLUTE 长笛 JAZZFLUTE 爵士长笛 CLARINET 单簧管 OBOE 双簧管 BASSOON 大管 SAXPHONE 萨克管 BRASS 铜管乐 TRUMPET 小号 HORN 圆号 TROMBONE 长号 TUBA 大号 WAH BRASS 哇声铜管乐 GUITAR 吉他 BASS 倍大提琴 BAGPIPE 风笛 BASS GUITAR 低音吉他 MANDOLIN 曼陀林 BANJO 班卓 VIRES 振琴 VIBRAPHONE 电颤振铁琴 HARP 竖琴 FANTASY 幻想音 WAH 哇音 FUNNY 滑稽音 COSMIC TONE 宇宙音 ELECSYNTHE 电子合成音乐 FUNNYSYNTH 合成滑稽音 ELECGUITAR 电吉他 JAZZ GUITAR 爵士吉他 XYLOPHONE 木琴 GLOCKENSPIEL钟琴 HARMONICA 口琴 MUSIC 百音盒 SYMPHONIC 交响乐 CHORUS 合唱队 VOICES 人声 RHYTHNIC 律动性音乐拨钮 DIAPASON 管风琴音栓 VIBES 颤动的声音 RERCUSSION 打击乐 SYNTHETIC 合成打击乐 PERCUSSION §2,节奏同步.音色添加效果(EFFECT)以下这些功能主要是用来修饰音色 VIBRATO 颤音 SUSTAIN 持续音 CRESCENDO VIBRATO 渐强 REVERBERATION 混响§3节奏(RHYTHM)WALTZ 华尔兹 RHUMBA 伦巴 SAMBA 桑巴 MAMBO 曼波舞 CHA-CHA 恰恰 SWING 摇摆舞 DISCO 迪斯科 LATIN SWING 拉丁摇摆 POLKA 波尔卡 MARCH POLKA 波尔卡进行曲 BOLONASE 波罗涅兹 BEGUINE 贝圭英 HABANERA 哈巴涅拉 MARCH 进行曲 MARCH SPEED 快速进行 BOSSA NOVA 博萨诺瓦 SHUFFLE 曳步舞 SLOW ROCK 慢摇滚 JAZZ ROCK 爵士摇滚 LATIN ROCK 拉丁摇滚 JAZZ MARCH 爵士进行曲 JAZZ WALTZ 爵士华尔兹 POPS 波普 BIG BAND 爵士大乐团 REGGAE 雷盖 BALLAD 叙事曲 COUNTRY 乡土音乐 16BEAT 十六步舞 TANGO 探戈 ROCK 摇滚乐 §4.节奏的辅助功能指自动节奏的开始与停止,节奏填充等功能. START 开始 STOP 停止 SYNCHRO 节奏同步 FILL IN 节奏填充 §5.和弦(CHORD)SINGLE FINGER 单指和弦 FINGDERED CHORD 多指和弦 §6电子琴各种功能及中英文对照§1

上有好多,要的话我还有流程图

/*********************************************************************************************

程序名:    DoToy系列作品 MidTouch21电子琴程序

编写人:    杜洋

编写时间:  2009年6月3日

硬件支持:  STC11L60XE 外部12MHZ晶振 电源3V

接口说明:  详见《DoToy_MidTouch21电路原理图》

修改日志:

 完成电子琴21键的测试(20090603_1备)

 改为第二次新板的硬件电路(20090604_2备)

/*********************************************************************************************

说明:

用STC11Fxx单片机I/O接口的高阻态输入功能,扫描I/O接口电平。

手指将VCC线和I/O接口线半连接,产生高电平信号。

/*********************************************************************************************/

void INIT(void);

#include <>

/*********************************************************************************************/

sbit SPEAKER  = P1^0;//扬声器,低使能

sbit LED   = P3^0;//LED正极,强推

sbit LED2   = P3^1;//LED负极

sbit KEY11   = P2^0;

sbit KEY12   = P2^1;

sbit KEY13   = P2^2;

sbit KEY14   = P2^3;

sbit KEY15   = P2^4;

sbit KEY16   = P2^5;

sbit KEY17   = P2^6;

sbit KEY21   = P2^7;

sbit KEY22   = P4^4;

sbit KEY23   = P4^5;

sbit KEY24   = P4^6;

sbit KEY25   = P0^7;

sbit KEY26   = P0^6;

sbit KEY27   = P0^5;

sbit KEY31   = P0^4;

sbit KEY32   = P0^3;

sbit KEY33   = P0^2;

sbit KEY34   = P0^1;

sbit KEY35   = P0^0;

sbit KEY36   = P3^3;

sbit KEY37   = P3^2;

/*********************************************************************************************/

unsigned char MUSIC;

unsigned char STH0,STL0;

unsigned int code tab[]={ //音阶表

63628,63835,64021,64103,64260,64400,64524,  //低音1-7

64580,64684,64777,64820,64898,64968,65030, //中音1-7

65058,65110,65157,65178,65217,65252,65283 //高音1-7

};

/*********************************************************************************************/

void delay1ms (unsigned int a){ // 1ms延时程序(12MHz 10倍于51单片机速度时)

unsigned int i;

while( --a != 0){

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

}

}/***************************************************************************************/

void INIT(void){//初始化程序

TMOD=0x11;

ET0=1;

ET1=1;

EA=1;

P0M1 = 0xff;//I/O接口工作方式

P0M0 = 0x00;//P0全为高阻输入

P1M1 = 0xfe;//为准双向,其他为高阻输入

P1M0 = 0x00;

P2M1 = 0xff;//P2全为高阻输入

P2M0 = 0x00;

P3M1 = 0xfc;//为强推,其他为标准双向

P3M0 = 0x01;

P4M1 = 0xff;//P4全为高阻输入

P4M0 = 0x00;

P4SW = 0xff;

LED = 1;

LED2 = 0;

SPEAKER = 0;

}

/***************************************************************************************/

void main(void){

INIT(); //初始化

while(1){

if(KEY37 == 1){delay1ms(20);if(KEY37 == 1){MUSIC = 20;}} //高音B(37)

if(KEY36 == 1){delay1ms(20);if(KEY36 == 1){MUSIC = 19;}}

if(KEY35 == 1){delay1ms(20);if(KEY35 == 1){MUSIC = 18;}}

if(KEY34 == 1){delay1ms(20);if(KEY34 == 1){MUSIC = 17;}}

if(KEY33 == 1){delay1ms(20);if(KEY33 == 1){MUSIC = 16;}}

if(KEY32 == 1){delay1ms(20);if(KEY32 == 1){MUSIC = 15;}}

if(KEY31 == 1){delay1ms(20);if(KEY31 == 1){MUSIC = 14;}}

//3

if(KEY27 == 1){delay1ms(20);if(KEY27 == 1){MUSIC = 13;}}

if(KEY26 == 1){delay1ms(20);if(KEY26 == 1){MUSIC = 12;}}

if(KEY25 == 1){delay1ms(20);if(KEY25 == 1){MUSIC = 11;}}

if(KEY24 == 1){delay1ms(20);if(KEY24 == 1){MUSIC = 10;}}

if(KEY23 == 1){delay1ms(20);if(KEY23 == 1){MUSIC = 9;}}

if(KEY22 == 1){delay1ms(20);if(KEY22 == 1){MUSIC = 8;}}

if(KEY21 == 1){delay1ms(20);if(KEY21 == 1){MUSIC = 7;}}

//2

if(KEY17 == 1){delay1ms(20);if(KEY17 == 1){MUSIC = 6;}}

if(KEY16 == 1){delay1ms(20);if(KEY16 == 1){MUSIC = 5;}}

if(KEY15 == 1){delay1ms(20);if(KEY15 == 1){MUSIC = 4;}}

if(KEY14 == 1){delay1ms(20);if(KEY14 == 1){MUSIC = 3;}}

if(KEY13 == 1){delay1ms(20);if(KEY13 == 1){MUSIC = 2;}}

if(KEY12 == 1){delay1ms(20);if(KEY12 == 1){MUSIC = 1;}}

if(KEY11 == 1){delay1ms(20);if(KEY11 == 1){MUSIC = 0;}}

//1

if(MUSIC != 0xff){ //如果有音阶数值(非0XFF时)

STH0=tab[MUSIC]/256; //将音阶的频率值装入定时器T0

STL0=tab[MUSIC]%256;

TR0=1; //启动定时器

MUSIC = 0xff; //清除寄存器

}else{ //否则

SPEAKER = 1; //关扬声器

LED = 1;

TR0=0; //关定时器

}

}

}

/***************************************************************************************/

void t0(void) interrupt 1 using 0{//定时器0产生音频

TH0=STH0;

TL0=STL0;

SPEAKER=~SPEAKER; //取反频率产生音调

LED = SPEAKER; //LED同频闪烁

}

/***************************************************************************************/

/*************************************************************

* 杜洋工作室 

/*************************************************************/

基于单片机的交通灯控制器1 引言当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。2 单片机概述单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。3 芯片简介 MSC-51芯片简介MCS-51单片机内部结构8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:•中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。•数据存储器(RAM)8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。图1•程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。•定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。•并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。•全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。•中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。•时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。下图是MCS-51系列单片机的内部结构示意图2。MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:如图3Pin9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。8051的复位方式可以是自动复位,也可以是手动复位,见下图4。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。•Pin30:ALE/ 当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间, 将用于输入编程脉冲。•Pin29: 当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。•Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。在编程时,EA/Vpp脚还需加上21V的编程电压。 8255芯片简介8255可编程并行接口芯片简介:8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7~PA0、PB7~PB0和PC7~PC0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入。8255可编程并行接口芯片方式控制字格式说明:8255有两种控制命令字;一个是方式选择控制字;另一个是C口按位置位/复位控制字。其中C口按位置位/复位控制字方式使用较为繁难,说明也较冗长,故在此不作叙述,需要时用户可自行查找有关资料。方式控制字格式说明如表1:表1D7 D6 D5 D4 D3 D2 D1 D0D7:设定工作方式标志,1有效。D6、D5:A口方式选择0 0 —方式00 1 —方式11 ×—方式2D4:A口功能 (1=输入,0=输出)D3:C口高4位功能 (1=输入,0=输出)D2:B口方式选择 (0=方式0,1=方式1)D1:B口功能 (1=输入,0=输出)D0:C口低4位功能 (1=输入,0=输出)8255可编程并行接口芯片工作方式说明:方式0:基本输入/输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。方式1:选通输入/输出方式。这时A口或B口的8位外设线用作输入或输出,C口的4条线中三条用作数据传输的联络信号和中断请求信号。方式2 :双向总线方式。只有A口具备双向总线方式,8位外设线用作输入或输出,此时C口的5条线用作通讯联络信号和中断请求信号。 74LS373简介74LS373 是一种带三态门的8D锁存器,其管脚示意图如下示:其中:1D-8D为8个输入端。1Q-8Q为8个输出端。LE为数据打入端:当LE为“1”时,锁存器输出状态同输入状态;当LE由“1”变“0”时,数据打入锁存器OE为输出允许端:当OE=0时,三态门打开;当OE=1时,三态门关闭,输出高阻。4 系统硬件设计交通管理的方案论证东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案如表2。60S 5S 80S 5S ……东西道 红灯亮 黄灯亮 绿灯亮 黄灯亮 ……南北道 绿灯亮 黄灯亮 红灯亮 黄灯亮 ……表2说明:(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为60秒。(2)黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为80秒。 东西方向车流大 通行时间长。(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。(5)此表可根据车流量动态设定红绿灯初始值。系统硬件设计选用设备8031单片机一片选用设备:8031弹片机一片,8255并行通用接口芯片一片,74LS07两片,MAX692‘看门狗’一片,共阴极的七段数码管两个双向晶闸管若干,7805三端稳压电源一个,红、黄、绿交通灯各两个,开关键盘、连线若干。4.2.1 系统总框图如下:4.2.2 交通灯硬件线路图4.2.3 系统工作原理(1)开关键盘输入交通灯初始时间,通过8051单片机P1输入到系统(2) 由8051单片机的定时器每秒钟通过P0口向8255的数据口送信息,由8255的PA 口显示红、绿、黄灯的燃亮情况;由8255的PC口显示每个灯的燃亮时间。(3)8051通过 设置 各个信号等的燃亮时间、通过8031设置,绿、红时间分别为60秒、80秒循环由8051的 P0口向8255的数据口输出。(4) 通过8051单片机的位来控制系统是工作或设置初值,当.牌位0就对系统进行初始化,为1系统就开始工作。(5)红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,3S后然后恢复正常。(6)增加每次绿灯时间车流量检测的功能,并且通过查询端口的电平是否为低,开关按下为低电平,双位数码管显示车流量,直到下一次绿灯时间重新记入。(7)绿灯时间倒计时完毕,重新循环。5.控制器的软件设计每秒钟的设定延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。计数器硬件延时 计数器初值计算定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式:TC=M-C式中,M为计数器摸值,该值和计数器工作方式有关。在方式0时M为213 ;在方式1时M的值为216;在方式2和3为 计算公式T=(M-TC)T计数或TC=M-T/T计数T计数是单片机时钟周期TCLK的12倍;TC为定时初值如单片机的主脉冲频率为TCLK12MHZ ,经过12分频方式0 TMAX=213 *1微秒=8.192毫秒方式1 TMAX=216 *1微秒=65.536毫秒显然1秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题. 1秒的方法我们采用在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒.这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。相应程序代码(1)主程序定时器需定时50毫秒,故T0工作于方式1。 初值:TC=M-T/ T计数 =216 -50ms/1us=15536=3CBOHORG 1000HSTART: MOV TMOD, #01H ; 令TO为定时器方式1MOV TH0, #3CH ;装入定时器初值MOV TL0, #BOH ;MOV IE, #82H ;开T0中断SEBT TRO ;启动T0计数器MOV RO, #14H ;软件计数器赋初值LOOP: SJMP $ ;等待中断(2)中断服务子程序ORG 000BHAJMP BRT0ORG 00BHBRTO:DJNZ R0,NEXTAJMP TIME ; 跳转到时间及信号灯显示子程序DJNZ:MOV RO,#14H ;恢复R0值MOV TH0, #3CH ;重装入定时器初值MOV TL0, #BOH ;MOV IE, # 软件延时MCS-51的工作频率为2-12MHZ,我们选用的8031单片机的工作频率为6MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6M)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。具体的延时程序分析:DELAY:MOV R4,#08H 延时1秒子程序DE2:LCALL DELAY1DJNZ R4,DE2RETDELAY1:MOV R6,#0 延时125ms 子程序MOV R5,#0DE1: DJNZ R5,$DJNZ R6,DE1RETMOV RN,#DATA 字节数数为2 机器周期数为1所以此指令的执行时间为2msDELAY1 为一个双重循坏 循环次数为256*256=65536 所以延时时间=65536*2=131072us 约为125usDELAY R4设置的初值为8 主延时程序循环8次,所以125us*8= 1秒由于单片机的运行速度很快其他的指令执行时间可以忽略不计。 时间及信号灯的显示 8051并行口的扩展8051虽然有4个8位I/O端口,但真正能提供借用的只有P1口,因为P2和P0口通常用于传送外部传送地址和数据,P3口也有它的第二功能。因此,8031通常需要扩展。由于我们用外部输入设定红绿灯倒计时初值、数码管的输出显示、红绿黄信号灯的显示都要用到一个I/O端口,显然8031的端口是不够,需要扩展。扩展的方法有两种:(1)借用外部RAM地址来扩展I/O端口;(2)采用I/O接口新片来扩充。我们用8255并行接口信片来扩展I/O端口。显示原理:当定时器定时为1秒,时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。 8255PA口输出信号接信号灯:由于发光二极管为共阳极接法,输出端口为低电平,对应的二极管发光,所以可以用置位方法点亮红,绿,黄发光二极管。 8255输出信号与数码管的连接:LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点量而显示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上7FH所以 SP上为0伏,不亮其余为TTL高电平,全亮则显示为8采用共阴级连接:其中 PC0\PB0-a,PC1\PB1-b,PC2\PB2-c,PC3\PB3-d,PC4\PB4-e,PC5\PB5-f,PC6\PB6-gPC7\PB7 -SP接地显示数值 dop g f e d c b a 驱动代码(16进制)0 0 0 1 1 1 1 1 1 3FH1 0 0 0 0 0 1 1 0 06H2 0 1 0 1 1 0 1 1 5BH3 0 1 0 0 1 1 1 1 4FH4 0 1 1 0 0 1 1 0 66H5 0 1 1 0 1 1 0 0 6DH6 0 1 1 1 1 1 0 0 7DH7 0 0 0 0 0 1 1 1 07H8 0 1 1 1 1 1 1 1 7FH表 3 驱动代码表 8255与8051的连接:用8051的P0 口的 连接8255的片选信号cs 我们用8031的地址采用全译码方式,当 =0 时片选有效, 其他无效, 用于选择8255端口 A6 A5 A4 A3 A2 A1 A01 X X X X X 0 0 00H为8255 的PA口1 X X X X X 0 1 01H 为8255的PB口1 X X X X X 1 0 02H 为8255的PC口1 X X X X X 1 1 03H 为8255的控制口由于8051是分时对8255和储存器进行访问所以8051的P0口不会发生冲突 程序设计流程图如图所示图8图9 程序流程图 程序源代码ORG 0000H ;主程序的入口地址LJMP MAIN ;跳转到主程序的开始处ORG 0003H ;外部中断0的中断程序入口地址ORG 000BH ;定时器0的中断程序入口地址LJMP T0_INT ;跳转到中断服务程序处ORG 0013H ;外部中断1的中断程序入口地址MAIN : MOV SP,#50HMOV IE,#8EH ;CPU开中断,允许T0中断,T1中断和外部中断1中断MOV TMOD,#51H ;设置T1为计数方式,T0为定时方式,且都工作于模式1MOV TH1,#00H ;T1计数器清零MOV TL1,#00HSETB TR1 ;启动T1计时器SETB EX1 ;允许INT1中断SETB IT1 ;选择边沿触发方式MOV DPTR ,#0003HMOV A, #80H ;给8255赋初值,8255工作于方式0MOVX @DPTR, AAGAIN: JB ;判断是否要设定东西方向红绿灯时间的初值,若为1 则跳转MOV A,P1JB ;判断是否为1,若为1则设定红灯时间,否则设定绿灯时间MOV R0,#00H ;R0清零MOV R0,A ;存入东西方向绿灯初始时间MOV R3,ALCALL DISP1LCALL DELAYAJMP AGAINRED: MOV A,P1ANL A,#7FH ;置0MOV R7,#00H ;R7清零MOV R7,A ;存入东西方向红灯初始时间MOV R3,ALCALL DISP1LCALL DELAYAJMP AGAIN;-------------------------------------------N0: SETB TR0 ;启动T0计时器MOV 76H,R7 ;红灯时间存入76HN00: MOV A,76H ;东西方向禁止,南北方向通行MOV R3,AMOV DPTR,#0000H ;置8255A口,东西方向红灯亮,南北方向绿灯亮MOV A,#0DDHMOVX @DPTR, AN01: JB : SETB R3,#00H,N01 ;比较R3中的值是否为0,不为0转到当前指令处执行;------黄灯闪烁5秒程序------N1: SETB R3,#05HMOV DPTR,#0000H ;置8255A口,东西,南北方向黄灯亮MOV A,#0D4HMOVX @DPTR,AN11: MOV R4,#00HN12: CJNE R4,#7DH,$ ;黄灯持续亮秒N13: MOV DPTR,#0000H ; 置8255A口,南北方向黄灯灭MOV A,#0DDHMOVX @DPTR,AN14: MOV R4,#00HCJNE R4,#7DH,$ ;黄灯持续灭秒CJNE R3,#00H,N1 ;闪烁时间达5秒则退出;------------------------------------------------------------N2: MOV R7,#00HMOV A,R0 ;东西通行,南北禁止MOV R3,AMOV DPTR,#0000H ; 置8255A口,东西方向绿灯亮,南北方向红灯亮MOV A,#0EBHMOVX @DPTR,AN21: JB : CJNE R3,#00H,N21;------黄灯闪烁5秒程序------N3: MOV R3,#05HMOV DPTR,#0000H ;置8255A口,东西,南北方向黄灯亮MOV A,#0E2HMOVX @DPTR,AN31: MOV R4,#00HCJNE R4,#7DH,$ ;黄灯持续亮秒N32: MOV DPTR,#0000H ; 置8255A口,南北方向黄灯灭MOV A,#0EBHMOVX @DPTR,AN33: MOV R4,#00HCJNE R4,#7DH,$ ;黄灯持续灭秒CJNE R3,#00H,N3 ;闪烁时间达5秒则退出SJMP N00;------闯红灯报警程序------B0: MOV R2,#03H ;报警持续时间3秒B01: MOV A,R3JZ N1 ;若倒计时完毕,不再报警CLR ;报警CJNE R2,#00H,B01 ;判断3秒是否结束SJMP N02;------1秒延时子程序-------N7: RETIT0_INT:MOV TL0,#9AH ;给定时器T0送定时10ms的初值MOV TH0,#0F1HINC R4INC R5CJNE R5,#0FAH,T01 ;判断延时是否够一秒,不够则调用显示子程序MOV R5,#00H ;R5清零DEC R3 ;倒计时初值减一DEC R2 ;报警初值减一T01: ACALL DISP ;调用显示子程序RETI ;中断返回;------显示子程序------DISP: JNB : MOV B,#0AHMOV A,R3 ;R3中值二转十显示转换DIV ABMOV 79H,AMOV 7AH,BDIS: MOV A,79H ;显示十位MOV DPTR,#TABMOVC A,@A+DPTRMOV DPTR,#0002HMOVX @DPTR,AMOV DPTR,#0001HMOV A,#0F7HMOVX @DPTR,ALCALL DELAYDS2: MOV A,7AH ;显示个位MOV DPTR,#TABMOVC A,@A+DPTRMOV DPTR,#0002HMOVX @DPTR,AMOV DPTR,#0001HMOV A,#0FBHMOVX @DPTR,ARET;------东西方向车流量检测程序------T03: MOV A,R3SUBB A,#00H ;若绿灯倒计时完毕,不再检测车流量JZ N3JB R7CJNE R7,#64H,E1MOV R7,#00H ;中断到100次则清零E1: SJMP N22;------东西方向车流量显示程序------T02: MOV B,#0AHMOV A,R7 ;R7中值二转十显示转换DIV ABMOV 79H,AMOV 7AH,BDIS3: MOV A,79H ;显示十位MOV DPTR,#TABMOVC A,@A+DPTRMOV DPTR,#0002HMOVX @DPTR,AMOV DPTR,#0001HMOV A,#0F7HMOVX @DPTR,ALCALL DELAYDS4: MOV A,7AH ;显示个位MOV DPTR,#TABMOVC A,@A+DPTRMOV DPTR,#0002HMOVX @DPTR,AMOV DPTR,#0001HMOV A,#0FBHMOVX @DPTR,ALJMP N7;------延时4MS子程序----------DELAY: MOV R1,#0AHLOOP: MOV R6,#64HNOPLOOP1: DJNZ R6,LOOP1DJNZ R1,LOOPRET;------字符表------TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND6 结论本系统就是充分利用了8051和8255芯片的I/O引脚。系统统采用MSC-51系列单片机Intel8051和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8031芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。。系统不足之处不能控制车的左、右转、以及自动根据车流改变红绿灯时间等。这是由于本身地理位子以及车流量情况所定,如果有需要可以设计扩充原系统来实现 。

相关百科

热门百科

首页
发表服务