仿真版本:Proteus8.6及以上版本
程序編譯:Keil5 C51
編程語言:C語言
設(shè)計(jì)編號:【Z01】
1.? 簡介
? 本文提出了一種基于51單片機(jī)的推箱子設(shè)計(jì)。本系統(tǒng)由AT89C51單片機(jī)為控制核心,按鍵處理包括移動(dòng)小人和移動(dòng)箱子,通過移動(dòng)上下左右鍵來控制小人的移動(dòng),通過小人推動(dòng)箱子,把箱子推到指定的目的地為過關(guān),箱子只能推不能拉。
2.? 主要功能
a.支持按鍵實(shí)現(xiàn)開始、上下左右控制!
3.? 源程序(Keil5)
本設(shè)計(jì)采用keil5 C51軟件(內(nèi)附安裝包)實(shí)現(xiàn)程序設(shè)計(jì)。如需用keil4打開程序,可自行通過.c和.h文件新建工程即可。
#include <reg51.h>
#include "data.h"
#include "order.h"
#include "lcdinit.c"
#include "function.c"
void int1(void) interrupt 2
{
keyboard();
}
int main(){
uchar i=1;
error0=0;
error1=0;
error2=0;
delay(50);
EA=1;
IT1=1;
EX1=1;
// wirte_bg();
/*液晶初始化函數(shù)(文本區(qū)首地址D1,文本區(qū)首地址D2, 文本區(qū)寬度, 圖形區(qū)首地址D1, 圖形區(qū)首地址D2, 圖形區(qū)寬度, 光標(biāo)形狀, 顯示方式, 顯示開關(guān))*/
lcd_init(0x00,0x00,0x14,0x50,0x01,0x14,0x00,MOD_XOR,0x0c);
// wirte_bg();
set_cgram();
wirte_cgrom();
cls();
start();
cls();
pushbox();
guan();
while(1)
{
}
return(0);
}
4.? 仿真proteus8.6
? 本設(shè)計(jì)采用proteus8.6軟件(內(nèi)附安裝包)實(shí)現(xiàn)仿真設(shè)計(jì),如下圖所示。proteus軟件一般存在高低版本兼容問題,該仿真是通過proteus8.6導(dǎo)出的,所以請盡量使用proteus8.6打開文件,低于proteus8.6的版本不能夠正常使用,高于proteus8.6的版本除了proteus8.8/8.9理論上可以正常使用。
仿真界面:
5.? 設(shè)計(jì)報(bào)告
設(shè)計(jì)報(bào)告主要包括硬件電路、軟件設(shè)計(jì)、仿真調(diào)試等等,僅供參考。
6.? 資料清單
設(shè)計(jì)資料主要包括C程序+仿真+設(shè)計(jì)報(bào)告+使用說明+元件清單+操作視頻等。
7.? 資料獲取鏈接
百度網(wǎng)盤下載鏈接:【Z01】百度網(wǎng)盤下載鏈接
更多單片機(jī)仿真設(shè)計(jì)合集:單片機(jī)仿真設(shè)計(jì)合集