• 方案介紹
    • 1.? 簡(jiǎn)介
    • 2.? 主要功能
    • 3.? 源程序(Keil5)
    • 4.? 仿真proteus8.6
    • 5.? 設(shè)計(jì)報(bào)告
    • 6.? 資料清單
    • 7.? 資料獲取鏈接
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的12864步進(jìn)電機(jī)控制系統(tǒng)!!!

04/03 09:39
342
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf

共1個(gè)文件

資料清單:C程序+仿真+設(shè)計(jì)報(bào)告+使用說明+元件清單+操作視頻

仿真版本:Proteus8.6及以上版本

程序編譯:Keil5 C51

編程語言:C語言

設(shè)計(jì)編號(hào):【B04】

1.? 簡(jiǎn)介

? 本文介紹一種用AT89C51作為核心部件進(jìn)行邏輯控制及信號(hào)產(chǎn)生的單片機(jī)技術(shù)和C語言編程設(shè)計(jì)的步進(jìn)電機(jī)控制系統(tǒng),本控制系統(tǒng)采用單片機(jī)控制,通過人為按動(dòng)開關(guān)實(shí)現(xiàn)步進(jìn)電機(jī)的正反轉(zhuǎn)、加速、減速、停止。具有靈活方便、適用范圍廣的特點(diǎn),基本能夠滿足實(shí)踐需求。

2.? 主要功能

a.支持按鍵設(shè)置正轉(zhuǎn)、反轉(zhuǎn)、停止、加速、減速。

b.支持LCD12864顯示電機(jī)轉(zhuǎn)動(dòng)信息。

c.支持ULN2003驅(qū)動(dòng)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)。

3.? 源程序(Keil5)

? 本設(shè)計(jì)采用keil5 C51軟件(內(nèi)附安裝包)實(shí)現(xiàn)程序設(shè)計(jì)。如需用keil4打開程序,可自行通過.c和.h文件新建工程即可。

#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit AA=P3^4;//電機(jī)
sbit BB=P3^5;
sbit CC=P3^6;
sbit DD=P3^7;
sbit k1=P1^0;//按鈕
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
sbit k5=P1^4;
sbit RS	=P2^4;//顯示器引腳
sbit RW	=P2^3;
sbit EN	=P2^2;
sbit CS1=P2^0;
sbit CS2=P2^1;
uchar start=0;//開啟
uchar speed=10,time=0;//速度
uchar fang=0,flag=0;//方向
void lcd_r_busy()
{
    P0 = 0x00;
    RS = 0;
    RW = 1;
    EN = 1;
    while (P0 & 0x80);  // 最高位DB7==1,則busy
    EN = 0;
}  
/************* LCD寫命令函數(shù) *************/
void lcd_w_cmd(uchar value)
{
    lcd_r_busy();    // 每次讀寫操作前都要忙判斷
    RS = 0;
    RW = 0;
    P0 = value;
    EN = 1;       // 下降沿鎖存寫入的數(shù)據(jù)/命令
    _nop_();
    _nop_();
    EN = 0;
}  
/************* LCD寫數(shù)據(jù)  **************/
void lcd_w_data(uchar value)
{
    lcd_r_busy();
    RS = 1;
    RW = 0;
    P0 = value;
    EN = 1;        // 下降沿鎖存寫入的數(shù)據(jù)/命令
    _nop_();
    _nop_();
    EN = 0;
}
/***************頁設(shè)置:顯示在哪一頁******************/
/*************共8頁,一頁是8行像素點(diǎn)*****************/
void lcd_set_page(uchar page)
{
    page = 0xb8 | page;   // 頁的首地址為0xb8:page或上0xb8=選擇page頁
    lcd_w_cmd(page);
} 
/************行設(shè)置:起始在哪一行********************/
/**********每頁共8行,一般從0行開始******************/
void lcd_set_line(uchar sline)
{
    sline = 0xc0 | sline;  // 起始行地址為0xc0:sline或上0xc0=選擇行
    lcd_w_cmd(sline);
} 
/*************起始列設(shè)置+像素點(diǎn)選擇********************/
/***********每半片共64列,列值不得大于63***************/
void lcd_set_column(uchar column)
{
    column = 0x3f & column;  // 與上列的最大值63:0x3f 可得所選列值<63
    column = 0x40 | column;  // 得列的首地址
    lcd_w_cmd(column);
}
/*************設(shè)置顯示的開關(guān)********************/
/**********0為關(guān)閉顯示;1為 開啟顯示************/
void lcd_on_off(uchar set)
{
    set = 0x3e | set;    // =0011 111x----0x3e為關(guān)閉顯示;0x3f為開啟顯示
    lcd_w_cmd(set);
}
/*************選擇左右半屏顯示********************/
/********0-全屏顯示;1-左;2-右********************/
/************cs片選端低電平有效********************/
void lcd_cs(uchar sel)
{
    switch (sel)
    {
    case 0:CS1 = 0; CS2 = 0; break;   // 全屏顯示
    case 1:CS1 = 0; CS2 = 1; break;   // 左顯示
    case 2:CS1 = 1; CS2 = 0; break;   // 右顯示
    default:break;
    }
}
/*************清屏:選擇半屏********************/
/********0-清全屏;1-清左;2-清右***************/
void lcd_clear(uchar sel)
{
    uchar i, j;
    lcd_cs(sel);
    for (i = 0; i < 8; i++)
    {
        lcd_set_page(i);
        lcd_set_column(0);
        for (j = 0; j < 64; j++)
        {
            lcd_w_data(0x00);  // 每列全部寫0,列地址指針自動(dòng)+1
        }
    }
}

4.? 仿真proteus8.6

? 本設(shè)計(jì)采用proteus8.6軟件(內(nèi)附安裝包)實(shí)現(xiàn)仿真設(shè)計(jì),如下圖所示。proteus軟件一般存在高低版本兼容問題,該仿真是通過proteus8.6導(dǎo)出的,所以請(qǐng)盡量使用proteus8.6打開文件,低于proteus8.6的版本不能夠正常使用,高于proteus8.6的版本除了proteus8.8/8.9理論上可以正常使用。

正轉(zhuǎn):

反轉(zhuǎn):

停止:

5.? 設(shè)計(jì)報(bào)告

? 設(shè)計(jì)報(bào)告主要包括硬件電路、軟件設(shè)計(jì)、仿真調(diào)試等等,僅供參考。

6.? 資料清單

? 設(shè)計(jì)資料主要包括C程序+仿真+設(shè)計(jì)報(bào)告+使用說明+元件清單+操作視頻等。

7.? 資料獲取鏈接

百度網(wǎng)盤下載鏈接:【B04】百度網(wǎng)盤下載鏈接

更多單片機(jī)仿真設(shè)計(jì)合集:單片機(jī)仿真設(shè)計(jì)合集

  • 單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf
    下載

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時(shí)響應(yīng)!