版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务2计数模块设计与制作单片机技术与应用项目二智能车间生产线计数系统设计与制作任务2计数模块设计与制作三诺生物传感有限公司【基础任务要求】利用红外光电传感器检测产品进行计数,当计数值达到3时报警,并且每1秒钟信号灯闪烁一次。(用中断方式实现计数)任务2计数模块设计与制作任务实现四步骤绘制控制电路图搭接硬件电路硬件设计调试控制电路调试控制程序软硬件调试仿真运行实物运行功能实现绘制流程图编程实现三个功能:中断计数、蜂鸣器控制、1秒定时软件设计01020304重点、难点难点STC89C52单片机时钟电路复位电路电源电路指示灯电路系统框图任务2计数模块设计与制作蜂鸣器电路红外光电传感器电路任务2计数模块设计与制作红外光电传感器时钟电路复位电路指示灯电路蜂鸣器电路显示电路按键电路任务名:计数模块设计与制作元件名称图片型号数量Proteus中的名称单片机芯片AT89C511用AT89C51代替STC89C52晶振12MHZ1CRYSTAL电容22pF2CAP电解电容22μf/16V1CAP-ELEC电阻0.1KΩ1RES电阻470Ω1RES电阻10KΩ1RES发光二极管1LED-RED红外光电传感器1用按钮button代替三极管1PNP蜂鸣器1BUZZER元器件选型硬件电路图任务2计数模块设计与制作硬件设计-绘电路细致规范严谨小锦囊电路绘制规范:用统一规定的元件符号尽量避免导线的交叉导线要求横平竖直设置元器件参数元件放在编辑区内元器件之间要用导线连接软件设计2如何用中断方式编程实现1秒延时?重点、难点1如何用中断方式编程实现计数函数?重点、难点知识链接1.中断系统的结构知识链接
5个中断源2个优先级2个外部中断3个内部中断INT0(P3.2)INT1(P3.3)T0T1UART
与中断有关的特殊功能寄存器:IP:中断优先控制寄存器IE:中断允许控制寄存器TCON:定时/计数控制寄存器SCON:
UART控制寄存器中断标志寄存器可编程,可控MCS–51中断要点2.中断源及相关中断标志3.定时/计数器控制寄存器TCONTF1TR1TF0TR0IE1IT1IE0IT0
INT1
INT0触发方式控制位0
低电平触发1
边沿↓触发
INT1
INT0外部中断请求标志1
有有效触发时0
当CPU响应中断时T1T0溢出标志由硬件自动中断请求标志可编程控制位在每个机器周期S5P2都采样引脚P3.3P3.20记录有无中断0
当CPU响应中断时,也可由指令清除1
计数器“+1”有溢出时,并向CPU请求中断知识链接知识链接中断允许寄存器IE
EAESET1EX1ET0EX0INT0INT1T1T0UARTCPU0禁止1
允许0
禁止1
允许总中断
总中断中断中断IE(A8)中断的开放和禁止是可控,可编程的T2CPUIE的相应位被置“0”或“1”该相应中断即被“禁止”或“开放”4.中断控制寄存器voidtimer0() //定时1秒函数{unsignedinti;for(i=0;i<1000;i++){ TH0=0xFC; TL0=0x18; while(!TF0){;} TF0=0;} }voidmain() //主函数{TMOD=0x01;TH0=0xFC; TL0=0x18;
TR0=1;
EX0=1;EA=1;while(1){jishu();led=0;timer0();led=1;} }中断编程步骤开放中断源允许开放总中断源允许中断函数编程知识链接5.IP寄存器(优先级控制)知识链接例:设有如下要求,将T0、外中断1设为高优先级,其他为低优先级,求IP的值。IP的值:0x06在上例中,如果5个中断请求同时发生,求中断响应的次序。响应次序为:
定时器0-外中断1-外中断0-定时器1-串行中断11000000知识链接特定事件发生主程序主程序中断服务子程序断点中断源CPU6.单片机的中断过程中断请求中断响应中断服务中断返回中断请求中断响应中断服务中断返回知识链接7.中断源-一些特定的事件,也称中断请求信号知识链接8.中断服务程序
处理特定事件的一段程序。中断编程步骤开放中断源允许开放总中断源允许中断函数编程特定事件发生主程序主程序中断服务子程序断点中断源CPU红外光电传感器检测到产品中断响应计数产品,当产品数为3时,报警知识链接8.中断服务程序
处理特定事件的一段程序。知识链接8.中断服务程序处理特定事件的一段程序。voidjishu()interrupt0//计数函数{
unsignedintjs;if(IRIN==0) //如果红外输入=0{delay(10); //延时10msif(IRIN==0){while(!IRIN);//松手检测js++;if(js==3){ baojing();//调用报警函数 js=0;}}}}知识链接9.中断函数的定义在C语言程序中,中断函数使用关键词interrupt与中断号来定义中断函数,其一般形式如下:void中断函数名()interrupt中断号[usingn]{声明部分;执行部分;}知识链接中断源名称对应引脚中断入口地址C语言中断源服务程序入口外部中断0INT0(P3.2)0003H0定时/计数器0T0(P3.4)000BH1外部中断1INT1(P3.3)0013H2定时/计数器1T1(P3.5)001BH3串行口中断串行接收RXD(P3.0)串行发送TXD(P3.1)0023H410.中断函数的定义voidjishu()interrupt0//计数函数{
unsignedintjs;if(IRIN==0) //如果红外输入=0{delay(10); //延时10msif(IRIN==0){while(!IRIN);//松手检测js++;if(js==3){ baojing();//调用报警函数 js=0;}}}}知识链接中断函数与普通子函数有什么区别?中断函数是在发生中断时间后,主程序自动进入中断函数运行,运行结束后在退出中断函数,返回到进入中断函数之前的运行状态。普通的函数则需要主函数去调用。#include<reg51.h>sbitIRIN=P3^2;//红外光电传感器sbitbeep=P1^3;//蜂鸣器sbitled=P1^7; //信号灯voidbaojing(); //报警函数的声明voiddelay(unsignedintz);//延时函数的声明voidtimer0();//1秒定时函数voidled1();//指示灯闪烁函数的声明voidjishu()interrupt0//计数函数{unsignedintjs;if(IRIN==0) //如果红外输入=0{delay(10); //延时10msif(IRIN==0){while(!IRIN);//松手检测
js++;if(js==3){
baojing();//调用报警函数
js=0;}}}}如何用中断方式编程实现计数?知识链接voidbaojing()//报警函数{beep=0; //蜂鸣器响
delay(100);beep=1; //蜂鸣器不响
delay(100);}voiddelay(unsignedintz)//延时函数{ unsignedintx,y; for(x=z;z>0;z--) for(y=110;y>0;y--); }知识链接voidtimer0()
//定时1s函数{unsignedinti;for(i=0;i<1000;i++){TH0=0xFC; TL0=0x18; while(!TF0); TF0=0;} }voidmain()//主函数{TMOD=0x01;TH0=0xFC; TL0=0x18;EA=1;TR0=1;EX0=1;while(1){led1();} }voidled1(){led=0;timer0();led=1;timer0();
}程序代码编写规范:1.字母大小写一致2.标点符号必须在英文状态下输入3.遵循变量命名规则4.注意TH0、TL0、TF0、TR0TH1、TL1、TF1、TR15.注意循环语句的格式勤勉创新坚持知识链接【举一反三】如何用中断方式编程实现1秒定时?特定事件发生主程序主程序中断服务子程序断点中断源CPU1毫秒时间到中断响应循环1000次达到1秒知识链接#include<reg51.h>sbitIRIN=P3^6; //红外光电传感器sbitbeep=P1^3; //蜂鸣器sbitled=P1^7; //信号灯voidjishu(); //计数函数的声明voidbaojing(); //报警函数的声明voiddelay(unsignedintz);//延时函数的声明voidjishu()//计数函数{unsignedintjs;if(IRIN==0) //如果红外输入=0{delay(10); //延时10msif(IRIN==0){while(!IRIN);//松手检测
js++;if(js==3){ baojing();//调用报警函数
js=0;}}}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024届安徽省部分学校高三上学期期末考试历史试题(解析版)
- 2024年辽宁轻工职业学院单招职业技能测试题库完整答案
- 单位管理制度集粹选集【人事管理篇】十篇
- 《特种设备安全管理员》考试通关题库(600题 含参考答案)
- 复习培优卷01 第1-2单元(解析版)
- 2024年公司片区上半年工作总结
- 2010年高考语文试卷(新课标)(海南宁夏)(解析卷)
- 游戏设计岗位季度工作总结
- 网络借贷用户行为分析-洞察分析
- 邮政快递智能客服-洞察分析
- 光伏业务合同范例
- 民法债权法学习通超星期末考试答案章节答案2024年
- 2024年9月时政题库(附答案)
- 消防工程火灾自动报警及联动控制系统安装施工方案
- 2024年氯化工艺作业模拟考试题库试卷(含参考答案)
- 2024售后服务年终总结
- 中学消防安全应急演练方案
- 2.1.1 区域发展的自然环境基础 课件 高二地理人教版(2019)选择性必修2
- ASTM-A269-A269M无缝和焊接奥氏体不锈钢管
- 中、高级钳工训练图纸
- 2024-2030年中国车载动态称重行业投融资规模与发展态势展望研究报告
评论
0/150
提交评论