单片机数字万用表课程设计

2024-08-30

单片机数字万用表课程设计(精选9篇)

1.单片机数字万用表课程设计 篇一

五.实验总结及感想

在实验的开始几天,基本上没有收获,不知何从下手,不知所措。为了看得更远,不妨站在前人的肩膀上,我在整体思路模糊的情况下,在网上大量招资粮,各种与电子时钟相关的文章,我阅读了不少。随着涉猎的点滴积累,我对电子时钟的设计方案已经慢慢酝酿而成。有了方向和不少知识储备后,在接下来的几天,几乎每天都有突破,虽然有时只是一句程序的修改或诞生,但那种收获的感觉很暖人心。

实验中遇到了不少问题,接下来总结一下,共同探讨。

1,按键问题。我的设计中,很多功能选择是通过按键开关实现的。在仿真中发现,调整数值时,有时按键反应太快,按一次,跳了几下,使设置时间,日期很不方便。但是仿真多了之后,找到了按键(实际上是按鼠标)的节奏,对按键的掌控力提高了不少,不怎么会出现跳变的情况了。有些开关我采用了长按键的方式来防抖,效果不错,但是每次都要长按键,调整效率太低,我没有普及。本来想把所有的按键都加延时防抖电路,但仿真中感觉对键盘的控制力没提高多少,有时还是会出问题,这个方案放弃了。索性将板子焊接出来了在调试软件吧,仿真毕竟不是那么“真”啊!实际电路调试中,按键反应没有出现过于灵敏的问题,基本可控制。

出现以上问题,我认为是电路板上焊接点太多,接触不是很好,影响了信号的传输时间,从而解决了按键问题!也有可能是按键质量问题,接触不良。

2,P0口开关问题。P0口比较特殊,它存在高阻态,要使其输入不是高电平就是低电平,就要接上拉电阻,给其高电平输入。

3,音乐闹铃问题。在闹铃时间到,闹铃提醒时,我的数码管为熄灭状态,因为开始我的响铃程序内,没有数码管扫描显示程序。但加入数码管显示子程序后,我的闹铃音乐被影响了,一开始不知所措,有点怀疑是显示程序时间过长,影响音乐的定时(节拍),我就在响铃程序中加延时模块,延时长度逐渐提高,最后出现了类似的问题,看来时显示程序占用时间太长,使音乐每个音符的节拍出现了紊乱,音乐功能被遏制了!鱼和熊掌不能兼得,我只能牺牲显示来获得音乐闹铃,但为了弥补显示,我设计了闪烁提醒方案,就是在手动或音乐自然停止后,进入当前时间闪烁提示,8秒后若不按返回键,则自动跳入主程序。

在仿真中,老师提供的响铃电路不能实现功能,但是在我的电路板中效果很好,令人费解!4,中断冲突问题,为了实现秒表,我在T0中断嵌套了秒表相关进位程序,由于秒表要求精度0.01秒,故我的T0中断定时为就刚好0.01秒,中断100次,刚好1秒。秒表确实实现了,但是我的闹铃音质变差了。一开始以为是闹铃程序存太多冗余环节,影响了T1的音乐输出中断,但是检查程序后,发现没什么多余的,裁剪无从下手。

在仿真中,我让音乐模块运行,发现音质很好。添加T0中断服务程序,但是将中断进入的间隔变大,即0.05秒进入一次中断,发现音质有所下降,有滋滋声,但比原来的好。最后认定应该是T0中断过于频繁,T1音乐频率发生中断被打破,当单位时间内被打破的次数达到一定程度时,音符和节拍的对应发生紊乱,最终音质变差。

虽然如此,我的焊接的电路板的表现却很争气,闹铃音质可以接受!虽然这次实际表现不错,但问题还是有的,还是要解决的,我的方案是把秒表程序放在T1中断服务程序,虽然音乐的发生要用到T1中断,但是秒表的显示和闹铃音乐的演奏上不会重合在一起,闹铃判断是在主程序,而秒表实现是在秒表子程序,故原本相互矛盾的两个功能,在T1中断服务程序中找到了共同的归宿,和谐相处。

5,显示数字分隔问题。本实验中用8个共阴极数码管显示日历及其时间,但是8个数码管连在一起,显示过程中不能有效地区分时,分,秒和年,月,日,数码管是两两组合起来,形成某位的十位和个位,故用小数点在适当位置一直保持高亮状态,形成分隔符,实现方便的读取数据。具体方法是,将需要小数点位高亮的数码管找出来,在动态显示扫描到该数码管时,先将提取的字段码的最高位变为1,利用语句 ORL A,#10000000B 实现,修正字码后,再将字码送入P1口显示数字,如此问题得以解决。

6,添加倒计时器嘀嘀声提示功能。这个功能我用到了T1中断,作为音调频率发生器,但是T1已经承担了音乐闹铃的音调发生功能,在此通过设立标志位实现中断服务程序的转变。即使我将秒表的实现服务程序放入T1中断实现,也没问题,只要选择标志位判断就可以了。在此,我们用调整状态指示灯的状态来做标志位,具体的说是P0.1口做标志位。

还有一个问题就是如何使铃声有间隔的响,这就牵涉到定时,在此我们用硬件定时,即T1中断的次数作为定时参数。我的设计是音调响0.25秒,然后用T1延时0.5秒,由于计数器工作于方式1时,12MHZ时钟频率下时,一次中断最多定时65536*1us=0.065536秒,为了实现0.5秒的响声间隔,将T1中断1次定时为0.05秒,中断10次后,重新装音调发生计数初值。对于响铃时间的设定原理类似,可以有发声频率求出一次发声定时中断的时间,N次发声定时中断后,使时间变化0.25秒,而后转入发声间隔定时程序。

设计体会

以前看别人的一个电子表卖十几块钱,心里面有点愤愤不平,现在,自己做过一个电子钟,才发现,其中的不容易,还有艰辛。其实做其他的事情也是一样,都会经过很多的困难,才能成功。突然想起一句话“不经历风雨,怎么见彩虹”。其实想想,这一个月,也留下了很多美好的回忆。一分耕耘,一分收获。只有亲自用实践来验证这句话,在能得其要领。经过这次单片机课程设计,我从一个单片机实践的门外汉,已经越升为略知一二的新手。虽然还有很多有关单片机的应用有待学习,但万变不离其宗,只要深入了解单片的原理,全部知识点,各个细节,一切设计皆有可能。还记得那个晚上通宵达旦仿真,不成功,誓不睡觉,很困了,都还在弄着。却当仿真成功时,没有一丝睡意,有的只是心中的喜悦通过这次的设计使我认识到本人对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,尤其是对程序设计语句的理解和运用,不能够充分理解每个语句的具体含义,导致编程的程序过于复杂,使得需要的存储空间增大。损耗了过多的内存资源。本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。只要我们有耐心,够细心,都可以把它们解决。在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的电子时钟设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争,同时在查找资料的过程中我也学到了许多新的知识,在和同学协作过程中增进同学间的友谊,使我对团队精神的积极性和重要性有了更加充分的理解。我知道,今后我的路还是很长,我要学的东西也有很多。通过这次实习,我深刻的认识到计算机专业的路的不平坦,但我会以一种良好的态度去迎接每一个挫折和挑战。

2.单片机数字万用表课程设计 篇二

随着对数字式万用表提出越来越多的要求,原来设计的数字式万用表已经不能适应当前需求,所以需要开发更为智能的数字式万用表,而达到功能的提升最简单的方式使用高性能的芯片来完成,但是这样的设计导致成本的增加,不符合当前企业节省成本的要求,而虚拟仪器技术在测量与自动化领域有很多技术优势,可以使用该技术开发虚拟万用表,它通过计算机强大的计算能力来解决硬件计算能力的不足,并且整个系统的投资小,更新速度快[1]。因此采用虚拟仪器技术的虚拟数字万用表是数字万用表的当前仪表测量的发展趋势。本文就是以M A X 1 3 4为测量芯片,使用虚拟仪器的的技术,实现虚拟数字式万用表。本文的设计方案对类似的虚拟仪表设计技术有现实的参考价值。

2 虚拟数字万用表总体设计方案

按照虚拟仪器的设计思路,虚拟数字式万用表的设计方案如图1所示[2]。整个系统由2部分组成,软件部分和硬件部分。硬件部分以PC机以及硬件电路组成,USB电路;软件部分由应用程序、虚拟万用表驱动、USB控制器驱动三部分组成。箭头表示软件和硬件之间的对应关系。

整个虚拟万用表的功能除了有一般万用表的基本测量功能以外,还具有图形现实、信号处理和人机交互等功能。但是对万用表来说,测量精度才是系统最核心的部分,外在功能可以通过软件进行实现。表1是数字万用表模块的指标要求。

3 虚拟数字万用表硬件设计

按照功能划分,虚拟万用表设备板卡硬件电路主要由前端和功能转换模块、控制和接口通信模块、测量模块三部分组成。虚拟万用表硬件的总体结构图如图2所示。

本设计采用MAXIM公司生产的MAX 134作为测量的核心芯片。MAX134是单片智能数字万用表专用芯片,具有外围元件少、线路简单、精度高等优点,该芯片适合3+3/4和4+3/4位数字万用表的设计。MAX134的集成度高,内部主要包括:A/D转换器、直流电压量程转换电路、直流电流测量电路、电阻测量电路、滤波放大电路、时钟振荡器及蜂鸣驱动器、电池低电压检测电路和多路模拟开关八部分。这极大的简化了系统外围电路,有利于万用表的数字化控制和自动量程切换的实现,其与CPU协调完成测量功能,可减轻CPU的负担[3]。

(1)前端和功能转换模块:主要完成对输入信号的衰减和实现主要测量功能的切换。

(2)测量模块:主要完成输入信号测量功能。根据具体功能,测量模块又包括电压测量模式电路、电流测量模式电路、A C/D C转换电路、二极管测量和电阻测量电路。由M A X 1 3 4组成的虚拟数字万用表还有一些外围元件,主要有电阻分压器、积分器及有源滤波器的阻容元件、参考电压源等。

(3)控制和接口通信模块:主要由FPGA和MCU组成,完成系统控制和总线接口通信功能。微处理器通过双口RAM-IDT7130实现和系统总线的接口,通过中断机制实现和系统控制器模块的通信。双口R A M具有配置空间和数据存储空间。微处理器负责系统的初始化(包括向双口R A M写入配置信息、设置电路初始状态)并处理总线发送过来的命令,控制相应的电路单元。

3.1 电流测量电路

虚拟数字万用表的电流测量模式电路如图3所示,其中还包括参考稳压源的输入、积分器及滤波器外围元件等。

在图3中MAX134的33脚输入电路为电流测量模式输入电路,400mA量程时,R28取1.0Ω、1W;(对于4A档,R=0.1Ω,10W)。输入端还增加了0.5A(对于4A档,FU取5A)的保险丝作为过流保护,D5,D6作为过压保护电路。

参考稳压源ICL8069提供了电阻测试时的参考电压(1.2V),同时ICL8069通过一个精密电位器分压得到655mV的基准电压VREF送入MAX134的26脚,用来抑制工频干扰(50HZ工频时选择VREF=655mV,60HZ工频时选VREF=545mV)。另外电路中R7、R8、C5为MAX134内部积分器的外围积分元件;R 9、R 1 0、C6、C 7为其滤波放大电路的外围滤波元件。

3.2 电压测量电路

虚拟数字万用表的电压测量模式电路如图4所示,测DCV时只有400mV量程为直接输入,4V-4000V量程须经过分压网络R1-R5(设计采用0.25%,1/4W的精密电阻)输入。而R1-R5与C4-C7(用于频率补偿)构成RC型宽频带不失真衰减器。

3.3 电阻测量电路

M A X 1 3 4采用比例法测量电阻,电路如图5所示,测试电压采用外基准电压EO=1.2V(由ICL8069提供)。其中R1-R6为标准电阻,VT1,VT2(JE9015,作二极管接法)、PTC(2K正温度系数热敏电阻)都是保护元件。而对于电路通断的测试,其本质上是测量两点间的电阻R,通常来讲如果R<50Ω,则认为两点间短路,由程序向M A X 1 3 4写入控制字,控制蜂鸣器发出声音。

4 虚拟数字万用表软件设计

整个虚拟数字万用表软件设计思想是:驱动程序设计时将与硬件操作相关的命令封装成函数,以动态链接库的形式供应用程序调用[4]。用户通过操作图形化应用程序界面,通过CLF节点调用动态链接库,调用模块驱动程序,实现与USB控制器的通信,达到对硬件模块的程序控制。驱动程序设计包含了USB控制器驱动和D M M驱动两部分,其中U S B控制器驱动包含了实现对U S B控制器模块基本读写操作的函数,D M M驱动包含了实现对其硬件模块控制的函数。应用程序采用图形化软件LabVIEW 8.6开发,DMM驱动和USB控制器驱动均采用V C++开发。通过对上层软件的编写,就可以对所获得的信号进行不同需求的处理来满足要求。

5 系统测试

在测试时,电阻测试所用的是0.01%,1/10W的精密电阻;直流电压测试时使用的是直流电压源DF173ISL3A(±20V,三位有效数字);交流电压测试时使用DDS函数波形发生器DM32030(1mV-10V,8位有效数字);电流测量时是将10Ω(0.01%,1/10W)精密电阻连接电压源输出,用Tektronix TDS2012B示波器(100MHz,1GS/s)测量流经电阻的电流值,认为示波器所测值为真值,标定本系统[5]。

数字万用表模块部分功能测试记录数据见表2(对本设计的数字万用表模块的设计指标精确度要求见表2),测试结果表明其精确度满足设计要求。

测试结果显示加上测量的时候选用的电阻、电流源、电压源等的误差,设计的虚拟数字万用表满足设计要求的。但是同时也反映了一些问题,测交流电压的时候要比测直流的时候的误差大,这有可能是由AC到DC转换而产生的。测电流的误差要比测电压的时候误差大,这有可能是由电流输入量程切换电路所带来的。

测试结果表明其精确度是满足设计要求的,同时,设计的虚拟万用表更加的智能化,其不仅仅具有一般数字万用表的基本测量功能,还可以数字、指针等多种形式显示测量结果;可对测量结果直接成图、制表、形成报告;能对测量结果进行平均值、极值统计分析以及更加复杂的数据分析与处理;可方便的实现量程的自动切换、自动调零、校准;能够长时间的观测数据,进行测量数据的存储和显示回放。

6 结束语

基于虚拟电子测试平台的数字万用表采用了虚拟仪器技术和自定义的仪器总线,弥补了传统数字万用表的一些不足之处。本文所设计的虚拟电子测试平台的数字万用表与传统数字万用表相比较下的灵活性与优越性。

参考文献

[1]林君,谢宣松等.虚拟仪器原理及应用[M].北京:科学出版社,2006,8.

[2]吴忠杰,林君,韦建荣,谢宣松.虚拟测试系统中模块化仪器关键技术研究[J].仪器仪表学报,2005,26(8):280-283.

[3]胡传波,董跃升,张传红,张玉芳,马成才.数字万用表的原理及选取原则[J].工业计量,2003,(S1):320-321.

[4]张重雄编著.虚拟仪器技术分析与设计[M].电子工业出版社,2007.

3.基于单片机的数字钟课程设计程序 篇三

#define uchar unsigned char #define uint unsigned int

uchar code table[]=“I LOVE YOU!”;uchar code table1[]=“2014:06:14”;sbit lcden=P3^5;

sbit lcdrs=P3^4;uchar num;

void delayms(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);}

void write_com(uchar com){

lcdrs=0;

P0=com;

delayms(5);

lcden=0;

}

void write_data(uchar date){

lcdrs=1;

P0=date;

delayms(5);

lcden=1;

delayms(5);

lcden=0;

}

void init()

{

lcden=0;

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

}

void main()//定义使能端、命令选择端//延时函数//写入命令函数//写入数据 //初始化LCD

4.数字万用表使用总结及技巧 篇四

一、电压的测量

1、直流电压的测量,如电池、随身听电源等。首先将黑表笔插进“com”孔,红表笔插进“V Ω ”。把旋钮选到比估计值大的量程(注意:表盘上的数值均为最大量程,“V-”表示直流电压档,“V~”表示交流电压档,“A”是电流档),接着把表笔接电源或电池两端;保持接触稳定。数值可以直接从显示屏上读取,若显示为“1.”,则表明量程太小,那么就要加大量程后再测量。如果在数值左边出现“-”,则表明表笔极性与实际电源极性相反,此时红表笔接的是负极。

2、交流电压的测量。表笔插孔与直流电压的测量一样,不过应该将旋钮打到交流档“V~”处所需的量程即可。交流电压无正负之分,测量方法跟前面相同。无论测交流还是直流电压,都要注意人身安全,不要随便用手触摸表笔的金属部分。

二、电流的测量

1、直流电流的测量。先将黑表笔插入“COM”孔。若测量大于200mA的电流,则要将红表笔插入“10A”插孔并将旋钮打到直流“10A”档;若测量小于200mA的电流,则将红表笔插入 “200mA”插孔,将旋钮打到直流200mA以内的合适量程。调整好后,就可以测量了。将万用表串进电路中,保持稳定,即可读数。若显示为“1.”,那么就要加大量程;如果在数值左边出现“-”,则表明电流从黑表笔流进万用表。

交流电流的测量。测量方法与1相同,不过档位应该打到交流档位,电流测量完毕后应将红笔插回“VΩ”孔,若忘记这一步而直接测电压,哈哈!你的表或电源会在“一缕青烟中上云霄”--报废!

三、电阻的测量

将表笔插进“COM”和“VΩ”孔中,把旋钮打旋到“Ω”中所需的量程,用表笔接在电阻两端金属部位,测量中可以用手接触电阻,但不要把手同时接触电阻两端,这样会影响测量精确度的--人体是电阻很大但是有限大的导体。读数时,要保持表笔和电阻有良好的接触;注意单位:在“200”档时单位是“Ω”,在“2K”到“200K“档时单位为 “KΩ ”,“2M”以上的单位是“MΩ”。四、二极管的测量

数字万用表可以测量发光二极管,整流二极管„„测量时,表笔位置与电压测量一样,将旋钮旋到“ ”档;用红表笔接二极管的正极,黑表笔接负极,这时会显示二极管的正向压降。肖特基二极管的压降是0.2V左右,普通硅整流管(1N4000、1N5400系列等)约为0.7V,发光二极管约为1.8~2.3V。调换表笔,显示屏显示“1.”则为正常,因为二极管的反向电阻很大,否则此管已被击穿。五、三极管的测量

表笔插位同上;其原理同二极管。先假定A脚为基极,用黑表笔与该脚相接,红表笔与其他两脚分别接触其他两脚;若两次读数均为0.7V左右,然后再用红笔接A脚,黑笔接触其他两脚,若均显示 1 ,则A脚为基极,否则需要重新测量,且此管为PNP管。那么集电极和发射极如何判断呢?数字表不能像指针表那样利用指针摆幅来判断,那怎么办呢?我们可以利用“hFE”档来判断:先将档位打到“hFE”档,可以看到档位旁有一排小插孔,分为PNP和NPN管的测量。前面已经判断出管型,将基极插入对应管型“b”孔,其余两脚分别插入“c”,“e”孔,此时可以读取数值,即β值;再固定基极,其余两脚对调;比较两次读数,读数较大的管脚位置与表面“c”,“e”相对应。

小技巧:上法只能直接对如9000系列的小型管测量,若要测量大管,可以采用接线法,即用小导线将三个管脚引出。这样方便了很多哦。

六、MOS场效应管的测量

5.单片机数字万用表课程设计 篇五

1、首先打开数字万用表的电源,然后选择所测对象是电压、电流、电阻或其他量。接下来便是量程,不能确定参数时可置于最大量程,再逐步减小量程。测量前还应检查表笔是否处于正确孔位。拨动量程开关时用力要适度,避免可能造成开关金属片的损坏。使用完毕,功能量程开关最好置于高压挡。

2.数字万用表的测试中的几点说明

(1)对于高阻挡,电阻的测试结果与指针表测试结果有差别是正常的。这主要是因测试条件略有不同。

(2)测试相关极性的物理量时,其极性显示与表笔是对应的。也就是说,当不显示极性时,红表笔触点为电位高端或电流流入端,极性显示“-”时,红表笔触点则为电位低端或电流流出端。

(3)电阻挡及二极管挡与指针表有别。指针表测量电阻时,红、黑表笔与测试源极性相反,即黑表笔为测试源正端,红表笔为负端。而数字表却与测试源极性一致,即红表笔为测试源正端,黑表笔为负端,这与电压、电流挡表示一致。这样不会混淆,较指针表优越。

(4)对于不知极性或不知引脚排列顺序的三极管,可通过三极管hfe挡多次换脚检测来辨别确定其三极管的各电极。

(5)校准。

数字万用表常使用一只9V叠层电池,一般使用几个月就要更换。建议购买9V充电电池替代。这种镍镉可充电池型号为GP-15F8K。跟普通9V叠层电池完全一样。

数字万用表应定期校准,校准时应选用同类或精度更高的数字仪表,按先校直流挡,然后校交流挡,最后校电容挡的顺序进行。

做好万用表的使用以及注意使用方法,会帮助你把它的寿命延长,并且减少你的损失。

6.单片机数字万用表课程设计 篇六

生:

专业: 电子信息工程技术

指导教师:

职称: 高级电子工程师 【题目】

《 单片机数字温度计显示设计 》 【摘要】

(对设计进行评估)

【关键字】

单片机、温度传感器、数字显示

设计准备:搜集、分析相关资料确定实现的系统功能,及相关配套知识。设计功能: 1.设计内容

采用数字式温度传感器为检测器件,进行单点温度检测。用数码管直接显示温度值,微机系统作为数字温度计的控制系统。

(1)检测的温度范围:0℃~100℃,检测分辨率 0.5℃。(2)用4位数码管来显示温度值。(3)超过警戒值(自己定义)要报警提示。2.拟达到目标

设计出来的电子温度计能够精确的测量出温度值,能够显示0℃~120℃的温度,超过或者低于设定上下线时能够准确的发出警报(自定义)。////////蓝色字体可不用 【内容】

第1章 系统总体设计及功能

1.1

设计背景

1.2

电路工作原理

1.3

设计实现功能

1.4

设计所需软件

第2章

单片机原理与应用系统硬件选取

2.1

AT89S51概述

(功能、参数具体在分小节)2.2

DS18B20概述

(参数、实用方法在分小节)第3章 系统硬件原理电路设计

3.1 单片机最小系统电路设计 3.2 温度传感器电路设计 3.3 显示电路设计

3.4 报警电路设计(可选)第4章

系统应用软件设计

4.1 系统程序流程图 4.2 系统程序代码

第5章

系统软件仿真及硬件测试

5.2

应用仿真软件仿真测试

5.3

进行实物硬件测试(可选)第6章

全文设计总结

6.1

设计整体效果

6.2

设计发展及期待 致谢

参考文献

(后备上)附件

7.单片机课程设计 篇七

设计题目: 基于单片机的8*8点阵显示数字设计

学生姓名: 指导教师: 二级学院: 专

业: 班

级: 学

号:

目 录

摘要„„„„„„„„„„„„„„„„„„„„„„„„„„Ⅱ 1 方案选择及总体设计„„„„„„„„„„„„„„„„„„„1 1.1方案确定„„„„„„„„„„„„„„„„„„„„„1 1.1.1功能要求„„„„„„„„„„„„„„„„„„„„1 1.1.2方案确定„„„„„„„„„„„„„„„„„„„„1 1.2器件选择„„„„„„„„„„„„„„„„„„„„„1 2 控制系统设计„„„„„„„„„„„„„„„„„„„„„„2 2.1 控制系统硬件设计„„„„„„„„„„„„„„„„„2 2.1.1整体模块设计„„„„„„„„„„„„„„„„„„2 2.1.2单片机AT89C51„„„„„„„„„„„„„„„„„2 2.1.3单片机最小系统设计„„„„„„„„„„„„„„„5 2.1.3.1晶振电路设计„„„„„„„„„„„„„„„„„5 2.1.3.2复位电路设计„„„„„„„„„„„„„„„„„5 2.1.4驱动电路设计„„„„„„„„„„„„„„„„„„6 2.1.5LED点阵显示设计„„„„„„„„„„„„„„„„9 2.2控制系统软件设计„„„„„„„„„„„„„„„„„11 2.2.1软件设计思想„„„„„„„„„„„„„„„„„„11 2.2.2主程序流程图„„„„„„„„„„„„„„„„„„11 2.2.3子程序流程图„„„„„„„„„„„„„„„„„„13 3 系统仿真及调试„„„„„„„„„„„„„„„„„„„„14 3.1系统调试„„„„„„„„„„„„„„„„„„„„„14 3.2系统仿真„„„„„„„„„„„„„„„„„„„„„14 3.2.1protrus软件仿真„„„„„„„„„„„„„„„„14 3.2.2程序„„„„„„„„„„„„„„„„„„„„„„14 总结„„„„„„„„„„„„„„„„„„„„„„„„„^„17 参考文献„„„„„„„„„„„„„„„„„„„„„„„„18

I

摘 要

现在市场上各类基于LED的显示屏较多,但大部分产品为单一模式的LED显示屏,其在显示内容的更换及显示屏的重组等方面都存在不便之处。但随着信息化社会的迅速发展,LED显示屏正在向显示内容丰富、信息更改方便等方面发展。因此制作一款多功能的LED广告显示屏是非常有意义地。

LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。以8×8点阵为例,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第1行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定的时间,然后熄灭;再送出第2行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;第8行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。

本次课程设计的题目为8×8点阵数字显示,设计的任务为使用单片机控制8×8的点阵显示0到9的数字,不仅显示清晰,并且每经过一定时间,显示的数字加一,从0 到 9 循环。以AT89C51单片机为核心,采用串行传输、动态扫描技术,制作一款模块化LED多功能显示屏。

在资料收集方面,主要是参考了《51单片机原理及应用—基于Keil C与Proteus》一书,结合了一些网络资料,以及一些集成块的使用说明书。

在整个工作过程中,根据收集来的资料绘制出大概的原理图,然后通过Proteus仿真,与此同时运用Keil 编程,用Keil 与Proteus进行联调,调试成功后确定了原理图和控制程序。

II

第一章 方案选择及总体设计

1.1 方案确定

1.1.1 功能要求

1、采用STC-51单片机作为微处理器。

2、设计一个8×8点阵LED数码字符显示器。

3、在目测条件下LED显示屏各点亮度均匀、充足、稳定、清晰无串扰。

4、动态显示“0——9”几个字符。

1.1.2 方案确定

采用ST89C51单片机作为微处理器,将共阳极二极管用共阴型接法连接成8×8点阵LED数码字符阵列,通过程序控制,采用动态显示,建立字符库“0——9”。

1.2 器件选择

微处理器采用ST89C51系列单片机,ST89C51单片机是这几年在我国非常流行的单片机,是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)高性能单片机,可擦除只读存储器可以反复擦除100次,具有低功耗、高性能的特点。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

第二章 控制系统设计

2.1控制系统硬件设计

2.1.1整体模块设计

本设计行、列驱动电路,显示器电路,运用单片机的智能化,系统的将每个功能电路模块连接在一起,总体结构设计如图2-1所示。

点阵显示器行驱动电路PC上位机单片机8×8点阵LED显示器电路点阵显示器列驱动电路

图2-1 硬件系统框图

此次需要实现的功能是利用一个ST89C51,一个8×8LED点阵,动态显示“0——9”10个字,采用PC上位机驱动显示电路。

2.1.2 单片机AT89C51 AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产, 兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机能提供许多高性价比的应用场合,可灵活应用于各种控制领域。

AT89C51单片机引脚图如图2-2所示。

图2-2 AT89C51引脚图

AT89C51管脚说明: VCC:供电电压。GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行

存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下所示: P3口管脚

备选功能: P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:

来自反向振荡器的输出。

2.1.3 单片机最小系统设计

单片机的最小系统是能够让单片机工作的最小硬件电路。除了单片机外,最小系统还包括复位电路和时钟电路。

复位电路:单片机的复位电路接在复位信号RST上,复位电路用于将单片机内部电路的状态恢复到初始值。需要复位时按下按钮即可。

时钟电路:时钟电路为单片机工作提供基本时钟。时钟电路中包含一个晶体振荡器,简称晶振,频率范围是1.2~12MHz。晶体振荡频率越高,系统的时钟频率也越高,单片机的运行速度也就越快

ST89C51单片机最小系统电路由复位电路、晶振电路两部分组成。2.1.3.1 晶振电路设计

ST89C52单片机芯片内部设有一个由反向放大器构成的振荡器,XTAL1和XTAL2分别为振荡电路的的输入端和输出端,时钟可有内部或外部生成,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。晶振频率采用12MHZ,C1、C2的电容值取30pF,电容的大小起频率微调的作用。晶振电路图如图2-3所示。

C1XTAL130pFC2XTAL230pF图2-3 晶振电路图

X112MHZ

2.1.3.2 复位电路设计

ST89C51单片机在启动运行时或者出现死机时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。单片机有多种复位方式,常用的复位操作有上电复位和手动复位方式。本设计采用最简单的上电复位方式,电路如图2-4所示。上电复位是通过外部复位电路的电容充电来实现的,复位电路产生的复位信号(高电平有效)由RST引脚送入到内部的复位电路,对ST89C51单片机进行复位,复位信号要持续两个机器周期(24个时钟周期)以上,才能使ST89C51单片机可靠复位。当上电时,C1相当于短路,有时碰到干扰时会造成错误复位,可在复位端加个去耦电容,可以取得很好的效果。

ST89C51单片机复位电路如下图所示:

VCCAT89C51VCCC510MF/25VRSTR94.7KVSSR24.7KVSSRSTR1C10MF/25VS5 RSTVCCAT89C51VCC

图2-4 上电复位电路图

图2-5 按键电平复位电路图

复位电路工作原理:

上电瞬间RST引脚的电位与VCC等电位,RST引脚为高电平,随着电容C5充电电流的减少,RST引脚的电位不断下降,可以保持RST引脚在为高电平的时间内完成复位操作。

当单片机已在运行当中时,按下复位键S5后再松开,也能使RST引脚为一段时间的高电平,从而实现ST89C51单片机复位。

2.1.4 驱动电路设计

驱动电路图如图2-6所示。

图2-6 驱动电路图

74LS245引脚图如图2-7所示。

图2-7 74LS245引脚图

引出端符号: A A总线端

B B总线端

/G 三态允许端(低电平有效)DIR 方向控制端

74LS245是用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。

如果用89C51的P0口输出到数码管,那就要考虑到数码管的亮度以及P0口带负载的能力,当89C51单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。选用74LS245提高驱动能力。P0口的输出经过74LS245提高驱动后,输出到数码管显示电路。

工作原理:

当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。

正向点亮一颗LED,至少也要10~20mA,若电流不够大,则LED不够大。而不管是ST89C51的I/O口,还是TTL、CMOS的输出端,其高态输出电流都不是很高,不过1~2mA而已。因此很难直接高态驱动LED,这时候就需要额外的驱动电路,通常有共阳型与共阴型LED阵列驱动电路,本设计才用共阴型高态扫描信号驱动电路。

共阴型LED阵列驱动电路采用高态扫描,也就是任何时间只有一个高态信号,其它则为低态。一行扫描完成后,再把高态信号转化到近邻的其他行,扫描信号接用一个反向驱动器,ST89C51本身内置一个反向驱动器,本设计将ST89C51作为点矩阵显示控制系统的控制核心,通过点矩阵实时显示并移动字符。

单片机的串口与行驱动器相连,用来发送显示数据信息。P3口与LED阵列的行引脚相连,送出数据、地址以及系统控制信号。输出低态时,最大可吸取0.5A,即500mA,若每个LED取30mA,7个LED同时点亮,需要210mA,完全满足LED点亮的基本条件。

所要显示的信号送入74LS245芯片,然后连接到LED阵列的列阵脚。对于高态的显示信号,将可提供其所连接LED的驱动电流,而这个驱动电流经过LED到输出端,形成正向回路,即可点亮该LED。其中每个晶体管任何时间只需负

责驱动一个LED,所以选择30mA射极电流的晶体管。驱动电路如图2-6所示。

2.1.5 LED点阵显示设计

本设计采用ATMEL公司的AT89C51作矩阵显示控制系统控制核心,12MHZ晶振,88点阵共阳LED显示器。其中,P0口作为字符数据输出口,P3口为字符显示扫描输出口,第31脚(EA)接电源,改变电阻(270×8)的大小可改变显示字符的亮度,驱动用74LS245芯片。

本设计LED矩阵显示器电路选用8×8点阵模块,系统由单片机控制。LED显示屏是将发光二极管按行按列布置的,在扫描驱动方式下可以按行扫描按列控制,也可以按列扫描按行控制。本文就是使用1块8×8点阵,采用按列扫描按行控制控制方式,扫描顺序自左向右,以满足数字显示的要求。8×8点阵LED结构如图2-8所示。

8×8点阵LEDabcdefgh12345678

图2-8 LED数码显示管

8×8 点阵LED的工作原理:LED点阵的显示方式是按显示编码的顺序,一行一行地显示。对于共阳型的点阵来说,当某一点所在的行对应高电平“1”并且其所在的列对应低电平“0”的时候,这一点就会被点亮。将每一行的显示时间进行一定的延时,由于人的视觉暂留现象,就会感觉到8行LED是在同时显示的。若显示的时间太短,则亮度不够,若显示的时间太长,将会感觉到闪烁。图2-9为8×8点阵LED外观及引脚图,其等效电路如图2-10所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。一个8×8点阵是由64个发光二极管按规律组成的,如图2-10所示。图中,行接高电平,列接低电平,发光二极管导通发光。

图2-9 8×8点阵LED外观及引脚图

图2-10 8×8点阵LED等效电路

8×8点阵数字显示的编码原理: 8×8点阵数字显示主要应用行扫描动态显示的方法实现,如图2-11所示,将行线依次置零,一次对列线编码,有红色填充部分为1,无填充部分为0。

图2-11 8×8点阵数字显示的编码原理

如此可得到“0”的编码为{0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00},同理可得到:

{0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00}

//1 {0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00}

//2 {0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00}

//3 {0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00}

//4 {0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00}

//5 {0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00}

//6 {0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00}

//7 {0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00}

//8 {0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00}

//9 2.2控制系统软件设计

2.2.1 软件设计思想

主程序先进行设置中断,并启动,再进行键盘扫描载入“0——9”字型,然后判断一组字型是否扫描完,按不同情况进行循环调用子程序。进入子程序后,首先设置相应的程序,反复调用显示子程序,并在显示过程中反复调用键盘扫描子程序进行延时,判断是否退出相应的方式显示子程序。设计过程中,能很好得提高按键响应速度。

2.2.2 主程序流程图

主程序首先设置并启动T0中断,然后调用初始化程序,为后面程序要用到的数据调入,并清零一些用到的数据单元,然后载入“0——9”字型,进行扫描。图2-12为主程序流程图。

图2-12 主程序流程图

2.2.3 子程序流程图(定时中断服务程序)

图11 子程序流程图(定时中断服务程序)

第三章 系统仿真及调试

3.1系统调试

根据硬件电路图核对了元器件的型号、极性,安装是否正确,检查硬件电路连线是否与电路原理图一致,检查电路元器件是否都已经连接好。

通电后,用示波器检测单片机的复位和晶振电路是否有复位信号和振荡信号。

3.2 系统仿真

3.2.1 proteus软件仿真

使用proteus原理及仿真如图3-1所示。

如图3-1 proteus原理及仿真图

3.2.2 程序

#include #include #define uchar unsigned char #define uint unsigned int uchar code Table_of_Digits[]=

{ 0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, 0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,//0 //1 0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,//2 0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00,//3 0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,//4 0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00, 0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00, 0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00

};uchar i=0,t=0,Num_Index;//主程序 void main(){ P3=0x80;

Num_Index=0;

//从0开始显示

TMOD=0x00;

//T0方式0 TH0=(8192-2000)/32;//2ms定时

TL0=(8192-2000)%32;IE=0x82;

//允许T0中断

TR0=1;

//启动T0 while(1);}

//T0中断函数

void LED_Screen_Display()interrupt 1 { TH0=(8192-2000)/32;

//恢复初值

TL0=(8192-2000)%32;P0=0xff;

//输出位码和段码

P0=~Table_of_Digits[Num_Index*8+i];P3=_crol_(P3,1);

//P3循环向左一位 //5 //6 //7

//8 //9

}

if(++i==8)i=0;if(++t==250){

} t=0;

//每屏一个数字由8个字节构成 //每个数字刷新显示一段时间

if(++Num_Index==10)Num_Index=0;//显示下一个数字

总结

经过单片机的课程设计,我有了很大的收获。

首先,就是让我加深了对单片机的掌握和理解与应用,知道单片机到底是怎样控制点阵,怎样应用在生活中的。并且让我懂得了要善于思考,追求严谨,认真解决问题,才会有更多的收获。

然后,提高了通过查阅资料解决问题的能力。通过查阅大量的相关资料,详细了解了LED的发光原理和LED显示屏的原理,了解了LED的现状,清楚地了解了LED显示屏与其它显示屏相比较有那些优点,明确了研究目标。并且通过对单片机资料的查阅和应用,更进一步增加了对单片机知识的理解和运用能力。并证实了自己的思路:“查资料→思考总结→运用→找出差错,再查资料和向别人询问→再次运用”的正确性。

最后,本系统能够完成设计任务,能够显示数字0-9,并且显示也较为稳定清晰。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。在本次课程设计中,主要使用了Proteus和Keil等软件进行硬件电路和控制程序的设计,加深了对这些软件的了解。感到Proteus对电子专业的同学来说是一个很有用的软件。总体来说这次的课程设计很成功,达到了预想的目的:学到了知识,提高了能力,完成了任务。

参考文献

[1] 张靖武,周灵彬 《单片机系统的PROTEUS设计与仿真》北京 电子工业出版社 [2] 吴金戌,沈庆阳,郭庭吉 《8051单片机实践与应用》北京 清华大学出版社 [3] 李群芳,肖看 《单片机原理、接口及应用》北京 清华大学出版社

8.单片机课程设计 篇八

基于AT89S51单片机的密码锁设计,具体功能如下:(1)总共可以设置8位密码,每位密码值范围为1~8。(2)用户可自行设定和修改密码。(3)按每个密码时都有声音提示。

(4)若键入的8位开锁密码不完全正确,则报警5s已提醒他人注意。

(5)开锁密码连续错3次要报警1分钟,报警期间输入密码无效,以防窃贼多次试探密码。

(6)键入的8位开锁密码完全正确才能开锁,开锁时要有1s的提示音。(7)电磁锁的电磁线圈每次充电5s,然后恢复初态。

(8)密码键盘上只允许有8个密码按键。锁内有备用电池,只有内部上电复位才能设置或修改密码,因此,仅仅在门外按键是不能修改或设置密码的。(9)密码设置完毕后要有2s的提示音。硬件设计

2.1 设计思路

按照系统设计的要求和功能,将系统分为主控模块;按键扫描模块;蜂鸣器;电源电路;复位电路晶振电路;驱动电路几个模块,系统组成框图如图1-1所示。主控模块采用AT89S51单片机。

电源电路复位电路主控模块晶振电路AT89S51按键扫描模块驱动器蜂鸣器 图1-1 基于AT89S51单片机的密码锁组成框图 镇江高等专科学校课程设计2.2 硬件图及说明(硬件图见图1-2,)

元件型号单片机晶振电容型号数量/个用途元件型号蜂鸣器电阻型号数量/个用途AT89S52 1 控制核心12MHz 1 晶振电路30pF 2 晶振电路1 报警电路1kΩ10kΩ4.7kΩ1 上拉电路1 复位电路1 放大电路电阻电阻继电器电源电解电容20uF/10V 1 复位电路按键三极管二极管9 按键电路8550 2 放大电路IN4004 1 5V 1 控制对象+5V/0.5A 1 提供+5V电源 图1-3 基于AT89S51单片机的密码锁元件清单

注:1.AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

2.蜂鸣器的工作原理: 软件设计

2.1 设计思路 镇江高等专科学校课程设计应位置的,分析程序时可以仔细对照参考。该密码锁中RAM存储单元的分配方案如下所示

如图1-3所示给出了该单片机密码锁电路的软件软件流程图。图中AA1~AA8以及START,SET,SAVE是程序中的标号,是为了理解程序而专门标在流程图的对 31H~38H;依次存放8位设定的密码,首位密码存放在31H单元中。 R0:只指向密码地址  R2;已经输入密码的位数

 R3:存放允许的错码次数3与实际错码次数的差值。 R4~ R7:延时用。 00H:错码标志位。

对于ROM存储单元的分配,由于程序比较短,而且占用的存储空间的较少,因此,在无特殊要求时,可以从0030H单元(其他地址也可以)开始存放主程序。3.2 程序流程图

开始初始化1s提示音等待设置密码NN有键按下?Y短音提示保存设置密码N是否够8位?Y长音提示错误次数清零错误标识清零N有键按下?Y短音提示密码对否?Y是否够8位?Y标志=1?N开锁并长音提示延时锁恢复错误清零错3次?Y报警1 min错误次数清零报警5s错误标志清零Y错误次数加1NN错误标志置1 图1-4 基于AT89S51单片机的密码锁程序流程图

3.3 程序清单(注释)

LOC OBJ LINE SOURCE

0000 1 ORG 0000H 0000 0130 2 AJMP START 0030 3 ORG 0030H 镇江高等专科学校课程设计0030 11A1 4 START:ACALL BP 0032 7831 5 MOV R0,#31H 0034 7A08 6 MOV R2,#8 0036 7590FF 7 SET1:MOV P1,#0FFH 0039 E590 8 MOV A,P1 003B B4FF02 9 CJNE A,#0FFH,L8 003E 0136 10 AJMP SET1

0040 11B0 11 L8: ACALL DELAY 0042 B4FF02 12 CJNE A,#0FFH,SAVE 0045 0136 13 AJMP SET1 0047 11A1 14 SAVE: ACALL BP 0049 F6 15 MOV @R0,A 004A 08 16 INC R0 004B DAE9 17 DJNZ R2,SET1 004D 7D10 18 MOV R5,#16 004F 11A1 19 D2S: ACALL BP 0051 DDFC 20 DJNZ R5,D2S 0053 7831 21 MOV R0,#31H 0055 7B03 22 MOV R3,#3 0057 7A08 23 AA1: MOV R2,#8 0059 7590FF 24 AA2: MOV P1,#0FFH 005C E590 25 MOV A,P1 005E B4FF02 26 CJNE A,#0FFH, L9 0061 0159 27 AJMP AA2 0063 11B0 28 L9:ACALL DELAY 0065 B4FF02 29 CJNE A,#0FFH,AA3 0068 0159 30 AJMP AA2 006A 11A1 31 AA3: ACALL BP 006C C3 32 CLR C 006D 96 33 SUBB A, @R0 006E 08 34 INC R0 006F B40002 35 CJNE A,#00H,AA4 0072 0176 36 AJMP AA5 0074 D200 37 AA4: SETB 00H 镇江高等专科学校课程设计0076 DAE1 38 AA5: DJNZ R2,AA2 0078 20000E 39 JB 00H,AA6 007B C2B5 40 CLR P3.5 007D 7D08 41 L3:MOV R5,#8 007F 11A1 42 ACALL BP 0081 DCFA 43 DJNZ R4,L3 0083 7B03 44 MOV R3,#3

0085 D2B5 45 SETB P3.5 0087 0157 46 AJMP AA1 0089 DB0C 47 AA6: DJNZ R3,AA7 008B 7D18 48 MOV R5,#24 008D 7CC8 49 L5: MOV R4,#200 008F 11A1 50 L4: ACALL BP 0091 DCFC 51 DJNZ R4,L4 0093 DDF8 52 DJNZ R5,L5 0095 7B03 53 MOV R3,#3 0097 7D28 54 AA7: MOV R5,#40 0099 11A1 55 ACALL BP 009B DDFA 56 DJNZ R5,AA7 009D C200 57 AA8: CLR 00H 009F 0157 58 AJMP AA1 00A1 C2B7 59 BP: CLR P3.7 00A3 7FFA 60 MOV R7,#250 00A5 7E7C 61 L2: MOV R6,#124 00A7 DEFE 62 L1: DJNZ R6,L1 00A9 B2B7 63 CPL P3.7 00AB DFF8 64 DJNZ R7,L2 00AD D2B7 65 SETB P3.7 00AF 22 66 RET 00B0 7F14 67 DELAY:MOV R7,#20 00B2 7E7D 68 L7: MOV R6,#125 00B4 DEFE 69 L6: DJNZ R6,L6 00B6 DFFA 70 DJNZ R7,L7 00B8 22 71 RET 镇江高等专科学校课程设计 72 END 3.4 程序调试

按键AN1~AN7分别代表数码1~7,按键AN0代表8。在没有键按下时,P1.0~P1.7全是高电平1;若某个键被按下,相应的口就变为低电平0.加入设定的密码是612345678,当按键AN6被按下时,P1.6变为低电平,P1端口其余口线为高电平,此时从P1口输入的数值为10111111,存到31H单元的密码值就是10111111,也就是BFH。以此类推,存到32H至38H单元的密码值分别是FDH,FBH,F7H,EFH,DFH,7FH,FEH。开锁时必须先按AN6,使从P1口读入的第一个密码值与31H单元存储的设定值相同,再按顺序按AN1,AN2,AN3,AN4,AN5,AN7,AN0才能开锁。否则不能开锁,同时开始报警。小结

通过此次课程设计,使我更加扎实的掌握了有关单片机方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。

实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。

此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰

参考文献:(另起一页)

【1】杨居义。单片机课程设计指导。北京:北京大学出版社,2009。

9.单片机数字万用表课程设计 篇九

电子课程设计心得体会范文(一)

通过这次为期近半月的课程设计,我们深感自己动手操作的重要性。我们在课堂上接触到的多半是苍白的理论,在实践层面上只有一定的指导作用。但是真正在实际运用过程中,我们如果缺乏必要的及时锻炼,那将会感觉到力不从心。理工科本来就是一门集思维和动手能力于一体的学科,要想真正掌握好,思考、假设和实验验证都是必不可少的。在通过很多的理论学习之后,我们通过课程设计和相关的实验把书本上的理论知识在实际运用中加以利用,巩固了理论知识的同时也增强了我们的动手能力。

另外,我们生活在一个讲究团队合作的社会里。通过团队的协作,也培养了我们团结互助,相互协调的团队合作能力。通过大家的努力,我们共同完成了小组的任务,大家集思广益,各抒己见,共同把一个个问题解决。虽然辛苦,但是我们也享受着这次课程设计中给我们带来的乐趣,那就是自己亲自动手解决好实际问题,虽然我们做的还不够,但是我们也算是迈出了艰难的一步。我们学习理论知识的最终目的还是要走向实际运用,通过这种模拟式的学习,我们加深认识到理论与实践的差异。通过这个课程设计,我们大家把整个学习阶段的各种学科知识窜联在一起,更好地认识到学习是一个系统工程。我们的每一个环节都是在为以后的实践环节做铺垫,我们的每一个环节都是要有所掌握才可以顺利完成任务。

通过这样的实践活动,我们还可以充分发挥自己的主观能动性,因人而异,合理分配任务,团结协作,一起朝着任务的方向不断地奋斗,大家都很辛苦,各自完成自己负责的那部分工作。我们都深感动手起来遇到的各种问题都要亲自去解决是一件很不容易的事情,同时我们也在实践过程中修复了以往学习的很多漏洞。我们也得到了不同程度的完善和提升。希望以后能多举行多参与这类型的实践活动。把理论知识结合到实践层面去,理论结合实际学习才会更有声有色。要把我们学到理论知识的真正利用到生产实际中还需要大量的实践和运用。

我们忘不了自己在这一过程中的努力与收获,我们也相信付出与收获成正比,我们付出的越多,相应地收获也就越多。我们有大块的时间在准备,在学习的过程中,我们要不断地改进和学习,多多交流才能更好更轻松地学习。

电子课程设计心得体会范文(二)

通过此次课程设计,使我更加扎实的掌握了有关高频电子线路方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。

过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获龋最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!

课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过这次课程设计,我掌握了常用元件的识别和测试;熟悉了常用仪器、仪表;了解了电路的连线方法;以及如何提高电路的性能等等,掌握了焊接的方法和技术,通过查询资料,也了解了收音机的构造及原理。

我认为,在这学期的实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。

回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。

实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。

此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。

电子课程设计心得体会范文(三)

本学期实时测量技术实验以电子设计大赛的形式,老师命题,学生可以选择老师的题目也可以自己命题,并且组队操作其他的事情(包括设计总体方案、硬件电路、软件设计、焊接、调试等工作)。趣味性强,同时也可以学到很多东西。

我们认为,在这学期的实验中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。

之所以使用avr单片机作为我们的执行核心,不仅是因为老师说avr现在是社会上应用比较多的单片机,也因为想通过使用avr锻炼自己的c语言编程能力,养成良好的c语言编程风格。不管怎样,这些都是一种锻炼,一种知识的积累,能力的提高。完全可以把这个当作基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。很少有人会一步登天吧。永不言弃才是最重要的。

与队友的合作更是一件快乐的事情,只有彼此都付出,彼此都努力维护才能将作品做的更加完美。而团队合作也是当今社会最提倡的。曾经听过,xx之所以最近不受欢迎就是因为欠缺团队合作的精神和技巧。

电压电流测量装置虽然结束了,也留下了很多遗憾,因为由于时间的紧缺和许多课业的繁忙,并没有做到最好,但是,最起码我们没有放弃,它是我们的骄傲!相信以后我们会以更加积极地态度对待我们的学习、对待我们的生活。我们的激情永远不会结束,相反,我们会更加努力,努力的去弥补自己的缺点,发展自己的优点,去充实自己,只有在了解了自己的长短之后,我们会更加珍惜拥有的,更加努力的去完善它,增进它。只有不断的测试自己,挑战自己,才能拥有更多的成功和快乐!快乐至上,享受过程,而不是结果!认真对待每一个实验,珍惜每一分一秒,学到最多的知识和方法,锻炼自己的能力,这个是我们在实时测量技术试验上学到的最重要的东西,也是以后都将受益匪浅的!

单片机课程设计心得体会

单片机课程设计心得体会【一】

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在信盈达刘老师的辛勤指导下,终于游逆而解。同时,在刘老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和信盈达各位指导老师再次表示忠心的感谢!

一、单片机课程设计总结

做了两周的课程设计,有很多的心得体会,有关于单片机方面的,更多的是关于人与人之间关系方面的。

我们组一共有三个人,但其他两个人是真的神龙见首不见尾,除了在最后答辩的时候他们一起坐在了我旁边,冠冕堂皇的指着我画了几遍的图说了几嘴,我想可能他们自己都不知道自己在说怎么,虽然有的东西他们也答出来了。我佩服他们的勇气,羡慕他们的运气(我见到的很多做了10

天的人最后的成绩都有不如他们的),但是鄙视他们的做法。

所幸的是,我得到了很多同学的帮助。我想没有他们我可能都要放弃了,因为我本人对单片机也并不是很熟悉,学的东西好像它是它,我是我似的,理论联系不了实际。以前的汇编语言没学好,一开始的程序这块儿就要令我抓狂了。后来请教我们班的一个男生,每次跟他一起到试验室调试程序(他们组也只有他一个人动手),看他边做边给我讲解。最后在开发机上做出来的时候,虽然不是我自己写的,但看他那么高兴,我也有一种分享到的成就感。后来我们组就用了他写的程序,他自己又抽空做了些拓展。

接下来就是做硬件方面的焊接工作了。没想到这项看起来不需要多少技术的工作却是非常的劳心劳力。很多次是早上起来带瓶水带些吃的到实训中心,一泡就是一天。我看到有很多人跟我一样,不同的是他们是三三两两,而我大部分时间都是一个人做。在这个时候也有很多人帮助我,或是热心的帮我带饭,或是在我打盹儿的时候帮我做点焊接。大家都鼓励我,即使最后出不来东西,但是一定要坚持把它做完。当我想放弃的时候,我也这么对自己说,即使你做出来的是次品甚至不合格品,但是你一定要拿出来一件成品。

在要验收前,终于做了一件成品出来,不幸的是它真的是一件不合格品。帮我的那个男生做的已经出来了,所以最后应该还是我的焊接方面的问题。有一点灰心,想再重做来不及了,单是检查线路却也查不出来什么问题。那么就准备答辩吧。我对着电路图再看课本,发现以前很多觉得很难记的东西现在记起来容易多了,因为整天都在同它们打交道。51的引脚及其功能,A/D转换器的,驱动器的,所有我用到的我都一再的看书了解,同时请教同学我看书过程当中的疑惑。在这个过程中又发现了以前焊接当中出的一些问题,能改的就改,不能改的,咳,要是时间再多一些,或者我能早点做好,要是不只是我一个人动手……算了吧,不要想那些如果,还是准备我自己的,做好我现在能做的吧。

还好,验收还算成功,得了3分,不是很高,但是我觉得对我来说已经很好,代表了我真实的水平,我觉得我对单片机的一些知识在这个动手的过程中真的是从无到有增长的。同时我也尽量不去想别人得了多少分,没有什么不平衡的,有些人付出的是努力,有些人付出的是风险代价,其实这也没有什么不一样,这一点我早就了解。

最后,我发现自己对单片机竟然也有了一点兴趣,想暑假回家以后自己去买一些东西来做,再补一补汇编语言。有什么问题请教下以前的那些老同学好了,他们好厉害,在高中劳动课就成功的做出过调频收音机,大一暑假的时候参加了学校的电子竞赛培训接着比赛,不过后来怎么样我就不知道了。汗。看来要多保持联络,这次回家就好好找他们叙叙旧。

二、单片机课程设计感想

通过一个学期的学习,我认为要学好C语言程序这门课程,不仅要认真阅读课本知识,更重要的是要通过上机实践才能增强和巩固我的知识。特别是作为高职生,更要注重实践这一环节,只有这样我们才能成为合格的计算机人材。

整个设计通过了软件和硬件上的调试。我想这对于自己以后的学习和工作都会有很大的帮助。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于教材管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。

这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我们的设计以极大的帮助,使我们获益匪浅。因此非常感谢老师的教导。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名软件工程专业的学生,这次课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。

我认为这个收获应该说是相当大的。一开始我们从参考书上找来了课题,但是毕竟是参考书,做到后来发现很多程序都是不完整的,这让我们伤透了脑筋。看着别的小组都弄得有模有样了,可是我们连一个课题都还没有定好。好不容易又找到了课题,可是结果还是很不尽人意。程序接线什么的都弄好了,调试也没有问题,可是就是无法达到预期想要的结果。参考书毕竟只是一个参考,设计这种东西最后还是要靠自己动脑筋。然后我们大家一起齐心协力,从平时做的实验﹑老师上课的举例﹑书本上的知识以及老师的辅导和其他同学的帮助下终于完成了。应该说这是通过我们小组成员的共同努力和动脑完成的,虽然内容并不是很复杂,但是我们觉得设计的过程相当重要,学到了很多,收获了很多。我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合﹑相处,以及自身的动脑和努力,都是以后工作中需要的。

单片机课程设计心得体会【二】

两周的单片机课程设计最后顺利完成了,其中包含着快乐,也有辛酸。我们选的设计题目是“数字温度计”,大家都觉得这个题目是比较简单的。其实不然,做了之后,发现设计电路虽然简单,但我们认为它真正困难的地方是程序设计,但是在我们同心努力下最终完成了。

我们刚选该题目时,真的是一头雾水,硬件电路不知如何下手,更何谈解决程序那块,因为我们所学的都是单片机方面的理论知识,应用到实践中去还比较少。但是,我们三人也没偷下懒,迅速分工去查阅和收集资料。我们去了图书馆借一些参考书,上网找一些相关资料,并且请教指导老师。透过不断努力,最后把数字温度计的思路和模型定了下来并开始分一个人去焊接硬件电路,剩下的去整理和修改程序。

透过一番整理和修改后,在电脑上进行仿真,仿真成功后准备焊接电路板。在焊接电路板中,我们首先对硬件电路进行布局,然后确认无误后,在电路板上进行焊接,这个过程我们觉得是做得比较快的,以至于后面出现了虚焊的错误。

焊接电路板完工,细心检查后,进行通电测试。结果液晶LCD没有显示,透过检查,原先是LCD坏了,在换了块新的后,能显示显示值。但还有个问题是,当报警电路不会报警,在请教老师后,发现走动蜂鸣器的电压太低了,是因为串接了一个太大的电阻。然后,我们换了一个小电阻,但这时蜂鸣器却一向在叫,停不下来,但是,在我们三人的的细心检查下,原先是在放大电路的一端虚焊了,这说明我们焊接电路的技术还不够好。在重新焊接那端后,数字温度电路最后成功实现功能,当时我们的情绪都是无比兴奋和快乐的,因为我们两周的辛苦没有白费。

在完成单片机课程设计后,我们发现我们还有许多不足,所学到的知识还远远不够,以至于还有一些功能不能被动完成。但透过学习这一次实践,增强了我们的动手潜力,提高和巩固了单片机方面的知识,个性是软件方面。从中增强了我们的团队合作精神,并让我们认识到把理论应用到实践中去是多么重要。

单片机课程设计心得体会【三】

做了两周的课程设计,有很多的心得体会,有关于单片机方面的,更多的是关于人与人之间关系方面的。

我们组一共有三个人,但其他两个人是真的神龙见首不见尾,除了在最后答辩的时候他们一齐坐在了我旁边,冠冕堂皇的指着我画了几遍的图说了几嘴,我想可能他们自己都不明白自己在说怎样,虽然有的东西他们也答出来了。我佩服他们的勇气,羡慕他们的运气(我见到的很多做了10天的人最后的成绩都有不如他们的),但是鄙视他们的做法。

所幸的是,我得到了很多同学的帮忙。我想没有他们我可能都要放下了,因为我本人对单片机也并不是很熟悉,学的东西好像它是它,我是我似的,理论联系不了实际。以前的汇编语言没学好,一开始的程序这块儿就要令我抓狂了。之后请教我们班的一个男生,每次跟他一齐到试验室调试程序(他们组也只有他一个人动手),看他边做边给我讲解。最后在开发机上做出来的时候,虽然不是我自己写的,但看他那么高兴,我也有一种分享到的成就感。之后我们组就用了他写的程序,他自己又抽空做了些拓展。

接下来就是做硬件方面的焊接工作了。没想到这项看起来不需要多少技术的工作却是十分的劳心劳力。很多次是早上起来带瓶水带些吃的到实训中心,一泡就是一天。我看到有很多人跟我一样,不同的是他们是三三两两,而我大部分时间都是一个人做。在这个时候也有很多人帮忙我,或是热心的帮我带饭,或是在我打盹儿的时候帮我做点焊接。大家都鼓励我,即使最后出不来东西,但是必须要坚持把它做完。当我想放下的时候,我也这么对自己说,即使你做出来的是次品甚至不合格品,但是你必须要拿出来一件成品。

在要验收前,最后做了一件成品出来,不幸的是它真的是一件不合格品。帮我的那个男生做的已经出来了,所以最后就应还是我的焊接方面的问题。有一点灰心,想再重做来不及了,单是检查线路却也查不出来什么问题。那么就准备答辩吧。我对着电路图再看课本,发现以前很多觉得很难记的东西此刻记起来容易多了,因为整天都在同它们打交道。51的引脚及其功能,a/d转换器的,驱动器的,所有我用到的我都一再的看书了解,同时请教同学我看书过程当中的疑惑。在这个过程中又发现了以前焊接当中出的一些问题,能改的就改,不能改的,咳,要是时间再多一些,或者我能早点做好,要是不只是我一个人动手……算了吧,不要想那些如果,还是准备我自己的,做好我此刻能做的吧。

还好,验收还算成功,得了3分,不是很高,但是我觉得对我来说已经很好,代表了我真实的水平,我觉得我对单片机的一些知识在这个动手的过程中真的是从无到有增长的。同时我也尽量不去想别人得了多少分,没有什么不平衡的,有些人付出的是努力,有些人付出的是风险代价,其实这也没有什么不一样,这一点我早就了解。

最后,我发现自己对单片机竟然也有了一点兴趣,想暑假回家以后自己去买一些东西来做,再补一补汇编语言。有什么问题请教下以前的那些老同学好了,他们好厉害,在高中劳动课就成功的做出过调频收音机,大一暑假的时候参加了学校的电子竞赛培训之后比赛,但是之后怎样样我就不明白了。汗。看来要多持续联络,这次回家就好好找他们叙叙旧。

单片机课程设计心得体会【四】

作为一名自动化专业的大三学生,我觉得做单片机课程设计是十分有好处的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践潜力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们带给了良好的实践平台。

这次单片机课程设计我们历时两个星期,在我们班里算是倒数几组完成的吧,但经过这两个星期的实践和体验下来,我们又怎样会去在乎那个先后问题呢,因为对我来说学到的不仅仅是那些知识,更多的是团队和合作。此刻想来,也许学校安排的课程设计有着它更深层的好处吧,它不仅仅仅让我们综合那些理论知识来运用到设计和创新,还让我们明白了一个团队凝聚在一齐时所能发挥出的巨大潜能!

单片机作为我们的主要专业课之一,虽然在大三开学初我对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对单片机的兴趣也在逐渐增加。

两个星期前我们五个人还在为到底选那个课题而发生分歧,最后还是在龚老师的耐心分析和指导下完成了课题的选定,但是随之而来的问题却远比我们想想的要困难的多

过没想到这项看起来不需要多少技术的工作却是十分需要耐心和精力在两个星期后的这天我已明白课程设计对我来说的好处,它不仅仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手潜力和独立思考的潜力,更重要的是同学间的团结,虽然我们这次花去的时间比别人多,但我相信我们得到的也会更多!

在做本次课程设计的过程中,我感触最深的当属查阅超多的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们能够抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。

其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:CAD制图、汇编语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。后,要做好一个课程设计,就务必做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,明白该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改善是程序设计的必经之路;

要养成注释程序的好习惯,一个程序的完美与否不仅仅仅是实现功能,而就应让人一看就能明白你的思路,这样也为资料的保存和交流带给了方便;在设计课程过程中遇到问题是很正常德,但我们就应将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。

发现、提出、分析、解决问题和实践潜力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

我们透过查阅超多有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。

透过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生用心的影响。

透过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要好处,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名自动化专业的学生,单片机的课程设计是很有好处的。更重要的是如何把自己平时所学的东西应用到实际中。

虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法透过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮忙和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。

上一篇:联社年度计划财务部工作总结下一篇:第三季度物业文员的工作计划

热搜文章

    相关推荐