综合课程设计报告.docx
- 文档编号:12149089
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:35
- 大小:332.03KB
综合课程设计报告.docx
《综合课程设计报告.docx》由会员分享,可在线阅读,更多相关《综合课程设计报告.docx(35页珍藏版)》请在冰点文库上搜索。
综合课程设计报告
课程设计报告
课程名称
专业、班级
学号
姓名
指导教师
设计时间
2012年10月15日
一、引言(简要说明设计题目的目的、意义、内容、主要任务等)
微机原理与接口技术
课程设计一8255与多位LED数码管的显示
1.课程设计目的
掌握8255A的编程原理与多位LED数码管的显示方法。
2.课程设计设备
MUT—Ⅲ型实验箱、8086CPU模块。
3.课程设计内容
把待显示字符的LED代码组成一个七段代码表,存放在存储器中。
通过对8255编写程序在多位LED数码管上显示输出。
1、设计出8255与8086接口对应硬件电路,并完成相应的连接
2、设计出8255与LED数码管的对应硬件接口电路,并完成相应的连接
3、编写程序,在数码管上显示
课程设计二8255键盘扫描与LED数码管显示
1.课程设计目的
掌握8255A的编程原理。
2.课程设计设备
MUT—Ⅲ型实验箱、8086CPU模块。
3.课程设计内容
8255扩展扫描3X8行列式键盘,由一位LED数码管显示
1、设计出8255与8086接口对应硬件电路,并完成相应的连接
2、调试对应8255、键盘、及数码管硬件接口电路及相应接口软件
3、当用键盘输入时在数码管上显示相应值
DSP原理与应用
课程设计一INT2中断实验
1.课程设计目的
掌握中断技术,学会对外部中断的处理方法;
掌握中断对程序流程的控制,理解DSP对中断的响应时序。
2.课程设计设备
计算机,CCS2.0版软件,DSP仿真器,实验箱
3.实验说明
DSP的INT2中断为低电平沿触发。
课程设计二键盘接口及七段数码管显示实验
1.课程设计目的
掌握中断技术,学会对外部中断的处理方法;
掌握中断对程序流程的控制,理解DSP对中断的响应时序。
2.课程设计设备
计算机,CCS2.0版软件,DSP仿真器,实验箱
3.实验说明
HD7279A芯片简介
该芯片是一片具有串行接口的,可同时驱动8位共阴式数码管或(64只独立LED)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵,单片即可完成LED显示,键盘接口的全部功能。
HD7279A内部含有译码器,可直接接受BCD码或16进制码,并同时具有2种译码方式。
此外,还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。
HD7279A具有片选信号,可方便地实现多于8位的显示或多于64键的键盘接口。
EDA应用
课程设计一跑马灯设计
课程设计要求
控制8个LED进行花式显示,设计4种显示模式:
S0:
从左到右逐个点亮LED;
S1:
从右到左逐个点亮LED;
S2:
从两边到中间逐个点亮LED;
S3:
从中间到两边逐个点亮LED.
4种模式循环切换,复位键(rst)控制系统的运行和停止.
课程设计二8位数码扫描显示电路设计
课程设计要求
采用动态扫描原理,在8个数码管上显示数据“124579DF”
Protel99SE电路原理图与PCB设计及仿真
广告灯的设计
一、广告灯概述
广告灯,就是所谓的光影传媒,是能把任何图案以光的形式投影在广场或各种楼体上,投影的图案既有动态效果,也有静态效果,各种图案都可以订做,很容易吸引众人的眼光,关注率非常高。
广告灯这是一种新生的传媒,成本低,投射方便,是各种广告公司的新宠。
广告灯还能在一些传统媒体无法投放的地方发生作用,并会有意想不到的效果,如地面,马路边上。
广告灯可运用色彩的对比手法,从而产生与众不同的色彩感觉与色彩组合,并有助于作品形象区别于周围事物与环境,形成色彩视觉冲击力,引发注意。
不同的色彩对比组合,可以营造鲜艳夺目、明亮活泼,也可以是庄重高雅、雍容华贵,在作品与消费者接触的一刹那中,打动消费者,增强注意的力度,在形成广告的第一印象时,色先夺人,并留下深刻的印象。
广告灯主要应用于广告牌、建筑泛光照明、网球场、停车场、体育馆、堆场及码头等。
本文中的广告灯采用8051单片机进行控制。
二、设计任务与要求
1、设计要求:
在P2.0端口上接一个发光二极管D1,使D1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒
2、系统硬件连线:
把“单片机系统”区域中的P2.0端口用导线连接到“八路发光二极管指示模块”区域中的D1端口上
3、实验任务:
做单一灯的左移右移,八个发光二极管D1-D8分别接在单片机的P2.0-P2.7接口上,输出“0”时,发光二极管亮,开始时P2.0→P2.1→P2.2→P2.3→┅→P2.7→P2.6→┅→P2.0亮,重复循环
二、正文(课程设计的主要内容,包括实验与观测方法和结果、仪器设备、计算方法、编程原理、数据处理、设计说明与依据、加工整理和图表、形成的论点和导出的结论等。
正文内容必须实事求是、客观真切、准确完备、合乎逻辑、层次分明、语言流畅、结构严谨,符合各学科、专业的有关要求。
)
微机原理与接口技术
课程设计一8255与多位LED数码管的显示实验
课程设计原理介绍
本课程设计用到两部分电路:
8255可编程并口电路和LED数码管的显示电路。
实验箱数码管采用共阴极形式。
课程设计步骤
1、实验接线
CS0CS8255
(输出)PA0~PA7LED-A~LED-DP(段控)
(输出)PB0~PB5LED-1~LED-6(位控)
2、编程并全速或单步运行。
3、全速运行时观察数码管的变化。
实验提示
8255功能特性:
三个独立的8位并行输入/输出端口,各端口均具有数据数据输入、输出能力;
三种工作方式:
0基本、1选通、2双向;
可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。
8255工作前必须初始化,初始化时需设置:
工作方式和数据传送方向(通过向8255写入方式控制字实现)。
实验结果
程序全速运行后,待显示字符应能在LED上显示出来。
程序源代码清单
assumecs:
code
codesegment
org100h
start:
nop
nop
start1:
movcx,06h
movbx,00feh
movdx,04a6h
movax,80h
outdx,ax
disp:
movdi,offsetsegcod
movdx,04a0h
moval,bh
movah,00h
adddi,ax
moval,cs:
[di]
outdx,al
movdx,04a2h
moval,bl
outdx,al
pushcx
calldelay
popcx
incbh
rolbl,1
loopdisp
jmpstart1
delay:
movcx,45h;延时常数可以自己定义
delay1:
nop
nop
nop
nop
loopdelay1
ret
segcoddb6dh,7dh,07h,7fh,6fh,77h
codeends
endstart
课程设计二8255键盘扫描与LED数码管显示
课程设计原理介绍
本课程设计用到两部分电路:
键盘电路和8255可编程并口电路。
课程设计步骤
1、实验接线
CS0CS8255;(输入)PA0~PA7RL10~RL17(列选择线);(输出)PB0~PB7LED-A~LED-DP;(输出)PC0~PC2KA10~KA12(行选择线);(输出)PC3LED1(数码管控制开关)。
2、编程并全速或单步运行。
3、全速运行时按动键盘,观察数码管的变化。
实验提示
8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。
8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为输出用,本实验也是如此。
实验中,8255A工作于基本输入输出方式(方式0)。
实验结果
本实验为对3X8键盘(一行有8个按钮,共三行.如第一行8个按钮对应实验箱上键盘区最上一行6个加上下一行前两个,逐次类推)逐行扫描实验,每按一个键通过数码管显示其值.
如一行一列显示0,二行三列显示8.逐次类推.
程序框图
程序源代码清单
assumecs:
code
codesegmentpublic
org100h
start:
movdx,04a6h;控制寄存器地址
movax,90h;设置为A口(04A0H)输入,B口(04A2H)输出,C口(04A4H)输出
outdx,ax;8255初始化
check0:
;check0检测是否有健被按下
movax,00h;C口的PC0、PC1、PC2作为行选线
movdx,04a4h;C口地址
outdx,ax;写入C口内容00H,即令所有的行都为低电平
movdx,04a0h;A口地址
inax,dx;读入A口的内容
cmpal,0ffh;判定是否有列线为低电平
jecheck0;没有,无闭合键,则循环等待
movcx,05ffh;有键闭合,延迟常数,可以修改来改变延时时间
delay:
loopdelay;有,则延迟清除抖动,当cx=0时则停止该循环
;行扫描键盘和列扫描键盘,确定被按键的行值和列值
movcl,3;行数
movah,0
moval,0fbh;0fbh=11111011B
contin:
pushax;将ax的内容(0fbh)入栈保存
movdx,04a4h;C口地址
outdx,al;写入C口内容0fbh=11111011B,即将第三行置为低电平
movdx,04a0h;A口地址
inal,dx;读入A口的内容
movah,al;将A口的内容送入ah
cmpah,0ffh;判定是否有列线为低电平
jnenext;比较结果不等于0则转移,即有列线为低电平
popax;比较结果不等于0,即没有列线为低电平,(ax)=00fbh
roral,1;fbh(11111011B)循环右移,(al)=11111101准备检测下一行
loopcontin;循环扫描下一行
jmpcheck0;若所有行都没有被按下,则返回check0重新检测
next:
movch,cl;保存行值至CH
movcl,7;列数从0开始编号0-7
begin0:
shlah,1;ah为A口的内容,逻辑左移1位,末位补0
jncgoon;无进位则转移,即可确定列
loopbegin0
jmpcheck0
goon:
;计算显示码在discode中的位置:
(行数-1)*8+列数
movbl,cl;保存列值至BL
decch;行值减1
movcl,3
shlch,cl;(行数-1)*8
addbl,ch;确定显示码在discode表中的偏移量,即(行数-1)*8+列数
movbh,0
movcx,bx;显示码在discode表中的偏移量送CX
display:
;显示输出
movsi,offsetdiscoed
addsi,cx;显示码偏移地址
movdx,04a4h;C口地址
moval,0fh
outdx,al;写入C口内容
moval,[si];取被按键的显示字形码送入al
movdx,04a2h;B口地址
outdx,al;将显示字形码送B口输出显示
nop
nop
jmpcheck0
discodedb3fh,06h,5bh,4fh,66h,6dh,7dh,07h(分别对应0-7)
db7fh,6fh,77h,7ch,39h,5eh,79h,71h(分别对应8-F)
db01h,02h,04h,08h,10h,20h,40h,80h(分别对应abcdefgh);显示字形码表
codeends
endstart
DSP原理与应用
课程设计一INT2中断实验
课程设计步骤和内容
1、用连接线连接“CPLD单元”的2号孔“单脉冲输出”和“电机控制单元”2号孔“INT2”。
将“CPLD单元”拨码开关第3位打到“ON”位置。
2、运行CCS软件,调入样例程序,装载并运行;
3、每按一次“单脉冲输出”按键LED1~LED8灯亮灭变化一次;
4、填写实验报告。
5、样例程序实验操作说明
启动CCS2.0,并加载“NORMAL\EXP05_CPU2\DEBUG\exp05.out”;
单击“Run”运行程序,反复按开关“单脉冲输出”,观察LED1~LED8灯亮灭变化;
单击“Halt”暂停程序运行,反复按开关“单脉冲输出”,LED1~LED8灯亮灭不变化;
关闭所有窗口,本实验完毕。
源程序查看:
用下拉菜单中Project/Open,打开“NORMAL\EXP05_CPU2\Exp05.pjt”,双击“Source”,可查看各源程序。
主要程序源代码
interruptvoidint2c();
externvoidinitial();
externvoidporta();
externvoidportb();
intflag=0,i=0;
main()
{
initial();//初始化
while
(1)//死循环
{
;//空语句
}
}
interruptvoidint2c()//中断子程序
{
i=i+1;
if(i==1)
{
if(flag==0)
{
flag=1;
porta();
i=0;
}
else
{
flag=0;
portb();
i=0;
}
}
else
{
i=0;
}
return;
}
课程设计二键盘接口及七段数码管显示实验
课程设计步骤和内容
1.正确完成计算机、DSP仿真器和实验箱的连接后,系统上电;
2.启动CCS2.0,用Project/Open打开NORMAL\exp09_keyboard\keyboard_led目录下的“keyboard_led.pjt”工程文件;双击“keyboard_led.pjt”及“Source”可查看各源程序;并加载“DEBUG”目录下的“keyboard_led.out”;
4.单击“Run”运行程序,然后观察结果
可以看到LED全部点亮后,LED13和LED14显示出0123456789等字符,并逐渐左移,直到“F”出现后,LED全部变暗。
此时按键,便可从LED13和LED14上显示出123456789等按键对应的键值,每个键对应一个数,当按下一键时LED就会显示出相对应的数,且向左移动一位。
注:
随实验附带有HD7279的PDF文档,HD7279详细操作可参资料。
主要程序源代码
/************************文件预处理***************************/
#include"tms320uc5402.h"
/*************************************************************/
/********************全局变量定义与初始化*********************/
unsignedintp;
charsend_buff=0x00;
charrece_buff=0x00;
unsignedintdata_buff=0x0000;
/*************************************************************/
/*******************函数、子程序声明与定义********************/
voidsys_ini()//系统初始化子程序
{
/*全局禁止所有可屏蔽中断*/
asm("ssbxINTM");
/*(DRAM映射到程序空间和数据空间)向量表映射到0x0080空间*/
PMST&=0x00FF;
/*io空间7个等待周期,程序与数据空间0个等待周期*/
SWWSR=0x7000;
/*设置pll为div模式*/
CLKMD=0x0000;
/*等待设置完成*/
while(CLKMD==0x0001);
{
}
/*CLKOUT=(3+1)*CLKIN=40M,自动延时最长时间*/
CLKMD=0x37FA;
/*CLKOUT=(1+1)*CLKIN=20M,自动延时最长时间*/
//CLKMD=0x17FA;
}
voidMcBSP1_ini()//初始化多通道缓存串口1为通用IO
{
/*复位多通道串口0的接收*/
SPSA1=SPCR1;
SPSD1=0x0000;
/*复位多通道串口0的发送*/
SPSA1=SPCR2;
SPSD1=0x0000;
/*定义CLKXM脚为io输出脚初始值0,BFSX脚为io输出脚
初始值1,CLKRM脚为io输出脚初始值1*/
SPSA1=PCR;
SPSD1=0x3B09;
}
voidint3_ini()//中断3初始化子程序
{
/*使能外部中断3*/
IMR=0x0100;
/*清除所有中断标志位*/
IFR=0xFFFF;
/*全局使能可屏蔽中断*/
asm("rsbxINTM");
}
voiddelay_8us()//延时8us子程序
{
unsignedinti;
for(i=0;i<30;i++);
}
voiddelay_50us()//延时50us子程序
{
unsignedintj;
for(j=0;j<170;j++);
}
voiddelay_25ms()//延时25ms子程序
{
unsignedintk;
for(k=0;k<50000;k++);
for(k=0;k<45000;k++);
}
voiddelay_long()//长延时子程序
{
unsignedintn,s;
for(n=0;n<6000;n++)
{
for(s=0;s<600;s++)
{
}
}
}
voidcs_high()//7279cs置高子程序
{
SPSA1=PCR;
SPSD1|=0x0001;
}
voidcs_low()//7279cs置高子程序
{
SPSA1=PCR;
SPSD1&=0xFFFE;
}
voidsend()
{
unsignedintm;
cs_low();
delay_50us();
for(m=0;m<8;m++)
{
SPSA1=PCR;
switch(send_buff&0x80)
{
/*7279data置低*/
case0x00:
SPSD1&=0xFFF7;break;
/*7279data置高*/
case0x80:
SPSD1|=0x0008;
}
/*7279clk置高*/
SPSA1=PCR;
SPSD1|=0x0002;
delay_8us();
/*7279clk置低*/
SPSA1=PCR;
SPSD1&=0xFFFD;
delay_8us();
send_buff<<=1;
}
}
voidreceive()
{
unsignedints;
/*将BFSX脚配置为io输入脚*/
SPSA1=PCR;
SPSD1&=0xF7FF;
/*7279发数据*/
asm("rsbxxf");
delay_50us();
for(s=0;s<8;s++)
{
/*7279clk置高*/
SPSA1=PCR;
SPSD1|=0x0002;
delay_8us();
SPSA1=PCR;
data_buff=data_buff|((SPSD1&0x0008)<<(12-s));//读BFSX引脚数据;
/*7279clk置低*/
SPSA1=PCR;
SPSD1&=0xFFFD;
delay_8us();
}
rece_buff=data_buff>>8;
/*清除data_buff*/
data_buff=0x0000;
/*将BFSX脚配置为io输出脚*/
SPSA1=PCR;
SPSD1|=0x0800;
/*7279收数据*/
asm("ssbxxf");
}
/*************************************************************/
/*****************中断服务子程序声明与定义********************/
interruptvoidint3()
{/*读键值指令*/
send_buff=0x15;
send();
receive();
/*数据左移指令*/
send_buff=0xA1;
send();
send_buff=0xC8;
send();
/*将接收到的键值送显示*/
send_buff=rece_buff;
send();
return;
}
/*************************************************************/
/**************************主程序*****************************/
voidmain(void)
{
sys_ini();
McBSP1_ini();
int3_ini();
delay_25ms();
/*测灯指令*/
send_buff=0xBF;
send();
delay_long();
delay_long();
/*清除指令*/
send_buff=0xA4;
send();
/*送出数据0x00~0x0F*/
for(p=0;p<16;p++)
{
send_buff=0xC8;
send();
send_buff=p;
send();
delay_long();
/*数据左移指令*/
send_buff=0xA1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合 课程设计 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)