单片机课程设计报告单片机最小系统及外围电路设计_第1页
单片机课程设计报告单片机最小系统及外围电路设计_第2页
单片机课程设计报告单片机最小系统及外围电路设计_第3页
单片机课程设计报告单片机最小系统及外围电路设计_第4页
单片机课程设计报告单片机最小系统及外围电路设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要【摘要】本次课程设计主要是关于单片机简易开发板的设计。实现8位流水灯控制,按键扫描双位数码管显示。本次设计主要采用89C52单片机芯片制作而成,包括流水灯电路,按键扫描电路,数码管显示电路,ISP及USB供电部分,单片机P1口控制数码管,P0口控制八位流水灯,P2控制扫描键盘,通过读写口进行ISP下载。【关键词】流水灯、按键扫描、数码管显示、ISP下载目 录1. 课程设计的目标与设计任务 .1.1设计的任务.2、硬件电路设计方案及功能分析.2.1 原理图.2.2 单元电路设计及分析. 2.2.1 89C52芯片简介.2.2.2 下载线电路.2.2.3 最小外围电路.3、程序的设计. 3.

2、1开发软件及编程语言简介.3.2软件程序的编写及调试.4、电路板的制作.5、电路板的焊接与调试 . 6、课程设计总结.7、参考文献.附录1主要电子元件清单.1. 课程设计的设计任务1.1 设计任务图1 系统设计要求方框图根据题目要求,系统可以划分为最小外围电路,指示灯及流水电路,按键扫描,数码管显示电路,及ISP下载模块。2、硬件电路设计方案及功能分析 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。 对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路、按键输入、显示输出等。单片机接口电路主要用来连接计算机和其它外部设备。2.1原理图图2

3、原理图2.2 单元电路设计及分析2.2.1 89C52芯片简介MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。 内部结构基本可分三个部分: 第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。 第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数

4、据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电。15脚DNG、16脚VCC(+5v)。图3 MAX2322.2.2 下载线电路 图4 下载线电路2.2.3 最小外围电路、 复位电路:电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期

5、以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位 机器周期为1us,则T=RC=1us RST引脚持续两个机器周期时,T应为2us。取 C=10uf,R=10K RC=0.1S 大于2us。 图5 复位电路、 晶振电路: 晶振取12MHz,产生精确的微秒级时歇,方便定时操作 图6 晶振电路 电源滤波与指示灯电路 图7 电源滤波和指示灯USB口输出的电压为5V,但是电压输出不稳定,含有较多杂散信号,因此本次设计采用100uF的电解电容和0.1uF的普通电容相并联滤波。电阻阻值计算:发光二极管导通电流约为10mA,导通电压约为0.7V R=(5-0.7)/0.01 =430因此阻值取标准

6、的470 外围流水灯和行列式键盘电路 流水灯流水灯串联的电阻阻值和电源指示灯串联的阻值大小相等,都为470。流水灯一端接+5v电压,另一端接P0口,当P0口为高电平“1”时,发光二极管熄灭;当P0口为低电平“0”时,发光二极管点亮。程序控制P0口的高低电平可以实现流水灯控制。 图8 流水灯行列式键盘 图9 行列式键盘 为了减少键盘与单片机接口时所占用I/O口的数目,采用矩阵4*4键盘。工作时,首先判断有无按键按下,由单片机I/O口向键盘送全扫描字,然后读入列线状态来判断。向行线输出全扫描字00H,把全部行线职位低电平,将列线的电平状态读入累加器A中。若有按键按下,总会有一根列线别拉至低电平,从

7、而使列输入不全为1。若有按键被按下,则将行线逐行置低电平后,检查列输入状态。依次给行线送低电平,若全为1,则所按下的键不在此行,如不全为1,则所按键必在此行且在与零电平列线相交的位置。 数码管显示电路数码管按发光二极管单元连接方式分为共阳极数码管和共阴极数码管,本设计采用共阳极。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极的数码管,在应用时应将公共极COM接到VCC,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。图10七段数字显示器发光段组图11 共阳极双位八段数码管动态显示本设计中由三极管驱动数码管,电阻R1、R2保护单片机端口

8、与三极管。P1口控制数码管的管脚。利用三极管的开关特性,单片机选通某一个片选端时,给对应三极管基极一个高电平,该三极管导通处于饱和区,反之低电平三极管处于截止区。本设计采用八段双位共阳极数码管显示。 图12 数码管显示电路 扩展插针 图13 扩展插针 3 程序的设计3.1开发软件及编程语言简介本系统设计采用C语言对其编程并烧录到芯片内部,C语言表达和运算能力比较强,且具有很好的可移植性和硬件控制能力。采用ICCCAVR的编译器。3.2软件程序的编写及调试3.2.1流水灯及max232程序下载电路调试/*延时子程序*/void delay(unsigned int cnt) while(-cnt

9、);/*主函数*/main() P1=0xfe; /给初始化值 换算成二进制是1111 1110 while(1) delay(5);/延时程序 P1<<=1; /左移一位 该语句等效于 P1=P1<<1 P1|=0x01; /最后一位补1,该语句等效于 P1=P1|0x01 符号"|"表示"或" if(P1=0x7f) /检测是否移到最左端?"="表示检测符号2端的值是否相等 delay(30000); P1=0xfe; /重新赋值 循环点亮P1口对应的8个LED灯,构成循环流水点亮的效果3.2.2 数码管显

10、示调试数码管部分源程序:将到之间的数字显示在数码管上#include<reg51.h> / 包含51单片机寄存器定义的头文件void main(void) uchar shi,ge; P2=0x00; while(1) shi=key/10; ge=key%10; wei1=0; wei2=1; P0=tableshi; delay(5); wei1=1; wei2=0; P0=tablege; 经过调试,数码管显示预期的数字,数码管显示正确。3.2.3 4X4按键扫描测试将以下程序下载到51芯片中,进行调试。bit key_certain(void)/判断键的否被按下,通过返回值

11、确定/P1=0xf0; if(P3!=0xf0) delay(20); if(P3 != 0xf0)/延时去抖动,再次确认键被按下,键按下返回值为1,否则为0 return 1; else return 0; else return 0;void key_scan(void)/主函数 if(key_certain()= 1)/确定键被按下后,扫描是那个键被按下 P3=0xfe;/送第一行为低电平k=0xfe;/保留这次扫描数值,备移位用 for(j=0;j<4;j+)/四次扫描处理 s=P3&0xf0;/屏蔽低四位,取高四位,根据s数值确定那一列,根据扫描的j行确定行数, swi

12、tch(s)case 0xe0: key=4*j+0; break;/第1列 case 0xd0: key=4*j+1; break;/第2列 case 0xb0: key=4*j+2; break;/第3列 case 0x70: key=4*j+3; break;/第4列 default:break; k=(k<<1)|0x01;/循环扫描, P3=k;/每次仅向一行送0扫描 /for /if4 电路板的制作、打印PCB到热转印纸上 用水砂纸轻擦覆铜板表面的氧化层然后用纸将铜板表面的粉末擦干净,以保证热转印的效果。把打印好PCB图的热转印纸裁剪大小合适后放好在覆铜板上,然后放到热

13、转印机上转印,为保证效果,确保覆铜板在转印机上来回转印5次。等到纸受热完全附好在铜板上,待完全冷却后才可将转印纸揭下,此时如果有缺损可以用油性笔修补。 图14 PCB 图、腐蚀使用三氯化铁将走线外的铜变成游离态,注意FeCl3具有强腐蚀性,对皮肤有刺激作用。 2FeCl3+Cu=2FeCl2+CuCl2将腐蚀好的板子放在水中冲洗(清洗掉FeCl3),同时用水砂纸轻擦掉表面的墨粉层。、钻孔(焊盘用0.8mm钻针,固定孔用3mm钻针),钻孔完成后,需把板子表面的粉屑清除掉。5 电路板的焊接与调试、焊接A、所购芯片都带有底座,先焊底座,以方便芯片插拔B、焊接时元器件应紧贴电路板表面,并将多出的管脚剪

14、掉C、 焊接时注意不要虚焊、短路。在焊接时应不时用万用表检测焊接是否合格。、调试焊好电路板后,接上电源,接好串口数据下载线,下载程序到单片机。在这过程中可能会遇到下述情况: 程序下载不进去。 对照原理图,用万用表检查线路是否有短路、断路出现。检查原理图、PCB图,连线是否正确。检查芯片是否放置正确。 发光二极管不亮。 用万用表,将黑、红表笔分别连接发光二极管负、正两端,检查二极管是否导通发光,导通则说明二极管没问题,电路存在问题。不导通,则说明二极管已经烧坏,要更换二极管。 流水灯不亮。 用万用表检查单片机VCC与GND 之间电压,用示波器查看 ALE 端口输出波形。可能原因是晶振没起振,单片

15、机不工作。检查流水灯程序,看输入、输出端口是否正确,看程序编写是否正确 数码管显示不正确。用万用表检查数码管引脚与单片机输出端口是否连接准确。检查程序,数码管控制端口P3.2 、 P3.2 是否置于合适电平。检查程序是否编写正确。 下图为调试正确后显示的结果6 课程设计总结通过此次课程设计,我进一步深入学习了单片机原理及接口技术这门课程,并进一步练习应用了protel 99 软件、Keil uVision4软件。学习到了如何应用理论知识验证并解决实际生活中遇到的相关问题以及各种元器件的工作原理和实际应用。本次课程设计是我第一次真正的完成一块板子的制作。从原理图设计直至最后的测试调试都是自己独立

16、完成的。其中遇到了很多的问题和麻烦,但是最终还是做出来了,虽然做的不是很好,与设计的有些出入。只有自己真正做过才知道自己的问题出在哪。通过这次课程设计,自己总结了一些经验教训。1 忙于动手,设计时不够认真,致使protel 99 原理图有一个问题,一条线路没有接,复位电路无法工作。2 焊接电路板时不够认真,导致有一些虚焊,致使在调试过程中浪费了很多时间,造成了很大麻烦。3 原理图一定要花时间弄好,问老师、问同学,把原理图细节问题都解决,这样,焊好的电路一般不会出现问题。 这次设计总体来说还是比较成功的,了解了电子设计的一般流程,也知道了在画PCB图时候应该注意的问题,特别是线宽,间距、焊盘大小。有了这次的经验,下次一定会做的好些。7参考文献 1康华光电子技术基础模拟部分第五版北京:高等教育出版社,2006.12李朝青单片机原理及接口技术(简明修订版)北京:北京航空航天大学出版社,19993肖洪兵,等跟我学单片机北京:北京航空航天大学出版社,20024陈眀荧8051单片机课程设计实训教材北京:清华大学出版社,20045邹其洪电工电子实验与计算机仿真北京:电子工业出版社,2008:58-127.附录1主要电子元件清单序号名称规格/封装数量1.STC89C52RCDIP4012.镀金插座 (万能锁紧插座)40P双列13.石英晶振12MHz14.电容30pF25.电容1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论