「SCMコンパイル」最終試験、一般的な試験の質問と演習、質問タイプの要約(14)、中断

拡張命令1:ACALL addr11

指令执行过程:
ACALL addr11  ;(PC)+2 -> PC
			  ;(SP)+1 -> SP, PC7-0 -> (SP)
			  ;(SP)+1 -> SP, PC15-8 -> (SP)
			  ;addr11 ->PC10-0,PC15-11不变

集中的な命令1試験問題練習:
既知(SP)= 60H、サブルーチンSUBTRNの最初のアドレスは0345Hであり、ACALL SUBTRNを0123Hで実行します。
2バイト命令の後、(PC)= ___、(61H)= ___、(62H)= ____。

回答:

 (PC)=0345H  (61H)=25H    (62H)=01H 

シミュレーション図:
ここに画像の説明を挿入
ここに画像の説明を挿入
拡張命令1試験問題拡張演習:
既知(SP)= 50H、サブルーチンSUBTRNの最初のアドレスは2620Hで、20F6HでACALL SUBTRNが実行されます。
2バイト命令の後、(PC)= ___、(51H)= ___、(52H)= ____。

回答:

 (PC)=2620H  (51H)=F8H    (52H)=20H 

補足5

1,寻址实质就是如何确定操作数的单元地址
2,存储器映象是存储器在整个存储空间的地址范围
3,MCS —51 布尔处理机的存储空间是00H~ 7FH 
4,定时器中断请求发生在定时时间到
5,中断响应时间是指从查询中断请求标志位到转向中断服务程序地址区入口地址所需的机器周期数(3-8个机器周期)
68051 的堆栈区一般开辟在用户RAM 区

問題40

一度上下にトグルすることで発生するパルス信号を外部割り込み0の割り込み要求信号として使用し、8個のLEDの点灯・消灯を制御するプログラムを記述します(点灯・消灯の方法はお客様ご自身で定義してください)。

ここに画像の説明を挿入
:割り込みソースとは、CPU割り込みを引き起こしたイベントを指します。

分析:関連する割り込みレジスタの説明については、前の記事を参照してください

プログラムのソースコード:

   	ORG 0000H
	LJMP START
	ORG 0003H
	LJMP INT0ADDR
	ORG 0030H
START:
	MOV SP,#60H
	MOV P1,#0FFH
	MOV IE,#81H
	MOV IP,#01H
	MOV TCON,#01H
	MOV A,#0FEH
	MOV R6,#8
	MOV R7,#8
	CLR C
	SJMP $
INT0ADDR:
	CJNE R6,#00H,L1
	AJMP L2
L1:
	DEC R6
	CLR C
	MOV P1,A
	RLC A
	AJMP L4
L2:
	CJNE R7,#00H,L3
	MOV R6,#8
	MOV R7,#8
	MOV A,#0FEH
	MOV P1,A
	AJMP L4
L3:
	SETB C
	RRC A
	MOV P1,A
	DEC R7
L4:	RETI
	END

シミュレーション効果のビデオ:
https : //www.bilibili.com/video/BV1hp4y1X7aV/

「SCMコンパイル」最終試験、一般的な試験の質問と演習、質問タイプの要約(14)、中断

少し知識ポイント補足6
オープンコレクター回路(英語:オープンコレクター、一般に「オープンコレクターゲート」または「OCゲートとして知られている)は、集積回路の出力デバイスです。OCゲートは実際には単なるNPNトランジスタであり、特定の電圧または電流値を出力しません。OCゲートは、トランジスタのベースが接続されている(トランジスタのエミッタが接地されている)集積回路によって決定され、トランジスタのコレクタが開いて出力されます。出力デバイスが電界効果トランジスタ(MOSFET)の場合は、オープンドレイン(英語:オープンドレイン、通称 "ODゲート")と呼ばれ、動作原理は似ています。OCゲートデバイスを介して、論理ゲートの出力端子を直接並列で使用できます。2つのOCゲートの並列接続は、「ワイヤーANDと呼ばれる論理AND関係を実現できますが、電源に接続するには、出力ポートにプルアップ抵抗を追加する必要があります

小さな知識ポイント補足7
外部割り込みソースの51 SCM拡張メソッド:
1、タイマーオーバーフロー拡張の
使用2、割り込みクエリメソッド拡張の
使用3、拡張チップの使用

問題41

以下に示すキースイッチを使用して、8つのLEDのオンとオフを制御するプログラムを作成します。ボタン1を押すと、8つのLEDが同時に点灯し、ボタン2を押すと、8つのLEDが同時に消灯します。8つのLEDのデフォルトの状態は最初の4つのライトです(ボタン2が最も優先されます)。
ここに画像の説明を挿入

プログラムのソースコード:

ORG 0000H
	LJMP START
	ORG 0003H
	LJMP INT0ADDR
	ORG 0013H
	LJMP INT1ADDR
	ORG 0030H
START:
	MOV SP,#60H
	MOV P1,#0FFH
	MOV IE,#85H
	MOV IP,#04H
	MOV TCON,#05H
	MOV P1,#0F0H
	SJMP $
INT0ADDR:
	MOV P1,#00H
	RETI
INT1ADDR:
	MOV P1,#0FFH
	RETI
	END

備考:実際のアプリケーションでは、デバウンスのキー検出のために約10msの遅延を増やすことが最善です。
シミュレーション図:
電源投入時のデフォルト状態
ここに画像の説明を挿入
ボタン1が押された
ここに画像の説明を挿入
ボタン2が押され
ここに画像の説明を挿入
て少し知識ポイント追加する8
割り込み定義:CPUが実行中のプログラムを一時的に停止し、CPUが提供する内部および外部イベントを要求するサービスプログラムの実行に転送するサービスプログラムの実行が完了すると、一時停止したプログラムの処理に戻り、実行を継続します。

** NANDゲート(英語:NANDゲート)**は、デジタル回路の基本的な論理回路です。複数の入力と1つの出力を持つ、ANDゲートとNOTゲートの重ね合わせです。入力が高レベル(1)の場合、出力は低レベル(0)になり、入力の少なくとも1つが低レベル(0)の場合、出力は高レベル(1)になります。NANDゲートは、ANDゲートとNANDゲートの重ね合わせと見なすことができます。

37件の元の記事を公開しました 賞賛されました36 再生回数7142

おすすめ

転載: blog.csdn.net/liuxianfei0810/article/details/105641247