2011年11月18日
摘要: #include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit wela=P2^0;sbit dula=P2^1;uchar temp,num;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x7b,0x71};void delay(uchar z){ uchar x,y; for(x=z;x>0;x--) { for(y=110;y>0;y--); }} 阅读全文
posted @ 2011-11-18 19:51 舒 阅读(153) 评论(0) 推荐(0) 编辑
摘要: #include<reg52.h>sbit LED=P1^2;sbit KEY=P3^3;void main(){ KEY=1; while(1) { if(!KEY) { LED=0; } else { LED=1; } }} 阅读全文
posted @ 2011-11-18 19:51 舒 阅读(748) 评论(0) 推荐(0) 编辑
摘要: #include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit beef=P1^0;void init();void delay(uchar t);void delayMS(uchar t);uchar a;void main(){ uchar i; init(); while(1) { for(i=0;i<200;i++) { delayMS(10);//延时10毫秒 a=i; // 给定时器低八位赋值,i逐渐增大,a逐渐增大,定时器所装初值增大,计数溢出空间减小,从而时间变短,频率增大。 阅读全文
posted @ 2011-11-18 19:50 舒 阅读(187) 评论(0) 推荐(0) 编辑
摘要: //闹钟嘀。嘀。嘀。。。。#include<reg52.h>#define uchar unsigned char#define uint unsigned intvoid delay(uchar t);void delayMS(uchar t);sbit beef=P1^0;void main(){ uint i; while(1) { for(i=0;i<200;i++) { delay(200); beef=!beef; } beef=0; //防止一直个喇叭通电造成损坏 for(i=0;i<200;i++) { delayMS(1); } }}voi... 阅读全文
posted @ 2011-11-18 19:49 舒 阅读(296) 评论(0) 推荐(0) 编辑
摘要: #include<reg52.h>sbit beef=P1^0;void Delay1(int k){ while(k--);}void Delay(int t){ while(t--) { Delay1(254); Delay1(254); }}void main(){ while(1) { Delay(1);//延时一毫秒。 beef=!beef;//beef的值周期性变化产生方波,从而使喇叭发声。(喇叭发声原理) }} 阅读全文
posted @ 2011-11-18 19:49 舒 阅读(263) 评论(0) 推荐(0) 编辑
摘要: //原理同救护车发声#include<reg52.h>#define uchar unsigned char#define uint unsigned intvoid delay(uchar t);void delayMS(uchar t);sbit beef=P1^0;void main(){ uint i; while(1) { for(i=0;i<500;i++) { delay(200); delay(200); beef=!beef; } for(i=0;i<500;i++) { delayMS(1); beef=!beef; } }}void del... 阅读全文
posted @ 2011-11-18 19:48 舒 阅读(212) 评论(0) 推荐(0) 编辑
摘要: //救护车发声原理:给出两个频率,通过频率的交替变化,模拟救护车发声。#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit beef=P1^0;uchar a;void init();void Delay(uchar t);void DelayMS(uchar t);void main(){ uint i; init(); while(1) { a=0;//给出一个喇叭发声频率 for(i=0;i<600;i++)//延时 { DelayMS(1); } a=100;//给出另一个喇 阅读全文
posted @ 2011-11-18 19:48 舒 阅读(300) 评论(0) 推荐(0) 编辑
摘要: #include<reg52.h>#define uchar unsigned char#define uint unsigned intvoid init();void delay(uchar z);uchar a;sbit beef=P1^0;void main(){ init(); while(1) { delay(5);//延时5毫秒 a++; //改变定时器所装的初值 }}void init()//初始化定时器{ a=0; TMOD=0x01; EA=1; ET0=1; TR0=1;}void delay(uchar z)//用于延时{ uchar x,y; for(x= 阅读全文
posted @ 2011-11-18 19:47 舒 阅读(288) 评论(0) 推荐(0) 编辑
摘要: #include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit beef=P1^0;uchar a;void init();void delay(uchar z);void main(){ init(); while(1) { a=0; delay(1000); a=100; delay(1000); }}void init(){ TMOD=0x01; EA=1; ET0=1; TR0=1;}void delay(uchar z){ uchar x,y; for(x=z;x>0;x--) { 阅读全文
posted @ 2011-11-18 19:46 舒 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 利用动态扫描和定时器1在数码管上显示出从765432开始以1/10秒的速度往下递减直至765398并保持显示此数,与此同时利用定时器0以500MS速度进行流水灯从上至下移动,当数码管上数减到停止时,实验板上流水灯也停止然后全部开始闪烁,3秒后(用T0定时)流水灯全部关闭、数码管上显示出‘HELLO’,到此保持住。#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int uchar temp,t0,t1,flag,flag1;uint shu;uchar 阅读全文
posted @ 2011-11-18 19:46 舒 阅读(254) 评论(0) 推荐(0) 编辑