文档详情

《单片机综合应用设计》.docx

发布:2017-04-17约3.34千字共11页下载文档
文本预览下载声明
《单片机综合应用设计》报告 题目:定时嗡鸣器 班级: 姓名: 学号: 年 月 日 一、设计题目:定时嗡鸣器 二、功能简介: 首先通过按键在显示器上输入定时器初始时间,最大可设置数值9999,最小为0000。在开始减为0000时,嗡鸣器想,led灯常亮。 三、设计原理图: (注:原理图蜂鸣器未画出) 四、设计PCB 图: 五、程序设计: #includeSTC12C5A60S2.H #includeshiyan.h #includeintrins.h #define uchar unsigned char #define uint unsigned int int a=0,b=0,c=0,d=0,f=1,j=1,i=0; sbit SCL = P0^6; sbit SDA = P0^7; #define SCL_H SCL = 1 #define SCL_L SCL = 0 #define SDA_H SDA = 1 #define SDA_L SDA = 0 sbit P2_0=P2^0; sbit P2_1=P2^1; sbit P2_2=P2^2; sbit P2_3=P2^3; sbit P3_6=P3^6; sbit P2_4=P2^4; void TM1650_Set(uchar add,uchar dat); uchar CDDE[12] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00}; void Delay_us(int u) { for( ;u0;u--) { _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); } } void delayms(int v)//自定义延时 { int w,x,y; for(w=v;w0;w--) for(x=50;x0;x--) for(y=95;y0;y--); } void shu_zi() { if(f==1j==1) { if(P2_3==0) { delayms(10); if(P2_3==0) { while(P2_3==0) {;} a++; if(a9) { a=0; } TM1650_Set(0x68,CDDE[a]); } } } if(f==1j==2) { if(P2_3==0) { delayms(10); if(P2_3==0) { while(P2_3==0) {;} b++; if(b9) { b=0; } TM1650_Set(0x6A,CDDE[b]); } } } if(f==1j==3) { if(P2_3==0) { delayms(10); if(P2_3==0) { while(P2_3==0) {;} c++; if(c9) { c=0; } TM1650_Set(0x6C,CDDE[c]); } } } if(f==1j==4) { if(P2_3==0) { delayms(10); if(P2_3==0) { while(P2_3==0) {;} d++; if(d9) { d=0; } TM1650_Set(0x6E,CDDE[d]); } } } } void wei_zhi() { if(f==1P2_2==0) { delayms(10); if(P2_2==0) { while(P2_2==0) {;} j++; if(j5) { 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
显示全部
相似文档