单片机实习报告三篇Word文件下载.docx
《单片机实习报告三篇Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机实习报告三篇Word文件下载.docx(6页珍藏版)》请在冰豆网上搜索。
三系统基本组成及工作原理
1系统基本组成
系统以单片机STC89C52作为控制核心,各部分基本组成框图如图1所示。
流水灯部分由单片机、键盘模块等组成;
四位数码显示,编程实现30秒倒计时部分由单片机、键盘模块、液晶显示模块等组成;
按键功能部分通过按键控制流水灯部分、四位数码显示部分;
电子钟部分由单片机、键盘模块、液晶显示模块等组成;
使用功能键实现相对应的功能组合部分通过流水灯部分、30秒倒计时部分实现;
模数转换部分由单片机、ADC0809转换模块、键盘模块、液晶显示模块等组成。
2系统工作原理
本设计采用STC89C52RC单片机作为本系统的控制模块。
单片机可把由ADC0809及单片机中的数据利用软件来实行处理,从而把数据传输到显示模块,实现阻值大小的显示。
以数码管显示为显示模块,把单片机传来的数据显示出来。
在显示电路中,主要靠按键来实现各种显示要求的选择与切换。
对于模数转换部分,单片机89C51通过P0口的I/O线向ADC0809发送锁存地址以及复位、启动转换等信号,并查询转换状态。
ADC0809启动转换后,将0-8个通道一次输入的电压信号转换成相对应的数字量,供89c51读取使用,并且将EOC置1供单片机查询转换状态。
而滑动变阻器负责将阻值信号转换成电压信号,再送到ADC0809的八个通道。
当单片机查询到转换结束后依次读取数据并按照现实的需要实行二进制转BCD码等处理最后控制显示电路显示出数字。
其实现方式是:
ADC0809转换来自3通道的阻值变化信号。
80c51的P2口与ADC0809的输出相连用于读取转换结果,同时P0.0-P0.6作控制总线,向ADC0809发送锁存、启动等控制信息,并查询EOC状态。
ALE经分频后给ADC0809提供时钟信号。
P3.0和P3.1口用于向显示电路输出段码,P3.2-P3.7用于数码管的位选。
四系统硬件设计
结合本设计的要求和技术指标,通过对系统大致程序量的估计和系统工作的估计,考虑价格因素。
选定AT89C51单片机作为系统的主要控制芯片,8位模拟转换器ADC0809实行阻值转换。
逐次比较法A/D转换器是当前种类最多、应用最广的A/D转换器,其原理即“逐位比较”,其过程类似于用砝码在天平上称物体重量。
它由N位寄存器、A/D转换器、比较器和控制逻辑等部分组成,N位寄存器代表N位二进制码。
当前应用最广的逐次比较法A/D转换器有ADC0809。
它是一种8路模拟输入8位数字输出的逐次比较法A/D转换器件。
其主要性能指标和特性如下:
分表率:
8位
转换时间:
取决于芯片时钟频率,转换一次时间位64个时钟周期
单一电源:
+5v
模拟输入电压范围:
单极性0-+5v;
双极性-5v-+5v
具有可控三态输出锁存器
启动转换控制位脉冲式,上升沿使内部所有寄存器清零,下降沿使A/D转换开始。
通过以上性能比较,我们不难看出ADC0809满足本设计的要求,所以本设计采用ADC0809作为A/D转换器
1按键电路设计
利用单片机的P1口扩展一个8位键盘。
2晶振与复位电路设计
本设计采用的是上电复位的形式,如图3.3所示,上电顺进RST获得高电平,随着电容器C的充电,RST引脚上的高电平将逐渐下降,只要高电平能保持复位所需要的两个机器周期以上时间,单片机就能实现复位操作。
晶振电路为单片机提供工作所需要的时钟信号。
震荡频率越高,系统时钟频率也越高,单片机运行的速度就越快。
其电路如图3.4所示。
89C51的XTAL1和XTAL2两个引脚跨接晶体振荡器和微调电容C1、C2形成反馈电路,就构成了稳定的自激振荡器,本设计的震荡器频率为12MHZ。
3下载电路设计
4流水灯模块设计
5模数转换模块设计
6显示电路设计
本设计采用六位数码管。
本系统采用共阳极动态扫描的方式连接。
数码管的段码数据由89C51的P3.0-P3.1口送出,89C51的P3.2-P3.7输出位选通信号,只有被选中的那位数码管才会显示段码
7整体电路设计
五系统软件设计
1主程序设计
主程序采用分支结构,以状态号标识系统所处的状态。
在上电初始化后即进入状态号的轮询扫描,状态号的值决定了分支程序的入口。
其中分支程序分别为:
AD转换模块(状态号为0),数字模块状态号为1),倒计时模块(状态号为2),电子钟模块(状态号为3),功能组合模块(状态号为4),流水灯模块(状态号为5)。
2功能子程序设计
2.1流水灯模块
流水灯模块利用单片机的P3口,通过给P3口的各位送低电平,相对应的实现流水灯有规律的点亮。
2.230秒倒计时模块
30秒倒计时模块利用单片机的P3.0与P3.1口送相对应的段控数据,P3.2-P3.7口送相对应的位控数据。
通过程序实现30秒倒计时。
2.3数字加减模块
利用数码管实现数字显示,通过加一键或者是减一键实现数字变量的加一或者减一,进而实现利用数码管显示加一键、减一键功能。
2.4电子钟模块
利用数码管实现时间显示,通过加一键或者是减一键实现小时变量或者是分钟变量的加一,从而实现调时功能。
2.5模数转换模块
六实习总结、体会
本次单片机实习我们一共完成了个模块的程序设计,包括:
led显示模块、数码管显示模块和键盘模块。
分别实现了流水灯的循环点亮控制、数码管的静态和动态计数显示,还有矩阵键盘按键控制数码管显示的程序设计。
然后我们分别用protues系统仿真软件对各个模块实行了模拟仿真,用keil软件编制了汇编语言程序,验证了我们所设计的程序。
这次实习还使我理解了编写程序的一些技巧。
单片机应用系统一般由包含多个模块的主程序和由各种子程序组成。
每一模块都要完成一个明确的任务,实现某个具体的功能,如计算、接受、发送、延时、显示等。
采用模块化程序设计方法,就是将这些具体功能程序实行独立设计和分别调试,最后将这些模块程序装配成整体程序并实行联合调试。
模块化程序设计方法的优点:
一个模块能够为多个程序所共享;
单个功能明确的程序模块的设计和调试比较方便,容易完成;
利用已经编好的成熟模块,将大大缩短开发程序的时间,降低开发成本。
采用循环结构和子程序结构能够使程序的容量大大减少,提升程序的效率,节省内存。
对于多重循环,要注意各重循环的初值和循环结束的条件,避免出现程序无休止循环的“死循环”现象;
通过这次的实习我发现,只有理论水平提升了,才能够将课本知识与实践相结合,理论知识服务于教学实践,以增强自己的动手水平。
这次实习十分有意义,这次实习我们知道了理论和实践的距离,也知道了理论和实践相结合的重要性。
回顾起此次课程设计,感觉受益匪浅,从拿到题目到完成整个编程,从理论到实践,学到很多很多的课堂理论中没学到过的东西,不但对键盘的识别技术这个章节的知识点有了深刻的理解,而且对这学期开设的单片机这门课程有了更全面的了解,尤其是在学习使用proteus软件片编程和仿真时收获良多。
通过这次单片机课程设计,还使我懂得了实践的重要性。
同时在程序调试的过程中提升自己的发现问题、解决问题、实际动手和独立思考的水平。
这次课程设计能顺利的完成,除了我们的努力外,当然也离不开指导老师申老师的辛勤指导,致使我在设计的过程中学到了很多实用性的知识。
同时,对给过我协助的所有同学和各位指导老师表示忠心的感谢!
单片机实习报告【二】
通过今次单片机实训,使我对单片机的理解有了更深刻的理解。
系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。
因为时间有限和本身知识水平的限制,本系统还存有一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。
例如:
不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。
踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。
当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。
我相信其中的酸甜苦辣最终都会化为甜美的甘泉。
但在这次实训中同时使我对汇编语言有了更深的理解。
当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,即使困难重重,可我们还是克服了。
这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作水平,使我们理解到了团队合作精神的重要性。
这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的水平,没有自己的研究,就不会有所突破。
希望这次的经历能让我在以后学习中激励我继续进步。
单片机实习报告【三】
通过这个个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。
了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。
LED显示器:
LED显示器是由发光二管组成显示字段的器件。
通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。
有段选码和和位选码。
当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA电流;
位线的电流应选择40-80MA。
LED显示器的显示方式有动态和静态两种。
7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。
7289A的控制指令分为两类:
8位宽度的单字节指令和16位宽度双字节指令;
还有闪烁指令和消隐指令。
7289A采用串行方式SPI总线与