91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

這是用單片機和LCD1602實現的簡易計算器,里面有完整的程序和Proteus仿真圖,單片的型號可以選擇多種,參照電路圖就可以焊接出來。 如果喜歡電子設計的和想學習單片機的同學可以下載下來看看,有不足之處多多指教,大家共同進步嘛!

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?“LCD1602.h“
void?shortdelay(uchar?i)//短延時
{
?for(;i>0;i--);
}
//長延時
void?longdelay(uint?i)
{
?uint?j;
?for(;i>0;i--)
?{for(j=100;j>0;j--);}
}

//延時程序
void?delay(int?i)
{int?j;
?for(;i>0;i--)
???for(j=0;j<100;j++);
}
//初試狀態
void?io_init()
{P1=0xff;
}
//?---------------------------鍵盤掃描部分-----------------------------//

?unsigned?char?key_scan()
{?unsigned?char?key;
??unsigned?char?temp;
??uint?flag;
??io_init();
???P1=0xf0;
???flag=0;
loop:?temp=P1^0xf0;
???while(temp)
????{
?????P1=0xfe;
?????delay(1);
?????if((P1&0xfe)!=0xfe)
?????switch(P1)
?????{
?????case?0xee:?key=0x11;flag=1;break;
?????case?0xde:?key=0x12;flag=1;break;
?????case?0xbe:?key=0x13;flag=1;break;
?????case?0x7e:?key=0x14;flag=1;break;
?????}
?if(flag)
?goto?exit;
?else
?????P1=0xfd;
?????delay(1);
?????if((P1&0xfd)!=0xfd)
?????switch(P1)
?????{
?????case?0xed:?key=0x21;flag=1;break;
?????case?0xdd:?key=0x22;flag=1;break;
?????case?0xbd:?key=0x23;flag=1;break;
?????case?0x7d:?key=0x24;flag=1;break;
?????}
?????if(flag)
?goto?exit;
?else
?????P1=0xfb;
?????delay(1);
?????if((P1&0xfb)!=0xfb)
?????switch(P1)
?????{
?????case?0xeb:?key=0x31;flag=1;break;
?????case?0xdb:?key=0x32;flag=1;break;
?????case?0xbb:?key=0x33;flag=1;break;
?????case?0x7b:?key=0x34;flag=1;break;
?????}

?????if(flag)
?goto?exit;
?else
?P1=0xf7;
?????delay(1);
?????if((P1&0xf7)!=0xf7)
?????switch(P1)
?????{
?????case?0xe7:?key=0x41;flag=1;break;
?????case?0xd7:?key=0x42;flag=1;break;
?????case?0xb7:?key=0x43;flag=1;break;
?????case?0x77:?key=0x44;flag=1;break;
?????}
?????
?exit:?return?key;
???}
??if(temp==0)
??goto?loop;

??}
//---------------------------------鍵盤掃描完--------------------------------------------//
//---------------------------------顯示初始化?----------------------------------------//
//P0口初始化
void?initpindata(bit?i)
{
?if(i==1)?pindata=0xff;
?else?pindata=0X00;
}
//寄存器選擇信號
void?setRS(bit?i)
{
?if(i==1)?pinRS=1;
?else?pinRS=0;
}
//讀寫操作控制
void?setRW(bit?i)
{
?if(i==1)?pinRW=1;
?else?pinRW=0;
}
//使能信號
void?setE(bit?i)
{
?if(i==1)?pinE=1;
?else?pinE=0;
}
//讀BF以及AC的值
uint?read_BF_AC()
{
?uint?temp;
?initpindata(1);
?setRS(0);
?setRW(1);
?setE(1);
?shortdelay(1);
?temp=pindata;
?shortdelay(10);
?setE(0);
?return(temp);
?}
?//判忙
bit?statuscheck()
{
?return((bit)(read_BF_AC()&0x80));
}
//寫指令函數
void?writeinstruc(uint?instruc)
{
?while(statuscheck());
?initpindata(0);
?setRS(0);
?setRW(0);
?setE(0);
?pindata=instruc;
?//short?delay(1);
?setE(1);
?shortdelay(10);
?setE(0);
}
//寫數據到RAM
void?writedata(uint?data1)
{
?initpindata(0);
?setRS(1);
?setRW(0);
?setE(0);
?pindata=data1;
?setE(1);
?shortdelay(10);
?setE(0);
}
//從RAM中讀數據函數
uint?readdata(void)
{
?uint?temp;
?initpindata(1);
?setRS(1);
?setRW(1);
?setE(1);
?shortdelay(1);
?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????90081??2009-05-31?14:58??LCD1602計算器\EXAMPLE1.DSN

?????文件????????768??2009-09-02?21:27??LCD1602計算器\EXAMPLE1.PWI

?????文件??????90154??2009-05-31?14:55??LCD1602計算器\Last?Loaded?EXAMPLE1.DBK

?????文件??????23345??2009-06-11?22:18??LCD1602計算器\LCD1602

?????文件???????6805??2008-04-30?16:20??LCD1602計算器\LCD1602.c

?????文件???????1654??2008-04-22?09:11??LCD1602計算器\LCD1602.h

?????文件??????11190??2009-06-11?22:18??LCD1602計算器\LCD1602.hex

?????文件?????????31??2009-06-11?22:18??LCD1602計算器\LCD1602.lnp

?????文件??????13111??2009-06-11?22:18??LCD1602計算器\LCD1602.LST

?????文件??????26282??2009-06-11?22:18??LCD1602計算器\LCD1602.M51

?????文件??????25714??2009-06-11?22:18??LCD1602計算器\LCD1602.OBJ

?????文件???????1550??2009-06-11?23:31??LCD1602計算器\LCD1602.Opt

?????文件????????164??2009-06-11?23:31??LCD1602計算器\LCD1602.plg

?????文件???????2113??2009-06-11?22:18??LCD1602計算器\LCD1602.Uv2

?????文件???????1375??2009-06-11?23:30??LCD1602計算器\LCD1602_Opt.Bak

?????文件???????2147??2009-05-31?14:36??LCD1602計算器\LCD1602_Uv2.Bak

?????文件??????70067??2009-06-13?23:07??LCD1602計算器\計算器.DSN

?????文件????????742??2009-09-02?21:30??LCD1602計算器\計算器.PWI

?????文件???????1691??2009-06-14?18:25??LCD1602計算器\計算器.SDF

?????目錄??????????0??2009-09-02?21:30??LCD1602計算器

-----------?---------??----------?-----??----

???????????????368984????????????????????20


評論

共有 條評論