单片机设计实训报告(12篇)
1.单片机设计实训报告 篇一
目录
一 方案设计说明:............................................................................................2 二 硬件设计说明:............................................................................................4
(一)电路图:..........................................................................................4(二)单片机AT89S51的I/O口分配使用情况........................................4
(三)元器件的参数及规格:....................................................................5 三 软件设计说明:............................................................................................6
(一)软件设计思路及流程图:................................................................6
(二)程序的总体框架结构说明:............................................................8
(三)重要程序段的功能,作用及思路简介:........................................8 四 制作调试说明:..........................................................................................13
(一)程序调试过程:..............................................................................13
(二)硬件调试:......................................................................................13 五 电路实拍:.....................................................................................................14 六 总结心得体会:..........................................................................................15 七 参考文献:.....................................................................................................16
一 方案设计说明:
设计方案之前,得先分解设计任务。本次的设计任务是篮球记分牌,据常识,篮球记分牌应有分别给两队加分,减分,能交换显示分数。在进行设计之前,应自己提出几个问题,待问题回答之后。基本功、的设计方案就出来了。在设计之前我提出了一下几个问题:
a:硬件部分如何控制给A对B对加分,场地交换的时候又是如何实现分数显示交换的?应该如何连接硬件,在硬件上设置控制端,控制端与单片机各引脚之间的连。
b:单片机只有一个CPU,如何实现即要扫描按键,又要显示比分。数码管工作的本质是将要显示的数据的字型码送给他,如何采集到变化的分数送给数码管。用查表吗?
c:加分与倒计时在程序中最本质的东西是什么,如何用程序来说明这样的事件,各事件之间又是如何联系的。
虽然这些问题看似很普通,似乎在设计过程中都要面对这样的问题,何不事先就解决这些问题呢,在逐一回答这些问题的同时,该任务的设计方案已见雏形。以下就是该方案的详细内容以及我问题的答案。
系统原理图如下图一所示:
LED数码显示管外部按键AT89S51驱动电路 3
二 硬件设计说明:
(一)电路图:
(二)单片机AT89S51的I/O口分配使用情况
图中P3.0,P3.1,P3.2,P3.3分别是加一分、加两分、加三分、减一分。P3.4与P3.5口是外部中断,其中断服务程序的功能是实现比分交换的切换显示和加分减分切换。电路中选择共阳极的数码管,可以省去输入端的驱动电路,使电路更简洁。P0口作为字形码的输出口,与数码管的八只管教相连。
(三)元器件的参数及规格:
主要元器件有单片机芯片AT89S51,共阳极数码管,9012PNP三极管。其中单片机承载程序,实现电路功能,三极管起开关及驱动数码管显示作用。数码管显示比分。
三 软件设计说明:
程序的总体思路是主程序一直在扫描按键,比分显示,比分交换,加减分队伍切换都在中断服务程序中完成。其具体内容如下所示。
(一)软件设计思路及流程图:
中断程序流程图(如:图一)
程序初始化,给存储器赋初值按键扫描程序,扫描到由按键控制的中断就执行其对应程序外部中断1,加减外部中断0,A、B分队伍切换中断程序两队比分切换图一
按键扫描程序流程图(如:图二)按键扫描入口,检测软件标志位F0,为1调用分数显示程序程序,为0调用加减分切换程序,同时扫描按键是扫描P3.0,并去抖,是否有键按下加一分否是扫描P3.1,并去抖,是否有键按下加两分否是扫描P3.2,并去抖,是否有键按下加三分否是扫描P3.3,并去抖,是否有按键按下减一分否按键扫描程序结束图二
分数显示程序流程图(如:图三)
将A对B对的分数首先进行BCD码转换,再保存到相对应的寄存器中把各分数分别赋给寄存器A,查表送往要显示的数码管由P2口的位状态控制子程序调用结束,返回主程序,RET 图三
其中时间显示的子程序流程图与分数的大同小异,此处就不再一一列出。
(二)程序的总体框架结构说明:
程序包含按键扫描程序,不断地扫描按键,一旦有控制中断的按键按下,就执行中断程序,交换比分。中断服务程序,INT_0交换A对与B对的总分,INT_1改变软件标志位就可以切换加减分队伍,同时扫描按键。
(三)重要程序段的功能,作用及思路简介:
按键扫描程序是本程序中最重要的程序段,其连接了所有的子程序,子程序的调用都是在其中完成。下面就对该程序段的功能,作用及编写思路做详细说明。各部分关键程序 按键控制程序
org 0060h ajcx: jnb p3.0,s0
jnb p3.1,s1
jnb p3.2,s2
jnb p3.3,s3
jnb p3.4,s4
jnb p3.5,sz5
ljmp ajcx sz5: ljmp s5 s0:
lcall del
jb p3.0,s01
ljmp ajcx s01: jnb p1.0,s02
mov a,30h
inc a
mov 30h,a
ljmp tzcx s02: mov a,31h
inc a
mov 31h,a
ljmp tzcx s1:
lcall del
jb p3.1,s11
ljmp ajcx s11: jnb p1.0,s12
mov a,30h
add a,#02h
mov 30h,a
ljmp tzcx s12: mov a,31h
add a,#02h
mov 31h,a
ljmp tzcx s2:
lcall del
jb p3.2,s21
ljmp ajcx s21: jnb p1.0,s22
mov a,30h
add a,#03h
mov 30h,a
ljmp tzcx s22: mov a,31h
add a,#03h
mov 31h,a
ljmp tzcx s3:
lcall del
jb p3.3,s31
ljmp ajcx s31: jnb p1.0,s32
mov a,30h
dec a
mov 30h,a
ljmp tzcx s32: mov a,31h
dec a
mov 31h,a
ljmp tzcx s4:
lcall del
jb p3.4,s41
ljmp ajcx s41: push 30h
push 31h
pop 30h
pop 31h
lcall jscx
ljmp ajcx s5:
lcall del
jb p3.5,s51
ljmp ajcx s51: cpl p1.0
cpl p1.1
ljmp ajcx 加分程序: org 0120h tzcx: lcall jscx
ljmp ajcx org 0130h del: mov tl1,#00h
mov th1,#0bh
setb tr1
jnb tf1,$
mov tl1,#00h
mov th1,#0bh
clr tf1
ret 加减分队伍切换程序: org 0150h
dscx: mov th0,#0fch
mov tl0,#18h
mov a,r2
rl a
mov r2,a
cjne r2,#11h,d1
mov r1,#32h
lcall jscx
reti d1:
cjne r2,#22h,d2
mov r1,#33h
lcall jscx
reti d2:
cjne r2,#44h,d3
mov r1,#34h
lcall jscx
reti d3:
mov r1,#35h
lcall jscx
reti 比分切换程序: org 0190h jscx: mov a,30h
mov b,#0ah
div ab
mov 33h,b
mov 32h,a
mov a,31h
mov b,#0ah
div ab
mov 35h,b
mov 34h,a
mov p2,r2
mov dptr,#tab
mov a,@r1
movc a,@a+dptr
mov p0,a
ret
org 0220h tab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h
db 80h,90h end 12
四 制作调试说明:
(一)程序调试过程:
程序调试我花了两天的时间,此程序虽然不复杂,由于我平时学习的不够深入,也没用心学。对于我这样的基础来说调试过程真的很痛苦。刚开始调试时程序有两处让我感觉很乱,按键扫描程序中的中断程序如何调用。当寄存A对或B对的分数累加到99的时候,就清零,但还没有累加到99的时候,程序应该跳往何处执行,我最初的是跳了继续累加。在仿真中的现象就是分数一直显示99,加不了。我真的是太大意了,调试的时候不踏实。
(二)硬件调试:
此次的硬件焊接很成功,电路布局很清晰,虽然在调试时也发现错误,但用万用表很容易就检测出来了,其中有几根线的皮包线熔了,肉眼看不到。重新整理电路后,功能明显成功。至此,本次的单片机课程设计圆满结束。
五 电路实拍: 电路板正面:
电路板背面:
六 总结心得体会:
通过这一次的单片机实训,让我对单片机这一门知识有了更深的认识,更锻炼了我独立解决问题独立思考的能力,在电路设计和程序设计的过程中我们遇到了很多问题和困难,但通过大家的讨论和老师的指点之后,一切的问题都一一被解决,但单片机的学习并不是那么的简单,在最后也是最关键的程序调试的过程中,我们又遇到了很多更难的更棘手的问题,电路焊接完好也会出现诸多类似于不实现功能或是出现混乱显示的情况,真的很让人头疼,但,大家都还是咬牙坚持了下来,最后很多电路虽然依旧还是没能实现功能,但我们努力顽强克服重重困难的精神,是大家有目共睹的,就算是失败了,也依旧是很值得的一次经历.,与此同时,也有很多同学试验成功,看着大家脸上洋溢的笑容,大家无论失败成功都从这次的实训中学到了很多很多的东西
七 参考文献: 胡健
主编 《单片机原理及接口技术》
张大明 主编 《单片机控制实训指导及综合应用实例》李勋、林广艳《单片机微型计算机大学读本》
机械工程出版社 机械工业出版社
北京航空航天大学出版社16
2.单片机设计实训报告 篇二
51系列单片机在工业控制, 便携式仪器仪表, 家电电子等领域被广泛应用。通过不断升级使得51单片机功能更加强大, 应用仍然很普遍。大多数高等职业院校在开设单片机实训课程时, 实训项目大部分是利用现有的实验教学设备进行训练。由于教学设备是成品, 线路大多在成品电路板中已经设计好了, 从外部根本看不到电路是如何连接的, 且生产商很少配备完整的电路原理图, 学生在做实训时, 要求连的线很少, 很难参与到电路设计的细节中, 动手能力也就很难在实训课程中得到训练和提高。而且传统教学过程中未引入工程项目实践设计, 导致学生缺乏整体设计能力, 动手能力普遍较差。
基于该课程应用性较强的特点, 必须把实验和实践教学环节作为学习的关键。通过总结近年实践教学的经验, 本文将通过过程项目化教学开展实训, 使学生直接参与到项目过程中, 以真实的工作过程及工作步骤为依据, 融合“教、学、做”一体化的教学手段, 用以提高学生的单片机系统设计的动手能力。
本文以简易音乐播放器设计项目为例讲解单片机应用实训的项目化教学实施。
1 任务引入
该项目任务设计一个简易的音乐播放器, 硬件电路如图1所示, 图1是由单片机最小系统, 独立式按键电路、数码管控制电路及蜂鸣器电路组成, 通过对该项目的proteus仿真实现, 学生可以锻炼综合运用按键、数码管及蜂鸣器的软硬件设计方案。在图1中, 利用K1按键对选定播放的音乐段, 在播放的过程中可用此按键暂停;用K2按键选择待播放的几段音乐中的一段;数码管显示当前系统所播放的是选中的是第几段音乐。该项目硬件电路设计实际上并不复杂, 软件编程主要是单片机定时器技术、中断技术的应用。教师可以通过对音乐索引和节拍产生原理的讲解, 让学生掌握每个高脉冲或低脉冲的延时形成某种频率的声音输出方法, 每个不同频率声音输出的时间长短形成节拍的方法, 以及高低音的产生方法。
通过硬件和软件的设计和学习, 该项目实施并不复杂, 但涉及到学生学习过的课程门类还是比较多的, 学生必须通过对Protel课程、C语言课程、单片机课程与音频产生知识等相结合, 把单门课程动手实训转换为以实际工作环境为导向的顺序工作过程, 按照步骤学习的过程就变成了实际项目实施的工作过程, 且学习的每一步骤是实实在在的工作过程, 有效地将学生的理论知识、实践知识、职业态度和情感等内容整合成相对完整的有机系统。
2 项目实施步骤
通过项目的内容描述, 使学生更加清楚地了解实训的目的, 学生知道该做什么。结合实训, 我们将对实施项目化的过程进行具体研究设计。
2.1 总体设计
根据简易音乐制作的工作顺序, 对该实训项目进行总体设计, 将整个实训过程分解成各个具体工作任务, 然后整理成与各个分解内容相适应的八个步骤, 实训时间为二周, 内容如表1所示。
2.2 具体实施
表1很详细的给出了总体设计, 这就要求我们教师必须对每一个工作步骤进行认真设计, 让学生有明确的目标, 引导学生对每个步骤进行思考和实践, 这样可以较大地调动学生学习单片机的兴趣。
我们对实训班级进行分组, 随机指定3~5人为一个小组, 不允许自由组合。这样对以后学生的就业是有利, 在企业的岗位上是没有资格挑选同事的, 同时也能培养学生的团队协作能力。
如步骤五, 教师设计时的主要内容有:1、学习目标2、工作内容3、教学设计4、教学材料。学生在这一步骤结束时, 可以掌握KEIL软件的使用、汇编程序的编写、软件模拟调试的具体应用等相关实际工作内容。且每一个步骤完成后可以在表2中进行评价。
实训过程中的每一个步骤都必须与指导教师充分交流和探讨后方能进行下一步骤, 虽然这样会增加实训指导老师的指导工作量, 但可以从过程中很好地把握学生的完成情况, 也让大多数学生能够完成项目的任务得到保障。
2.3 成绩评定
成绩评定的方式如表2所示, 它可以很好地评价项目化教学过程中每位同学应该获得的成绩, 也可以更好的与其它教学模式进行对比, 从而体现出过程项目化教学的优势。以小组为单位, 检查每个学生制作的产品是否满足设计要求, K2按键按下能否正常的选择所要播放的歌曲, K1按键按下能否正常的播放完一段完整的所选歌曲以及数码管能否正常显示所选歌曲的编号。以答辩方式进行考核, 要求每位同学回答2到3个有关该项目制作过程中的软硬件设计、系统仿真制作以及实训体会等方面的问题, 根据这些内容的完成情况由教师填写教师评定成绩;小组互评内容在每个步骤完成后根据教师设计的每一步骤内容完成情况由小组集体评价填写相应的互评成绩, 适当增加互评成绩在总成绩中的比重, 这样有利于对同一水平的产品发现问题和解决问题, 让同学之间进行对比, 加深学生对项目实施过程中的产生问题的印象;自评内容是每位同学自己在每次步骤完成后, 根据教师设计的每一步骤内容完成情况进行打分, 并给出各个步骤的说明。每位同学的最终综合成绩=教师评定成绩*30%+小组互评*50%+自评*20%。
3 结语
通过以上对单片机实训方法的改革探索和实践, 形成了以学生为主体、教师为主导的教学课堂, 形成了讲与练相结合、教与学互动的教学模式。教学效果已有明显改善。学生的学习兴趣得到了提高, 学生在实训的过程中能积极思考, 发现问题并解决问题。学生的知识体系在真实的工作过程中, 在小组协作的过程中得以建立。这不仅培养了学生的专业能力、社交能力、团队精神, 同时也增强了学生的自信心。当然, 教学改革是一项长期和系统的工程, 我们将继续努力, 培养符合社会需求、更加优秀的相关专业人才。
参考文献
[1]刘燎原, 孙秋波.Proteus软件在单片机项目教学中的应用[J].徐州建筑职业技术学院学报.
3.单片机万年历实训报告 篇三
系
部:电气自动化系
班
级:13电信2班
姓
名:周祝福
指导老师:黄丽英、侯聪玲
实训时间:2015年1月19日~23日
用AT89C51与LCD1602设计 的可调式电子日历时钟
一、总体设计
1.1、设计目的
为巩固所学的单片机知识,把所学理论运用到实践中,用LCD1602与AT89C51 设计可调式电子日历时钟。
1.2、设计要求
(1)显示:年、月、日、时、分、秒和星期;
(2)设置年、月、日、时、分、秒和星期的初始状态;
(3)能够用4个按键调整日历时钟的年、月、日、时、分、秒和星期 ;
完成可调式电子日历时钟的硬件和软件的设计,包括单片机的相关内容;日历时钟模块的设计,液晶显示模块的设计,按键模块的设计。控制程序的编写等。
1.3、系统基本方案选择和论证
1.3.1、单片机芯片的选择方案
方案一:
采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容。方案二:
采用STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。但造价较高。1.3.2、显示模块选择方案和论证:
方案一:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用显示数字显得太浪费,且价格也相对较高。所以不用此种作为显示。方案二:
采用LED数码管动态扫描,虽然LED数码管价格适中,但要显示多个数字所需要的个数偏多,功耗较大,显示出来的只是拼音,而不是汉字。所以也不用此种作为显示。方案三:
采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量字符,且视觉效果较好,外形美观。LCD1602可实现显示2行十六个字符。1.3.4、电路设计最终方案决定
综上各方案所述,对此次作品的方案选定:采用80C51作为主控制系统; LCD1602液晶带汉字库显示屏作为显示部分。
二、硬件设计
2.1、电路设计模块图如图
AT89C51 块按键控制模LCD162
2.3、用proteus仿真软件仿真并抓图。
三、软件设计
3.1、画出各个函数流程图。
3.1.1、LCD1602液晶显示控制流程图如图
入口 对1602初始化写入显示设置命令 延时一段时间 检查忙标志 BF= 7>? 设置字符显示位置 延时一段时间 向1602中写入数据 LCD显示内容 返回主程序
是 3.1.2、调时函数控制流程如图
开始 控制键有效,调整年 控制键有效,调整月 等待按键程序 等待按键程序 加有效 减有效 加有效 减有效 年加 1 年减 1 月加 1 月减 1 控制键有效,调整日 控制键有效,调整星期 等待按键程序 等待按键程序 加有效 减有效 加有效 减有效 日加 1 日减 1 星期加 1 星期减 1 控制键有效,调整时 等待按键程序 加有效 时加 1 减有效 时减 1 控制键有效,调整分 等待按键程序 加有效 分加 1 减有效 分减 1 按键有效跳出调时程序,进入主循环
实训心得:通过为期一周的单片机实训,是我们对这门课有了许多新的了解,弥补了在课堂上学习的不足。相信这对我们以后的学习和工作都会有很大的帮助。我们一定要在最短的时间里对这些不足加以改正!在试训中有苦有甜,当我们为一个很难攻破的程序找出路时,心情烦躁,感觉自己很不可理喻,当程序一点一点编好后,自己从心底感觉到一点小小的安慰,看着自己的成果。感觉很欣慰。总而言之,单片机课程设计对于我们有很大的帮助,我们从中受益匪浅。
程序代码。
#include
uchar a,count,S1num,xqnum;uchar yue,ri,shi,fen,miao;uint nian;
sbit lcdrs=P2^5;sbit lcdrw=P2^4;sbit lcden=P2^3;
sbit S1=P3^0;
//定义键--进入设置 sbit S2=P3^1;
//定义键--增大 sbit S3=P3^2;
//定义键--减小 sbit S4=P3^3;
//定义键--退出设置
uchar code table0[]=“2015-01-11 SUN”;uchar code table1[]=“00:00:00”;uchar code xingqi[][3]={“MON”,“TUE”,“WED”,“THU”,“FRI”,“SAT”,“SUN”};
void delay(uint z){ uint x,y;for(x=z;x>0;x--)
for(y=110;y>0;y--);}
/************************************************** 1602液晶显示器模块
*************************************************/ void write_com(uchar com)
//液晶写指令 { lcdrw=0;lcdrs=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;}
void write_data(uchar dat)
//液晶写数据 { lcdrw=0;lcdrs=1;P0=dat;delay(5);lcden=1;delay(5);lcden=0;}
/******************************************** 年月日写入1602函数
********************************************/ void write_sfm(uchar add,uchar dat)
//写时分秒函数 { uchar shi,ge;shi=dat/10;ge=dat%10;write_com(0x80+0x40+add);write_data(0x30+shi);write_data(0x30+ge);} void write_yr(uchar add,uchar dat)
//写月日函数 { uchar shi,ge;shi=dat/10;ge=dat%10;write_com(0x80+add);write_data(0x30+shi);write_data(0x30+ge);} void write_nian(uchar add,uint dat)
//写年函数 { uint qian,bai,shi,ge;qian=dat/1000;bai=dat%1000/100;shi=dat%100/10;ge=dat%10;write_com(0x80+add);write_data(0x30+qian);write_data(0x30+bai);write_data(0x30+shi);write_data(0x30+ge);} /*************************************************** 1602初始化
***************************************************/ void init_lcd()
//液晶初始化 { lcden=0;
nian=2015;yue=1;ri=11;shi=0;
//初始shi、fen、miao fen=0;miao=0;
write_com(0x38);
//设置16x2显示,5x7点阵,8位数据口
write_com(0x0c);
//设置开显示,不显示光标
write_com(0x06);
//写一个字符后地址指针加1 write_com(0x01);
//显示清0,数据指针清0 }
void init()
//初始化函数 { init_lcd();
//液晶初始化
write_com(0x80);
//设置显示初始坐标
for(a=0;a<14;a++)
//显示年月日初始值
{
write_data(table0[a]);
delay(5);} write_com(0x80+0x40);
//设置显示初始坐标
for(a=0;a<8;a++)
//显示时分秒初始值
{
write_data(table1[a]);
delay(5);}
write_nian(0,nian);write_sfm(6,miao);
//分别将shi、fen、miao送去液晶显示
write_sfm(3,fen);write_sfm(0,shi);
count=0;xqnum=0;S1num=0;
//初始化全局变量count
TMOD=0x01;
//设置定时器0工作模式1 TH0=(65535-50000)/256;
//定时器装初始值
TL0=(65535-50000)%256;EA=1;
//开总中断
ET0=1;
//开定时器0中断
TR0=1;
//启动定时器0 }
/************************************************** 独立键盘
*************************************************/ void keyscan(){ if(S1==0){
delay(5);
//确认定义键被按下
if(S1==0)
{
S1num++;
//定义键S1按下次数记录
while(!S1);
//释放按键确认
if(S1num==1)//S1按下一次时
{
TR0=0;
//关闭定时器
write_com(0xc0+7);//光标定位到秒位置
write_com(0x0f);//光标闪烁
}
if(S1num==2)
//S1按下两次时
{
write_com(0xc0+4);//光标定位到分位置
}
if(S1num==3)
//S1按下三次时
{
write_com(0xc0+1);
//光标定位到时位置
}
if(S1num==4)
//S1按下四次时
{
write_com(0x80+13);
//光标定位到星期位置
}
if(S1num==5)
//S1按下五次时
{
write_com(0x80+9);
//光标定位到日位置
}
if(S1num==6)
//S1按下六次时
{
write_com(0x80+6);
//光标定位到月位置
}
if(S1num==7)
//S1按下七次时
{
write_com(0x80+3);
//光标定位到年位置
}
if(S1num==8)
//S1按下八次时
{
S1num=0;
//S1记录按键次数清零
TR0=1;
//开启定时器
write_com(0x0c);
//取消光标闪烁
} } } if(S1num!=0)
//只有定义键按下后S2、S3、S4才有效 { if(S2==0){
delay(5);
//防抖
if(S2==0)
//确认按键被按下
{
while(!S2);
//释放按键确认
if(S1num==1)//S1按下一次时
{
miao++;
//调整秒加1
if(miao==60)//满60清零
miao=0;
write_sfm(6,miao);
//每调节一次送液晶显示一次
write_com(0x80+0x40+6);
//显示位置重新回到调节处
}
if(S1num==2)
//S1按下两次时
{
fen++;
//调整分加1 if(fen==60)
fen=0;write_sfm(3,fen);write_com(0x80+0x40+3);} if(S1num==3)
//S1按下三次时 { shi++;
//调整时加1 if(shi==24)
shi=0;write_com(0x80+0x40);write_sfm(0,shi);} if(S1num==4)
{ xqnum++;if(xqnum==7)
xqnum=0;write_com(0x80+0x0b);for(a=0;a<3;a++){
write_data(xingqi[xqnum][a]);
delay(5);} } if(S1num==5)
{ ri++;if(yue==2){
if(nian%400==0)
{
if(ri==30)
{
ri=1;
}
}
if(nian%400!=0)
{
if(ri==29)
{
ri=1;
}
//星期加调整
//日加调整
} } else if(yue<=7){
if(yue%2==0&yue!=2)
{
if(ri==31)
{
ri=1;
}
}
else if(yue%2!=0&yue!=2)
{
if(ri==32)
{
ri=1;
}
} } else if(yue>=8){
if(yue%2==0)
{
if(ri==32)
{
ri=1;
}
}
else if(yue%2!=0)
{
if(ri==31)
{
ri=1;
}
} } write_yr(8,ri);} if(S1num==6)
{ yue++;if(yue==13)
yue=1;write_yr(5,yue);
//月加调整
}
if(S1num==7)
//年加调整
{
nian++;
if(nian==2019)
nian=2014;
write_nian(0,nian);
} } } if(S3==0){ delay(5);if(S3==0)
//确认按键被按下
{
while(!S3);
if(S1num==1)
{
miao--;
//调整秒减1
if(miao==-1)
//减到00后再减重新设置为59
miao=59;
write_sfm(6,miao);
write_com(0x80+0x40+6);
}
if(S1num==2)
{
fen--;
//调整分减1
if(fen==-1)
fen=59;
write_sfm(3,fen);
write_com(0x80+0x40+3);
}
if(S1num==3)
{
shi--;
//调整时减1
if(shi==-1)
shi=23;
write_sfm(0,shi);
write_com(0x80+0x40);
}
if(S1num==4)
{
xqnum--;
//调整星期减一
if(xqnum==-1)
xqnum=6;write_com(0x80+0x0b);for(a=0;a<3;a++){
write_data(xingqi[xqnum][a]);
delay(5);} } if(S1num==5)
//调整日 { ri--;
if(yue==2){
if(nian%400==0)
{
if(ri==0)
{
ri=29;
}
}
if(nian%400!=0)
{
if(ri==0)
{
ri=28;
}
} } else if(yue<=7)
{
if(yue%2==0&yue!=2)
{
if(ri==0)
{
ri=30;
}
}
else if(yue%2!=0&yue!=2)
{
if(ri==0)
{
ri=31;
}
}
}
else if(yue>=8)
{
if(yue%2==0)
{
if(ri==0)
{
ri=31;
}
}
else if(yue%2!=0)
{
if(ri==0)
{
ri=30;
}
}
}
write_yr(8,ri);
}
if(S1num==6)
{
yue--;
if(yue==0)
yue=12;
write_yr(5,yue);
}
if(S1num==7)
{
nian--;
if(nian==2013)
nian=2018;
write_nian(0,nian);
} } } if(S4==0)
{ delay(5);if(S4==0){
S1num=0;
TR0=1;
write_com(0x0c);
//调整月
//调整年
//退出设置、开启中断
}
} } }
/************************************************** 定时器0 *************************************************/ void timer0()interrupt 1
//定时器0中断服务程序 { TH0=(65535-50000)/256;
//重装定时器初始值
TL0=(65535-50000)%256;count++;
//中断次数累加
if(count==20)
//20次50毫秒即一秒
{
count=0;
miao++;
if(miao==60)
//秒加到60时分进位
{
miao=0;
fen++;
if(fen==60)
//分加到60时时进位
{
fen=0;
shi++;
if(shi==24)
//时加到24时清0
{
shi=0;
xqnum++;
ri++;
if(yue==2)
//如果是二月
{
if(nian%400==0)
//闰年判断
{
if(ri==30)
{
ri=1;
yue++;
write_yr(5,yue);
}
}
if(nian%400!=0)
//平年判断
{
if(ri==29)
{
ri=1;
yue++;
write_yr(5,yue);
}
}
}
else if(yue<=7&yue!=2)
//一月到七月
{
if(yue%2==0)//偶数月(除二月)
{
if(ri==31)
{
ri=1;
yue++;
}
}
else if(yue%2!=0)
//奇数月
{
if(ri==32)
{
ri=1;
yue++;
}
}
write_yr(5,yue);
}
else if(yue>=8)
//八月到12月
{
if(yue%2==0)//偶数月(除二月)
{
if(ri==32)
{
ri=1;
yue++;
if(yue==13)
//如果判断月份为12月,则加一后重新定义月份为1
{
yue=1;
nian++;
write_nian(0,nian);
}
write_yr(5,yue);
}
}
else if(yue%2!=0)
//奇数月
{
if(ri==31)
{
ri=1;
yue++;
write_yr(5,yue);
}
}
}
write_yr(8,ri);
if(xqnum==7)
//星期写入
xqnum=0;
write_com(0x80+0x0b);
for(a=0;a<3;a++)
{
write_data(xingqi[xqnum][a]);
delay(5);
}
}
write_sfm(0,shi);
//重新写入数据
}
write_sfm(3,fen);
//重新写入数据
}
write_sfm(6,miao);
//重新写入数据
} } /************************************************* 主函数
*************************************************/ void main(){ init();while(1){
keyscan();
//不停的检测按键是否被按下
4.单片机课程设计报告 篇四
课 程 设 计
课程名称 单片机基础课程设计 题目名称 18B20测温及按键控制 学生学院 **** 专业班级 **** 班号 **** 学生组员 ****** 指导教师 *****
DS18B20测温及按键控制
第一章系统的概述及设计任务书
摘要和关键词【摘要】:
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机STC89C52,测温传感器使用DS18B20,用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。
【关键词】:单片机,数字控制,温度计,DS18B20,STC89C52 设计任务与技术指标
要求:1.基本范围-50℃-125℃
2.精度误差小于0.5℃ 3.LED数码直读显示
总体设计方案
数字温度计设计方案论证
方案一
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。方案二
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。
方案二的总体设计框图
温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。
第二章 单元模块的设计与分析
主控制器:
单片机STC89C52,具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用。
DS18B20测温及按键控制
个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
系统软件算法分析
系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。
主程序
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图7所示。3.2读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图8示
3.3温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图9所示
3.4 计算温度子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图10所示。
DS18B20测温及按键控制
第三章 实验程序
else
{ b=0-b;
if(b%10==1)f-=1;b=10-(b%10);/*zhwy.c*/ if(b==10)b=0;
for(i=16;i>0;i--)#include
led(a,b,c,d);} #include“DS18B20.h” return f;unsigned char table[]= } {0xC0,0xF9,0xA4,0xB0, void main(void)
0x99,0x92,0x82,0xF8, { unsigned int Sum,k;0x80,0x90,};//不带小数点的编码
signed int h,j;extern unsigned int temp;LED_init();extern float f_temp;h=0;j=0;unsigned int i;while(1)void LED_init(void){tempchange();{ P2=0x0f;Sum=get_temp();P0=0x00;P2=0xff;} for(k=0;k<100;k++)void led(signed int m,signed int { n,signed int p,signed int q)if(P2==0xf7){ P2=0xef;
{delay(10);
P0=table[q];
if(P2==0xf7)
delay(5);
h+=1;
P2=0xdf;h=display(Sum,h,j);
P0=table[p];
}
delay(5);if(P2==0xfb)
P2=0xbf;
{delay(10);
P0=table[n]+0x80;
if(P2==0xfb)
delay(5);
h-=1;
P2=0x7f;
h=display(Sum,h,j);
P0=table[m];
}
delay(5);if(P2==0xfd)}
{delay(10);unsigned int display(unsigned int
if(P2==0xfd)y,signed int f,signed int g)
j+=1;{ signed int a,b,c,d;
h=display(Sum,h,j);
a=y/1000;
} b=(y%1000)/100+f;if(P2==0xfe)c=(y%100)/10+g;
{delay(10);d=(y%10)/1;
if(P2==0xfe)if(b<=9&&b>=0)
j-=1;for(i=16;i>0;i--)
h=display(Sum,h,j);
led(a,b,c,d);
} else if(b>9)
} {a+=b/10;b=b%10;
display(Sum,h,j);for(i=16;i>0;i--)} }
led(a,b,c,d);} void delay(unsigned int z)//延 时函数
/*DS18B20.h */ {unsigned int x,y;sbit ds=P3^5;//温度传感器信号线 for(x=z;x>0;x--)unsigned int temp;for(y=110;y>0;y--);float f_temp;} unsigned int warn_l1=260;void dsreset(void)//18B20复位,unsigned int warn_l2=250;初始化函数 unsigned int warn_h1=300;{unsigned int i;unsigned int warn_h2=320;ds=0;
i=103;
DS18B20测温及按键控制
总电路图结构图
4总结与体会
5.《网页设计实训》大一实训报告 篇五
二零一零年一月 网站主题: 左手倒影右手年华
本次实训历时五天,首先上网查看他人网站,之后规划自己的网站,然后收集文字和图片资料,打开dreamweaver 8软件,选择新建站点,着手自己的网页制作,有时在做网页时会遗忘掉以前学过的知识,我还翻了以前的学过的知识点。这个网站,我多次使用到跑马灯,我还上网查了一些资料,本想找些代码运用到这个网站中,可是有些失败,就用了跑马灯的链接。
一、网站的主题说明
本次实训我是以郭敬明的小说集《左手倒影右手年华》为网页题材内容,网页分有五个类别,包括主页、小说集、留言板、作者简介和映像图画。主页主要是小说的序言,用跑马灯链接了郭敬明的新浪博客,小说集包含了《左手倒影右手年华》的一本小说文章:回首又见它、扬花、天下、一个仰望天空的小孩、庄周梦蝶、天亮说晚安、桃成蹊里的双子座人、剧本、冬日的幻觉、关于《生活在别处》的别处、思想的声音、毕业骊歌、某年某个春末夏初、八月天高人浮躁、猜火车、四季歌。
二、网站的总体规划
这个网站结合了小说安静、忧郁的内容,是以暗色格调为主,主要是黑色和灰色,由主页、小说集、留言板、作者简介和映像图画五个标题栏构成,分别用唯美的小图片做标题按钮,用黄色的字体突出鲜明。小说集里利用新页面的链接小说内容,运用的背景图像大多都是暗色的,为了形成鲜明的对比,比如:暗色的背景,我就使用白色文字;亮色的背景,我就使用黑色文字。有几篇文章,由于文字较少,我就把他们放在一个网页里,运用了锚点链接,以减少空间。
二、网站的设计、制作
(图1)
1.我在首页之前加入了一张进入页面(如图1),我的网站是类似于空间类型,在这里,我用一张图片就说明了我的网站主题,写出了小说名。
2.我的主页(如图2),运用跑马灯链接了郭敬明的博客,插入了时间,运用浮动框架插入了小说的序言。小说集、留言板、作者简介和映像图画,是保存了首页的模版来制作的,再制作相应的页面,进行相应的浮动框架插入界面。
小说集里的每篇文章都链接到三级页面(如图3),在新的窗口打开,三级页面里都运用了CSS样板固定了背景图像。 留言板里,运用了表单。
作者简介里着重介绍了作者的生平,图片运用了跑马灯。 映像图画主要运用跑马灯来播放图片。
(图2)
(图3)
四、心得体会
五天的实训课程结束了,此次实训检验了这一学期的学习,且对知识进行了汇总,通过本次实训我已基本掌握了制作简单网页的过程,基本学会运用dreamweaver 8的一些简单操作。
在这五天的学习当中我觉得在制作过程中,发现自己学的东西太欠缺了,学习要有条不紊,要冷静思索,所以我想以后课上课下一定要认真学习,虚心听取别人意见,多去学习一点网页制作的技术。掌握网页设计基本概念和HTML的基本结构,了解网页技术概况、HTML的编辑和运行环境。掌握文字版面的编辑,掌握网页的超链接技术的应用,了解图像的处理,包括背景图案、图形、图象及其超链接等的设定和应用。了解列表的各种使用,了解表格的基本语法,掌握表格的定义、控制、分组、标题等的应用。了解表单在网页中的应用,了解如何在网页中加入各种动态效果,了解网页中CSS的基础知识,掌握CSS的各种属性应用。
但有些可惜,没有运用上音频,和视频的运用,希望在下次的实训中,能使用上,再接再厉了哈。
6.单片机设计实训报告 篇六
一、单片机实训改革的必要性
实训教学的科学性、实用性是提升教学质量, 实现教学目标的重要保障。传统的单片机实训教学, 验证性实训较多, 创新性实训不足。实训课一直以教师为中心, 学生在规定的时间内, 按照指导书上规定的步骤完成相应的实训, 教学形式比较单一, 存在着课程内容与企业、行业和社会需要结合不够紧密等现象。在这种实训教学模式下, 学生难以建立起学习的兴趣, 只是被动地接收知识, 不能体现高职学生动手能力强的特点。另外, 传统的单片机实训教学内容对实训目标、实训内容、实训环境、实训设备、实训工具、实训教材等未能及时更新, 新技术、新内容没有及时编入教材, 对岗位群的技术要求贴合性不够, 可操作性不强, 难以达到预期的实训效果。由此可见, 单片机实训教学改革已迫在眉睫。
二、课程实训内容改革
根据单片机课程的特点, 将实训教学内容分为基础实训、基本接口实训、综合设计实训三个部分。
1、基础实训
基础实训主要包括硬件的认知、指令系统实训、汇编语言程序设计实训, 基于学时的限制, 并考虑到学生已掌握了一定的硬件知识、软件知识以及编程方法, 这部分内容可让学生利用课外时间自行完成;
2、基本接口实训
基本接口实训是实训教学的重点, 包括硬件接线与软件编程两部分, 应安排在课堂进行。学生在进行实训时, 需要根据实训任务完成硬件设计、搭建主体电路, 然后编写控制程序, 最后调试完成。实训环节应充分发挥学生的自主性。
3、综合设计实训
综合设计实训在课程实训内容中至关重要。综合设计实训旨在帮助学生全面掌握所学内容, 提高综合运用所学知识解决实际问题的能力。其实训内容主要是简单电子产品的设计。在进行综合设计实训时, 指导书只给出了任务、要求和原理性说明, 学生必须根据实训的目的和要求, 独立完成软硬件设计和调试。学生通过分析解决实训中出现的问题, 进一步加深对单片机系统软硬件设计的理解。
基础实训、基本接口实训是综合型实训的基础, 基础实训可安排在课程教学的前期, 旨在帮助学生熟悉单片机软硬件环境, 学生可通过基本实训掌握单片机的基本原理。综合设计型实训则可以培养学生的动手能力, 是为了巩固所学内容、培养学生综合运用所学知识的能力, 并使学生受到更为实际、全面的技能训练, 充分发挥学生的主观能动性, 激发学生的学习兴趣。综合设计实训主要利用实训后期开放实训室, 结合课程综合实训、课外兴趣小组、毕业设计、大学生电子设计大赛等形式进行。
三、课程实训形式改革
传统的单片机实训是通过硬件固定、功能单一、价格昂贵的实训装置来完成。这些实训装置不仅在实训过程中容易损坏, 同时由于实训过程受固定硬件连接的限制, 很容易限制学生的思维, 占用大量的实训时间来进行设备连接。所以, 为了使单片机实训脱离实际设备的限制, 提高实训效率, 对传统的实训模式有必要进行一些新的补充。
1、使用仿真模拟软件
Protues1515是英国Labeenter公司开发的电路分析与实物仿真软件。该软件不仅可以仿真和分析各种模拟器件和集成电路, 而且能仿真单片机和外围电路的工作。Protues1515具有强大的原理图绘制功能, 能够实现仿真的在线调试。对于单片机实训, Proteus能使实训过程变得自由、生动、直观和简便, 这一点, 对于那些刚刚接触到单片机的学生来说, 既增加了实训趣味, 又避免了传统实训中的损耗。
为了避免“虚拟实训”给学生带来的不真实、脱离具体硬件环境等的不利影响, 部分实训可以预先建立一个同物理实训环境相同的虚拟实训环境, 先在虚拟环境上实现, 然后再移植到物理实训环境上来完成。通过虚拟实训和真实实训的过程和结果对比, 提高学生对虚拟实训的认识和对物理实训的理解。实践证明, 这种行之有效的实训方法不仅能提高实训效率, 而且能激发学生的学习兴趣。
2、单片机实训系统的应用
针对单片机实训系统的应用要求, 采用模块化的设计方法设计一种单片机实训系统, 使得实训系统能够支持多种不同的应用, 扩展方便, 同时能够与多种实训系统兼容, 这种实训系统在日常的教学实训中已逐渐得到较为广泛的应用。
四、结论
《单片机应用技术》课程应用实践性强, 结合高职教育的需求, 在单片机实训教学中引入了“创新”的理念, 以培养学生能力为中心, 开发具有灵活、开放和综合性特点的单片机实训项目, 使课程实训教学质量得到提升, 提高学生的就业能力, 取得理想的教学效果。
摘要:本文就《单片机应用技术》的传统实训教学作了分析, 指出了其中了问题, 并基于创新教学的思想, 就实训内容、实训形式改革目标和方向提出了一些建设性建议, 以改进课程教学效果。
关键词:单片机,教学,实训,改革
参考文献
[1]田军营、韩建海.单片机实验的虚拟化改革.实验室科学, 2008, 6
7.《网页设计》实训报告 篇七
《网页设计》实训报告
班级:数字媒体12-2班
学号:120309215指导教师:李余党
姓名:李敏梓
一、实训目的与要求
通过实训使学生能够更进一步的领会网站建设和网页设计的基本知识,熟悉和掌握网站建设的基本流程和注意事项,熟练运用常用的网页制作和设计工具的使用,熟练掌握DIV+CSS网页布局设计技术,希望通过对网站的规划与设计来培养学生综合运用所学知识来建立网站的能力,掌握相关网页制作软件,为今后从事网站规划、设计和开发工作打下基础。
二.实训内容
制作好心情科技网页,要求该网站能基本满足该类型企业的某些需求能展示公司或产品的相关信息、宣传企业形象与产品性能。网站设计和开发过程中,可以采用网络素材,技术以静态为主,积极支持和鼓励使用动态技术
三.实训过程中出现的主要问题和解决办法
8.单片机课程设计总结报告参考22 篇八
课程设计总结报告
课程名称电子系统综合设计设计题目基于STC89C52的电子号码锁的设计
专业 班级 姓名学号指导教师报告成绩
信息与工程学院(求真学院信息与工程系,两选一)
二〇〇九年十月十九日
《电子系统综合设计》课程设计任务书
一、课题名称
《基于STC89C52的电子号码锁的设计》
二、设计任务
1.采用STC单片机和键盘,设置4位密码用于模拟门锁、保险箱的开门密码,设置的密码存
储在I2C AT24X存储器芯片中;
2.上电时初始化密码为“0000”,数码管显示为“0000”;
3.密码设置与更改:输入“*XXXX#YYYY#”,其中“XXXX”为原先4位密码,第一次设置
为初始密码,“YYYY”为欲设置的4位密码,如设置成功,则绿色LED灯亮,蜂鸣器长鸣一声,之后LED灭;否则红色LED闪烁三次。
4.模拟开门:输入“#YYYY#”,如输入密码与存储的密码相符,则绿色LED灯亮,蜂鸣器
发出“滴-滴-滴”三声,之后LED灭;否则红色LED闪烁三次。
三、设计报告撰写规范
单片微机应用系统设计总结报告正文,主要含以下内容(硬件、软件各部分内容也可组合起来进行撰写说明):
1.系统总体设计方案(画出系统原理框图、方案的论证与比较等内容);
2.硬件系统分析与设计(各模块或单元电路的设计、工作原理阐述、参数计算、元器件选择、完整的系统电路图、系统所需的元器件清单。等内容);
3.软件系统分析与设计(各功能模块的程序设计流程图与说明、软件系统设计、软件抗干扰
措施、完整的程序等内容);
4.系统仿真调试与参数测量(使用仪器仪表、故障排除、电路硬件和软件调试的方法和技巧、指标测试的参数和波形、测量误差分析);
5.总结(本课题核心内容及使用价值、电路设计、软件设计的特点和选择方案的优缺点、改
进方向和意见等);
6.按统一格式列出主要参考文献。
《基于STC89C52的电子号码锁的设计》
课程设计总结报告
一、系统总体方案
(以下各小节可以根据内容分1.XXX2.XXX3.XXX分别进行撰写)
(画出系统原理框图、方案工作过程的论述、整体设计电路图、单片机的选型);
二、单片机概述
用到的单片机的选型及主要特点,设计时需要注意的问题„
三、键盘电路
键盘扫描概述、此次用到的键盘电路图、工作原理、硬件电路注意的问题、程序流程、编程注意点„
四、显示电路
一般显示电路概述、用到的电路图、用到动态扫描工作原理、硬件电路注意的问题、程序流程、编程注意点„
四、单片机扩展I2C总线器件的接口与通信
I2C总线器件概述、工作原理、与单片机的接口电路、模拟通信、程序流程、编程注意点„
五、系统调试
调试的软硬件环境和使用说明(参考901U--USB全自动在线编程单片机实验板实验指导书)、调试技巧与方法、调试过程中遇到的问题及解决方法„
六、总结
心得体会、课程设计中遇到的问题及解决方法„
附录:
(完整的程序,字号可小一二号,分两栏排版以节省纸张)
主要参考文献:
例:
[1] 周立功.ARM&WinCE实践与实验:基于S3C2410[M]北京:北京航空航天大学出版社,2007.[2] 李朝青.PC机及单片机数据通信技术[M].北京:北京航空航天大学出版社,2000
[3] 马春华,于莉莉.SMS方式远程监控软件的设计与实现[J].广东通信技术,2003,23
9.单片机设计实训报告 篇九
1实训的设计目的
学习P1端口的使用方法和延时子程序的编写和使用,并且掌握七段数码管显示数字的原理。
2设计要求
单片机P1端口连接七段数码管段数据口,编写程序,使这位七段数码管按固定的时间循环显示0~9的数字。
3设计分析
单只共阴数码管连接在P1端口,当P1端口相应引脚为1时,对应数码管段点亮。程序中预设了数字0~9的段码,0~9的段码按固定时间间隔循环发送到P1端口,产生数字循环显示效果。
4硬件设计
用Proteus仿真时,先进行硬件电路的设计,所以先在Proteus中进行电路设计,打开ISIS 7 Professional窗口。选择所需要的元器件,放置好元件,布好线。左键双击各元件,设置相应元件参数,完成电路图的设计,如图1所示。
5软件设计
在Proteus软件中,既可以使用汇编语言,也可以C语言,所以,我在教学中使用两种编程语言进行编程,并且控制设计的软件进行数码管的显示功能。在教学过程中,先讲解学生熟悉的汇编语言,熟悉整个设计的思路过程。数码显示在之前的教学中已经讲解过,所以在Keil C51中输入如下程序。并将其转换为十六进制HEX文件 ------ 数码管显示数字 .hex文件。
5.1汇编源程序
ORG 0000H
START: MOV P1,#3FH ; 显示“0”
LCALL DELAY
MOV P1,#06H ; 显示“1”
LCALL DELAY
MOV P1,#5BH ; 显示“2”
LCALL DELAY
MOV P1,#4FH ; 显示“3”
LCALL DELAY
MOV P1,#66H ; 显示“4”
LCALL DELAY
MOV P1,#6DH ; 显示“5”
LCALL DELAY
MOV P1,#7DH ; 显示“6”
LCALL DELAY
MOV P1,#07H ; 显示“7”
LCALL DELAY
MOV P1,#7FH ; 显示“8”
LCALL DELAY
MOV P1,#67H ; 显示“9”
LCALL DELAY
LJMP START
DELAY: ; 延时子程序
MOV R4,#10
D1: MOV R5,#200
D2: MOV R6,#126
D3: DJNZ R6,D3
DJNZ R5,D2
DJNZ R4,D1
RET
END
5.2 C语言源程序
在讲解C语言之前,先复习C语言程序设计的基本知识,在此基础上,再进行程序的编写,具体程序清单如下 :
#include
#include
#define uchar unsigned char
#define uint unsigned int
//0~9的数码管段码,最后一个为关闭。
Ucharcode DSY_CODE[]={0x C0,0x F9,0x A4,0x B0,0x99,0x92,0x82,0x F8,0x80,0x90,0xff};
void Delay MS(uint x)
{
uchar t;
while(x--)
{
for(t=0;t<200;t++);
}
}
void main()
{
uchar i=0;
P1=0x00 ;
while(1)
{
P1=~DSY_CODE[i];
i=(i+1)%10;
Delay MS(180) ;
}
}
6调试与仿真
在Keil c51中输入如 下程序。并转换为十六进制HEX文件 ------ 数码管显示数字 .hex文件,过程如下 :打开菜单Project中的“Options for Target’Target’”,如图2所示,在Output选项中选中Create HEX File.
在Proteus中进行调 试,打开ISIS 7 Professional窗口,打开设计好的硬件电路图,左键双击AT89C51单片机,在弹出的对话框中进行设置,如图3所示。“Program File”项中,必须选择在Keil中生成的十六进制HEX文件 ------ 数码管显 示数字 .hex。
然后执行“Debug”菜单中的“Start/Restart Debuging”开始调试并仿真,仿真结果如图4所示。
7总结
10.网页设计实训报告 篇十
实训地点:一号教学楼5楼实训室
实训目的:
1.要求学生独立制作有一定思想和创意网页。
2.掌握网站建设的基本思路和流程。
3.网站基本架设、发布、维护。
实训主要内容
1.使用Dreamweaver编辑网页。网站要求包含二级页面,8-10个页面。使用Dreamweaver布局视图,设置本地站点。使用布局视图,在标准模式中插入层对象制作层动画,利用行为面板添加鼠标行为,制作翻转动画,使用CSS样式统一网页中文字样式,插入Fireworks中的GIF 文件及导入Flash中的SWF文档,设置文档间的超级链接。
2.编辑要有一定的创意,能符合观赏的视觉感受;网页结构清晰,主题突出,美观大方,内容丰富,制作规范,色彩协调。
3.页面制作完整,外观力求精美,访问速度快,无HTML语句错误。
4.撰写实训报告。
操作步骤:
1、利用Dreamweaver制作一个静态网站,要求网站有特色,整个网站的内容和形式要统一,应能够反映一个简单的主题。
2、使用Dreamweaver编辑网页。网站要求包含二级页面,8-10个页面。
3、用到框架、表格或层排版技术、Flash技术和图像处理技术,使网站具有合理的外观和功能。
4、主页基本要求:网页标题动画,可以制作成GIF动画或者Flash动画;
5、制作一个表单页面。
6、某个页面有滚动字幕。
7、至少添加一种行为效果。
8、整个网站各页面之间保持风格一致,页面之间要有合理的超级链接。实训效果:
设计开始,想法不全面,主题,布局都没有头绪,后来,开始做,而且觉得越做越有头绪了。
开始时布局总是不能做到很美观,后来,发现页面属性改了左边距没有设为,上边距为0,刚好把背景图片里面的那些亮丽的钮扣图案显示出来,改变了表格背景图的灰暗,使网页的整体看起来更美观了。
在做CSS样式表的时候,做字的颜色的时候,尤其体现出来色彩学的作用。这次实训中,我也有许多收获。首先,我体会到了作为一个网页设计师,不会用css的痛苦和尴尬;然后,我发现了很多以前都不曾注意到的细节;其次,在实训中,我对作为一名网页设计师应该学习的内容做了一个更深层次的理解;最后,我还从这次实训中看到了自己很他人的差距,危机意识增强,为了不使这个差距拉大,甚至赶上前面的同学,我会努力的。
个人心得:
这次实训为我提供了与众不同的学习方法和学习体会,从书本中面对现实,为我将来走上社会打下了扎实的基础。设计网页,应该先策划,策划很重要,加上创意,配色很重要,技术与鉴赏能力是最主要的。建立站点的时候,各个文件夹取名的时候,最好用相应的英语,见名知意,如图片文件夹用image,网页文件夹用html。
作为在电子商务专业的大专生,现在我能做的就是吸取知识,提高自身的综合素质,提高自己的创新能力和合作能力等,自己有了能力,到时候才会是“车到山前必有路”。我相信在不久的未来,会有属于我自己的一片天空!
在设计中遇到了很多的技术问题,最后在老师的辛勤指导下,终于豁然开朗。同时,在老师的身上我学得到很多实用的知识,在这次实训中,我也有许多收获。首先,我体会到了作为一个网页设计师,不会用css的痛苦和尴尬;然后,我发现了很多以前都不曾注意到的细节;其次,在实训中,我对作为一名网页设计师应该学习的内容做了一个更深层次的理解;最后,我还从这次实训中看到了自己很他人的差距,危机意识增强,为了不使这个差距拉大,甚至赶上前面的同学,我会努力的。
本次实训,给我最深刻、最刻骨铭心的感觉就是累,不仅每天白天要一整天对着一台机器,我时常想,以后的日子里,如果我成为了一名网页设计师也会是这样吗?好像很无聊的样子啊。好动的我一定坐不住吧。可是,我也知道,为了衣食父母,为了生存,为了未来,现在我还没有任何的资格想这个问题,时间不对,而现在最最应该想的是——我要怎样成为一个顶级的网页设计师。当我终于有能力的时候,才是考虑无不无聊的问题,我还是明白这一点点。
11.分销渠道设计实训报告 篇十一
实训主题:对分销渠道中物流有进一步的认识和了解
实训目的和意义:通过本次实训了解重庆物流的发展状态,了解重庆物流发展的优势及其劣势。了解重庆物流发展的趋势。
实训教导老师:xx
实训内容:
重庆物流的现状和发展趋势
重庆是长江中上游和西南地区最大的商业重镇,直辖以来,基础设施建设飞速发展,已建立了西部地区唯一同时具有铁路、公路、水路、航空的立体化运输网络体系,为发展现代物流业提供了必要支撑。
一、重庆物流的现状
㈠ 大型企业入驻重庆,为发展现代物流业提供了平台。
直辖以来,重庆成为众多外资业争相占领的宝地,知名企业纷纷在渝抢滩设点,大型流通企业先后入驻重庆,不仅悄然改变了重庆消费者的购物习惯,而且还改变了重庆零售市场格局和同行的经营思路,为重庆发展现代物流业提供了一个新型的平台。
㈡区位优势得天独厚,为发展现代物流业创造了条件。
重庆地处长江上游经济带核心地区,是中国政府实行西部大开发的重点开发地区,是西部唯一集水陆空运输方式为一体的交通枢纽,横贯中国大陆东西和纵穿南北的几条铁路干线、高速公路干线在重庆交汇,3000吨级船队可由长江溯江至重庆港,重庆江北国际机场是国家重点发展的干线机场。独特的区位优势和便利的交通枢纽为重庆发展现代物流业创造了良好条件。
㈢市场需求潜力巨大,为发展现代物流业带来了商机。
重庆是老工业基地,工业门类齐全,工业基础雄厚,轻重工业并举,配套能力强。汽车、摩托车、化工、医药、纺织等制造业发达,第三产业发展迅猛,已形成了汽车、摩托车等一批带动能力较强的支柱产业、优势行业和拳头产品。这些产业对各种原材料需求量大,产品数量也大,对现代物流产生大量的需求。
㈣仓储设施初具规模,为发展现代物流业打下了基础。
二、重庆物流业存在的问题
㈠市场主体培育不够。
重庆尚未有效地形成专业化的物流市场供给主体—即现代物流企业,说明市场主体培育不够。企业长期存在“自成体系”、“自我服务”、“大而全”、“小而全”的传统观念。㈡整体水平低。
重庆的物流业总体规模小,整体水平低,很多是由传统的仓储、运输企业转型而来,在管理水平、技术力量及服务范围上还没有质的提高,真正实力超群、竞争力强的物流企业为数不多。效率低,服务项目少,系统化、标准化、专业化、一体化的现代物流体系远没有形成。
㈢物流运营成本高。物流成本就是商品流通费用。商品流通讲求物流成本的节约。在保持满
意的客户服务水平的条件下应千方百计将物流运营成本降到最低。
三、对重庆发展现代物流业的建议
㈠加强物流人才培训。
加强物流人才培训势在必行。努力培养一批从事物流业的专业人才队伍,重点培养物流专业高、中级人才;鼓励物流企业通过委托高校培训、送国外参加短期培训等方式,提高物流专业技术、管理人员的能力与水平;建设一支高素质的物流人才队伍,尽快建立物流行业职业经理人的评价体系,加快健全物流人才合理使用机制。
㈡优化物流资源配置。
随着现代物流配送服务自动化、网络化、专业化、社会化的发展,可将分散在区域内物流业资源整合起来,形成集约化经营,实现规模效益。大力改造、提升传统仓储及运输企业。以传统仓储为基础,通过资产重组、兼并与联合等方式,吸纳运输企业、运输代理企业,整合企业间的物流资源,实现资源互补和共享,培育一批区域性的物流配送中心;同时,把所有涉及物流产业的部门组合在一起,合理确立符合现代物流的要求,使整个产业合理配置、协调发展。
㈢加强地区之间协作。
西部地区幅员辽阔、人口众多、资源丰富,但城市经济发展比东部地区相对落后。重庆应充分利用大城市的地位,去带动周边地区特别是长江上游地区及西部地区的经济发展,共同将长江打造为西部及中部地区的出海大通道,共同壮大西部物流业。
㈣发展第三方物流产业。
第三方物流产业是生产经营企业为集中精力搞好企业,把原来属于自己处理的物流活动,以合同方式委托给专业物流服务公司的物流服务活动,以达到对物流全程的管理和控制的一种物流运作与管理。重庆企业应学习国际先进的物流经验,把物流业务外包给第三方物流公司,可以使本企业的固定成本转化为可变成本,而只向第三方物流公司支付服务费用,不需要自己内部维持基础设施来满足这些需求,则大大降低了物流成本。
㈤推进物流企业信息化建设。
生产型企业要重点搞好生产过程的物流信息化,建立从计划、采购到销售管理的集成化信息系统。物流型企业要重点搞好业务处理过程的信息化,实现企业与业务伙伴和客户间信息的自动交换。通过网络平台和信息技术将制造商、供应商和用户联结起来,达到物流各环节的有效控制和全程管理实现信息流、资金流和商品流的有效结合。
㈥构建现代物流网络。
充分发挥“长江黄金水道”在西部现代物流中心的独特作用。
㈦不断改进客户服务。
物流管理的最终战略目标是满足用户要求,这是企业物流战略的全局性目标,也是企业在经营过程中务必做到的一点。
㈧强化物流行业自律。
应强化物流行业自我管理、自我约束功能。建立物流企业评估机制,并制定物流企业信用等级评估标准,通过社会公示和奖励等手段,规范市场秩序,引导物流企业健康发展。
12.单片机设计实训报告 篇十二
电气工程及自动化
基于单片机的风扇速度控制设计
一、综述本课题国内外研究动态,说明选题的依据和意义
单片机因其体积小,抗干扰能力强、而且使用灵活方便,成本低等特点,它的应用范围非常广泛,尤其是他强大的面向控制能力,已深入工业控制、军事装置、家用电器等各个领域,应用前景十分广阔。单片机按照应用的系统结构不同,可分为总线方式和非总线方式。采用总线方式的应用系统多属于较复杂的系统,比如智能仪表、工控系统、检测系统等。非总线方式的应用系统多属于小型控制。按照应用范围的不同,可分为通用型和专用型。
目前我国普遍采用4位、8位或16位,对于单片机还处于低档的应用,而对于那些宏单片机、DSP等高档的应用还是空白。而国外很多公司都推出了自己的单片机系列,如Intel公司推出的MCS-96/196系列,Rockwell公司的6501、6502,日立公司的H8/3048系列等。目前单片机的应用领域有以下四大领域:一是家用电器业。单片机个传统的机械产品结合,构成新型的机、电、仪一体化产品,如洗衣机、电脑空调机等。二是通讯行业。最有代表性的就是手机。三是智能仪表应用。单片机的体积小、成本低、控制力强等特点,使仪器仪表重量大大减轻,又有很高的性价比,如数字式RLC测量仪。四的在计算机外设中的应用。如在接口中采用单片机进行控制管理、数据采集、多路分配管理等。
我国在将来很长的一段时间里,8位单片机还将是主流产品,因为8位单片机很好用,有丰富的功能,现在无论是国内还是国外,都还是以8位为主。4位单片机由于功耗较低,在国内也有一定的市场比例。目前世界各国的单片机发展各有不同。美国单片机的发展趋势主要是从8位到16位和DSP过度,欧洲等国家单片机主要应用于工业,因此仍以8位为主,主要以功能和运行速度的发展为主。我国对于单片机的需要目前主要是家电类等消费品为主,8位单片机有很大的市场分额和发展空间。国内也急需这方面的人才。
尽管单片机的发展迅速,其发展方向不外忽以下几点:一是微型单片化。现在的产品普遍向小型化、轻型化发展,就需要单片机在在原有的多功能、低功耗的前提下,集成更多的元件,如看门狗(Watchdog)、LCD控制器等。随着半导体技术的发展,片上系统(SOC)的发展前景很好。二是低功耗CMOS化。现在单片机的功耗普遍在100mW左右,许多生产厂家采用CMOS工艺,使单片机更适合在电池供电场合,今后也是单片机发展的主要趋势之一。三是大容量、高性能化。随着CPU的发展,单片机的处理数据能力大大提高,内部时序也加以改善,ROM的存储容量也大大提高,又加入了低噪声技术,加强了中断、定时控制。四是在接口方向的发展。现在许多新型单片机的接口,从类型和数量上有了很大的发展,如有些可以直接驱动液晶显示管LCD、有些可以直接输出大电流和高电压等。
21世纪是“数字化”的时代,单片机的发展有着翻天覆地的变化,各种型号、功能的单片机应用于人们生产和生活中的各个领域。单片机的发展逐渐取代了由传统模拟电路作为电机的控制器,因此单片机在家电方面的应用已经十分普遍,比如电风扇、洗衣机、空调等。+电动机是将电能转换成机械能的机电装置。1821年英国科学家法拉第首先提出电动机原理。1834年,德国的雅可比第一个发明了直流电动机。1879年,西门子公司用直流电动机驱动电车。1888年发明家特斯拉发明了交流电动机。1902年瑞典的工程师丹尼尔森首先提出同步电动机构想。至今为止,电动机发展迅速,电机理论、设计及制造工艺得到逐步的完善和提高,广泛应用与现代的各种机械生产领域。如在机械制造工业、轻重型制造工业、运输行业、农业生产等各个领域,电动机以不同的种类和功能发挥着重要的作用。可以这么说,电动机的出现使社会生产力大大提高,促进了社会的发展。
随着时代的进步和科技的发展,电机调速系统在工农业生产、交通运输以及日常生活中起着越来越重要的作用,因此,对电机调速的研究有着积极的意义.长期以来,直流电机被广泛应用于调速系统中,而且一直在调速领域占居主导地位,这主要是因为直流电机不仅调速方便,而且在磁场一定的条件下,转速和电枢电压成正比,转矩容易被控制;同时具有良好的起动性能,能较平滑和经济地调节速度。因此采用直流电机调速可以得到良好的动态特性。由于直流电动机具有优良的起、制动性能,宜与在广泛范围内平滑调速。在轧钢机、矿井卷机、挖掘机、金属切削机床、造纸机、高层电梯等领域中得到广泛应用。近年来交流调速系统发展很快,然而直流控制系统毕竟在理论上和在时间上都比较成熟,而且从反馈闭环控制的角度来看,它又是交流系统的基础,长期以来,由于直流调速系统的性能指标优于交流调速系统。因此,直流调速系统一直在调速系统领域内占重要位置。
选取本课题的意义在于单片机的发展极为迅速,以其独特的结构和性能,渗透到各个领域,产生了极大的影响。研究单片机、学习单片机,是社会发展的必然趋势,单片机有着其广阔的发展空间和社会价值。通过研究用单片机远程发射红外线来控制电动机的转速,从而达到控制风扇速度控制,能使使用者操作起来更加方便。
二、研究的基本内容,拟解决的主要问题:
1、单片机主芯片的选择;
2、电机控制系统设计;
3、遥控器的设计;
4、用数码管显示档位;
5、PWM的产生;
6、按键开关的设计。
三、研究步骤、方法及措施:
1、学校提供硬件材料、有关工具器件和实验制作场所;
2、查阅大量的相关资料和书籍;
3、与同类的论章进行对比,完善自己的设计思路;
4、系统的总体方案设计:发射部分和接收部分;
5、系统硬件电路的设计;
6、系统的软件设计
7、论文的修改及润色。
四、参考文献
[1]
张俊.单片机的发展与应用[J].北京:电子制作,1997:40-50.[2]
於丹.春风化雨芽将萌——谈我国单片机的发展[J].北京:微电脑世界,1998:9-13.[3]
张俊漠.单片机的发展及应用现状[J].北京:电子世界,2001:3-5.[4]
杨靖.用单片机控制的直流电机调速系统[J].广西:机床电器,2008.11:
45-47.[5]
楼然苗.胡佳文.李光飞,等.51系列单片机原理及设计实例[M].北京:高等教育出版社,2004.[6]
【单片机设计实训报告】推荐阅读:
单片机实训作业09-26
单片机实训实验案例10-23
单片机实训室简介11-16
单片机实训试题及答案07-08
单片机课程设计实验06-23
51单片机课程设计作业08-11
基于单片机的毕业设计06-25
单片机实验报告10-27
《单片机与外围电路设计》课程设计大纲10-27
基于单片机的频率计设计07-01