微机应用系统设计与综合实验报告.docx
- 文档编号:25939431
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:13
- 大小:726.68KB
微机应用系统设计与综合实验报告.docx
《微机应用系统设计与综合实验报告.docx》由会员分享,可在线阅读,更多相关《微机应用系统设计与综合实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
微机应用系统设计与综合实验报告
中南大学
微机应用系统设计与综合实验报告
实验名称:
微机应用系统设计与综合实验
专业班级:
自动化1004
姓名:
实验时间:
2012.9.10—2012.9.14
目录
第一章实验目的及涉及点....................................................1
第二章实验环境....................................................................2
(一)硬件环境........................................................................3
(二)软件环境........................................................................7
第三章实验电路图及实验内容............................................9
一、实验电路图.....................................................................9
二、实验内容..........................................................................10
第四章实验步骤..................................................................11
第五章实验思考及创新.......................................................13
第一章实验目的及涉及点
1、掌握GPIO口基本寄存器的使用,掌握如何将GPIO作为输出口。
2、掌握GPIO口的读写操作。
3、进一步了解C语言在飞思卡尔单片机中的编程规范及技巧。
4、掌握2803的驱动原理。
5、了解矩阵键盘扫描原理。
6、掌握矩阵键盘编程方法。
第二章实验环境
(一)硬件环境
HF-ExBoard扩展实验平台底板电路结构如图1.2所示。
图1.2HF-ExBoard硬件结构图
HF-ExBoard扩展实验平台底板电路划分成A区~T区共20个区域,一下简
要说明每个区域的功能。
A区:
核心板模块扩展区域。
A区中提供了3组插槽,可以扩展配套提供的
核心板。
插槽兼容我公司研发的所有8位、16位和32位核心板,并且每组插槽
的所有引脚均可以引出用做基础或者扩展实验。
关于不同核心板和外部扩展接口
之间的对应关系,详见附录。
B区:
电源模块。
这里通过引入机箱内的9V直流电源,为实验平台提供5V、
6V和3.3V电源。
C区:
RS485通讯模块。
使用MAX485扩展RS485通讯总线,完成RS485
通讯相关实验。
D区:
8位8段数码管模块。
该区域提供动态扫描方式扩展的8位8段LED
数码管,用于完成GPIO相关实验。
E区:
电源输出。
提供9V、6V、5V和3.3V电源输出。
F区:
128x64液晶模块扩展。
提供128x64液晶模块的扩展接口,兼容带字
库和不带字库的液晶。
接口同时兼容1602液晶。
G区:
继电器控制模块。
该区域提供了1个继电器,用以完成GPIO控制外
设实验。
继电器提供了常开和常闭引出端口,并且可以通过一个LED的点亮,
检验继电器动作是否正确。
H区:
CAN总线通讯模块。
该区域提供了1路CAN总线通讯接口,可以用
于完成CAN总线通讯实验。
I区:
PWM模拟D/A模块。
该区域用于完成PWM模拟D/A的实验,输出
连接1个LED灯,可以通过LED灯的亮度变化,验证PWM模拟D/A实验的正
确性。
J区:
扩展板区域1。
该区域用于接插本公司研发的实验系统配套扩展板。
用户也可以利用该区域,自行设计扩展相应模块板。
K区:
0802液晶模块扩展。
该区域扩展了一个0802的液晶模块,可以利用
GPIO对其编程完成相关实验。
L区:
测温模块。
该区域扩展DS18B20温度传感器,可以完成温度测量实
验。
M区:
脉冲发生模块。
该区域提供一个按键,按下该按键即可产生一个脉冲,
并可选择脉冲为高电平还是低电平。
该模块可以用于外部中断、输入捕捉和脉冲
累加模块等实验。
N区:
4x4矩阵键盘模块。
该区域提供了4x4的矩阵键盘,可以利用GPIO
连接后实现矩阵键盘扩展。
O区:
IIC器件扩展模块。
该区域提供基于IIC接口的I/O扩展、EEPROM
和实时时钟模块,用于完成IIC模块实验。
P区:
SPI器件扩展模块。
该区域利用SPI总线扩展串入并出I/O,实现LED
灯的控制。
Q区:
蜂鸣器控制模块。
该区域提供了1个蜂鸣器,用以完成GPIO控制外
设实验。
R区:
可调模拟电压输入模块。
该区域通过一个电位器,提供可变模拟电压
输入,用于完成ATD模块实验。
S区:
扩展板区域3。
该区域用于接插本公司研发的实验系统配套扩展板。
用户也可以利用该区域,自行设计扩展相应模块板。
T区:
扩展板区域2。
该区域用于接插本公司研发的实验系统配套扩展板。
用户也可以利用该区域,自行设计扩展相应模块板。
(二)软件环境
CodeWarrior包括构建平台和应用所必需的所有主要工具-IDE、编译器、调试器、编辑器、链接器、汇编程序等。
另外,CodeWarriorIDE支持开发人员插入他们所喜爱的工具,使他们可以自由地以希望的方式工作。
CodeWarrior开发工作室将尖端的调试技术与健全开发环境的简易性结合在一起,将C/C++源级别调试和嵌入式应用开发带入新的水平。
开发工作室提供高度可视且自动化的框架,可以加速甚至是最复杂应用的开发,因此对于各种水平的开发人员来说,创建应用都是简单而便捷的。
它是一个单一的开发环境,在所有所支持的工作站和个人电脑之间保持一致。
在每个所支持的平台上,性能及使用均是相同的。
无需担心主机至主机的不兼容
第三章实验电路图及实验内容
一、实验电路图
1.流水灯
实验1流水灯图
2.动态数码管显示
实验2动态数码管显示图
3.矩阵键盘
实验3矩阵键盘
二、实验内容
1.流水灯
利用PORTB口的低4位驱动4位LED灯,实现4位LED灯明灯流水操作
2.动态数码管显示
系统上电后首先单8左移显示,然后0-7顺次左移显示,紧接着7-0顺次右移显示,再0-7全部闪烁显示,并重复以上动作。
3.矩阵键盘
编写键盘扫描程序,当矩阵键盘模块有按键按下时,读取键值,并利用数码管显示键值。
系统上电后8位数码管以5-4-3-2-1倒计数显示,待显示值为1后,数码管清除显示,此时按下矩阵键盘按键,数码管显示对应键值。
第四章实验步骤
(一)流水灯
1、接线说明:
本实验无需外部接线,只需要使用跳线帽短接核心板上JP_1处标号为PB0~PB3的跳线即可。
2、运行程序,观察LED灯亮灭情况。
(二)拨码开关控LED灯
1.接线说明:
本实验无需外部接线,只需要使用跳线帽短接核心板上JP_1处标号为PB0~PB7的跳线即可。
2、运行程序,改变拨码开关的状态,观察LED灯的显示变化。
(三)动态数码管显示
1、接线说明:
实验系统底板的8位8段数码管模块的段码接线说明:
J_SEG-1(A)----IO065(PA0)
J_SEG-2(B)----IO066(PA1)
J_SEG-3(C)----IO067(PA2)
J_SEG-4(D)----IO068(PA3)
J_SEG-5(E)----IO069(PA4)
J_SEG-6(F)----IO070(PA5)
J_SEG-7(G)----IO071(PA6)
J_SEG-8(DP)----IO072(PA7)
8位8段数码管模块的位码接线说明:
J_DIG-1(COM0)----IO046(PH7)
J_DIG-2(COM1)----IO045(PH6)
J_DIG-3(COM2)----IO048(PH5)
J_DIG-4(COM3)----IO047(PH4)
J_DIG-5(COM4)----IO050(PH3)
J_DIG-6(COM5)----IO049(PH2)
J_DIG-7(COM6)----IO052(PH1)
J_DIG-8(COM7)----IO051(PH0)
2、运行程序,观察数码管的显示。
第五章实验思考及创新
一.流水灯思考题
如何利用PORTB口做出闪烁效果?
Main()
{
….
…
…
DDRB=0x01;//B端口最低位方向寄存器设为输出
For(;;)
{
PORTB=0x01;//点亮最低为控制的LED灯
Delay();//延时
PORTB=0x00;//熄灭最低为控制的LED灯
Delay();//延时
}
…//以上循环,延时超过人的视觉停留时间0.2s,就可以达到闪烁效果
…
}
二.动态数码管显示思考题
1、如何修改程序显示“ABCDEF”。
0~9,A~B
constunsignedcharg_LED_Seg_Table[17]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x00};
2、如何实现数据的闪动显示。
MAIN()
{…….
k=2;//0-7闪烁显示
do{
for(j=0;j<25;j++)
{
led_dig=0x01;//先选中最右端数码管显示
for(i=0;i<8;i++)
{
SEG_NUM=g_LED_Seg_Table[i];
DIG_NUM=led_dig;
led_dig=led_dig<<1;//位选信号左移1位
Delay
(1);
}
}
DIG_NUM=0x00;//熄灭数码管
Delay(100);
}while(k--);
,,,,,,,,,
}
三.矩阵键盘思考题
1.了解矩阵键盘的线反转法,试编程实现
线反转法的具体操作步骤:
(1)将行线作为输出线列线作为输入线。
置输出线全部为0此时列线中呈低电平0的为按键所在的列如果全部都不是0则没有键按下。
(2)将第一步反过来将列线作为输出线行线作为输入线。
置输出线全部为0此时行线中呈低电平0的为按键所在的列。
至此便确定了按键的位置(x,y)编程实现:
MAIN()
{
,,,,,
for(;;)
{
PTS=0x0F;//H:
列,L:
行,00001111列全亮
key_num=PTS;
key_num&=0x0F;
if(key_num!
=0x0F)//有列:
按下:
PTS!
=0x0f
{
key_num=Get_num();//读键值
if(key_num!
=255)
{
SEG_NUM=g_LED_Seg_Table[key_num];
}//endofif(key_num!
=255)
}//endofif(key_num!
=0x0F)
,,,,,
}
unsignedcharGet_num(void)
{
unsignedchardata_in,data_out,i,j,num;
data_out=0xEF;//11101111PTS!
=0x0f
for(i=0;i<4;i++)
{//H:
列
PTS=data_out;//1110111100001011
Delay(5);
data_in=PTS;//11101011
data_in&=0x0F;//1011&1111
if(data_in!
=0x0F)//有键按下,eg:
00001011
{
Delay(5);
j=0;
num=data_in;//00001011
while(num&0x01)//00001011!
=0x01
{
num>>=1;//00001011,10000101,11000010,01100001,10110000
j++;
}//endofwhile(num&0x01)
return(3-i+j*4);
}//endofif(data_in!
=0x0F)
data_out<<=1;
}//endoffor(i=0;i<4;i++)
return(255);
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 应用 系统 设计 综合 实验 报告