版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河海大学课程设计报告单片机课程设计报告课程名称: 零件计数器 学 号: 1162310120 姓 名: 授课班号: 275501 年级专业: 11级通信工程 指导老师: 刘玉宏 摘要:本次单片机课程设计我组选择的题目是零件计数器,零件计数器本身在生产实践中具有很实际的用途,选择这个项目可以绕过我们更好的把课堂上学到的课本知识和理论内容与生产实践结合起来,提高对实际问题的动手操作能力以及解决问题的能力,进一步加深学生对于实际的电子元件电路功能的理解与运用,对于设计实际的实用程序来解决一系列生产生活遇到的问题的能力有着显著的家加强与提高。零件计数器的功能是通过感应器对零件数量进行中断计数,并由数码
2、管动态显示出来,并通过实用的程序将零件数目通过串口传送给PC机,还能够通过实时的检测电路将之与蜂鸣器连接起来,起到整十报警以及零件打包的功能。关键字:计数器,单片机,数码显示,串口通信目录一设计内容设计要求·································
3、;···············4二设计方案1电路框图·································
4、············· 42流程框图····································
5、;·········· 53分段原理······································
6、3;······· 54电路功能·········································
7、83;···· 61)蜂鸣器及继电器原理 ································62)数码管显示原理·········
8、83;···························7三计数器主程序1分段程序及功能····················
9、;····················82问题及解决方案····························
10、183;··········14四结论1实验结果·····································
11、3;·········152本次课设的贡献·······································
12、·152改善建议···············································163心得
13、体会···············································16五附录1软件介绍·
14、·············································172参考文献····
15、;··········································18一、 设计内容设计内容:把接在INT0上的单稳信号当作零件信号,单片机计数一次,当计满十次
16、时,蜂鸣器发出一声警告音,并使继电器闭合一次,产生零件打包动作。要求和提高要求主要掌握外部中断和动态显示的应用,提高实时通过串口把零件数量发送给PC。二、 设计方案1. 电路框图 P0 单片机AT89C51 P2 P38个限流电阻4位共阴数码管动态显示复位选位INT0蜂鸣器继电器电路总图与功能如图所示,每当来一次外部中断时,内部计数一次,并将数值通过4位共阴数码管动态显示出来。而单片机的P2口可以选择四根不同的数码管来动态显示,通过视觉暂留达到同时显示的效果。同时内部程序检测每当计数十次时,会形成一个继电器闭合的零件打包动作,并通过程序使得蜂鸣器发出警报。2. 流程框图否判断是否为10的倍数循
17、环警示打包操作是计数,串口赋值是监测中断开始(复位)编写零件计数程序时应当注意需要事先的几个功能,可以分段编写,最后通过主程序连接。这段程序的重点便是一段循环中断计数程序,在数值加1的同时要给串口发出同样的信息,每当计数十次时还需要转到零件打包以及蜂鸣器程序中执行。3. 分段原理主程序:主程序为中断初值设定程序,包括中断计数超出时的清零程序,中断以及时钟的设定,计数初值的计算以及波特率的计算,还有子程序的调用。延时子程序:包括两种不同的延时程序,分别是计数时需要的短延时以及蜂鸣器等需要的较长时间延迟。数码管显示子程序:包括P2口的数码管选择设定以及计数数值对应的数码管显示数值的设定,通过独特的
18、计算方法将计数总值与四根不同的数码管显示一一对应起来。外部中断0 与串口数据发送子程序:每来一次中断计数值加1,同时向串口发送一次此时的数值。串口中断子程序:串口数据发送的开始和停止程序。4. 电路功能1) 蜂鸣器及继电器原理n 蜂鸣器采用9012三极管驱动,其基极连接到RD端,当RD端为低电平时,三极管导通,蜂鸣器响,否则关断。n 继电器采用9013三极管驱动,其基极连接到WR端,当WRD端为低电平时,三极管关断,继电器不吸合,常闭触点闭合,常开触点打开,D1熄灭;反之则反。2) 数码管显示原理n 4个并联7段共阴数码管,用于动态显示。动态显示部分电路由4 位一体的数码管LED1、单个数码管
19、LED2和8个独立发光二极管L1-L7组成。这3个部分都是共阴结构,并联在一起,连接在P0口上。LED1用于完成LED动态显示实验,各个位选线为P24P27,段码由P0口输出;LED2的COM端接地,完成LED 静态显示实验;L1L7,可以方便地读出P0输出的二进制数据,亦可做流水灯实验。7407 在此起驱动作用。三、 计数器主程序1. 分段程序及功能#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit P32=P32;sbit P37=P37;sbit P36=P36;sbit P24=
20、P24;sbit P25=P25;sbit P26=P26;sbit P27=P27;uchar count;uchar table10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/共阴极数码管表void beep();void relay();void delay(uchar x);void display(uchar a,uchar b,uchar c,uchar d);void sendchar(uchar dat1);void main() int ge,shi,bai,qian; EA=1;/开总中断 EX0=1;/允许外部中
21、断0 IT0=1;/负跳变沿中断方式 SCON=0x50;/串口工作在方式1,允许接收 PCON=0x00;/波特率不加倍 TMOD=0x20;/定时器1工作在方式2 TH1=0xfd;/赋初始值 TL1=0xfd; TR1=1; while(1) qian=count/1000; bai=count%1000/100; shi=count%100/10; ge=count%10; display(ge,shi,bai,qian); void delay(uchar x) uchar i,j; for(i=0;i<100;i+) for(j=0;j<x;j+);/延时时间的计算:先
22、将程序转变为汇编语言,通过每一条汇编语言所占据的机器周期时间的总和,便可以算出延时所花费的时间。/蜂鸣器程序void beep() P37=0; delay(300); P37=1;/继电器程序void relay() P36=1; delay(300); P36=0;void display(uchar a,uchar b,uchar c,uchar d) /四段数码管显示 P0=tablea; P27=0; delay(8); P27=1; P0=tableb; P26=0; delay(8); P26=1; P0=tablec; P25=0; delay(8); P25=1; P0=ta
23、bled; P24=0; delay(8); P24=1;/将得到的数据对照共阴极数码管表显示void zhongduan()interrupt 0 if(P32=0) delay(10); /延时消除抖动 if(P32=0) /确认有按键按下 count+; sendchar(count); if(count%10=0&count!=0) beep(); relay(); while(!P32); /等待KEY1松开 delay(10); /延时消除抖动 void sendchar(uchar dat1) /串口发送数据程序 SBUF=dat1; while(!TI); /等待串行口
24、发送完毕 TI=0; /清除串行口发送结束标志 /产生计数信号、计数标志、并将计数值实时发给PC串行口发送时,第一位是0,结束位是12. 问题及解决方案1) 遇到的问题:运用指数函数计数以及选择四根数码管显示,导致程序运行速度过慢,灯光闪烁。改进方法:改进后去掉指数函数,改用每一根数码管分别使用计算出显示数值的方法。2) 遇到的问题:计数值达到时蜂鸣器持续响,直到按下第十一次计数按键方才停止。解决方法:在蜂鸣器程序中增加清零语句,中断中增加置位语句,可以让蜂鸣器在计数第十次时只响一声。四、 结论1. 实验结果按键脉冲源0,则四位数码管显示数字+1,当到10的倍数时,蜂鸣器发出声音,继电器产生打包动作。通过串口调试助手在PC机上可实时显示数码管数据。2. 本次课设的贡献本次课设中参与了程序的编写、改进,在keil软件中运行无误后,烧写程序到单片机实验箱进行调试,通过串口调试助手显示计数值,以实现实验的要求。3. 改善建议实验中INT0中断信号计数到10次时,本次实现的功能在PC端不能显示打包指令,只能通过硬件继电器闭合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院满意度培训
- 光伏发电培训资料
- 福建省莆田市涵江区实验小学2023-2024学年三年级上学期期末检测数学试题
- T-XMSSAL 0110-2024 供厦食品 芦笋
- 期中模拟试卷(1-4单元) (试题)-2024-2025学年六年级上册数学北师大版
- 语文学习任务群的解读及设计要领
- 余静无机化学酸碱平衡
- 部编版六年级语文上册第七单元《京剧趣谈》教学课件
- 高中语文第11课师说课件5新人教版必修
- 路基石方填筑试验路段施工总结-
- 五年级上册小数四则混合运算练习100道及答案
- 2024年秋10月全国自考网络经济与企业管理预测试题含解析
- 【仁爱】七上地理知识点总结
- 2024人教版初中九年级数学上册第二十五章概率初步大单元整体教学设计
- 期中综合测试 2024-2025学年牛津译林版八年级英语上册
- 2025届山东省部分地区高三语文上学期期初试题汇编:写作专题
- 2. 2.发现生长(课件)-2024-2025学年一年级科学上册教科版
- 国家管网集团高校毕业生招聘笔试真题2023
- 2024-2025学年全国中学生天文知识竞赛考试题库(含答案)
- 2024-2025年新教材高中生物 第3章 第2节 第2课时 细胞器之间的协调配合和生物膜系统教案 新人教版必修1
- 企业灭火和应急疏散应急预案
评论
0/150
提交评论