基于C51单片机的000999计数器.docx
- 文档编号:2291541
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:8
- 大小:690.67KB
基于C51单片机的000999计数器.docx
《基于C51单片机的000999计数器.docx》由会员分享,可在线阅读,更多相关《基于C51单片机的000999计数器.docx(8页珍藏版)》请在冰豆网上搜索。
基于C51单片机的000999计数器
温馨提醒:
请认真填好个人信息,根据实际执行过程完成教学活页,并及时提交给任课老师批阅,该成绩计入课程期末总评。
专业:
班级:
时间:
组长(项目经理)姓名:
学号:
联系电话:
成员(工程师)姓名:
学号:
联系电话:
成员(工程师)姓名:
学号:
联系电话:
项目名称:
000-999计数器
一、任务书分析与解读(请根据以下内容填写对该设计项目开发任务的认识)
1、设计任务功能需求
基于单片机技术和Proteus仿真平台,设计单片机技术应用系统,要求8051单片机设计实现一个计数器,计数范围为:
000-999,并数码实时显示计数值。
2、性能指标
LED数码管也称半导体数码管,它是将若干发光二极管按一定图形排列封装在一起的最常用的数码显示器件之一。
LED数码管具有发光显示清晰、响应速度快、耗电省、体积小、寿命长、耐冲击、易与各种驱动电路连接等优点
3、设计规格
4、工作要求
利用AT89C51单片机来制作一个手动计数器,在AT89S51单片机的P3.7管脚接一个轻触开关,作为手动计数的按钮。
用单片机的P2.0-P2.7接一个共阴数码管,作为000-999计数的个位数显示,用单片机的P1.0-P1.7接一个共阴数码管,作为000-999计数的十位数显示。
用单片机的P0.0-P0.7接一个共阴数码管,作为000-999计数的个位数显示。
5、学习目的
要求理解计数器的工作原理,并且学会编程以及应用,可以试着更改程序变成另一种倒计时效果。
二、相关的理论知识(请根据以下内容填写对该设计项目用到的理论知识)
1、单片机理论知识点(详细填写涉及到的硬件知识、工作原理等,重在体现对用到的单片机相关理论知识的掌握程度,写不下可另附页)
该设计重点在于软件的编程训练,对于计数器的软件内容设计基本过程为:
(1)单片机对按键的识别的过程处理。
(2)单片机对正确识别的按键进行计数,计数满时,又从零开始计数。
(3)单片机对计的数值要进行数码显示,计得的数是十进数,含有百位,十位和个位,我们要把百位,十位和个位拆开分别送出这样的百位,十位和个位数值到对应的数码管上显示。
如何拆开百位,十位和个位,可以把所计得的数值对10求余,即可得个位数字,对100求余后整除10,即可得到十位数字,对所计得的数值对100求余,即可得百位数字。
(4)通过查表方式,分别显示出百位,十位和个位数字。
2、涉及到的软件知识点(详细解读涉及到主要指令10条左右,并书写程序设计基本思想,写不下可另附页)
voiddelay10ms(void)
/*定义一个延迟子程序*/
{
unsignedchari,j;
/*定义一个无符号字符型i和j*/
for(i=20;i>0;i--)
/*将i循环减20次*/
for(j=248;j>0;j--);
/*将j循环减248次*/
}
voidmain(void)
/*定义一个主函数*/
{
Count=0;
/*将计数器清零*/
P0=table[Count/100];
/*用P0口存放算出的百位数字*/
P1=table[Count%100/10];
/*用P1口存放算出的十位数字*/
P2=table[Count%10];
/*用P2口存放算出的个位数字*/
……
}
程序是把所计得的数值对10求余得个位数字,送给P2口;对100求余后整除10,得到十位数字,送给P1口;对所计得的数值对100求余得百位数字,送给P0口,并且由P3.7口手动控制计数。
3、参考文献(填写阅读过的参考文献,并按顺序在前面引用的地方做好上角标注)
[1]李任青.单片机原理与应用.江西:
南昌大学共青学院工程技术系,2011
(1):
86-88。
[2]迟忠君.单片机应用技术.北京:
北京邮电大学出版社,2016(6):
3-5。
三、设计执行过程(请根据以下内容填写对该设计项目用到的理论知识)
1、总体设计框图(画出总体设计框图,并结合设计框图简述工作原理,写不下可另附页)
总体描述:
51单片机:
存储和处理程序。
晶振电路:
由51单片机本身时钟段和晶振提供,提供时钟频率。
复位电路:
由电阻,电容以及开关构成的电路接至51单片机的复位端,起到复位作用
5V电源:
提供设备所需的电压,功耗。
显示电路:
3个七段共阴极数码管,P2口控制个位数显示,P1控制十位数显示,P0口控制百位数显示。
控制电路:
P3.7接轻触开关控制计数。
2、仿真图纸和说明(用Proteus等专业软件做出仿真效果图,元件参数详细,效果明显,图片高清,并有文字说明,可另附页。
)
说明:
使用单片机的P2口控制个位数显示,P1控制十位数显示,P0口控制百位数显示,并且由P3.7口手动控制计数。
3、电路图纸(用DXP等专业软件画出详细的电路图,元件参数详细,图片高清,可另附页)
4、元器件清单(以表格的形式列出详细的元器件清单,要有详细的元件名称、参数和数量等信息,包括电路板尺寸、导线信号和焊锡种类等耗材,)
元器件名称
数量
元器件名称
数量
STC89C52单片机
1个
10*15cm电路板
1块
7段共阴数码管
3个
40脚双排芯片插座
1个
470Ω电阻
4个
按键开关
1个
9脚3.3k排阻
1个
细铜线
若干
12MHz晶振
1个
0.8mm焊锡
若干
30pF瓷片电容
2个
10uF电解电容
1个
10k电阻
1个
5、焊接图纸和说明(用铅笔或专业软件画出详细的焊接布局设计图,元件引脚标注详细清晰。
)
说明:
使用ProtellDXP画出pcb布线图,布线图采用双层布线模式,蓝色导线位于底层,红色导线位于顶层。
6、实物效果照片和功能说明(用高清相机拍出实物的效果照片,此页彩色打印,要体现出任务书中的功能效果,图片高清,并附有功能效果的文字说明,可另附页。
)
说明:
考虑到数码管位置的摆放问题,故将程序的P1和P0对调,P0控制十位数显示,P1口控制百位数显示,其余不变。
四、项目总结(请根据以下内容做工作总结,并提交完整的项目设计报告)
1、学习小结(对学习到的知识点进行总结、归纳)
通过这次000-999计数器的设计,总体来说,我的收获很大。
无论是在培养自己的实验动手能力还是在自己独立思考能力方面。
在此次点阵设计的过程中,更进一步的熟悉了proteus软件和DXP软件的使用以及加深了对芯片结构的了解和掌握,加强了对c语言的认识,学会了如何拆分数字的百位,十位以及个位,并将其传送到单片机的各个端口,了解了数码管的内部结构,在以后的学习中会有很大的帮助。
2、工作总结(对该项目开发工作进行总结,包括作品的成败、得失,个人工作的优缺点,提出自己的想法、改进措施等)
在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,因此仿真图和电路连接图还是有一定区别的。
比如在仿真时,由P3.7口手动控制计数,P2口控制个位数显示,P1控制十位数显示,P0口控制百位数显示。
但是在焊接电路时,考虑到数码管的位置摆放问题,故将程序的P1和P0对调,改为由P0控制十位数显示,P1口控制百位数显示。
整体设计还是比较严谨的,所以一次性就成功了。
五、项目结题评审(请根据以下内容做好记录,并提交完整的项目设计报告给老师打分)
1、项目答辩记录(请将老师提的问题和答案记录下来)
问题一:
问题二:
记录人:
年月日
2、结题答辩组评审意见(以下由老师填写)
成绩专家组:
、年月日
3、项目成绩评定(请将老师提的问题和答案记录下来)
项目教学活页成绩:
。
答辩成绩:
。
项目实物作品成绩:
。
项目设计报告成绩:
。
项目总评成绩:
。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 C51 单片机 000999 计数器