Led对应管脚如下图所示:
所以需要设置GPB相关的寄存器,在IO Port里,Port B Control Register。有11个io input/output接口
GPB5 | Led1 |
GPB6 | Led2 |
GPB7 | Led3 |
GPB8 | Led4 |
S3C2440存在接口复用,所以即需要设置PnCON以确定io口的功能。
如果接口设置位output则可写data寄存器进行控制,若设为input可读寄存器的值。
相关的还有一个混杂寄存器和外部中断寄存器,可不用关心。
可知相关的两个寄存器的地址为0x56000010,,0x56000014。
对于GPBCON,各个接口都应该选01,作为output使用
0x 00 0 0
要是GPB5-8全部点亮,设置01 0101 0100 00000000 ----------------> 0x15400
LED低电平点亮:
所有汇编程序如下
.text
.global_start
start:
LDR R0,=0x56000010 @R0设为GPBCON寄存器,此寄存器用于选择端口B引脚的功能:
@是输入输出还是其他
MOV R1, #0x15400 @要是GPB5-8全部点亮,设置01 01010100 0000 0000 --> 0x15400
STRR1,[R0] @将GPBCON寄存器设置为0x15400
MOV R1,#0x00000000 @
STRR1,[R0] @GPB5-8输出0,LED1-4全部点亮
MAIN_LOOP:
B MAIN_LOOP
Makefile:
Led_on:led_on.s
arm_linux_gcc -g -o led_on.o led_on.s
#编译
arm_linux_ld -Ttext 0x00000000 -g led_on.o led_tmp.o
#链接
arm_linux_objcopy -O binary -S led_on_tmp.o led_on
#把ELF格式的可执行那个文件led_on_tmp.o转换成
二进制文件格式led_on
Clean:
rm -f led_on
rm *.o
实验还未经过验证。
关键字:s3c2440 ports led点亮
引用地址:
s3c2440基本io/ports led点亮
推荐阅读最新更新时间:2024-03-16 15:31
工业网络IO-Link是什么玩意儿
随着人们对工业互联网的热情越来越大,工程师们正在寻找工业网络和通信协议,如IO-Link,以帮助从工厂车间解锁传感器数据。通过这样做,他们希望实现数据诊断,并为机器设备找出潜在的问题。在这里,记者与制造专家Erick%20%20Rudaitis进行了会谈,内容主要关于什么是工业网络IO-Link,这将意味着无数的气动元件应用于工厂车间。派克汉尼汾先进制造服务于通用汽车公司和许多其他的公司,是一家智能工厂网络接口产品世界一流的资深企业。 记者:让我们从一个定义开始,你如何定义工业网络? Rudaitis:工业网络是一种协议帮助在以太网工业环境实现对机器的控制。例如:EtherNet/IP、PROFINET、EtherCat、Modb
[嵌入式]
S3C2440裸机------SDRAM
1.配置内存控制器的寄存器 我们的S3C2440在访问SDRAM的时候,首先发出地址,然后内存控制器首先根据地址范围发出片选信号nGCS6,然后根据片选信号的类型得知是SDRAM,然后拆分地址为 bank地址,行地址和列地址,具体应该怎么把地址拆分成bank地址,行地址,列地址则由我们配置的SDRAM寄存器决定,然后开始读数据。 1.1BWSCON寄存器设置 由于我们的SDRAM只连接到了片选6上面,所以我们只看该寄存器的与6相关的几项,由于我们使用了两篇SDRAM组成32位的,所以DW6我们设置成10,WS6表示是否使用wait信号,wait信号是指如果内存芯片的速度很慢,当cpu发出读写命令之后,内存控制器开始驱动相关
[单片机]
S3C2440 初步接触之程序烧写
使用OpenJTAG烧写:(裸板程序) 1、安装驱动 2、将 oflash.exe FTD2XX.dll 拷贝到 C:Windowssystem32 下。(oflash.exe 和 FTD2XX.dll 在 百问网JZ2440v2主光盘windowstools中) 3、然后在 Windows 命令行就可以直接使用了。 4、接线。 5、在命令 Windows 命令行中使用 oflash 烧写: 进入要烧写的文件所在目录 执行 oflash xxx.bin (xxx.bin 是指要烧写的那个文件) 输入 OpenJTAG 对应的数字 输入 开发板 CPU 对应的数字(我的是S3C2440) 输入 要烧写到那个存储设备上。(视频中所说,
[单片机]
stm32f103系列芯片JTAG口当做普通IO使用
使用的芯片是stm32f103c8t6. 今天在调试板子时发现在PA15口上的LED灯无论输出高还是低都只有一个中间电平2.3V,后来百度说这个口(PA15--JTDI)默认用作JTAG调试口,需要配置下成普通IO口,于是按照那人的办法写了2句:RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE); 不写还好,一写呵呵哒,结果连原本用来下载、调试程序用的SWD口都不能用了。。。后来在STM32库中找到了正确的写法:RCC_APB2PeriphClockCmd(RCC_APB2Peri
[单片机]
用一节电池点亮超高亮LED的设计及制作
用一节电池点亮超高亮LED的设计及制作 一、电路设计 一节镍氢电池的电压只有1.2V,而超高亮LED需要3.3V以上的工作电压才能保证足够的亮度。因此。必须设法将电压升高,常见的升压电路一般有二种形式,即高频振荡电路和电磁感应升压电路。对于升压电路,有两种电路可选择。如图1和图2所示。 图1的电路使用一个脉冲小变压器,功率管VT3将高频振荡信号放大,加在L1通过变压器T直接升压。 图2是利用电感的自感高压来实现对电压的提升。当振荡信号输入VT3的基极时,VT3将周期性地饱和、截止。当饱和时,电感L通电,电能转化为磁能储存在L中,此时二极管截止,靠C3储存的能量向负载供电;当VT3截止时。电感将产生下正上负的自
[电源管理]
ARM9(S3C2440) ADC
模拟信号/数字信号 (1)、模拟信号是一种在时间上连续,数值上也连续的物理量,具有无穷多的数值,从自然界感知的大部分物理量都是模拟性质的,如速度,压力,温度,声音等。 (2)、数字信号在时间上和数值上均是离散的,而离散信号的值只有真与假,是或不是,因此可以使用二进制中的0与1来表示 。 ADC驱动流程 ADC主要驱动程序 main.c #define ADC_FREQ 2500000 void Main(void) { /*时钟初始化*/ Set_Clk(); /*adc初始化*/ adc_init(); while(1) {
[单片机]
s3c2440的uart知识点
s3c2440的uart和stm32、51的uart都是大同小异的。但是还是专门写一下。其实是自己作总结而已。(本文只是涉及uart的基本情况,程序的话,只有查询模式。fifo、中断、DMA还没学,后面可能会补上) 以下是它的特点: s3c2440有三个独立的uart模块,都支持查询、中断模式或者DMA模式。 这三个uart都可以选择(非)fifo模式。Fifo适用于大规模数据传送,可能在DMA需要用到。 uart0和uart1可支持自动流控制(Auto Flow Control)模式,用来检测是否可用。有特殊的位的对应引脚。(但好像stm32的uart功能更多点,深入学习后作比较) 时钟来源和时钟频率的设定 uart的时
[单片机]
S3C2440 音频解码芯片WM8976声卡驱动移植 (三十一)
本节学习: 分析linux中的OOS声卡系统 修改s3c2410-uda1341.c的控制部分,移植wm8976声卡 使用madplay应用程序播放mp3 本节常用英语单词: volume:音量,dsp:数字信号处理(Digital Signal Processing),mixer:混音器,unit:单位,个体 1、声音三要素 采样频率 音频采样率是指录音设备在一秒钟内对声音信号的采样次数,常用的采样率有: 8KHz ---电话所用采样率,对于人的说话已经足够清楚 22.05KHz ---无线电广播所用采样率 32KHz ---miniDV数码视频、DAT所用采样率 44.1KHz ---音频CD,也常用于
[单片机]