新疆农业大学单片机课程设计.docx
《新疆农业大学单片机课程设计.docx》由会员分享,可在线阅读,更多相关《新疆农业大学单片机课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
![新疆农业大学单片机课程设计.docx](https://file1.bdocx.com/fileroot1/2023-6/19/c25a9d70-ab06-48c8-a6c3-3cfdd611693a/c25a9d70-ab06-48c8-a6c3-3cfdd611693a1.gif)
新疆农业大学单片机课程设计
新疆农业大学机械交通学院
《单片机技术与应用》
课程设计说明书
题目:
专业班级:
学号:
学生姓名:
指导教师:
时间:
目录
一、设计目的…………………………………………………1
二、设计内容…………………………………………………..1
三、设计步骤…………………………………………………..1
1.硬件电路设计…………………………………………….1
1.1硬件电路组成框图……………………………………….1
1.2个单元电路及工作原理………………………………….2
1.3绘制原理图……………………………………………….3
1.4元件计算………………………………………………….4
1.5元件清单列表…………………………………………….5
2.程序设计……………………………………….…………...5
2.1绘制程序流程图………………………………………….....6
2.2汇编程序………………………………………………….....7
四、调试与仿真…………………………………………………8
五、硬件调试结果………………………………………………9
六、心得体会…………………………………………………..10
定时脉冲计数器电路设计
一、设计目的
熟悉了解AT89C51(俗称单片机)并基于单片机设计一个定时脉冲计数器。
熟悉定时/计数中断的工作过程;了解中断服务程序的工作原理;增强自身的动手能力。
为此首先要了解单片机和其特性:
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,其内部两个16位定时/计数器,32个可编程的I/O线,这也是我们这次设计主要用到的特性
二、设计内容
设计一个秒计数器,并在7段数码管上显示计数次数和定时时间,主要方法是利用AT89C51内部定时/计数器T0,产生定时1S的定时时间,产生中断,中断服务程序执行,并且软件计数器记录计数次数,并同步显示在两个数码管上,其中一个显示十位结果,另一个显示个位结果,当60S的时间到了以后从0开始重新计数。
而单片机的定时/计数器无法定时1S的定时时间,所以需要软件来实现1S的定时的,
三、设计步骤
1.硬件电路设计
基于AT89C51芯片,同时加上晶振电路,用来准确计时。
计数显示在两个数码管上,数码管选用共阳极数码管,P0口驱动十位,P2口驱动个位,所以在数码管同芯片之间加上限流电阻。
以保证数码管工作在正常状态。
1.1硬件电路组成框图
图1.1
1.2个单元电路及工作原理
1.21晶振电路:
晶振电路利用芯片内部的振荡器,然后在引脚XTALl和XTAL2两端跨接晶体振荡器(简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路。
外接晶振通常为石英晶体振荡器或振荡器。
使用石英晶体振荡器时,Cl和C2的值为30pF左右;使用陶瓷振荡器时,Cl和C2的值为40pF左右;选用晶振的频率也就是单片机的时钟频率,AT89C51最高时钟频率可达到24MHz。
晶振和电容要尽可能安装得与单片机引脚XTALl和24MHzXTALlXTAL2靠近。
图1.2
1.22数码管:
共阳数码管中7个7段发光二极管的阳极连接在一起既是共阳极接法,简称共阳极数码管;公共阳极接高电平(一般接电源)其他管脚接输出端,当驱动输出端为低电平时,该段所连接的字段导通并点亮,根据发光字段的不同组合显示不同的数字
图1.3数码管的结构及原理
1.3绘制原理图
在Protel上绘制硬件电路,并检查电路的电气规则,确保电路绘制无误。
图中本来应有复位电路,但是接上复位电路后不响应,所以把复位电路去掉了,
并不影响实验结果。
结果如下图所示:
图1.4Protel仿真结果
1.4元件计算
1.41晶振的选择:
微控制器的时钟源可以分为两类:
基于机械谐振器件的时钟源,如晶振、陶瓷谐振槽路;RC(电阻、电容)振荡器。
当机器周期选择1µs,通过计算晶体振荡器选择12MHZ,选用石英晶体振荡器;
1.42数码管共阳/共阴的确定:
基于数码管的工作原理,可用万用表来确定数码段的结构,将万用表调为电流档,先用万用表正极接3管脚或8管脚,负极接其他任意一管脚,若某笔段亮,则为共阳极数码管,反之则为共阴极数码管
1.43振荡电容的选择:
振荡电容的选择可取经验值,取值33pF;取值根据下表:
晶振的种类
C1,C2典型值
石英晶体振荡器
20~33pF
陶瓷振荡器
40~47pF
表1.1振荡电容C1,C2的取值范围
1.44电阻的选择:
7段数码管工作电流定为10mA,红色数码管管压降为2V,则
阻值R=(5V-2V)/10mA=300
1.5元件清单列表
名称
描述
个数
芯片
AT89C51
1
数码管
7段共阳极数码管
2
晶振
12MHZ石英晶振
1
电容C1
33pF电容
1
电容C2
33pF电容
1
电阻
300
14
总计
20
表1.2元件列表
注:
其中电阻为数码管驱动限流电阻,共14个,电容C1,C2为震荡电容
2.程序设计
2.1绘制程序流程图
2.2汇编程序
ORG0000H
LJMPMAIN
ORG000BH
LJMPCTC0
ORG001BH
MAIN:
MOVSP,#5FH
MOVR0,#00H
MOVR7,#14H
MOVP1,#0C0H
MOVA,#0C0H
MOVDPTR,#8300H
MOVX@DPTR,A
MOVTH0,#1CH
MOVTL0,#0B0H
MOVTMOD,#01H
MOVDPTR,#LEDTAB
SETBET0
SETBEA
SETBTR0
HERE:
SJMPHERE
CTC0:
PUSHPSW
MOVTH0,#1CH
MOVTL0,#0B0H
DJNZR7,NEXT
MOVR7,#14H
INCR0
CJNER0,#5AH,LOOP
MOVR0,#00H
MOVP1,#0C0H
MOVA,#0C0H
MOVDPTR,#8300H
MOVX@DPTR,A
LOOP:
MOVA,R0
ANLA,#0FH
CJNEA,#0AH,L
MOVA,R0
ADDA,#06H
MOVR0,A
L:
MOVA,R0
ANLA,#0FH
MOVDPTR,#LEDTAB
MOVCA,@A+DPTR
MOVP1,A
MOVA,R0
ANLA,#0F0H
SWAPA
MOVCA,@A+DPTR
MOVDPTR,#8300H
MOVX@DPTR,A
NEXT:
POPPSW
CLRTF0
RETI
LEDTAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
四、调试与仿真
在计算机上进行Protel与Keil联机调试的结果,在Keil上生成.hex文件并在Protel上进行装载,并运行。
下图是程序运行时的一张截图
图2.2联机调试截图
五、硬件调试结果
硬件调试指在试验台与计算机进行联机调试,首先要接好电路确定接线正确接触良好,并在计算机上执行软件,经过不断的调试,我们组成功的搭出了硬件平台以下为我们组搭出平台并调试成功的几张图片
图2.2计数在32时的图片
图2.3计数在47时的图片
六、心得体会
通过此次单片机的课程设计,首先让我认识到了团队合作的重要性,通过大家共同的努力,终于在规定的时间内完成了单片机的课程设计,本次试验中也遇到了许多的困难,但在老师的细心指导下我们都一一克服了,在实验过程中,没有老师给我们一步步示范,全靠自己思考,解决问题。
这样的实验,能加深我们对理论知识的理解,将理论很好的应用的实践当中去,而且能培养我们的创新精神,从而不断战胜自己,超越自己。
单片机实验的要求是自主,自己找问题,自己解决,培养解决问题的能力。
最重要的是,要找到解决问题的思路,虽然过程很曲折,但是结果是让人满意的,把知识转化为能力的实际训练培养,运用所学知识解决实际问题,这才是真正让我们受益的!
参考文献:
[1]潘永雄编著,新编单片机原理与应用(第二版),西安电子科技大学出版社,
[2]李敏惠《四川师范大学学报:
自然科学版》1998第3期