微控制器問題

2023-01-08 23:56:05 字數 1471 閱讀 7663

1樓:匿名使用者

已經修改了,50us的定時,定時處理取反p3.6,得到100us的方波。

org 0000h

sjmp main

org 000bh ;定時器0中斷入口sjmp int0_pro

main:

mov tmod,#01h ;以下5條是初始化定時器0,使得50us中斷一次

mov th0,#0ffh

mov tl0,#0ceh

mov ie,#82h

setb tr0

sjmp $ ;在這裡等待中斷

int0_pro:

mov th0,#0ffh ;重新賦初值

mov tl0,#0ceh

cpl p3.6 ;p3.6取反,生成方波reti

2樓:無鹽

#include

#include

unsigned int i=0,j=0,k=0,p,q;

interrupt [tim1_ovf] void timer1_ovf_isr(void)

q=j*2;

pinb.0 = q;

break;

case 3:

/***************

鋸齒波***************/

j+=i;

if(j>399) j=0;

pinb.0=j;

break;}}

void main(void)

if(pind.3==0)

i++;

while(pind.3==0);

if(pind.4==0)

i--;

while(pind.4==0); }}

3樓:

org 0000h

ljmp main

org 000bh ;

ljmp lp1

main:

mov tmod,#01h ;定時器初始化,t0 方式1mov th0,#0ffh ;65536-50微秒 直接換成16進位制

mov tl0,#0ceh

setb ea ;開中斷setb eto

setb tr0

sjmp $ ;中斷等待lp1:

cpl p3.6 ;p3.6取反,生成100微秒方波mov th0,#0ffh ;重新賦初值

mov tl0,#0ceh

reti

end其實這個程式很簡單 你給10分就會有人做的

4樓:匿名使用者

微控制器中斷問題,51微控制器外部中斷問題

不太明白你問的問題。t0還有空間呢?如果想在t0中斷內增加程式,也是可以的,長度和t0沒有關係,只要微控制器的儲存空間夠就可以了。儘量不要在中斷中執行程式,會影響整個流程的合理性。所以一般只在中斷中設定標誌。微控制器的中斷入口都是排列在地址的最低端的,分別為0003,000b,0013,001b,0...

組裝微控制器的問題,微控制器的問題有哪些?

但是你什麼工具都沒,所以要花錢買這些工具 像焊錫絲,電烙鐵,工具鉗,起子,這些工具也要錢的。把所有器件和工具都買齊的話,大概就50 塊錢了。我同學去買的時候花了20多,沒包括那些工具的,只是元器件。我買工具 元器件花了70塊錢,你自己看著辦 去電子 吧 買個電烙鐵,架子,松香,焊錫,50塊以內搞定了...

微控制器與PC機的序列通訊問題,微控制器與微控制器之間如何進行序列通訊?

define com1 0 define data ready 0x0100 define true 1 define false 0 define settings 0xe0 0x00 0x00 0x03 void main a bioscom 2,0,com1 0x00ff printf a x...