51單片機課程設計電路圖
發布時間: 2021-02-05 23:22:15
㈠ 51單片機課程設計
單片機外接一個I2C匯流排的EEPROM作為賬戶的存儲器,通過程序比對鍵盤輸入和存儲版器中存儲的賬權戶信息進行對比,正確則使一個輸出引腳電平為高或低,具體根據硬體電路確定,使繼電器吸合控制電子鎖開門,密碼錯誤,則給出提示。顯示器可以使用LCD1602。基本思路就是這樣。
㈡ 51單片機課程設計,編程並設計模擬電路
^#include<reg51.h>
#include<INTRINS.h>
#defineu16unsignedint
#defineu8unsignedchar
sbitk_add1=P1^0;
sbitk_add2=P1^1;
sbitk_add3=P1^2;
sbitk_sub1=P1^3;
u8key=0xff;//消抖後的有效按鍵值
u8key_down=0x00;//按鍵下降沿掃描結果,1有效
u8key_sc=0xff;//上次掃描的按鍵值
//按鍵掃描程序
voidscanKey(){
staticu8temp0;
staticu8ms;
u8temp=0;
if(k_add1==1)temp|=0x01;
if(k_add2==1)temp|=0x02;
if(k_add3==1)temp|=0x04;
if(k_sub1==1)temp|=0x08;
if(temp==temp0){//按鍵消抖
if(++ms>=5){//連續5次掃描的值一樣,則認為是穩定狀態
key=temp;
ms=0;
}
}else{
temp0=temp;
ms=0;
}
key_down=key_sc&(~key);//下降沿掃描
key_sc=key;
}
u8readPIN(u8port,u8pin){
codeu8tab[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,};
return((port&tab[pin])==0?0:1);
}
u8ds[4];//數碼管顯示緩存
codeu8w[]={0x01,0x02,0x04,0x08,}; //位碼
codeu8d[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};//斷碼
voiddispaly(){//顯示函數
staticu8a;
a++;
if(a>3)a=0;
P0=0xff;
P2=w[a];
P0=d[ds[a]];
}voidinit() //初始化函數
{TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
ET0=1;
}
u16count=0;
voidmain()//主函數
{
init();
TR0=1;
while(1){
ds[0]=count/1000%10;//將當前分值送到數碼管緩存
ds[1]=count/100%10;
ds[2]=count/10%10;
ds[3]=count%10;
scanKey();//掃描按鍵
if(readPIN(key_down,0)==1){//加1
count+=1;
}
if(readPIN(key_down,1)==1){//加2
count+=2;
}
if(readPIN(key_down,2)==1){//加3
count+=3;
}
if(readPIN(key_down,3)==1){//減1
count-=1;
}
if((key&0x0f)==0){//四個減一起按下,記分清零
count=0;
}
}
}voidtimer0()interrupt1//定時器,實現倒計時
{
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
dispaly();
}
㈢ 求51單片機課程設計 方波發生器 含有電路圖 程序代碼(匯編) 模擬圖 PCB板圖 多謝 郵箱:[email protected]
mian()
{
while(1)
{
P0=~P0;
P1=~P1;
P2=~P2;
P3=~P3;
}
}
這就可以每個腳都輸出方波了。
㈣ 求一份80C51單片機課程設計,要原理圖跟proteus模擬,謝謝
這個還是自己摸索的號,要幫助可以找我
㈤ 求51單片機課程設計一份 含有電路圖 程序代碼(匯編) 模擬圖 PCB板圖 多謝l - -
我有全套資料
㈥ 基於51單片機的課程設計,要求有完整代碼和電路圖,和零件清單,最好有詳細的資料。
去淘寶買個開發板就什麼都有了 也不貴 30來塊錢
㈦ 基於AT89C51單片機的數字電壓表設計 課程設計 包括電路圖 程序 模擬圖
自己想!!!!!!!
熱點內容