视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
00-99计数器单片机课程设计
2025-09-29 02:48:31 责编:小OO
文档
单片机课程设计

题    目  00~99计数器的设计   

学生姓名       小红             

1 课程设计的目的

(1) 利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。

(2) 综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。    

    (3) 通过本次课程设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握,对单片机实际的应用作进一步的了解。

 (4) 通过本次试验,增强自己的动手能力。认识单片机在日常生活中的应用的广泛性,实用性。 明确学习目的,端正学习态度,提高对课程设计重要性的认识,以积极认真的态度参加课程设计工作,按要求完成规定的设计任务。

2 设计思路

本实验利用单片机的定时器/计数器定时和计数的原理,通过采用仿真软件来模拟实现。模拟利用ATC2052单片机、LED数码管以及各种控制器件来控制表的计数以及计数的开启/暂停/继续与复位等。利用单片机ATS51单片机来制作一个手动计数器,在ATS51单片机的P1.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示。

3 设计过程 

3.1 方案论证

3.1.1 用单片机技术来实现多功能定时计数器的控制

多功能定时计数器控制系统的原理。它主要由单片机、发光二极管、晶振和双位数码管等部分组成。

1、总体描述

(1)单片机采用STCC52型。

(2)数据显示电路:七段四位共阴极数码管,P1口控制八位段码,P3.4到P3.7控制四位码。

(3)数据输入电路:四个按键完成输入,一号键控制个位加1,可以实现从1加到9;二号键控制十位加一;三号键控制百位加一;四号键控制千位加一。

(4)功能指示电路:上电指示发光二极管,P26口控制蜂鸣器报警功能。    

 2、总体设计:

设计总体框架图如图3-1所示:

图3-1总体框架图

3.1.2 最小控制系统的设计                                                          

     STCC52单片机最小系统包括晶体振荡电路、复位开关和电源部分。图3-2为STCC52单片机的最小系统:

图3-2单片机最小控制系统

复位口为P3.0口,当RST引脚有一个高电平并维持两个机器周期,则    CPU就可以响应并将系统复位。需要200欧,1000欧电阻各一个,22微法电容一个,按键一个。时钟电路需要在XTAL1,2,两个端口跨接石英晶体及两个电容,电容一般取30pF左右。

    

3.2 电路的设计 

3.2.1 指示电路

图3-3蜂鸣器电路

3.2.2  数码管显示电路

图3-4数码管电路

我的数码管为共阴极,八段选端接P1口,四个位选端接P3口,如上图所示。

3.2.3键盘输入

图3-4 键盘输入

上图为3*3矩阵键盘扫描电路的接法,三行分别相连接P2.5,P2.4,P2.3口,三列分别相连接P2.2,P2.1,P2.0口。先给所有行线一个低电平,然后将线口的电平状态读入单片机,如果有按键按下,总有一根线电平被拉至低电平,从而使输入不全为1.

判断键盘中哪一个键被按下是通过将行线逐行配置低电平后,检查列输入状态实现的。方法是:依次进给低电平,然后检查所有列状态,称行扫描。如果全为1,则所按下的键不在此行,如果不全为1,则所按下的键必在此行,而且是在与零电平线相交的交点上的那个键。

3.2.4复位电路

图3-5 复位电路

3.2.5 总原理图

3-6电路图设计

编程:

#include

Unsignecharcode LEDcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

unsigned char Count;

sbit SP1=P1^7;

void delay10ms(void)

{

unsigned char i,j,k;

for(i=5;i>0;i--)

for(j=4;j>0;j--)

for(k=248;k>0;k--);

}

void main (void)

{Count=0;

P0=LEDcode[Count/10];

P2=LEDcode[Count%10];

while(1)

{if(SP1==0)

{delay10ms();

if(SP1==0)

{Count++;

if(Count==100)

 { Count=0;}

 P0=LEDcode[Count/10];

 P2=LEDcode[Count%10];

  while(SP1==0);

    do {delay10ms();}

    while(SP1==0);

   }

  }

 }

}

4 系统调试与结果

系统通电后,进入计数设置功能,等待信号的数据输入,当完成设置数值后,开始计数,此时如果对所记录的数据清零则返回到设置数值界面,可以重新设置数值。当所记录的数值等于预设定的数时,蜂鸣器发声报警。

 在软件编写与调试时,我发现有很多我原来所没有注意到的问题,硬件完成焊接后,先用万用表简单的进行是否短路检测,没有问题后进行通电测试,发现上电指示灯亮,然后程序到单片机内检测是否能下载程序;刚开始的时候,我的不能下程序,我首先按照原理图检查了一遍最小系统,发现复位电路存在问题,经修改后还是不能下程序,怎么试不行,我又检查了电路和最小系统发现都没有问题,最后听同学说可能是杜邦线的问题,经过检查后发现我的四根杜邦线有两根都是坏的。这是我所没有想到的,换了好的后,就可以程序了。

当编写完程序进行调试时,又发现存在很多的问题,首先是数码管的段码的问题,这个需要自己根据自己的电路来计算而不是统一的一样,这个问题直到我知道后才解决掉。然后是矩阵键盘扫描的程序的调试,这个也要自己根据自己的电路接口来计算所要输送的十六进制数码,而且还要通过软件去抖动,还要判断按键是否松开等问题,这个花费的时间较长些,最后通过把按键扫描和数码管动态显示组合到一起,发现还是有问题,这个当然是软件上的问题。实现这个功能之后,我要实现自己的计数功能和显示功能,在这个过程中,设置的数的显示和所要计的数的显示又存在问题,原因是他们会同时显示,出现重叠乱码现象,为此我请教了很多同学,最后,通过分别定义不同变量,用数组解决了这个问题。

最后经过讨论与研究终于找到了解决问题的办法。在这个上面,我们花费很多时间,虽然出现了许多问题但在老师和同学的帮助下都慢慢克服。

5 结论

 调试方法:首先用软件将C编译成HEX文件,打开软件,新建一个文文件,输入C程序,保存成C格式文件,然后新建工程,连接单片机为ATC51,选择Options for target,选择OUTPUT子菜单,在Create HEX 前打钩,子菜单中,Settings选择Proteus VSM Simulator,USE前打钩,再次运行文件,成功后在目录下会生成HEX文件,打开Proteus软件,或直接点击DSN檔,双击单片机模板,点击文件夹式样的图标选择对应的HEX驱动文件,然后点击开始,进行调试经调试运行基本成功,不过也有小小的不足之处。经过查找错误,已经调试成功。完成以STCC52为核心的计数器的设计和制作,并能实现计数显示和设置功能。

6 心得体会

经过两周的努力,我终于完成关于多功能定时计数器的控制的单片机课程设计,通过两周不断的查资料让我积累了许多实际操作经验,已初步掌握了单片机的应用技术,以及电路的知识和有关器件的应用,我深刻体会到了单片机技术对当今现代社会的重要作用。 经过这次设计,我学会了许多东西,学会了严密的思考,构想及怎样把计划付诸于实际行动之中。同时与社会的不断高速发展的步伐相比,我认识到自己所学的知识和技能还远远不足,有些实际性的问题还不能够解决,缺少很多有实际运用价值的知识储备,缺乏应有的动手解决实际问题的能力,缺乏高效利用及筛选大量资料的能力,缺乏资源共享及应有的团队合作精神,有待进一步提高,我应当学好自己的专业知识以适应不断发展的社会。

在这次课程设计中,我学会了如何有效的利用网络资源及图书馆的藏书,找到了几个很不错的专业网站,通过这次课程设计,加强了我动手、思考和解决问题的能力.但是控制器控制信号灯不好。虽然花了很多的时间,但学到了很多东西。做课程设计的时候,自己把整个书本都看了几遍,增强了自己对知识的理解,很多以前不是很懂的问题现在都已经一一解决了。在课程设计的过程中,我想了很多种方案,对同一个问题都想了很多种不同的接法,运用不同的芯片进行了比较,最后还是采取了上面的方法进行连接。为以后的查阅专业方面的信息和相互之间的交流打下了坚实的基础,学会了如何看电路图,识别电路图,提高了自己的专业技能,同时也培养了自己解决实际问题的能力,也培养了自己认真和严谨的科学态度,收到了很大的启发,为以后的工作积累了些宝贵的经验。

参考文献

[1] 李学龙. 使用单片机控制的智能遥控电风扇控制器[J]. 电子电路制作, 2003,9:13~15.

[2] 耿长清.单片机应用技术[M].北京:化学工业出版社,2001,8:14~16.

[3] 杨西明.单片机编程与应用技术入门[M].北京:机械工业出版社,2004,9:27~28

[4] 公茂法 .单片机人机接口实例集[M].北京:北京航天航空大学出版社,1998,10:10~11

[5] 李全力.单片机原理及应用技术[M].北京:高等教育出版社,2001,7:34~35.

[6] 李学龙. 使用单片机控制的智能遥控电风扇控制器[J]. 电子电路制作, 2003,9:13~15.

[7] 蓝厚荣. 单片机的PWM控制技术[J]. 工业控制计算机, 2010,23(3):97~98 .

[8] 龚运新.单片机实用技术教程[M].北京:北京师范大学出版社,2005,14:88~.

[9] 胡汉才. 单片机原理及其接口技术(第2版)[M]. 北京:清华大学出版社.2004.49~77.

[10] 胡全. 51单片机的数码管动态显示技术[J] .信息技术,2009,13:25~26.

[11] 马云峰. 单片机与数字温度传感器DS18B20的接口设计[J]. 计算机测量与控制,2007,10(4):278~280.

附录1:总体电路原理图

附录2:实物图

附录3:元器件清单

序号名称型号规格数量
1单片机ATC20521
2稳压电路78L051
3峰鸣器有源5V

1
5发光二极管红3mm

4
6电阻18
7三极管90127
8晶振12M1
9电容6
10轻触开关3
112p排针

2.54mm2
12IC插座

20p1
14导线若干

下载本文
显示全文
专题