亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
基于51單片機的智能搶答器程序
[打印本頁]
作者:
傻子57
時間:
2018-6-15 11:35
標題:
基于51單片機的智能搶答器程序
搶答器
#include<reg52.h>
#include<intrins.h>
sbit RS = P2^0; //定義端口
sbit RW = P2^1;
sbit EN = P2^2;
sbit s = P2^7;
sbit s0 = P1^0;
sbit s1 = P1^1;
sbit s2 = P1^2;
sbit s3 = P1^3;
sbit s4 = P1^4;
sbit s5 = P1^5;
sbit s6 = P1^6;
sbit s7 = P1^7;
sbit beep = P3^7;
#define RS_CLR RS=0
#define RS_SET RS=1
#define RW_CLR RW=0
#define RW_SET RW=1
#define EN_CLR EN=0
#define EN_SET EN=1
#define DataPort P0
unsigned char table[10] ={'0','1','2','3','4','5','6','7','8','9'};
unsigned char shu,key,count=0;
unsigned char flag=0;
unsigned char DATA,num;
//uS 延時函數(shù)
void DelayUs2x(unsigned char t)
{
while(--t);
}
//mS 延時函數(shù)
void DelayMs(unsigned int t)
{
while(t--)
{
//延時 1mS
DelayUs2x(245);
DelayUs2x(245);
}
}
//判忙函數(shù)
bit LCD_Check_Busy(void)
{
DataPort= 0xFF;
RS_CLR;
RW_SET;
EN_CLR;
_nop_();
EN_SET;
return (bit)(DataPort & 0x80);
}
//寫入命令函數(shù)
void LCD_Write_Com(unsigned char com)
{
while(LCD_Check_Busy()); // 忙則等待
RS_CLR;
RW_CLR;
EN_SET;
DataPort= com;
_nop_();
EN_CLR;
}
// 寫入數(shù)據(jù)函數(shù)
void LCD_Write_Data(unsigned char Data)
{
while(LCD_Check_Busy()); // 忙則等待
RS_SET;
RW_CLR;
EN_SET;
DataPort= Data;
_nop_();
EN_CLR;
}
//清屏函數(shù)
void LCD_Clear(void)
{
LCD_Write_Com(0x01);
DelayMs(5);
}
//寫入字符串函數(shù)
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s)
{
if (y == 0)
{
LCD_Write_Com(0x80 + x); //表示第一行
}
else
{
LCD_Write_Com(0xC0 + x); //表示第二行
}
while (*s)
{
LCD_Write_Data( *s);
s ++;
}
}
//寫入字符函數(shù)
void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data)
{
if (y == 0)
{
LCD_Write_Com(0x80 + x);
}
else
{
LCD_Write_Com(0xC0 + x);
}
LCD_Write_Data( Data);
}
//初始化函數(shù)
void LCD_Init(void)
{
LCD_Write_Com(0x38); //顯示模式設置
DelayMs(5);
LCD_Write_Com(0x38);
DelayMs(5);
LCD_Write_Com(0x38);
DelayMs(5);
LCD_Write_Com(0x38);
LCD_Write_Com(0x08); //顯示關(guān)閉
LCD_Write_Com(0x01); //顯示清屏
LCD_Write_Com(0x06); //顯示光標移動設置
DelayMs(5);
LCD_Write_Com(0x0C); //顯示開及光標設置
}
//定時器中斷子程序
void Timer0_isr(void)interrupt 1
{
unsigned char temp,temp1,i,j=2;
TH0=(65536-50000)/256;// 重新賦值 50ms
TL0=(65536-50000)%256;
// beep=~beep;
// DelayMs(100);
i++;
if(i==20)
{
i=0;
DATA--;
if(DATA>0)
{
DelayMs(50);
temp=DATA/10;
temp1=DATA%10;
LCD_Write_Char(7,1,table[temp]);
LCD_Write_Char(8,1,table[temp1]);
}
else if(DATA==0)
{
P1=0xFF;
ET0=0;
DelayMs(50);
LCD_Write_Char(7,1,'0');
LCD_Write_Char(8,1,'0');
for(;j--;j>0)
{
beep=0;
DelayMs(500);
beep=1;
}
}
}
}
void beepon(void)
{
unsigned char i;
for(i=0;i<10;i++)
{
beep=0;
DelayMs(50);
beep=1;
}
}
unsigned char keyscan(void)
{
unsigned char scan1;
scan1=P1;
if(scan1!=0xff)
{
DelayMs(30);
if(scan1==P1)
{
switch(scan1)
{
case 0xff:
scan1 = 0;
break;
case 0xfe:
scan1 = 1;
break;
case 0xfd:
scan1 = 2;
break;
case 0xfb:
scan1 = 3;
break;
case 0xf7:
scan1 = 4;
break;
case 0xef:
scan1 = 5;
break;
case 0xdf:
scan1 = 6;
break;
case 0xbf:
scan1 = 7;
break;
case 0x7f:
scan1 = 8;
break;
}
}
}
else
scan1=0;
return(scan1);
}
void display(void)
{
unsigned char a,b;
key=keyscan();
if(key!=0 & flag==0 )
{
ET0=0;
count++;
DelayMs(200);
LCD_Write_Char(10,0,table[key]);
flag=1;
a=(shu-DATA)/10;
b=(shu-DATA)%10;
LCD_Write_Char(7,1,table[a]);
LCD_Write_Char(8,1,table[b]);
}
}
void main(void)
{
unsigned char k;
unsigned a,b;
LCD_Init(); //初始化液晶
DelayMs(20); //延時有助于穩(wěn)定
LCD_Clear(); //清屏
LCD_Write_String(0,1,"time");
LCD_Write_String(0,0,"xuanshou");
//Init_Timer0(); //定時器 0 初始化
while(count==0)
{
if(s0==0)
{
DelayMs(10);
if(s0==0)
{
count++;
while(count==1)
{
if(s==0)
{
DelayMs(10);
if(s==0)
{
while(!s);
count++;
}
}
if(s1==0)
{
DelayMs(10);
if(s1==0)
{
while(!s1);
{
DATA++;
shu=DATA;
if (DATA==31) {DATA=0;count=0;}
a=DATA/10;
b=DATA%10;
LCD_Write_Char(7,1,table[a]);
LCD_Write_Char(8,1,table[b]);
}
}
}
}
while(count==2)
{
TMOD |= 0x01; //使用模式 1,16 位定時器,使用 "|"符號可以在 使用多個定時器時不受影響
TH0=(65536-50000)/256;// 重新賦值 50ms
TL0=(65536-50000)%256;
EA=1; //總中斷打開
ET0=1; //定時器中斷打開
TR0=1; //定時器開關(guān)
}
}
}
}
}
復制代碼
作者:
電子專業(yè)新人
時間:
2021-10-26 20:56
大佬,有proteus原理圖嗎?
作者:
heicad
時間:
2021-10-26 23:12
電子專業(yè)新人 發(fā)表于 2021-10-26 20:56
大佬,有proteus原理圖嗎?
仿真可以參考這個:
http://www.denmoz.com/bbs/dpj-123579-1.html
或者找其他的 論壇里面有上百個
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1