《单片机综合应用设计》 下载本文

《单片机综合应用设计》报告

题目:定时嗡鸣器班级: 姓名: 学号:

年 月

日一、设计题目:定时嗡鸣器 二、功能简介:

首先通过按键在显示器上输入定时器初始时间,最大可设置数值9999,最小为0000。在开始减为0000时,嗡鸣器想,led灯常亮。

三、设计原理图:

(注:原理图蜂鸣器未画出)

四、设计PCB 图:

五、程序设计:

#include #include #include #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) { }

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--);

for( ;u>0;u--) { }

_nop_(); _nop_(); _nop_(); _nop_(); _nop_();

}

void shu_zi() {

if(f==1&&j==2) {

if(P2_3==0) {

delayms(10); if(P2_3==0) {

while(P2_3==0) {;} b++; if(b>9) { }

TM1650_Set(0x6A,CDDE[b]);

b=0;

if(f==1&&j==1) { }

if(P2_3==0) { }

delayms(10); if(P2_3==0) { }

while(P2_3==0) {;} a++; if(a>9) { }

TM1650_Set(0x68,CDDE[a]);

a=0;