0099 计数器设计.docx
《0099 计数器设计.docx》由会员分享,可在线阅读,更多相关《0099 计数器设计.docx(9页珍藏版)》请在冰豆网上搜索。
0099计数器设计
单片机课程设计
00-99计数器设计
院别:
工程技术学院
专业:
应用电子
学号:
201125110127
姓名:
邹大伟
前言
单片机的应用介绍
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机是指一个集成在一块芯片上的完整计算机系统。
尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:
CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用单片机的应用介绍
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
(1.在智能仪器仪表上的应用
(2.在工业控制中的应用
(3.在家用电器中的应用
(4.在计算机网络和通信领域中的应用
(5.单片机在医用设备领域中的应用
前言………………………………………………………
(1)
课程设计的目的和要求………………………………….(3)
电路原理图……………………………………………….(4)
流程图………………………………………………………(5)
汇编程序………………………………………………….(6)
结束语………………………………………………………(9)
一、设计目的
1)学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。
2)掌握汇编语言程序设计方法。
3)培养实践技能,提高分析和解决实际问题的能力。
2、课程设计题目:
00-99计数器
3、设计任务及要求
1)上电时,数码管显示为00。
2)利用单片机来制作一个手动计数器,在单片机的管脚上接一个轻触开关,作为手动计数的按钮,用单片机的I/O口接数码管,作为计数器,进行加计数显示。
3)计数器计数到9后,再按计数按钮,则向第一个数码管记进1,而第二个数码管从0重新开始计数。
1、电路图
2、程序流程图
汇编源程序
#include
#defineucharunsignedchar
#defineuintunsignedint
char_data,j;//变量的定义数据、循环次数。
uinta;//变量,秒的判断
bitmiao;//秒到了
uchartab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//断码缓冲区,0xff是用来消隐
ucharbit_[]={0x01,0x02,0x04};//位缓冲区
ucharbuffer[3];//显示缓冲区
ucharcodeTH0val=63075/256;//timer0中断符初值,2.5ms
ucharcodeTL0val=63075%256;//
main()
{
_data=0;//数据初始化
TMOD=0X01;//中断初始化
TR0=1;
ET0=1;
TH0=TH0val;
TL0=TL0val;
EA=1;
while
(1)//主循环
{
if(_data<10)//
{
buffer[0]=10;//消隐
}
}
else
{
buffer[0]=_data/10;//十位数
}
buffer[1]=_data%10;//个位数
if(miao)
{
_data++;//数据加一
miao=0;//秒味清零
}
if(_data==100)//数据恢复初值
{
_data=0;
}
}
}
voidtimer0()interrupt1
{uchartmp;
TH0=TH0val;
TL0=TL0val;
a++;
if(a==400)//是否到了一秒
{
miao=1;//秒位置1
a=0;
}
tmp=bit_[j];//显示数据
P2=tmp;
tmp=buffer[j];
tmp=tab[tmp];
P0=tmp;
j++;
if(j==2)
j=0;
}
六.结束语
1,心得和体会:
通过一周的单片机课程设计,让人感受颇深,虽然有关于单片机的知识,但更重要的是团队合作。
刚开始时,我们有点迷茫,我懂得知识理论的知识但要实际操作,总是有差距的,虽然对于我们来说有一定的难度,但是我们经研究从最简单的编程开始,对于80C51单片机的编程,我们使用的是我们所学汇编语言,结合自己所学的及寻找大量资料,我们几个拟定了初步的程序,然后进行修改及用Keil软件进行调试,然后进一步修改,最终在我们努力下,完成了程序。
结束了软件,我们开始进行硬件,我们用Proteus软件进行绘图和仿真,在这一过程中,我们对该软件有了进一步的认识,与此同时,我们从中也学会了许多关于软件方面的知识。
在仿真过程中,我们遇到一些问题,如:
连线的问题、数码管不显示但通电、寻找合适的器件等问题,但在我们小团队的学习、查询问题缘由、及努力、老师的帮助下,这些问题都一一得到解答。
最终在我们的努力及精诚合作下,我们完成了我们的00-99加计数器课程设任务。
在这一过程中我们学会了很多的知识,与此同时,我们也成长了,我们对将自己所学的理论知识应用于实践有了进一步的提高及一些经验,对我们以后工作有一定好处。
虽然设计过程很短暂,但我们还是收获了很多。
2,建议和意见:
希望以后能够在以后的教学环节中增加更多的设计方面的实践,能够有更多的机会将学到的东西应用与实践,最好从简单实践应用开始,理论结合实际,才能更多的激发同学们的学习兴趣,更好的掌握所学的知识。
参考文献
【1】、上官同英主编单片机原理及应用清华大学出版社;
【2】、李秀忠主编单片机应用技术清华大学出版社;
【3】、石建华,李媛单片机原理及应用技术北京邮电大学出版社;
【4】、李超春主编单片机及原理及接口技术北京航天大学出版社;