久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
步進電機+1602顯示C源代碼
[打印本頁]
作者:
hustbiu
時間:
2016-12-14 12:41
標題:
步進電機+1602顯示C源代碼
步進電機+1602顯示C源代碼
下載:
步進電機 LCD1602顯示.doc
(3.72 KB, 下載次數: 17)
2016-12-14 12:40 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
/*此程序在SP-518USB開發板上測試過 laosong */
/******************************步進電機的驅動*************************************
程序名稱: 按鍵控制電機正反轉,LCD1602顯示正反轉
說明:使用本程序你必須把 SE5設置為ON(2-3)短接
;FOSC = 12MHz
;---------------------------------------------------------------------------------
; 步進電機的驅動信號必須為脈沖信號!!! 轉動的速度和脈沖的頻率成正比!!!
; 本步進電機步進角為 5.625度 . 一圈 360 度 , 需要64個脈沖完成!!!
;---------------------------------------------------------------------------------
; A組線圈對應 P1.4
; B組線圈對應 P1.5
; C組線圈對應 P1.6
; D組線圈對應 P1.7
; 正轉次序: AB組--BC組--CD組--DA組 (即一個脈沖,正轉5.625度)
;----------------------------------------------------------------------------------
**********************************************************************************/
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit lcd_rs_port = P2^7; /*定義LCD控制端口*/
sbit lcd_rw_port = P2^6; /*定義LCD控制端口*/
sbit lcd_en_port = P2^5; /*定義LCD控制端口*/
#define lcd_data_port P0 /*定義LCD控制端口*/
#define motor P1 /*步進電機接口*/
sbit P34 = P3^4; /*控制正轉按鍵*/
sbit P33 = P3^3; /*控制電機停止*/
sbit P11 = P1^1; /*控制電機反轉*/
uchar code motor_table[][4]={{0x0f,0x0f,0x0f,0x0f},{0x3f,0x6f,0xcf,0x9f},{0x3f,0x9f,0xcf,0x6f}}; /*正反轉表*/
uchar code lcd_table1[] = {"Motor Direction "};
uchar code lcd_table2[][16]={{" stop "},
{" >>>>>>>> "},
{" <<<<<<<< "}};
void lcd_delay(uchar ms) /*LCD1602 延時*/
{
uchar j;
while(ms--){
for(j=0;j<250;j++)
{;}
}
}
void lcd_busy_wait() /*LCD1602 忙等待*/
{
lcd_rs_port = 0;
lcd_rw_port = 1;
lcd_en_port = 1;
lcd_data_port = 0xff;
while (lcd_data_port&0x80);
lcd_en_port = 0;
}
void lcd_command_write(uchar command) /*LCD1602 命令字寫入*/
{
lcd_busy_wait();
lcd_rs_port = 0;
lcd_rw_port = 0;
lcd_en_port = 0;
lcd_data_port = command;
lcd_en_port = 1;
lcd_en_port = 0;
}
void lcd_system_reset() /*LCD1602 初始化*/
{
lcd_delay(20);
lcd_command_write(0x38);
lcd_delay(100);
lcd_command_write(0x38);
lcd_delay(50);
lcd_command_write(0x38);
lcd_delay(10);
lcd_command_write(0x08);
lcd_command_write(0x01);
lcd_command_write(0x06);
lcd_command_write(0x0c);
}
void lcd_char_write(uchar x_pos,y_pos,lcd_dat) /*LCD1602 字符寫入*/
{
x_pos &= 0x0f; /* X位置范圍 0~15 */
y_pos &= 0x01; /* Y位置范圍 0~ 1 */
if(y_pos==1) x_pos += 0x40;
x_pos += 0x80;
lcd_command_write(x_pos);
lcd_busy_wait();
lcd_rs_port = 1;
lcd_rw_port = 0;
lcd_en_port = 0;
lcd_data_port = lcd_dat;
lcd_en_port = 1;
lcd_en_port = 0;
}
/*1MS為單位的延時程序*/
void delay_1ms(uchar x)
{
uchar j;
while(x--) { for(j=0;j<125;j++); }
}
void main()
{
uchar i;
uchar yunzhuang=0; /*運轉狀況 0停止 1正轉 2反轉*/
uchar count=0; /*電機轉動步數*/
motor = 0x0f; /*電機停止*/
lcd_system_reset(); /*LCD1602 初始化*/
for(i=0;i<16;i++) lcd_char_write(i,0,lcd_table1[i]);
while(1){
motor = motor_table[yunzhuang][count]; /*電機轉動*/
delay_1ms(5);
count++; /*電機步數加1*/
if(count>=4) count = 0; /*完成一圈轉動*/
for(i=0;i<16;i++) lcd_char_write(i,1,lcd_table2[yunzhuang][i]);
if(P33==0){
delay_1ms(1);
if(P33==0){
yunzhuang = 0;
}
}
else if(P34==0){
delay_1ms(5);
if(P34==0){
yunzhuang = 1;
count = 0;
}
}
else if(P11==0){
delay_1ms(1);
if(P11==0){
yunzhuang = 2;
}
}
}
}
復制代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
精产国产伦理一二三区
|
欧美黄色一区
|
在线国产小视频
|
欧美高清dvd
|
青青艹在线视频
|
一区二区视频在线
|
欧美日韩在线观看视频网站
|
国产精品久久久
|
黄色永久免费
|
午夜网
|
91精品久久久久久久久中文字幕
|
久久精品成人
|
久久激情视频
|
视频一区二区三区中文字幕
|
不卡av电影在线播放
|
欧美片网站免费
|
成人一区二区三区视频
|
午夜影院毛片
|
亚洲一区中文字幕在线观看
|
久草新在线
|
国产精品av久久久久久毛片
|
免费一区二区三区在线视频
|
亚洲精品免费在线
|
久久涩涩
|
国产98在线 | 免费,
|
欧美精品日韩精品国产精品
|
欧美精品久久久
|
奇米四色在线观看
|
国产乱码精品一区二区三区中文
|
午夜理伦三级理论三级在线观看
|
日本激情视频中文字幕
|
中文字幕av第一页
|
四虎成人在线播放
|
极品电影院
|
国产精品久久久久一区二区
|
日日摸夜夜添夜夜添特色大片
|
97国产成人
|
一区二区久久电影
|
成人一区二区三区在线观看
|
亚洲字幕在线观看
|
久久久久久蜜桃一区二区
|