Chào các bác !
Em mới học về AVR , và đang tâp giao tiếp AVr với ADC0809 , em viết song 1 đoạn code bắng ASM để chạy thử , code này được debug = avrstudio rùi , không thấy báo lỗi , tuy nhiên khi dùng chương trình proteus để mô phỏng thì nó báo lỗi
em cũng chưa rõ về lỗi này lắm ( hiện tại , em đang dùng proteus bản 7.1 service 4 )
sơ đồ mạch em mắc như hình , đây chỉ là mạch thử thui ...
Em dùng AVR , timer2 , chế độ CTC để tạo xung , tần số khoảng 640 Khz ( thực ra là 691 khz ) , sau đó cung cấp cho ADC0809 như hình , có được không ạ ...Hơn nữa , nếu dùng AVR để tạo xung câp cho ADC có tốt hơn so với dùng mạch tao xung rùi cấp cho ADC không ạ ?em thấy xung do AVr cấp hình như không ổn lắm , tức là xung bị biến dạng rất nhiều ...
Xung và các tín hiệu điều chỉnh ADC0809 , em đã kiểm tra thấy đều đúng , nhưng khi mô phỏng toàn hệ thống thì vãn bị báo lỗi , đây là code của chương trình
Rất mong các bác chỉ giùm em vấn đề này với
Chấn thành cám on các bác
Em mới học về AVR , và đang tâp giao tiếp AVr với ADC0809 , em viết song 1 đoạn code bắng ASM để chạy thử , code này được debug = avrstudio rùi , không thấy báo lỗi , tuy nhiên khi dùng chương trình proteus để mô phỏng thì nó báo lỗi
em cũng chưa rõ về lỗi này lắm ( hiện tại , em đang dùng proteus bản 7.1 service 4 )
sơ đồ mạch em mắc như hình , đây chỉ là mạch thử thui ...
Em dùng AVR , timer2 , chế độ CTC để tạo xung , tần số khoảng 640 Khz ( thực ra là 691 khz ) , sau đó cung cấp cho ADC0809 như hình , có được không ạ ...Hơn nữa , nếu dùng AVR để tạo xung câp cho ADC có tốt hơn so với dùng mạch tao xung rùi cấp cho ADC không ạ ?em thấy xung do AVr cấp hình như không ổn lắm , tức là xung bị biến dạng rất nhiều ...
Xung và các tín hiệu điều chỉnh ADC0809 , em đã kiểm tra thấy đều đúng , nhưng khi mô phỏng toàn hệ thống thì vãn bị báo lỗi , đây là code của chương trình
Code:
.DEVICE ATmega32 .NOLIST .INCLUDE "m32def.inc" .LIST .ORG 0 jmp RESET ; Reset Handler RESET: ldi r16,high(RAMEND) ; Main program start out SPH,r16 ; Set Stack Pointer to top of RAM ldi r16,low(RAMEND) out SPL,r16 Sei ; Enable interrupts ; ************************************************************* ; ************************************************************* AGAIN: RCALL TAO_XUNG_ADC ; GOI HAM TAO XUNG NOP ; KHONG CHO PHEP NGO RA , CHAN OE = 0 SBI DDRD,2 ; THIET LAP LAM CONG RA CBI PORTD,2 ; PD2 = 0 ; CHON KENH DAU VAO CUA ADC0809 ; CHON KENH 0 , INT 0 ; A=0 , B= 0, C= 0 ; C= 0 SBI DDRC,2 CBI PORTC,2 ; B= 0 SBI DDRC,1 CBI PORTC,1 ; A=0 SBI DDRC,0 CBI PORTC,0 ; TAO XUNG ALE VA START ; XUNG NAY CO DP DAI KHOANG 100NS DEN 200NS SBI DDRD,0 ; THIET LAP LAM DAU RA CBI PORTD,0 ; PD0 = 0 SBI PORTD,0 ; PD0 = 1 NOP ; TRE 90NS NOP ; TRE 90NS CBI PORTD,0 ; PD0 = 0 NOP ; CHO KHOANG 150 US DE CHUYEN DOI SONG RCALL DELAY150_US ; KET THUCH CHUYEN DOI ; CHO PHEP NGO RA , CHAN OE = 1 , OE NOI VOI PD2 SBI DDRD,2 SBI PORTD,2 ; OE =1 ; TAO TRE RCALL DELAY150_US ;DOI LED SANG ; BIT 1 LED TAT , BIT 0 LED SANG nop nop nop nop nop NOP NOP NOP NOP NOP RJMP AGAIN ; ************************************************************* ; ham tao XUNG DIEU KHIEN ADC0809 ; MUC DICH CUA HAM LA TAO XUNG TAN SO KHOANG 640KHZ ; SAU DO GUI TU AVR TOI ADC0809 TAO_XUNG_ADC: ; BAT DAU CHUONG TRINH ; CAT THANH GHI PUSH R16 ; bat dau LDI R16,0B00000111 ; R16 = 7 OUT OCR2,R16 ; OCR2 = 7 ; KHOI TAO GIA TRI SO SANH ; LA BANG 7 CLR R16 ; XOA R16 OUT TCCR2,R16 ; CAU HINH CHO THANH GHI ; DIEU KHIEN TIMER/COUNTER2 ; KHONG CHO PHEP HOAT DONG ; MUC DICH LA DE NHUNG ; LAN HOAT DONG SAU ; TRUOC KHI SO SANH THI BO ; DINH THOI LUON O TRANG THAI ; BAN DAU LDI R16,0B00011001 ; CHON CHE DO SO SANH ; CTC , SO SANH TUONG UNG ; CHON THANG CHIA 1 , N = 1 ; CHON CHE DO DAO ; TUC LA BAN DAU LA 0 ; KET THUC CUNG LA XUNG 0 ; TAO XUNG F = 691,2 KHZ OUT TCCR2,R16 ; CAU HINH CHO THANH GHI ; DIEU KHIEN TIMER/COUNTER2 ; BAT DAU HOAT DONG BO DINH THOI ; XUNG DUOC PHAT RA TU CHAN OC2 ; TRUYEN TOI ADC0809 SBI DDRD,7 LDI R16,0B11011111 ; THIET LAP CAC BIT 0 VA 1 OUT DDRD, R16 ; THIET LAP CAC CHAN CUA PORTD ; LAM LOI RA , RIENG CHAN ; PD5 LAM LOI VAO ; DIEU KHIEN ADC0809 ; KHONG CHO PHEP NGO RA, OE = 0 CBI PORTD,6 ; PD6 = 0 ; PHUC HOI CAC THANH GHI POP R16 ; KET THUC HAM TAO XUNG RET ; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ; ************************************************************* ; HAM TAO TRE 150 US ; THUC CHAT TRE 145 US ; MUC DICH CUA HAM NAY LA TAO TRE ; HAM NAY DUOC TRUY CAP DEN DE THUC HIEN ; TRE TRRONG CAC HAM YEU CAU CO DO TRE ; LON HON NHU HAM TRE 100 MS ; THUC HIEN HAM NAY TA DUNG VONG LAP ; DUNG CAC THANH GHI R16,R17 ; SO VONG LAP KHOANG 110 ; DUNG LENH DON NOP ; CO KHOANG 11 LENH NOP , 1 LENH 1 CHU KY MAY ; TRE 90,42 NS DELAY150_US: ; BAT DAU CHUONG TRINH ; CAT CAC THANH GHI PUSH R16 PUSH R17 ; BAT DAU VONG LAP LDI R17,7 ; R17 =7 HERE_150_US_1 : LDI R16,15 ; R16 = 15 HERE_150_US_2 : NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP DEC R16 ; R16 = R16 -1 CPI R16,0 ; R16 = 0 ? BRNE HERE_150_US_2 ; R16 KHAC 0 ; LAP LAI ; R16 =0 , TIEP TUC DEC R17 ; R17 = R17 -1 CPI R17,0 ; R17 = 0 ? BRNE HERE_150_US_1 ; ; R17 KHAC KHONG ; LAP LAI ; R17 = 0 ---> TIEP TUC ; PHUC HOI CAC THANH GHI POP R17 POP R16 NOP NOP NOP NOP NOP ; KET THUC HAM TAO TRE 150 MS RET ; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chấn thành cám on các bác
Comment