Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
Tùy vào từng loại...mỗi con có giới hạn cho ISR (hay là Program counter).
Như dòng 16F hay dùng là 16F877A thì là 20MHz...chia ra thì có 5 triệu lệnh trên giây.
Dòng 18Fxx thì chắc cũng thế.
Thấy bảo dòng DSPIC còn nhanh hơn 30 triệu lệnh trên giây.
Chả hiểu gì cả. Cụ thể nếu bị giới hạn thì là thời gian thực hiện ISR tối đa là bao nhiêu?
Mong các bác trả lời chi tiết hơn.
Cám ơn
Chả hiểu gì cả. Cụ thể nếu bị giới hạn thì là thời gian thực hiện ISR tối đa là bao nhiêu?
Mong các bác trả lời chi tiết hơn.
Cám ơn
ac...thế này nhé ...xung clock hay dùng cấp từ thạch anh...ở PIC16 tối đa là 20M...xung này làm cho VDK hoạt động theo nhịp...bộ đếm chương trình thì tự động tăng nhờ có clock...cung cấp địa chỉ cho IR ... nói chung là thòi gian để thực hiện lệnh là phụ thuộc một mặt vào tốc độ thạch anh...ở đây PIC thực hiện 4 chu kỳ đồng hồ thì được một lệnh...nghĩa là khoảng (2us với 20M)
Với CCS :PIC 16F dùng ngắt mềm , do đó CCS sinh mã hệt như khi ta dùng ASM , cũng hỏi vòng và kiểm tra cờ ngắt ( nếu bạn lập trình dùng hơn 1 ngắt ) .Làm sao thay đổi ưu tiên hỏi vòng ? dùng #priotity . Còn nếu muốn tự mình làm mọi thứ thì dùng ngắt #GLOBAL để tự viết ngắt , lưu thanh ghi W và hỏi vòng . Nhưng phải nhớ là không được thêm bất cứ hàm ngắt nào khác , VD #Int_timer1 , . . .
PIC 18 : phức tạp hơn trên CCS , cách dùng tôi có nói rõ trong bản CCS tiếng việt trên picvietnam.com
Các bạn có thể gửi cho mình các link nói về ngắt trong CCS của diễn đàn k?
link của noisepic post lên bị died rùi.
Mình đang rất cần, rất mong được sự giúp đỡ của các bạn.thanks..........
Mình đang học PIC 16F877a nhưng bằng ngôn ngữ ASM.các bạn ai có đoạn Code nào viết về ngắt trên RB4:RB7 bằng ngôn ngữ ASM không cho mình xin với.Thanks!
HELP ME
minh dang hoc con pic 16f877.minh thu test ngat ngoai RB.theo nhu minh chay chuong trinh bang tay thi thay OK.nhung khi mo phong bang protues thi lai gap vande.minh chi thuc hien ngat co 1 lan nhung chuong trinh lai luon chay ham ngat ma ko lam viec trong ham main nua(cu the la no khi thuc hien ngat thi no khong hieu ham WHILE ).cac ban xem giup va chi cho minh cach khac phuc cai nay nhe,day la chuong trinh va file mo phong protues cua minh.
link: http://www.mediafire.com/?y4zjfjz2lwm
HELP ME
minh dang hoc con pic 16f877.minh thu test ngat ngoai RB.theo nhu minh chay chuong trinh bang tay thi thay OK.nhung khi mo phong bang protues thi lai gap vande.minh chi thuc hien ngat co 1 lan nhung chuong trinh lai luon chay ham ngat ma ko lam viec trong ham main nua(cu the la no khi thuc hien ngat thi no khong hieu ham WHILE ).cac ban xem giup va chi cho minh cach khac phuc cai nay nhe,day la chuong trinh va file mo phong protues cua minh.
link: http://www.mediafire.com/?y4zjfjz2lwm
Em có đoạn chương trình sau dùng để hiển thị chữ lên LCD dùng ngắt nhưng không được.
Dây là code va sơ đồ nghuyên lý.
Rất mong mọi người chỉ cho em chỗ sai.
HELP ME
minh dang hoc con pic 16f877.minh thu test ngat ngoai RB.theo nhu minh chay chuong trinh bang tay thi thay OK.nhung khi mo phong bang protues thi lai gap vande.minh chi thuc hien ngat co 1 lan nhung chuong trinh lai luon chay ham ngat ma ko lam viec trong ham main nua(cu the la no khi thuc hien ngat thi no khong hieu ham WHILE ).cac ban xem giup va chi cho minh cach khac phuc cai nay nhe,day la chuong trinh va file mo phong protues cua minh.
link: http://www.mediafire.com/?y4zjfjz2lwm
Sao không thấy dòng này: enable_interrupts(GLOBAL);
Nếu trong hàm ngắt bác sử dụng hàm delay_ms(xx) mà trong chương trình nền cũng dùng hàm này thì rất có khả năng chương trình không chạy. Tui chưa biết nguyên nhân vì sao vì tui cũng mới làm với PIC chưa nhiều nhưng thực tế tui đã gặp tình huống này. Kinh nghiệm nữa của tui là trong hàm xử lý ngắt tốt nhất không dùng hàm delay, các hàm ngắt cần thực thi thời gian càng ngắn càng tốt. Nếu không thể thực hiện thời gian ngắn thì nên set một cờ nào đó rồi chuyển bớt qua chương trình nền. Trong trường hợp xử lý bàn phím thì nên chống rung cứng bằng cách nối song song với 1 tụ gốm 100n (104) không nên dùng hàm delay để chống rung.
Đó là chút ít kinh nghiệm tui có được khi làm việc với PIC. Chúc bác thành công.
Thân ái.
Đường đến những ngày vinh quang không còn xa
Con đường chúng ta... chúng ta đã chọn.
Sao không thấy dòng này: enable_interrupts(GLOBAL);
Nếu trong hàm ngắt bác sử dụng hàm delay_ms(xx) mà trong chương trình nền cũng dùng hàm này thì rất có khả năng chương trình không chạy. Tui chưa biết nguyên nhân vì sao vì tui cũng mới làm với PIC chưa nhiều nhưng thực tế tui đã gặp tình huống này. Kinh nghiệm nữa của tui là trong hàm xử lý ngắt tốt nhất không dùng hàm delay, các hàm ngắt cần thực thi thời gian càng ngắn càng tốt. Nếu không thể thực hiện thời gian ngắn thì nên set một cờ nào đó rồi chuyển bớt qua chương trình nền. Trong trường hợp xử lý bàn phím thì nên chống rung cứng bằng cách nối song song với 1 tụ gốm 100n (104) không nên dùng hàm delay để chống rung.
Đó là chút ít kinh nghiệm tui có được khi làm việc với PIC. Chúc bác thành công.
Thân ái.
Dùng delay trong ngắt và cả main ??? Nếu dùng trong ngắt mà quá trình xảy ra ngắt liên tục ( trong lúc delay thì sẽ bị Đệ Qui là cho pic không chạy được nữa . Vì thế nhiều trình dịch thường cảnh báo, cấm không cho dùng ở cả ngắt và main.
--- Dĩ nhiên trong ngắt ta vẫn có thể dùng delay (tự tạo hàm) và main dùng delay ( khác - thư viện có sẵn chẳng hạn) .... dùng delay trong ngắt thì trước nó ta disable ngắt đi... để ngắt làm việc bình thường ( như trong main) hết delay ta lại enable ngắt lại.
Nguyên văn bởi xuanthuytd than men trong ngat rb thi ban chu y dong chu " cu co mot tac dong canh len or xuong thi xay ra ngat rb ko phan biet la canh nao ,mien la co su thay doi trang thai la ngat rb xay ra.do do trong ngat ban phai xet them tha nút nhấn ra chua roi moi thoat ngat"
Phải làm đúng quy chình thì mới được
Bươc 1 lấy cái nguồn điều chỉnh, set về đúng 12v, cấp cho đường out 19v như hình. Chú ý là phần đầu vào adaptor không cấp điện.
Bước 2 . Kiểm tra điện áp tại chân số 3 das001 có đúng...
Nhấp nháy có thể do chu kỳ hoạt động bị rút ngắn quá dẫn đến không đủ nguồn nuôi ic, bác thử tăng giá trị tụ nguồn phụ nuôi ic và giảm giá trị điện trở hạn dòng cho nó xem có cải thiện không....
Dạ với mức áp chênh lệch quá nhìu thì ngoài chỉnh hồi tiếp thì chú cần quấn lại thứ cấp biến áp nữa ạ. Tùy loại mà có thể sẽ khéo léo rút bớt vòng dây đỡ phải tách lõi ferit ạ...
E có adapter laptop cũ hiệu asus chạy tốt ,có đầu ra ổn định ở 19,4v dòng 3,42A ( công suất 60w). E định là hạ nó xuống 12v để cấp nguồn cho đầu camera. Và e đã thử bằng cách can thiệp vào phần hồi tiếp (sử dụng ic DAS001 hay TSM103W) thông...
Comment