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

上传人:b****1 文档编号:5804265 上传时间:2023-05-05 格式:DOCX 页数:17 大小:29.47KB
下载 相关 举报
DSP课程设计精Word文档格式.docx_第1页
第1页 / 共17页
DSP课程设计精Word文档格式.docx_第2页
第2页 / 共17页
DSP课程设计精Word文档格式.docx_第3页
第3页 / 共17页
DSP课程设计精Word文档格式.docx_第4页
第4页 / 共17页
DSP课程设计精Word文档格式.docx_第5页
第5页 / 共17页
DSP课程设计精Word文档格式.docx_第6页
第6页 / 共17页
DSP课程设计精Word文档格式.docx_第7页
第7页 / 共17页
DSP课程设计精Word文档格式.docx_第8页
第8页 / 共17页
DSP课程设计精Word文档格式.docx_第9页
第9页 / 共17页
DSP课程设计精Word文档格式.docx_第10页
第10页 / 共17页
DSP课程设计精Word文档格式.docx_第11页
第11页 / 共17页
DSP课程设计精Word文档格式.docx_第12页
第12页 / 共17页
DSP课程设计精Word文档格式.docx_第13页
第13页 / 共17页
DSP课程设计精Word文档格式.docx_第14页
第14页 / 共17页
DSP课程设计精Word文档格式.docx_第15页
第15页 / 共17页
DSP课程设计精Word文档格式.docx_第16页
第16页 / 共17页
DSP课程设计精Word文档格式.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《DSP课程设计精Word文档格式.docx》由会员分享,可在线阅读,更多相关《DSP课程设计精Word文档格式.docx(17页珍藏版)》请在冰点文库上搜索。

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

*PFDATDIR=*PFDATDIR&

0xFFFB;

}

voidinlinedisable(

{

setcINTM"

intkeyscan(

intk,j;

k=*PFDATDIR&

0x0008;

if(k==0x0008

k=0;

else

k=1;

if(k==1

for(j=30000;

j>

0;

j--

j=j;

return(k;

intkeyserve(

intk;

if(k==0x0000

*PBDATDIR=(*PBDATDIR&

0xFF00+m++;

*PBDATDIR=*PBDATDIR;

main(

disable(;

initial(;

while(1

inti;

i=0;

i=keyscan(;

if(i==1

keyserve(;

voidinterruptnothing(

return;

汇编程序

键盘与发光二极管配合使用程序

st0_temp.usect"

.b20"

1;

60

st1_temp.usect"

61

context.usect"

7;

62-68

STACK.usect"

.stack"

40

IOSFT_REG.usect"

.data0"

显示数据移位寄存器

IO_COUNT.usect"

延时计数寄存器

IO_DATA.usect "

I/O临时数据缓冲区

LEDXS.usect"

LED显示的数据

LEDFLAG.usect"

LED显示标志寄存器

K1FLAG.usect"

K1标志寄存器

KEYDATA.usect"

读得键盘值存放寄存器

DP_USER.set5

.include"

F2407REGS.H"

;

引用头部文件

.def_c_int0

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(1)建立中断向量表

.sect"

.vectors"

定义主向量段

RSVECTB_c_int0;

PM0ResetVector1

INT1BPHANTOM;

PM2Intlevel14

INT2BGISR2;

PM4Intlevel25

INT3BPHANTOM;

PM6Intlevel36

INT4BPHANTOM;

PM8Intlevel47

INT5BPHANTOM;

PMAIntlevel58

INT6BPHANTOM;

PMCIntlevel69

RESERVEDBPHANTOM;

PME(AnalysisInt10

SW_INT8BPHANTOM;

PM10UserS/Wint—

SW_INT9BPHANTOM;

PM12UserS/Wint-

SW_INT10BPHANTOM;

PM14UserS/Wint-

SW_INT11BPHANTOM;

PM16UserS/Wint-

SW_INT12BPHANTOM;

PM18UserS/Wint-

SW_INT13BPHANTOM;

PM1AUserS/Wint-

SW_INT14BPHANTOM;

PM1CUserS/Wint-

SW_INT15BPHANTOM;

PM1EUserS/Wint-

SW_INT16BPHANTOM;

PM20UserS/Wint-

TRAPBPHANTOM;

PM22Trapvector-

NMIBPHANTOM;

PM24NonmaskableInt3

EMU_TRAPBPHANTOM;

PM26EmulatorTrap2

SW_INT20BPHANTOM;

PM28UserS/Wint-

SW_INT21BPHANTOM;

PM2AUserS/Wint-

SW_INT22BPHANTOM;

PM2CUserS/Wint-

SW_INT23BPHANTOM;

PM2EUserS/Wint-

SW_INT24BPHANTOM;

PM30UserS/Wint-

SW_INT25BPHANTOM;

PM32UserS/Wint-

SW_INT26BPHANTOM;

PM34UserS/Wint-

SW_INT27BPHANTOM;

PM36UserS/Wint-

SW_INT28BPHANTOM;

PM38UserS/Wint-

SW_INT29BPHANTOM;

PM3AUserS/Wint-

SW_INT30BPHANTOM;

PM3CUserS/Wint-

SW_INT31BPHANTOM;

PM3EUserS/Wint—

中断子向量入口定义pvecs

.pvecs"

定义子向量段

PVECTORSBPHANTOM;

保留向量地址偏移量-0000h

BPHANTOM;

保留向量地址偏移量-0001h

保留向量地址偏移量

保留向量地址偏移量

保留向量地址偏移量-05

SCI_RX_ISR;

SCI_TX_ISR;

保留向量地址偏移量-0A

保留向量地址偏移量-10

保留向量地址偏移量-15

保留向量地址偏移量-1A

保留向量地址偏移量-20

保留向量地址偏移量-25

保留向量地址偏移量-0026h

BT1GP_ISR;

保留向量地址偏移量-0027hT1PINT中断

保留向量地址偏移量-0028h

保留向量地址偏移量-2A

pvectoraddroffset0x02f-T3PINT

保留向量地址偏移量-30

保留向量地址偏移量-35

保留向量地址偏移量-3A

保留向量地址偏移量-3F

CANMBX_ISR;

保留向量地址偏移量-0041h

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(2)主程序

.text

_c_int0

CALLSYSINIT;

调系统初始化程序

CALLKEYLEDINIT;

调键盘和LED初始化程序

LDP#DP_USER;

指向0280h~0300h区

SPLK#01H,IOSFT_REG;

寄存器和标志初始化

SPLK#00H,IO_COUNT

SPLK#001H,IO_DATA

SPLK#001H,LEDXS

SPLK#00H,LEDFLAG;

LEDFLAG.0=1表示K1,K2,K3按下

LEDFLAG.0=0表示K4按下

SPLK#01H,K1FLAG

CLRCINTM;

开总中断

LOOP:

CALLKEY;

调键盘程序,即扫描键盘

LDP#DP_USER

BITLEDFLAG,15

BCNDLEDBD1,TC

LACLIO_COUNT

SUB#03E8H

BCNDWAIT,LEQ;

判10s延时到否

LEDBD1:

SPLK#00H,IO_COUNT

LDP#DP_PF2

LACLPFDATDIR

OR#0404H;

IOPF2=1

SACLPFDATDIR;

开74HC273片选信号

LACLLEDXS

OR#0FF00H;

IOPB口为输出方式

SACLPBDATDIR;

送要显示的数据到IOPB口

AND#0FFFBH;

IOPF2=0

关74HC273片选信号

BCNDLEDBD2,TC

SFL

SACLLEDXS

LACLIOSFT_REG

SACLIOSFT_REG

BITIOSFT_REG,BIT8;

判是否循环完一次

BCNDLOOP1,TC

BWAIT

LOOP1:

LDP#DP_USER

赋初值

LEDBD2:

LACLIO_DATA

WAIT:

NOP

BLOOP

(3)系统初始化程序

SYSINIT:

SETCINTM

CLRCSXM

CLRCOVM

CLRCCNF;

B0区被配置为数据空间

LDP#0E0H;

指向7000h~7080h区

SPLK#81FEH,SCSR1;

时钟4倍频,CLKIN=6M,CLKOUT=24M

SPLK#0E8H,WDCR;

不使能WDT

LDP#0

SPLK#02H,IMR;

使能中断优先级INT2

SPLK#0FFFFh,IFR;

清中断标志

LDP#DP_EVA;

指向7400h~7480h区

SPLK#80H,EVAIMRA;

使能T1PINT中断

SPLK#0FFFFh,EVAIFRA;

清EVA中断标志

SPLK#0,GPTCONA

SPLK#0EA6H,T1PR;

使定时器每10ms产生一次中断

SPLK#0,T1CNT

SPLK#0164CH,T1CON;

设置通用定时器1

RET

(4)键盘和发光二极管初始化程序

KEYLEDINIT:

LACLMCRC

AND#083FFH;

IOPF2,IOPF[3~6]配置为一般的I/O口

SACLMCRC

LACLMCRA

AND#000FFH;

IOPB[0~7]配置为一般的I/O口

SACLMCRA

OR#0400H;

IOPF2为输出方式

AND#08787H;

IOPF[3~6]为输入方式

SACLPFDATDIR

LACLPBDATDIR

IOPB[0~7]为输出方式

SACLPBDATDIR

(5)键盘程序

KEY:

CALLREADKEY;

调读键程序

LACLKEYDATA

BCNDKEYRET,EQ;

ACC=0?

CALLKEYDELAY

材料:

玉米粒50克,胡萝卜30克,生菜30克,鸡蛋3个,面粉100克

椒粉各少许;

做法:

1.先将鸡蛋打散成蛋液,加入少许胡椒粉拌匀,胡萝卜洗净切沥干切碎,葱切花;

2.将胡萝卜粒和玉米粒放入沸水中煮熟后沥干待用;

3.面粉中加入适量的盐,再倒入鸡蛋液,加入适量的水搅拌成

4.放入沥干的胡萝卜粒和玉米粒、生菜、葱花,再加入少许芝

再一次读键值

BCNDKEYRET,EQ

判断按键情况

BITKEYDATA,15

BCNDKEYRET,NTC

CALLK1;

"

+"

键按下

BKEYRET

KEYRET:

LACLKEYDATA

AND#0FFF0H;

清读取的键值寄存器

SACLKEYDATA

(6)读键子程序

READKEY:

LACLPFDATDIR;

取出键值PFDATDIR.3~PFDATDIR.6

RPT#2

SFR;

右移3位

OR#0FFF0H;

屏蔽高4位(用到4个键)

CMPL

SACLKEYDATA;

存放键值

RET

(7)用软件延时30mS消抖动

KEYDELAY:

LACC#6000

KEYD1:

SUB#1

RPT#80

NOP

BCNDKEYD1,NEQ

(8)键子程序

K1:

"

键子程序

READK1:

CALLKEYDELAY

CALLREADKEY

判断按键K1是否松开

BITKEYDATA,15

BCNDREADK1,TC

SPLK#01,LEDFLAG;

关闭LED左移标志,即LED对同一个数不刷新

LACLIO_DATA

ADD#1

SACLIO_DATA

(9)中断程序

GISR2:

优先级INT2中断人口

保护现场

LDP#0;

保存机器上下文

SST#0,st0_temp;

使用自动寻址DP-0

SST#1,st1_temp;

保存状态寄存器到B2DARAM.

SACLcontext;

保存ACC的低16位

SACHcontext+1;

保存ACC的高16位

SARAR1,context+2

SARAR2,context+3

SARAR3,context+4

SARAR4,context+5

SARAR5,context+6

LDP#0E0H

LACCPIVR,1;

读取外设中断向量寄存器(PIVR),并左移一位

ADD#PVECTORS;

加上外设中断入口地址

BACC;

跳到相应的中断服务子程序

T1GP_ISR:

通用定时器1中断入口

SACLIO_COUNT

 恢复现场

LDP#DP_EVA

SPLK#0FFFFH,EVAIFRA

LARAR5,context+6

LARAR4,context+5

LARAR3,context+4

LARAR2,context+3

LARAR1,context+2

LACCcontext+1,16

ADDScontext

LST#1,st1_temp

LST#0,st0_temp

开总中断,因为一进中断就自动关闭总中断

(10)假中断程序

PHANTOM

KICK_DOG;

复位看门狗

END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

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

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