ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:29.47KB ,
资源ID:5804265      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-5804265.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSP课程设计精Word文档格式.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

DSP课程设计精Word文档格式.docx

1、*PFDATDIR=*PFDATDIR&0xFFFB;void inline disable( setc INTMint keyscan(int k,j;k=*PFDATDIR&0x0008;if(k=0x0008 k=0;elsek=1;if(k=1for(j=30000;j0;j-j=j;return(k;int keyserve(int k;if(k=0x0000*PBDATDIR=(*PBDATDIR&0xFF00+m+;*PBDATDIR=*PBDATDIR;main(disable(;initial(;while(1int i;i=0;i=keyscan(;if(i=1keyser

2、ve(;void interrupt nothing(return;汇编程序键盘与发光二极管配合使用程序st0_temp .usect .b20,1 ;60st1_temp .usect 61context .usect ,7 ;62-68STACK .usect .stack,40IOSFT_REG .usect .data0显示数据移位寄存器IO_COUNT .usect 延时计数寄存器IO_DATA .usect I/O临时数据缓冲区LEDXS .usect LED显示的数据 LEDFLAG .usect LED显示标志寄存器K1FLAG .usect K1 标志寄存器KEYDATA .

3、usect 读得键盘值存放寄存器DP_USER .set 5.include F2407REGS.H ;引用头部文件.def _c_int0 (1)建立中断向量表.sect .vectors定义主向量段RSVECT B _c_int0 ;PM 0 Reset Vector 1INT1 B PHANTOM ;PM 2 Int level 1 4INT2 B GISR2 ;PM 4 Int level 2 5INT3 B PHANTOM ;PM 6 Int level 3 6INT4 B PHANTOM ;PM 8 Int level 4 7INT5 B PHANTOM ;PM A Int lev

4、el 5 8INT6 B PHANTOM ;PM C Int level 6 9RESERVED B PHANTOM ;PM E (Analysis Int 10SW_INT8 B PHANTOM ;PM 10 User S/W int SW_INT9 B PHANTOM ; PM 12 User S/W int -SW_INT10 B PHANTOM ; PM 14 User S/W int -SW_INT11 B PHANTOM ; PM 16 User S/W int -SW_INT12 B PHANTOM ; PM 18 User S/W int -SW_INT13 B PHANTOM

5、 ; PM 1A User S/W int -SW_INT14 B PHANTOM ; PM 1C User S/W int -SW_INT15 B PHANTOM ; PM 1E User S/W int -SW_INT16 B PHANTOM ; PM 20 User S/W int -TRAP B PHANTOM ; PM 22 Trap vector -NMI B PHANTOM ; PM 24 Non maskable Int3EMU_TRAP B PHANTOM ; PM 26 Emulator Trap2SW_INT20 B PHANTOM ; PM 28 User S/W in

6、t -SW_INT21 B PHANTOM ; PM 2A User S/W int -SW_INT22 B PHANTOM ; PM 2C User S/W int -SW_INT23 B PHANTOM ; PM 2E User S/W int -SW_INT24 B PHANTOM ; PM 30 User S/W int -SW_INT25 B PHANTOM ; PM 32 User S/W int -SW_INT26 B PHANTOM ; PM 34 User S/W int -SW_INT27 B PHANTOM ; PM 36 User S/W int -SW_INT28 B

7、 PHANTOM ; PM 38 User S/W int -SW_INT29 B PHANTOM ; PM 3A User S/W int -SW_INT30 B PHANTOM ; PM 3C User S/W int -SW_INT31 B PHANTOM ;PM 3E User S/W int 中断子向量入口定义pvecs.pvecs定义子向量段PVECTORS B PHANTOM ;保留向量地址偏移量-0000h B PHANTOM ;保留向量地址偏移量-0001h 保留向量地址偏移量 保留向量地址偏移量 保留向量地址偏移量-05 SCI_RX_ISR; SCI_TX_ISR ; 保

8、留向量地址偏移量-0A 保留向量地址偏移量-10 保留向量地址偏移量-15 保留向量地址偏移量-1A 保留向量地址偏移量-20 保留向量地址偏移量-25 保留向量地址偏移量-0026hB T1GP_ISR ; 保留向量地址偏移量-0027h T1PINT中断 保留向量地址偏移量-0028h 保留向量地址偏移量-2A pvector addr offset 0x02f - T3PINT 保留向量地址偏移量-30 保留向量地址偏移量-35 保留向量地址偏移量-3A 保留向量地址偏移量-3F CANMBX_ISR ;保留向量地址偏移量-0041h (2)主程序.text_c_int0 CALL SY

9、SINIT ;调系统初始化程序CALL KEYLEDINIT ;调键盘和LED初始化程序LDP #DP_USER ;指向0280h0300h区SPLK #01H,IOSFT_REG ;寄存器和标志初始化SPLK #00H,IO_COUNTSPLK #001H,IO_DATASPLK #001H,LEDXSSPLK #00H,LEDFLAG ;LEDFLAG.0=1表示 K1,K2,K3 按下LEDFLAG.0=0表示 K4 按下SPLK #01H,K1FLAGCLRC INTM ;开总中断LOOP: CALL KEY ;调键盘程序,即扫描键盘LDP #DP_USERBIT LEDFLAG,15

10、BCND LEDBD1,TCLACL IO_COUNTSUB #03E8HBCND WAIT,LEQ ;判10 s延时到否LEDBD1: SPLK #00H,IO_COUNTLDP #DP_PF2LACL PFDATDIROR #0404H ;IOPF2=1SACL PFDATDIR ;开74HC273片选信号LACL LEDXSOR #0FF00H ;IOPB口为输出方式SACL PBDATDIR ;送要显示的数据到IOPB口AND #0FFFBH ;IOPF2=0关74HC273片选信号BCND LEDBD2,TCSFLSACL LEDXSLACL IOSFT_REGSACL IOSFT_

11、REGBIT IOSFT_REG,BIT8 ;判是否循环完一次BCND LOOP1,TCB WAITLOOP1: LDP #DP_USER赋初值LEDBD2: LACL IO_DATAWAIT: NOPB LOOP (3)系统初始化程序SYSINIT:SETC INTMCLRC SXMCLRC OVMCLRC CNF ;B0区被配置为数据空间LDP #0E0H ;指向7000h7080h区SPLK #81FEH,SCSR1 ;时钟4倍频,CLKIN=6 M,CLKOUT=24 MSPLK #0E8H,WDCR ;不使能WDTLDP #0SPLK #02H,IMR ;使能中断优先级INT2SPL

12、K #0FFFFh,IFR ;清中断标志LDP #DP_EVA ;指向7400h7480h区SPLK #80H,EVAIMRA ;使能T1PINT 中断SPLK #0FFFFh,EVAIFRA ;清EVA中断标志SPLK #0,GPTCONASPLK #0EA6H,T1PR ;使定时器每10 ms产生一次中断SPLK #0,T1CNTSPLK #0164CH,T1CON ;设置通用定时器1RET(4)键盘和发光二极管初始化程序KEYLEDINIT:LACL MCRCAND #083FFH ;IOPF2,IOPF36 配置为一般的I/O口SACL MCRCLACL MCRAAND #000FFH

13、 ;IOPB07 配置为一般的I/O口SACL MCRAOR #0400H ;IOPF2为输出方式AND #08787H ;IOPF36 为输入方式SACL PFDATDIRLACL PBDATDIRIOPB07 为输出方式SACL PBDATDIR(5)键盘程序KEY:CALL READKEY ;调读键程序LACL KEYDATABCND KEYRET,EQ ;ACC=0?CALL KEYDELAY 材料:玉米粒50克, 胡萝卜30克, 生菜30克, 鸡蛋3个,面粉100克椒粉各少许;做法:1. 先将鸡蛋打散成蛋液,加入少许胡椒粉拌匀,胡萝卜洗净切沥干切碎,葱切花;2. 将胡萝卜粒和玉米粒放

14、入沸水中煮熟后沥干待用;3. 面粉中加入适量的盐,再倒入鸡蛋液,加入适量的水搅拌成4. 放入沥干的胡萝卜粒和玉米粒、生菜、葱花,再加入少许芝 再一次读键值 BCND KEYRET,EQ判断按键情况BIT KEYDATA,15 BCND KEYRET,NTC CALL K1 ; +键按下B KEYRETKEYRET: LACL KEYDATAAND #0FFF0H ;清读取的键值寄存器SACL KEYDATA(6)读键子程序READKEY:LACL PFDATDIR ;取出键值PFDATDIR.3PFDATDIR.6RPT #2SFR ;右移3位OR #0FFF0H ;屏蔽高4位(用到4个键)C

15、MPLSACL KEYDATA ;存放键值RET (7)用软件延时30mS消抖动KEYDELAY:LACC #6000KEYD1: SUB #1RPT #80NOPBCND KEYD1,NEQ(8)键子程序K1:键子程序READK1: CALL KEYDELAYCALL READKEY判断按键 K1 是否松开BIT KEYDATA,15BCND READK1,TCSPLK #01,LEDFLAG ;关闭LED左移标志,即LED对同一个数不刷新LACL IO_DATAADD #1SACL IO_DATA(9)中断程序GISR2:优先级INT2中断人口 保护现场 LDP #0 ; 保存机器上下文S

16、ST #0, st0_temp ; 使用自动寻址DP-0 SST #1, st1_temp ; 保存状态寄存器到B2 DARAM.SACL context ; 保存ACC的低16位SACH context+1 ; 保存ACC的高16位SAR AR1,context+2SAR AR2,context+3SAR AR3,context+4SAR AR4,context+5 SAR AR5,context+6LDP #0E0HLACC PIVR,1 ;读取外设中断向量寄存器(PIVR),并左移一位ADD #PVECTORS ;加上外设中断入口地址BACC ;跳到相应的中断服务子程序T1GP_ISR:通用定时器1中断入口SACL IO_COUNT恢复现场 LDP #DP_EVASPLK #0FFFFH,EVAIFRALAR AR5,context+6 LAR AR4,context+5 LAR AR3,context+4 LAR AR2,context+3 LAR AR1,context+2LACC context+1,16ADDS contextLST #1, st1_tempLST #0, st0_temp开总中断,因为一进中断就自动关闭总中断(10)假中断程序PHANTOM KICK_DOG ;复位看门狗END

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2