1. 流水灯同数码管报警实验
程序:#include
sbit BEEP = P2^3; //蜂鸣器控制端口P2.3 uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71 }; void xu(uint z);
void delay(unsigned int cnt)//延时 {
while(--cnt); }
void beep() //蜂鸣器响一声函数 {
unsigned char i;
for (i=0;i<200;i++)//喇叭发声的时间循环,改变大小可以改变发声时间长短 {
delay(80);//参数决定发声的频率,估算值 BEEP=!BEEP; //BEEP取反 }
BEEP=1; //喇叭停止工作,间歇的时间,可更改 delay(20000); //延时 } void main() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%6; EA=1; ET0=1; TR0=1; dula=1; P0=table[0]; dula=0; wela=1; P0=0xc0; wela=0; temp=0xfe; while(1) {
P1=temp; beep(); xu(100); temp=_crol_(temp,1); P1=0xff; //beep(); xu(100); //P0=0x8f; //beef=1; //wela=1; // } } void xu(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void time() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%6; tt++; if(tt==10) { tt=0; num++; if(num==16) num=0; dula=1; P0=table[num]; dula=0; } }
2. 矩阵键盘检测
//4*4键盘检测程序,按下键后相应的代码显示在数码管上 #include
sbit wela=P2^7;
unsigned char i=100; unsigned char j,k,temp,key; void delay(unsigned char i) {
for(j=i;j>0;j--)
for(k=125;k>0;k--); }
unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; display(unsigned char num) {
P0=table[num]; // P0=0xff; dula=1; dula=0; P0=0xc0; wela=1; wela=0; }
void main() {
dula=0; wela=0; while(1) {
P3=0xfe; temp=P3;
temp=temp&0xf0; if(temp!=0xf0) {
delay(10); if(temp!=0xf0) {
temp=P3; switch(temp) {
case 0xee: key=0; break;
case 0xde: key=1; break;
case 0xbe: key=2; break;
case 0x7e: key=3; break; }
while(temp!=0xf0) {
temp=P3;
temp=temp&0xf0; beep=0; }
beep=1; display(key); // P0=table[key]; /* P0=0xff; dula=1;
while(i--); dula=0; P0=0xc0; wela=1; wela=0; dula=0; wela=0; P0=0xff; dula=1; dula=0; P0=0xc5; wela=1; wela=0; */
P1=0xfe; } }
P3=0xfd; temp=P3;
temp=temp&0xf0; if(temp!=0xf0) {
delay(10); if(temp!=0xf0)
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于Proteus的多功能单片机仿真开发板(内含多个程序模块)在线全文阅读。
相关推荐: