資源簡介
基于單片機的立體車庫控制系統設計
該項目包括原理圖電路圖 程序源碼 演示視頻講解文檔全套資料
三分拿去 超值了
代碼片段和文件信息
#include????//包含單片機寄存器的頭文件
#include?//包含_nop_()函數定義的頭文件
typedef?unsigned?char?uchar;?
typedef?unsigned?int??uint;
typedef?unsigned?char?BYTE;
typedef?unsigned?int?WORD;
typedef?bit?BOOL;
#define?delayNOP()?{_nop_();_nop_();_nop_();_nop_();};
sbit?rs=P0^7;
sbit?rw=P0^6;
sbit?ep=P0^5;
sbit?Max7219_pinCLK?=?P0^2;
sbit?Max7219_pinCS??=?P0^1;
sbit?Max7219_pinDIN?=?P0^0;
sbit?LED?=?P3^5;
uchar?code?cdis1[]??=?“0123456789“;
uchar?code?quche[]??=?“Please?input?num“;
uchar?code?geshi[]??=?“free?place?num??“;
uchar?code?waite[]??=?“???Please?wait??“;
uchar?code?cun[]????=?“Please?go?num.?d“;
uchar?code?NO[]?????=?“??No?Place_num??“;
uchar?kxyPlace_num=64;
uchar?disp1[8]={????????????????????????//用于存放車位狀態信息?
0xff0x000x000x000x000x000x000x00?????
};
/***************延時函數*****************************/
void?delay(uchar?i)????//x*0.14MS
{
while(i--);
}
void?delay_ms(uint?k)
{
uint?ij;
for(i=0;i for(j=0;j<123;j++);
}
void?delay1?(int?m)
{
unsigned?char?ij;
for?(i=0;i for?(j=0;j<253;j++);
}
BOOL?lcd_bz()
{
BOOL?result;
rs=0;???????????//?讀忙信號
rw=1;
ep=1;
_nop_();
_nop_();
_nop_();
_nop_();
result?=?(BOOL)(P2&0x80);
ep=0;
return?0;
}
void?lcd_wcmd?(BYTE?cmd)
{
while?(lcd_bz());
rs=0;
rw=0;
ep=0;
_nop_();
_nop_();
P2=cmd?;
_nop_();
_nop_();
_nop_();
_nop_();
ep=1;
_nop_();
_nop_();
_nop_();
_nop_();
ep=0;
}
void?lcd_pos?(BYTE?pos)
{
lcd_wcmd?(pos|0x80);
}
void?lcd_wdat?(BYTE?dat)
{
while(lcd_bz());
rs=1;
rw=0;
ep=0;
_nop_();
_nop_();
P2=dat?;
_nop_();
_nop_();
_nop_();
_nop_();
ep=1;
_nop_();
_nop_();
_nop_();
_nop_();
ep=0;
}
void?string(uchar?aduchar?*sbit?k) //輸出顯示字符串的函數??第一個參數表示位置?第二個參數是要顯示的字符串,第三個是選擇是否清屏
{
if(k)
lcd_wcmd?(0x00|ad);
lcd_wcmd?(ad|0x80);
delay_ms(2);
while(*s>0)
{
lcd_wdat(*s++); //輸出字符串,且指針增1
//delay(2);
}
}
void?lcd_init?()
{
// uchar?i;
lcd_wcmd?(0x38);
delay1?(1);
lcd_wcmd?(0x0c);
delay1?(1);
lcd_wcmd?(0x06);
delay1?(1);
lcd_wcmd?(0x01);
delay1?(2);
string(0“Free?place?num??“0); //主頁面顯示
}
//--------------------------------------------
//功能:向MAX7219(U3)寫入字節
//入口參數:DATA?
//出口參數:無
//說明:
void?Write_Max7219_byte(uchar?DATA)?????????
{
uchar?i;????
Max7219_pinCS=0;
for(i=8;i>=1;i--)
{ ??
Max7219_pinCLK=0;
Max7219_pinDIN=DATA&0x80;
DATA=DATA<<1;
Max7219_pinCLK=1;
}?????????????????????????????????
}
//-------------------------------------------
//功能:向MAX7219寫入數據
//入口參數:address、dat
//出口參數:無
//說明:
void?Write_Max7219(uchar?addressuchar?dat)
{?
Max7219_pinCS=0;
Write_Max7219_byte(address);???????????//寫入地址,即數碼管編號
Write_Max7219_byte(dat);???????????????//寫入數據,即數碼管顯示數字?
Max7219_pinCS=1;????????????????????????
}
void?Init_MAX7219(void)
{
Write_Max7219(0x09?0x00);???????//譯碼方式:BCD碼
Write_Max7219(0x0
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-10?18:51??成品\
?????目錄???????????0??2018-04-29?20:33??成品\程序\
?????文件????????8574??2018-04-29?17:24??成品\程序\main.c
?????文件???????22223??2018-04-29?17:24??成品\程序\main.LST
?????文件???????21600??2018-04-29?17:24??成品\程序\main.OBJ
?????文件???????18353??2018-04-29?17:24??成品\程序\立體車庫
?????文件????????4835??2018-04-29?17:24??成品\程序\立體車庫.hex
?????文件???????24769??2018-04-29?17:24??成品\程序\立體車庫.M51
?????文件????????1262??2018-04-29?17:24??成品\程序\立體車庫.plg
?????文件??????133723??2018-04-29?17:39??成品\程序\立體車庫.uvgui.Stupid
?????文件??????133723??2018-04-29?17:39??成品\程序\立體車庫.uvgui_Stupid.bak
?????文件????????5376??2018-04-29?17:39??成品\程序\立體車庫.uvopt
?????文件???????13388??2018-04-20?22:20??成品\程序\立體車庫.uvproj
?????文件???????????0??2018-04-20?17:46??成品\程序\立體車庫_uvproj.bak
?????文件??????175104??2018-04-29?20:33??成品\立體車庫.SchDoc
?????文件??????????67??2018-10-14?18:14??聯系.txt
?????目錄???????????0??2018-10-10?18:51??視頻\
?????文件????15491748??2018-04-29?09:05??視頻\視頻1.mp4
?????目錄???????????0??2018-10-10?18:52??需求\
?????文件???????13491??2018-04-10?11:52??需求\任務書.docx
評論
共有 條評論