Giáo trình hướng dẫn cách điều chỉnh hệ thống truyền động điện trên băng chuyền trong sản xuất công nghiệp phần 8 potx - Pdf 19


64
năng khác, vì vậy chúng ta chỉ được dùng trong giao tiếp với các thiết bị
ngoài.
+
Port2: Port2 là một port có công dụng kép trên các chân 21÷28 được dùng
như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế
dùng bộ nhớ mở rộng.
+
Port3: Port3 là một port công dụng kép trên các chân 10 ÷17. Các chân của
port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc
tính đặc biệt của 8051 như ở bảng sau:
Bít Tên Chức năng chuyển đổi
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.5
P3.7
RXD
TDX
INTO
INT1
TO
T1
WR
RD
Dữ liệu nhận cho port nối tiếp
Dữ liệu phát cho port nối tiếp

mắc lên mức cao (+5V) hoặc mức thấp (GND). Nếu ở mức cao, 8051 thi hành
chương trình từ ROM nội trong khoảng địa chỉ thấp (4K). Nếu ở mức thấp,
chương trình chỉ được thi hành từ bộ nhớ mở rộng. Nếu EA được nối mức
thấp, bộ nhớ bên trong chương trình 8051 sẽ bị cấm và chương trình thi hành
từ EPROM mở rộng. Người ta còn dùng chân EA làm chân cấp đ
iện áp 21 V
lập trình cho EPROM trong 8051.
+ SRT (Reset): Ngõ vào RST trên chân 9 là ngõ reset của 8051. Khi tín
hiệu này được đưa lên mức cao (trong ít nhất 2 chu kỳ máy), các thanh ghi
trong 8051 được tải những giá trị thích hợp để khởi động hệ thống.
+ Các ngõ vào bộ dao động trên chip: Như đã thấy trong các hình
trên, 8051 có một bộ dao động trên chip. Nó thường được nối với thạch anh
giữa hai chân 18 và 19. Các tụ giữa cũng cần thiết như đã vẽ. Tần số thạch
anh thông thường là 12 MHz.
+ Các chân nguồn: 8051 vận hành với nguồn đơn +5V. V
cc
được nối
vào chân 40 và V
ss
(GND) được nối vào chân 20.
c) Tổ chức bộ nhớ.
8051 có bộ nhớ theo cấu trúc Harvard: có những vùng cho bộ nhớ riêng
biệt cho chương trình dữ liệu. Như đã nói ở trên, cả chương trình và dữ liệu có

66
thể ở bên trong 8051, dù vậy chúng có thể được mở rộng bằng các thành phần
ngoài lên đến tối đa 64 Kbytes bộ nhớ chương trình và 64 Kbytes bộ nhớ dữ
liệu.
Bộ nhớ bên trong bao gồm ROM và RAM trên chip, Ram trên chip bao
gồm nhiều phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hoá từng bít, các

WR và
RD
FFFF FFFF
00
0000 0000
FF

67
Các thanh ghi trong 8051 được định dạng như một phần của RAM trên
chip. Vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi trực tiếp, sẽ
không có lợi khi đặt chúng vào RAM trên chip). Đó là lý do để 8051 có nhiều
thanh ghi. Cũng như R0 đến R7, có 21 thanh ghi chức năng đặc biệt (SFR:
Special Funtion Rgister) ở vùng trên của RAM nội, từ địa chỉ 80H đến FFH.
Chú ý rằng hầu hết 128 địa chỉ từ 80h đến FFH không được định nghĩ
a. Chỉ
có 21 địa chỉ SFR là được định nghĩa.
Ngoại trừ thanh ghi tích luỹ (A) có thể được truy xuất ngầm như đã nói,
đa số các SFR được truy xuất dùng địa chỉ trực tiếp, chú ý rằng một vài SFR
có thể được địa chỉ hoá bit hoặc byte. Người thiết kế phải thận trọng khi truy
xuất bit và byte. 8051 có các thanh ghi sau:
- Từ trạng thái chương trình.
- Thanh ghi B.
- Con trỏ ngăn xếp.
- Con trỏ dữ liệu.
- Các thanh ghi port xuất nhập.
- Các thanh ghi timer.
- Các thanh ghi port nối tiếp.
- Các thanh ghi ngắt.
- Các thanh ghi điều khiển công suất.
e) Bộ nhớ ngoài.

việc tạo xung nhịp đều đặn của timer để đo thời gian trôi qua giữa hai sự kiện
(ví dụ: đo độ rộng xung).
Đếm sự kiện dùng để xác định số lần xảy ra của một sự kiện. Một “sự
kiện” là bất cứ tác động nào có thể cung cấ
p một chuyển trạng thái trên một
chân của 8051. Các timer cũng có thể cung cấp xung nhịp tốc độ baud cho
port nối tiếp trong 8051.
Truy xuất timer của 8051 dùng 6 thanh ghi chức năng đặc biệt cho
trong bảng sau:

69
SFR MỤC ĐÍCH ĐỊA CHỈ Địa chỉ hoá từng bit
TCON
TMOD
TL0
TL1
TH0
TH1
Điều khiển timer
Chế độ timer
Byte thấp của timer 0
Byte thấp của timer 1
Byte cao của timer 0
Byte cao của timer 1
88H
89H
8AH
8BH
8CH
8DH


#define Kp 75.56
#define Ti 19.38
#define Td 0
#define setspe 40

void ex0_ISR(void) interrupt 0
{
ET0=1;
n++;
}
void timer0_ISR(void) interrupt 1
{
m++;
TL0=0x00;
TH0=0x4C;
TR0=1;
}
void timer1_ISR(void) interrupt 3
{
if(k==0)
{
P2_0=0;
P2_1=0;
k++;
TL1=speed&0xFF;
TH1=speed>>8;
TR1=1;
}
else if(k==1)

{
error_spe_current=setspe-n;

72
total_error_current=total_error_past + error_spe_current;
P=Kp*error_spe_current;
I=Kp*(total_error_current)/Ti;
D=Kp*Td*(error_spe_current - error_spe_past);
Uk=(P+I+D);
total_error_past=total_error_current;
error_spe_past = error_spe_current;
return(Uk);
}
int Cospeed(void)
{
int cospe;
R();
cospe=setspe*81-(int)(Uk);
if(cospe<4608)
cospe=4608;
else if(cospe>23040)
cospe=23040;
else
_nop_();
speed=-cospe;
return(speed);
}
void kiemtra_1s(void)
{
if(m==20)


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status