Proteus từng bước

M

muganga

Guest
Tôi cố gắng mô phỏng các mã sau đây.Tôi đã không thấy tùy chọn: PIC CPU NGUỒN MÃ ... chỉ cần đăng ký, DATAMEMORY, Memory CHƯƠNG TRÌNH VÀ STACK.
Tôi muốn giúp đỡ những gì giá trị của biến truy cập được trong thời gian chạy chương trình.
Có thể sử dụng Proteus??

# include <16C77.h>
# use delay (clock = 4000000)
# include <lcd.c># int_TIMER0
void TIMER0 ()
(
int truy cập;
set_timer0 (0);
if (counter == 15)
(
Số lượt truy cập ;
)
)void main () (
setup_timer_0 (RTCC_INTERNAL | RTCC_DIV_256 | RTCC_8_BIT); / / đồng hồ interno; prescaler; 8bits
enable_interrupts (INT_RTCC);
enable_interrupts (GLOBAL);

lcd_init ();
lcd_gotoxy (1,1);
lcd_putc ( "Teste");

)tks

fernando

 
Có nó là có thể có trong Proteous
thay vì tải *. Load HEX *. file cof lên chip của bạn
này sẽ hiển thị mã nguồn và các biến của bạn quá
Hãy nhớ, nếu bạn là biến toàn cầu thì nó duy trì một giá trị vĩnh viễn Người dân địa phương được tạo ra và tiêu diệt
kịp thời.

 
cảm ơn bạn rất nhiều vì thông tin ...
Tôi đã làm những gì bạn sugest nhưng tôi không thể nhìn thấy truy cập biến ..
Bạn biết tại sao?# include <16C77.h>
# use delay (clock = 4000000)
# include <lcd.c># int_TIMER0
void TIMER0 ()
(
int truy cập;
set_timer0 (0);
if (counter == 15)
(
Số lượt truy cập ;
)
)void main () (
setup_timer_0 (RTCC_INTERNAL | RTCC_DIV_256 | RTCC_8_BIT); / / đồng hồ interno; prescaler; 8bits
enable_interrupts (INT_RTCC);
enable_interrupts (GLOBAL);

lcd_init ();
lcd_gotoxy (1,1);
delay_ms (100000);
lcd_putc ( "Welcome to Egypt");

)

thanks again

muganga

 
Proteus chỉ là một sự lãng phí thời gian .....

 
Cảm ơn bạn đã trả lời như vậy .. .. phần mềm tốt nhất để mô phỏng một mạch là những gì?

tks

muganga

 
mà là init mã hẹn giờ của bạn?cũng có lý do tại sao bạn làm điều này

if (counter == 15)
(
Số lượt truy cập ;
)

Bạn muốn làm điều đó như thế này
if (counter == 15)
(
truy cập = 0;
)bắp chân

 
đồng hồ = 4Mhz

4 / 4 * 256 * 256 = 0,065536 s

15 * 0,065536 = 1seg

Nếu tôi có một tràn 15 lần đó có nghĩa là tôi có 1 seg.Bằng cách này tôi có thể đếm 1 seg và tôi muốn hiển thị trên LCD.

tks

muganga

 
nhưng mã của bạn là sai.
nó sẽ không bao giờ tăng các truy cập như trong đầu count = 0 và vì thế mà có điều kiện NẾU đếm == 15 sẽ không bao giờ thực sự ans count sẽ không bao giờ làm việc.các tính sẽ vẫn 0x00.

bắp chân

 
Tôi thay đổi mã và biết nó đang làm việc ..

cho một người đang học gián đoạn .. xem dưới đây mã ...# include <16C77.h>
# use delay (clock = 4000000)
# include <lcd.c>

int truy cập;
int seg = 0;
int giá trị;

# int_TIMER0
void TIMER0 ()
(
Số lượt truy cập ;
if (counter == 15)
(
truy cập = 0;
seg ;
)
)void main () (

setup_timer_0 (RTCC_INTERNAL | RTCC_DIV_256 | RTCC_8_BIT);
enable_interrupts (INT_RTCC);
enable_interrupts (GLOBAL);

trong khi (1)
(
lcd_init ();
lcd_gotoxy (1,0);
printf (lcd_putc, "\ f tiến độ:% i segundos", seg);
delay_ms (200);
)
)

 

Welcome to EDABoard.com

Sponsor

Back
Top