单片机09加计数器课程设计.docx
《单片机09加计数器课程设计.docx》由会员分享,可在线阅读,更多相关《单片机09加计数器课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
![单片机09加计数器课程设计.docx](https://file1.bdocx.com/fileroot1/2023-2/6/7618d4fc-ade4-4bcd-8026-93738a999418/7618d4fc-ade4-4bcd-8026-93738a9994181.gif)
单片机09加计数器课程设计
单片机--0-9加计数器课程设计
前言
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机是指一个集成在一块芯片上的完整计算机系统。
尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:
CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用单片机的应用介绍
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
(1).在智能仪器仪表上的应用
(2).在工业控制中的应用
(3).在家用电器中的应用
(4).在计算机网络和通信领域中的应用
(5).单片机在医用设备领域中的应用
(6).在各种大型电器中的模块化应用
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
该课程设计的设计目的
1)学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。
2)掌握汇编语言程序设计方法。
3)培养实践技能,提高分析和解决实际问题的能力。
课程设计的任务及要求
1)上电时,数码管显示为0。
2)利用单片机来制作一个手动计数器,在单片机的管脚上接一个轻触开关,作为手动计数的按钮,用单片机的I/O口接数码管,作为计数器,进行加计数显示。
3)计数器计数到9后,再按计数按钮,则数码管从0重新开始计数。
一、总体设计
1.硬件设计思路
利用单片机的P0口、P2口作为输出端,控制数码管的显示,利用口作为输入端,控制开关量的控制
2.软件设计思路
实现0-9计数功能,查表子程序实现将高低电位转化为数码管的十进制数字,实现手动开关计数
二、硬件设计
1、芯片由UNTITLED—ISISPROFESSIONAL实验系统提供(AT89C51)
1)主要特性:
与MCS-51兼容
4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz—24Hz
三级程序存储器锁定
128*8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内震荡器和时钟电路
2)管脚说明:
①电源引脚
Vcc(40脚):
典型值+5V。
Vss(20脚):
接低电平。
②外部晶振
XTAL1、XTAL2分别与晶振两端相连接。
③输入输出口引脚:
P0口:
I/O双向口。
作输入口时,应先软件置“1”。
P1口:
I/O双向口。
作输入口时,应先软件置“1”。
P2口:
I/O双向口。
作输入口时,应先软件置“1”。
P3口:
I/O双向口。
作输入口时,应先软件置“1”。
④控制引脚:
RST、ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。
RST(9脚):
复位信号输入端(高电平有效)。
ALE/-PROG(30脚):
地址锁存信号输出端。
第二功能:
编程脉冲输入。
-PSEN(29脚):
外部程序存储器读选通信号。
-EA/Vpp(31脚):
外部程序存储器使能端。
第二功能:
编程电压输入端(+21V)。
AT89C51单片机的P口特点:
P0口:
是一个8位漏极开路输出型双向I/O端口。
作为输出端口时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。
在访问外部程序或数据存储器时,它是时分多路转换的地址(低8位)/数据总线,
在访问期间将激活内部的上拉电阻。
P1口:
P1口是一个带有内部上拉电阻的8位双向I/O端口。
P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。
P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
P2口:
P2口是一个带有内部上拉电阻的8位双向I/O端口。
P2口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。
P2口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在访问外部程序存储器时和16位外部地址的外部数据存储器(如执行MOVX@DPTR)时,P2口送出高8位地址。
在访问8位地址的外部数据存储器(如执行MOVX@RI)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。
P3口:
P3口是一个带有内部上拉电阻的8位双向I/O端口。
P3口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可作输入口。
P3口作输入口使用时,因为内部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
2、电阻模块:
电阻模块就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚。
其余引脚正常引出。
作为P0口的上拉电阻用。
3硬件原理图:
4、原件清单
原件名称
型号
数量/个
用途
单片机
AT89C51
1
控制核心
晶振
12MHZ
1
晶振电路
电容
30μF
2
晶振电路
电容
10μF
1
复位电路
电阻
10K
1
复位电路
电阻
220
7
上拉电阻
电源
+5V
2
提供电源
拨码开关
BUTTON_1
1
发出信号
数码管
7SEG-COM-CAT-GRN
1
显示次数
三、软件设计
程序流程图
汇编程序
ORG0000H
LJMPSTART
ORG0030H
START:
MOVR1,#10;按键循环次数
MOV30H,#00H
MOVA,30H
MOVDPTR,#TAB
MOVCA,@A+DPTR;查表
SETB;开数码管共阳置1共阴置0
MOVP0,A;送显示
LCALLDELAY;延时一段时间
LOOP1:
JNB,LOOP2;如果按下则执行TT
LJMPLOOP1;如果没有按下则反复监测键盘
LOOP2:
JB,LOOP3;如果弹起则执行QQ
LJMPLOOP2;如果没有弹起则反复监测键盘
LOOP3:
INC30H
MOVA,30H
MOVCA,@A+DPTR;查表
MOVP0,A;送显示
LCALLDELAY;延时一段时间
DJNZR1,LOOP1;如果循环一遍就重新开始,没有跳到MM继续循环
LJMPSTART;否则30H清除
DELAY:
;延时程序
MOVR7,#20
DEL1:
MOVR6,#25
DEL2:
DJNZR6,DEL2
DJNZR7,DEL1
RET
TAB:
DB03FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH//共阴数码管数值0-9
END
四、使用Keil程序调试、proteus仿真
软件调试是通过对程序的编译、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。
先在keil中为所编的程序设置环境,然后输入程序检测并编译,之后用Proteus将编译好的程序输入到已设计好的电路的AT89C51中,开始模拟调试。
进一步修改,完成设计。
仿真结果图:
经过keil和proteus联合仿真,结果如图片,上电时,数码管显示为0,按开关数字递增,计数器计数到9后,再按计数按钮,则数码管从0重新开始计数。
程序正确,硬件连接正确。
五、结束语
1、心得体会
通过一周的单片机课程设计,让人感受颇深。
刚开始时,我有点迷茫,我懂得知识理论的知识但要实际操作,总是有差距的,虽然对于我们来说有一定的难度,但是我们经研究从最简单的编程开始,对于80C51单片机的编程,我们使用的是我们所学汇编语言,结合自己所学的及寻找大量资料,拟定了初步的程序,然后进行修改及用Keil软件进行调试,然后进一步修改,最终完成了程序。
结束了软件,硬件我们用Proteus软件进行绘图和仿真,在这一过程中,我们对该软件有了进一步的认识,与此同时,我们从中也学会了许多关于软件方面的知识。
在仿真过程中,我们遇到一些问题,如:
连线的问题、数码管不显示但通电、寻找合适的器件等问题,最终在我们的努力下,我们完成了0-9加计数器课程设计任务。
在这一过程中我们学会了很多的知识,与此同时,我们也成长了,我们对将自己
所学的理论知识应用于实践有了进一步的提高及一些经验,对我们以后工作有一定好处。
虽然设计过程很短暂,但我们还是收获了很多。
2建议和意见:
希望以后能够在以后的教学环节中增加更多的设计方面的实践,能够有更多的机会将学到的东西应用与实践,最好从简单实践应用开始,理论结合实际,才能更多的激发同学们的学习兴趣,更好的掌握所学的知识。
六、参考文献
(1)周越张平王斌陈爱文编著单片机技术实验实训教程中国水利水电出版社2007
(2)石从刚主编MCS-51单片机原理与应用实验实训教程北京航空航天大学出版社
(3)何立民主编单片机实验与实践教程
(二)北京航空航天大学出版社。