显示中断按键次数_第1页
显示中断按键次数_第2页
显示中断按键次数_第3页
显示中断按键次数_第4页
显示中断按键次数_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验(第二步) 用2位数码管显示中断按键(仅下降沿触发)的次数:开始时两位数码管显示OOf每按下按键一次,两位数码管所表示的十六进制数加1 口若用3位数码管以十进制数显示次数,该如何设计程序?解:两位数码管INCLUDE MC9S08AW60.inc ;包含头文件ORG Z_RAMStartCountl DS.B 1Count2 DS.B 1LED1 DS.B 1LED2 DS.B 1IRQ_Count DS.B 1;中断次数变量ORG $1860LED_Table:;公阳极LED码表,一定要定位到Flash区DC.B$C0, $F9, $A4, $B0 ; 0-3 的字形码DC.B$99,

2、$92, $82, $F8, $80, $90 ,$88,$83,$C6,$A1,$86,$8EDelay_1ms:;软件延时1ms子程序MOV #255T,Count1MOV #25T,Count2Cycle:DBNZ Count1,*MOV #255T,Count1DBNZ Count2,CycleRTSIO_Init:MOV#$FF, PTBDMOV#$FF, PTDDMOV #$FF, PTCDLDA #%11111111;代码略参考3.6.3节内容;初始化输出端口的数据寄存器,习惯养成;初始化输出端口的数据寄存器,习惯养成STA PTBD);初始化PTA 口的八个管脚作为输出STA

3、PTDDDSTA PTCDD;初始化PTB 口的八个管脚作为输出RTSIRQ_Init:;IRQ模块初始化MOV #$00,IRQ_Count ;初始化次数变量LDA #%00010010STA IRQSC;IRQ功能允许,仅下降沿触发,允许中断RTSIRQ_ISR:;IRQ中断服务子程序INC IRQ_CountBSET2, IRQSC;向IRQACK位写1以清零IRQFRTI;中断返回Main:STA SOPT;00hfSOPT, Disable COPJSR IRQ_Init;初始化IRQ模块JSR IO_Init;对PTA, PTB端口初始化CLI;开总中断CLRX;00HXCLRH;

4、00Hf HCLRASTA $1802;00hf SOPT, Disable COP 关闭看门狗Again: NOPCLRHMOV #$FE, $90MOV #$FD, $92;$70存储单元保存位选信息LDA IRQ_CountAND #%00001111STA LED1CLRALDA IRQ_CountNSAAND #%00001111STA LED2CLRALDX LED1LDA LED_Table, X ;查表,读取07字形码STA PTBD ;送出字形码NSASTA PTDDMOV $92, PTCD ;点亮$70中为0位对应的数码管JSR Delay_1ms ;持续亮 1msMOV

5、 #$FF, PTCD ;灭所有数码管,避免余辉且为下一位显示做准备CLRXLDX LED2LDA LED_Table, X ;查表,读取07字形码STA PTBD ;送出字形码NSASTA PTDDMOV $90, PTCD ;点亮$70中为0位对应的数码管JSR Delay_1ms ;持续亮 1msMOV #$FF, PTCD ;灭所有数码管,避免余辉且为下一位显示做准备;其余功能代码,如显示IRQ_Count值JMP Again ;死循环ORG$FFFADC.WIRQ_ISR;IRQ中断向量ORG$FFFEDC.WMain;复位向量三位数码管:INCLUDE MC9S08AW60.inc

6、 ;包含头文件 TOC o 1-5 h z ORG$0070IRQ_CountDS.B 1 ;中断次数变量G100_NUMDS.B1;G10_NUMDS.B1;G1_NUMDS.B1;COUNT1DS.B 1;COUNT2DS.B 1;ORG$1860LED_Table:DC.B$C0, $F9, $A4, $B0,$99, $92, $82, $F8, $80, $90 ; 0-9 的字形码Delay_1ms:;软件延时1ms子程序MOV #25T,COUNT1MOV #25T,COUNT2Cycle:DBNZ COUNT1, *MOV #25T,COUNT1DBNZ COUNT2,Cycl

7、eRTSIRQ_Init:; IRQ模块初始化MOV #$00, IRQ_Count ;初始化次数变量LDA #%00010010STA IRQSC; IRQ功能允许,仅下降沿触发,允许中断RTSIRQ_ISR:;IRQ中断服务子程序INC IRQ_CountBSET2, IRQSC ;向 IRQACK 位写 1 以清零 IRQFRTI;中断返回DIVPRO:CLRHLDA IRQ_CountLDX #100TDIVSTA G100_NUMPSHHPULALDX #10TCLRHDIVSTA G10_NUMPSHHPULASTA G1_NUMRTSIOInit:MOV #$00,PTBD;初始

8、化输出端口的数据寄存器,习惯养成MOV #$00,PTDD;初始化输出端口的数据寄存器,习惯养成MOV #$00,PTCDLDA #%11111111STAPTBDDSTA PTDDD;初始化PTB 口的八个管脚作为输出;初始化PTD 口的八个管脚作为输出STA PTCDDRTSMain:CLRX;00H7CLRHCLRASTA SOPT;00Hf H;00Hf A;00hfSOPT, Disable COPJSR IRQ_Init ;初始化IRQ模块CLIJSR IO_Init ;开总中断Again:JSR DIV_PROCLRHMOV #%11111011,PTCDLDX G1_NUMLDA LED_Table,XSTA PTBDNSASTA PTDDJSR Delay_1msMOV #%11111101,PTCDCLRHLDX G10_NUMLDA LED_Table,XSTA PTBDNSASTA PTDDJSR Delay_1msMOV #%11111110,P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论