Alternative function after remap(chuyển chức năng của chân PD2)

nhan94

Học sinh phổ thông
#1
Đối với chip STM8s105k4 thì chân PD2 có chức năng mặc định là TIM3 - CH1, chức năng phụ phía sau là TIM2 - CH3, mình muốn sử dụng timer 2 để băm xung bằng cả 3 chân, nhưng chỉ có 2 chân mặc định là PD3 và PD4, nên mình muốn chuyển chức năng của PD2 về TIM2. Bạn nào biết không vậy giúp mình với???
 

trandito

Học sinh phổ thông
#2
Nếu bác dùng IAR thì khi đang kết nối chip STM với mạch nạp thì vào ST-LINK trên thanh menu, vào Option Byte. Trong bảng mới hiện ra có dãy bit AFR0 đến AFR7. Tra datasheet để biết bit nào cho phép chuyển đổi chức năng, rồi chuột phải để đổi giá trị từ defaul sang Alternate Active là đc.
 

nhan94

Học sinh phổ thông
#4
Bạn có làm về giao tiếp hồng ngoại chưa, ví dụ mình dùng arduino có nút nhấn và led phát, stm8 gắn led thu và 1 led để On/Off. Mình phát đi 1 mã, phát thì ok rồi, mình vẫn chưa code được về nhận tín hiệu trên stm8. Bạn có giải thuật hay code về nó không
 

trandito

Học sinh phổ thông
#5
Cái này e chưa làm đến, theo e nghĩ thì trước hết bác dùng led thu loại 3 chân cho nhạy, và lọc nhiễu tốt. Sau đó chưa làm gì cả, mà phát thử để xem có xung ra ở led thu chưa. Xong rồi hẵng làm tiếp.
Về code thì chắc là dùng ngắt so sánh đoạn mã trùng với kho mã thì on/off led thôi. Cái này bác làm xong chia sẻ lên ae học với nhé.
 

phidc15

Học sinh phổ thông
#6
cho hỏi. ai có mạch tự động ngắt điện sau 4s, và ngắt nguồn để reset lại mạch
 

nhan94

Học sinh phổ thông
#7
Cái này e chưa làm đến, theo e nghĩ thì trước hết bác dùng led thu loại 3 chân cho nhạy, và lọc nhiễu tốt. Sau đó chưa làm gì cả, mà phát thử để xem có xung ra ở led thu chưa. Xong rồi hẵng làm tiếp.
Về code thì chắc là dùng ngắt so sánh đoạn mã trùng với kho mã thì on/off led thôi. Cái này bác làm xong chia sẻ lên ae học với nhé.
À cho hỏi là bạn biết cách phát hiện khi vi điều khiển mất nguồn không, khi mất điện đột ngột chẳng hạn, rồi dùng tụ 2200uF để giữ vđk sống được đủ lâu để lưu trạng thái vào EFPROM
 

trandito

Học sinh phổ thông
#8
À cho hỏi là bạn biết cách phát hiện khi vi điều khiển mất nguồn không, khi mất điện đột ngột chẳng hạn, rồi dùng tụ 2200uF để giữ vđk sống được đủ lâu để lưu trạng thái vào EFPROM

Bác thử cách này xem:
Ngay sau biến áp nguồn bác dùng 1 diode và 1 tụ giá trị nhỏ để chỉnh lưu ra 1 chiều, chú ý là không dùng chung chỉnh lưu cầu chính cấp nguồn cho mạch được, vì nó có tụ giá trị lớn nên không hợp với mục đích phát hiện mất điện.
Điện áp chỉnh lưu riêng như trên bác cho qua 1 trở (1k-10k tùy nguồn 12v hay 24v) rồi qua 1 diode zenner 5V hay 3,3V theo nguồn cấp của con STM bác đang dùng.
Điện áp ở đầu trên diode zenner này đưa về 1 chân ngắt, tích cực mức thấp hoặc sườn xuống + mức thấp. Khi xảy ra ngắt thì gọi ngay hàm lưu toàn bộ giá trị cần thiết vào EEPROM là ok.
Nói thì dài vậy chứ mạch chỉ thêm 1 diode, 1 tụ, 1 trở, 1 zenner.
Hoặc bác cũng có thể áp dụng phương án tương tự nhưng dùng cách ly quang OPTO cho nhiều mục đích hơn.
 

nhan94

Học sinh phổ thông
#9
Bác thử cách này xem:
Ngay sau biến áp nguồn bác dùng 1 diode và 1 tụ giá trị nhỏ để chỉnh lưu ra 1 chiều, chú ý là không dùng chung chỉnh lưu cầu chính cấp nguồn cho mạch được, vì nó có tụ giá trị lớn nên không hợp với mục đích phát hiện mất điện.
Điện áp chỉnh lưu riêng như trên bác cho qua 1 trở (1k-10k tùy nguồn 12v hay 24v) rồi qua 1 diode zenner 5V hay 3,3V theo nguồn cấp của con STM bác đang dùng.
Điện áp ở đầu trên diode zenner này đưa về 1 chân ngắt, tích cực mức thấp hoặc sườn xuống + mức thấp. Khi xảy ra ngắt thì gọi ngay hàm lưu toàn bộ giá trị cần thiết vào EEPROM là ok.
Nói thì dài vậy chứ mạch chỉ thêm 1 diode, 1 tụ, 1 trở, 1 zenner.
Hoặc bác cũng có thể áp dụng phương án tương tự nhưng dùng cách ly quang OPTO cho nhiều mục đích hơn.
Mà bác có hình luôn không cho e dễ tham khảo?
dùng hồng ngoại với stm8 hơi khó, với nó không có thư viện chuẩn nhiều nên hồng ngoại thì xài arduino, mà bạn làm về ADC chưa, ví dụ chỉ cần đọc giá trị điện trở thôi. Có example gì không?
 

trandito

Học sinh phổ thông
#10
Cần gì hình, chẳng qua là bác thêm phần chỉnh lưu để lấy điện 1 chiều về cho vdk dò xem có mất điện hay ko, khi mất điện thì phần chỉnh lưu lắp thêm đó sẽ mất điện trước nên vdk sẽ nhờ đó phát hiện được.
Ý thứ 2 của e là dùng opto chứ ko phải hồng ngoại gì cả.
Ý thứ 3 của bác thì thật trùng hợp là e cũng đang tìm hiều về ADC trong mấy ngày nay. Đang có đống máy mới về phải sửa tiếp cho xong rồi vài hôm nữa mới tiếp tục được. E đang định đọc ADC từ 1 chiết áp trả điện áp về vdk.
 

Quảng cáo Google