嵌入式软件开发培训笔记——基于S5PC100的课程设计

本文档记录了基于S5PC100的嵌入式软件开发培训,包括温度、ADC模拟电压及按键数据采集,定时上报,温度报警及UART指令响应。通过初始化各模块如I2C、ADC、定时器和UART,实现温度传感器LM75读取,ADC电压获取,按键开关量检测,以及蜂鸣器报警等功能。
摘要由CSDN通过智能技术生成
1、温度、ADC、开关量数据采集与报警处理,功能如下
2、嵌入式系统硬件基本构成

3、软件系统
    1)、采集温度、模拟电压以及按键开关量(门禁)    
        get_temperture()温度
        get_adc()模拟量
        get_di()开关量
    2)、定时(间隔2秒)上报数据
        定时中断,每2秒触发一次上报任务
    3)、温度大于25度,峰鸣器报警
        if(get_temperture())    beep_on()
        else    beep_off()
    4)、接收UART指令,led 1 on 则把LED灯打开/反之led 1 off

    4、程序
//#include "s5pc100.h"
#include "uart.h"

extern void printf (const char *fmt, ...);
void uart0_send_char(char);

/***VIC0ADDRESS-REG***/
#define VIC0VECTADDR25 *(volatile unsigned int*)0xE4000164
#define VIC1VECTADDR10 *(volatile unsigned int*)0xe4100128
#define VIC0INTENABLE *(volatile unsigned int*)0xE4000010
#define VIC1INTENABLE *(volatile unsigned int*)0xe4100010
#define VIC0ADDRESS *(volatile unsigned int*)0xE4000F00
#define VIC1ADDRESS *(volatile unsigned int*)0xE4100F00
#define VIC2ADDRESS *(volatile unsigned int*)0xE4200F00
void do_irq(void)
{
((void (*)(void))VIC0ADDRESS)();
VIC0ADDRESS = 0;
VIC1ADDRESS = 0;
VIC2ADDRESS = 0;
}

/***Uart-REG***/
#define GPA0CON *(volatile unsigned int *)0xe0300000
#define ULCON0 *(volatile unsigned int *)0xec000000
#define UCON0 *(volatile unsigned int *)0xec000004
#define UTRSTAT0 *(volatile unsigned int *)0xec000010
#define UTXH0 *(volatile unsigned int *)0xec000020
#define URXH0 *(volatile unsigned int *)0xec000024
#define UBRDIV0 *(volatile unsigned int *)0xec000028
#define UDIVSLOT0 *(volatile unsigned int *)0xec00002c
#define UINTP0 *(volatile unsigned int *)0xEC000030
#define UINTSP0 *(volatile unsigned int *)0xEC000034
#define UINTM0 *(volatile unsigned int *)0xEC000038
#define UART_RXD_MASK 0x01
#define UART_ERR_MASK 0x02
#define UART_TXD_MASK 0x04
#define UART_MODEM_MASK 0x08

/***Time1-REG***/
#define TCFG0 *(volatile unsigned int *)0xea000000
#define TCFG1 *(volatile unsigned int *)0xea000004
#define TCON   *(volatile unsigned int *)0xea000008
#define TCNTB1 *(volatile unsigned int *)0xea000018
#define TCMPB1 *(volatile unsigned int *)0xea00001c

/***Time4-REG***/
#define TCNTB4 *(volatile unsigned int *)0xea00003c
#define TINT_CSTAT *(volatile unsigned int *)0xEA000044

/***IIC-REG***/
#define I2CCON0 *(volatile unsigned int*)0xEC100000
#define I2CDS0 *(volatile unsigned int*)0xEC10000C
#define
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值