sự tình là thế này:
em viết một chương trình gồm hai môdun:
môdun 1: pwm dùng ngắt T0 chế độ 8 bit
môdun 2: giao tiếp dùng ngắt T1 chế độ 16 bi
thời gian ngăt của T0 nhỏ hơn thời gian ngắt của T1.cả hai đều hoạt động tốt.
nhưng vấn đề phát sinh khi trong chương trình chính (main em dùng dữ liệu lấy được khi giao tiếp để đóng ngắt P3 như sau
....
main:
.....
mov b,23h ; 23h là địa chỉ chứa byte lấy được trong phần giao tiếp ( đa check, ok)
mov a,200 ; 200 là giá trị muốn so sánh.
subb a,b
jnc here ; a lớn hơn b thì nhảy đến here
mov p3,#00h ; ngược lại
here:
mov p3,#ffh
........
ljmp main
-theo lý thì khi do chân p3 thì chỉ có hai giá trị 0V hoặc 5V.(lý tưởng). nhưng đàng này nó chỉ thây đổi từ 0v ->2v (xài con 89s52 và 89c51).
không hiểu là bị gì nữa. cón ai gặp trường hợp tương tự chửa?????
HIC CHO EM CHÚT Ý KIẾN GÓP Ý. THANKSSSSSSSSSSSS
sau khi tắt ngắt T0 đi thì lại hoạt động bình thường.không hiểu do đâu???
em viết một chương trình gồm hai môdun:
môdun 1: pwm dùng ngắt T0 chế độ 8 bit
môdun 2: giao tiếp dùng ngắt T1 chế độ 16 bi
thời gian ngăt của T0 nhỏ hơn thời gian ngắt của T1.cả hai đều hoạt động tốt.
nhưng vấn đề phát sinh khi trong chương trình chính (main em dùng dữ liệu lấy được khi giao tiếp để đóng ngắt P3 như sau
....
main:
.....
mov b,23h ; 23h là địa chỉ chứa byte lấy được trong phần giao tiếp ( đa check, ok)
mov a,200 ; 200 là giá trị muốn so sánh.
subb a,b
jnc here ; a lớn hơn b thì nhảy đến here
mov p3,#00h ; ngược lại
here:
mov p3,#ffh
........
ljmp main
-theo lý thì khi do chân p3 thì chỉ có hai giá trị 0V hoặc 5V.(lý tưởng). nhưng đàng này nó chỉ thây đổi từ 0v ->2v (xài con 89s52 và 89c51).
không hiểu là bị gì nữa. cón ai gặp trường hợp tương tự chửa?????
HIC CHO EM CHÚT Ý KIẾN GÓP Ý. THANKSSSSSSSSSSSS
sau khi tắt ngắt T0 đi thì lại hoạt động bình thường.không hiểu do đâu???
Comment