Tải bản đầy đủ - 0 (trang)
Phần mềm trên máy tính

Phần mềm trên máy tính

Tải bản đầy đủ - 0trang

-



Thiết lập được các chế độ hoạt động cho mạch hiển thị như thời gian

hiển thị hình, đặt góc quay, …



3.2.2 Các thuật toán

3.2.2.1 Các thuật toán cho ATTiny2313 ở mạch hiển thị

Chương trình chính:

 Khởi động các port xuất/nhập, cho phép các ngắt hoạt động

 Quét lần lượt từng LED để tìm LED bị hỏng

 Thăm dò lệnh từ máy tính



40



Bắt đầu

Khởi động các port xuất/nhập

Cho các ngắt hoạt động: INT0; TIMER0 OVF; INT1

Đọc time từ EEPROM nội(thời gian hiển thị hình);

Gán biến cmd =MCUSR



S



cmd & _BV(PORF)) != 0

Đ

Quét qua từng LED



Tắt tất cả các LED

Chỉ để lại LED 2



cmd = Byte nhận về từ mạch giao

tiếp với máy tính

Đ



cmd = 0

S



S

S



cmd=rea

d

Đ

Chương trình

con đọc dữ liệu

từ 25LC512



41



cmd=writ

e

Đ

Chương trình

con ghi dữ liệu

vào 25LC512



Trình phục vụ ngắt INT1

 Cài đặt giá trị OCR1A để điều khiển ngắt COMPARE1A.

 Điều khiển chuyển sang hình tiếp theo

 Biến timer: thời gian hiển thị của hình

 Biến addr: địa chỉ của hình trong 25LC512

 Địa chỉ của hình là 1536*n (n là số thứ tự của hình)

 Khi đọc xong hình 42 sẽ quay trở lại đọc từ hình 1

INT1

Đ



timer != time



timer++



S

timer = 0

Đ



addr < 1536*41

S

, addr = 0

Cài đặt giá trị OCR1A

Cho phép timer1 hoạt động

sensor_timer = 0



Kết thúc



42



addr += 1536



Trình phục vụ ngắt INT0

 Khi nhấn button, mạch hiển thị sẽ reset.

 Nhấn giữ button sẽ tắt mạch hiển thị.

INT0



! (BUTTON_PIN &

_BV(BUTTON))

Đ



,



T++

_delay_ms(1)



Đ



Reset mạch



T < 500UL

S

,



Tắt mạch

Tắt tất cả các LED

deselect EEPROM

Tắt timer0, timer1

Đưa chip về trạng thái ngủ



Kết thúc



43



S



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Phần mềm trên máy tính

Tải bản đầy đủ ngay(0 tr)

×