大作业设计报告书(嵌入式系统原理与开发)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大作业设计报告书
题目:嵌入式系统原理与开发
院(系):物联网工程学院
专业: 班级:
姓名:
指导老师:
设计时间: 10-11 学年 2 学期
20XX年5月
目录
1.目的和要求 (3)
2.题目内容 (3)
3.设计原理 (4)
4.设计步骤 (5)
4.1 交通指示灯设计 (5)
4.2 S3C44B0X I/O 控制寄存器 (6)
4.3 红绿灯过渡代码: (8)
4.4 电源电路设计 (10)
4.5 系统复位电路设计 (11)
4.6 系统时钟电路设计 (11)
4.7 JTAG 接口电路设计 (12)
4.8串口电路设计 (12)
5.引脚分类图 (13)
6.参考文献 (13)
1.目的和要求
ARM技术是目前嵌入式应用产业中应用十分广泛的先进技术,课程开设的目的在于使学生在了解嵌入式系统基础理论的前提下能够掌握ARM处理器的汇编语言和c语言的程序设计方法,掌握S3C44B0X芯片的基本硬件结构特点和接口设计方法,同时熟悉ARM开发环境,学习ARM的硬件设计和软件编程的基本方法,为今后从事相关的应用与研究打下基础。通过大作业要达到如下目的:
一、掌握ARM的开发工具使用和软件设计方法。
二、掌握ARM处理器S3C44B0X的原理和GPIO接口设计原理。
三、掌握C语言与的ARM汇编语言的混合编程方法;
四、培养学生选用参考,查阅手册及文献资料的能力。培养独立思考,深入研
究,分析问题、解决问题的能力。
五、通过课程设计,培养学生严肃认真的工作作风。
2.题目内容
题目:交通指示灯系统设计
功能描述:
1.用S3C44B0X的GPIO设计相关电路;
2.设计相关的软件并注释;
3.实现十字路口2组红、黄、绿交通灯交替显示。
编程提示:
1.交通灯可用发光二极管代替;
2.电路可部分参照实验电路;
3.时间控制可以使用软件循环编程解决。
嵌入式大作业
红绿灯实验
模拟场景
交通指示灯,需要东西南北四个方向的红绿灯配合交替显示。以上海交通指示灯为例,绿灯向黄灯过渡时,绿灯会闪几下,然后绿灯灭,黄灯亮。红灯向绿灯过渡时,红灯亮,黄灯也一起亮,然后红、黄灯灭,绿灯亮。(红灯向绿灯过度过程如下图所示)
4.1 交通指示灯设计
交通灯电路布线图
如图4-4 所示,发光二极管红黄绿灯正极与芯片的47 脚VDD33 连接,VDD33 可以输出3.3V 的电压,负极通过限流电阻和芯片的13 脚(GPB4)、14(GPB5)等脚连接。
这些管脚分别属于端口B、端口C、端口E、端口F,已经配置为输出口。通过向PDATB、PDATC、PDATE、PDATF寄存器中相应的位写入0 或1 可以使管脚13、14等输出低电平或高电平。当13、14 等管脚输出低电平时,灯点亮;当13、14 等管脚输出高电平时,灯熄灭。
4.2 S3C44B0X I/O 控制寄存器
PDATA 寄存器地址:0X01D20004
PCONA 复位默认值:0X1FF
PDATB 寄存器地址:0X01D2000C
PCONB 复位默认值:0X7FF
PDATC 寄存器地址:0X01D20014 PUPC 寄存器地址:0X01D20018 PCONC 复位默认值:0X0FF0FFFF
PDATD 寄存器地址:0X01D20020 PUPD 寄存器地址:0X01D20024 PCOND 复位默认值:0XA
PDATE 寄存器地址:0X01D2002C PUPE 寄存器地址:0X01D20030 PCONE 复位默认值:0X25529
PDATF 寄存器地址:0X01D20038 PUPF 寄存器地址:0X01D2003C PCONF 复位默认值:0X00252A
PDATG 寄存器地址:0X01D20044 PUPG 寄存器地址:0X01D20048 PCONG 复位默认值:0XFFFF
4.3 红绿灯过渡代码:
void led_test()
{
int i;
/*所有灯都灭*/
leds_off();
/*东面和西面的绿灯点亮*/
led_east_green_on();
led_west_green_on();
/*南面和北面的红灯点亮*/
led_north_red_on();
led_south_red_on();
delay(12000); //延迟12秒
/*绿灯向黄灯过渡时,闪烁5下,东西面的绿灯最终熄灭*/
for(i=0;i<5;i++)
{
led_east_green_on();
led_west_green_on();
delay(800);
led_east_green_off();
led_west_green_off();
}
/*东西面黄灯亮*/
led_east_yellow_on();
led_west_yellow_on();
/*红灯向绿灯过渡,是红黄灯一起亮,然后绿灯亮,红黄灯一起熄灭参照上海的交通灯显示规则*/
/*南北面黄灯点亮,此时红灯未熄灭*/
led_north_yellow_on();
led_south_yellow_on();
delay(2500); //延迟2.5秒
/*东西面黄灯灭→东西面红灯亮*/
led_east_yellow_off();
led_west_yellow_off();
led_east_red_on();
led_west_red_on();
/*南北面黄灯和红灯熄灭→南北面绿灯点亮*/
led_north_yellow_off();
led_south_yellow_off();
led_north_red_off();
led_south_red_off();
led_north_green_on();
led_south_green_on();
delay(12000); //延迟12秒