《单片机综合应用设计》_第1页
《单片机综合应用设计》_第2页
《单片机综合应用设计》_第3页
《单片机综合应用设计》_第4页
《单片机综合应用设计》_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机综合应用设计报告题目:定时嗡鸣器班级:姓名: 学号: 年 月 日一、设计题目:定时嗡鸣器 二、功能简介:首先通过按键在显示器上输入定时器初始时间,最大可设置数值9999,最小为0000。在开始减为0000时,嗡鸣器想,led灯常亮。三、设计原理图:(注:原理图蜂鸣器未画出)四、设计PCB 图:五、程序设计:#include<STC12C5A60S2.H>#include<shiyan.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intint a=0,b=0,

2、c=0,d=0,f=1,j=1,i=0;sbit SCL = P06;sbit SDA = P07;#define SCL_H SCL = 1#define SCL_L SCL = 0#define SDA_H SDA = 1#define SDA_L SDA = 0sbit P2_0=P20;sbit P2_1=P21;sbit P2_2=P22;sbit P2_3=P23;sbit P3_6=P36;sbit P2_4=P24;void TM1650_Set(uchar add,uchar dat);uchar CDDE12 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,

3、0x7d,0x07,0x7f,0x6f,0x40,0x00;void Delay_us(int u)for( ;u>0;u-)_nop_();_nop_();_nop_(); _nop_();_nop_();void delayms(int v)/自定义延时 int w,x,y; for(w=v;w>0;w-) for(x=50;x>0;x-) for(y=95;y>0;y-);void shu_zi()if(f=1&&j=1)if(P2_3=0)delayms(10);if(P2_3=0)while(P2_3=0);a+;if(a>9)a=0;T

4、M1650_Set(0x68,CDDEa);if(f=1&&j=2)if(P2_3=0)delayms(10);if(P2_3=0)while(P2_3=0);b+;if(b>9)b=0;TM1650_Set(0x6A,CDDEb);if(f=1&&j=3)if(P2_3=0)delayms(10);if(P2_3=0)while(P2_3=0);c+;if(c>9)c=0;TM1650_Set(0x6C,CDDEc);if(f=1&&j=4)if(P2_3=0)delayms(10);if(P2_3=0)while(P2_3=0);

5、d+;if(d>9)d=0;TM1650_Set(0x6E,CDDEd);void wei_zhi()if(f=1&&P2_2=0)delayms(10);if(P2_2=0)while(P2_2=0);j+;if(j>5)j=1;void daoji_shi()if(P2_0=0)delayms(10);if(P2_0=0)while(P2_0=0);TR0=1;f=0;void main()/主程序serial_port_initial();TM1650_Set(0x48,0x51);TMOD=0x01;EA=1;ET0=1;TH0=(65536-500)/25

6、6;TL0=(65536-500)%256;TM1650_Set(0x68,CDDEa);TM1650_Set(0x6A,CDDEb);TM1650_Set(0x6C,CDDEc);TM1650_Set(0x6E,CDDEd);while(1)shu_zi();wei_zhi();daoji_shi();void t0(void) interrupt 1/计时中断i+;TH0=(65536-500)/256;TL0=(65536-500)%256;if(i=1)P3_6=P3_6;if(i=300)P3_6=P3_6;if(i=600)d-;i=0;if(d<0)c-;d=9;if(c&

7、lt;0)b-;c=9;if(b<0)a-;b=9;TM1650_Set(0x68,CDDEa);TM1650_Set(0x6A,CDDEb);TM1650_Set(0x6C,CDDEc);TM1650_Set(0x6E,CDDEd);if(a=0&&b=0&&c=0&&d=0)P2_4=0;TR0=0;void I2CStart(void)/开始信号SCL_H;SDA_H;Delay_us(5);SDA_L;void I2Cask(void) /ACK信号uchar timeout = 1;SCL_H;Delay_us(5);SCL_L;

8、void I2CStop(void) /停止信号SCL_H;SDA_L;Delay_us(5);SDA_H;void I2CWrByte(uchar oneByte) /写一个字节高位在前,低位在后uchar z;SCL_L;Delay_us(1);for(z=0;z<8;z+)oneByte = oneByte<<1;SDA = CY;SCL_L;Delay_us(5);SCL_H;Delay_us(5);SCL_L;void TM1650_Set(uchar add,uchar dat) /数码管显示/写显存必须从高地址开始写I2CStart();I2CWrByte(add); /第一个显存地址I2Cask();I2CW

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论