?? sh401.c
字號:
#include <reg52.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
bit gate; // 定時標志位
bit direct; /*設置電機正反轉標志,0-正轉;1-反轉*/
sbit motor1=P1^2;
sbit motor2=P1^3; /*10-正轉;01-反轉*/
uchar data BUFFER[1]={0}; /*定時器計數變量*/
// 主程序,定義中斷源和串口工作方式。
void main (void)
{
P2=0x0f; // 初始化端口
EA=1; IT1=1; ET0=1;
TMOD=0x01; /* T0方式1計時1秒 */
TH0=-5000/256;
TL0=-5000%256;
TR0=1; /* 開中斷,啟動定時器 */
gate=1; // 依據轉向狀態決定電機的動作
for (;;)
{
if (gate)
{
motor1=1;
motor2=0;
}
else
{
motor1=0;
motor2=1;
}
}
}
/* 定時計數器0的中斷服務子程序 */
void timer0(void) interrupt 1 using 1
{
TH0=-5000/256; // 定時器T0的高四位賦值
TL0=-5000%256;
BUFFER[0]=BUFFER[0]+1; // 定時器T0的低四位賦值
if (BUFFER[0]==100) // 百分秒進位
{
gate=! gate; // 轉向標志取反
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -