您现在的位置是:主页 > news > 新动力网站建设/免费seo排名优化

新动力网站建设/免费seo排名优化

admin2025/6/19 18:03:49news

简介新动力网站建设,免费seo排名优化,开发定制制作app,武汉待遇好的十大工厂作者:GWD 时间:2019.7.6 一、课程内容 1、改进上一节的LED灯程序,改进内容如下1)、关闭看门狗防止程序终止死循环;2)、程序自动识别nor启动或者nand启动,烧写代码进不同的存储器;3&…

新动力网站建设,免费seo排名优化,开发定制制作app,武汉待遇好的十大工厂作者:GWD 时间:2019.7.6 一、课程内容 1、改进上一节的LED灯程序,改进内容如下1)、关闭看门狗防止程序终止死循环;2)、程序自动识别nor启动或者nand启动,烧写代码进不同的存储器;3&…

作者:GWD 时间:2019.7.6

一、课程内容
1、改进上一节的LED灯程序,改进内容如下1)、关闭看门狗防止程序终止死循环;2)、程序自动识别nor启动或者nand启动,烧写代码进不同的存储器;3)、引入宏定义头文件;
1)、问:如何关闭看门狗?
答:在这里插入图片描述
2)、问:如何实现代码自动判断nor或者nand启动,将程序烧写进不同的地址?
答:nor时不可以直接写入的,利用这个特点写入一个值给地址0,然后判断与之前的值一样否?若一样就是nand否则是nor。
在这里插入图片描述
2.使用按键控制LED灯程序,按一个亮一个。
二、学习要点:
1、问:在按键控制程序中为什么三盏灯上电就常亮?
答:在引脚做输出时要在程序中做高电平初始化。
三、代码:
(一)led改进代码
1、代码功能;
2、代码:
1)、查询手册,和原理图确定LED引脚
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Led.c

#include "s3c2440_soc.h"int led_on(unsigned int num)
{if(0 == num ){GPFCON = 0x100;GPFDAT &= ~(1<<4);}if(1 == num ){GPFCON = 0x400;GPFDAT &= ~(1<<5);}if(2 == num ){GPFCON = 0x1000;GPFDAT &= ~(1<<6);}return 0;
}int delay(unsigned int timer)
{while(timer--);
}

Start.S

.text
.global _start_start:/*关闭看门狗*/ldr r0,=0x53000000mov r1,#0;str r1,[r0]//设置nor或者nandmov r0,#0ldr r1,[r0]//立即数加取地址符str r0,[r0]ldr r2,[r0]//外人,邻居的角色cmp r0,r2ldr sp,=0x40000000+4096moveq sp,#4096streq r0,[r1]mov r0,#0bl led_onldr r0,=100000bl delaymov r0,#1bl led_onldr r0,=100000bl delaymov r0,#2bl led_onLOOP:b LOOP

(二)、按键点亮LED灯泡代码
1、代码功能:使用按键控制LED灯程序,按一个亮一个
2、代码
1)、查询原理图,找到三个按键的引脚;
在这里插入图片描述
在这里插入图片描述
2)、EINT0控制LED0, EINT2控制LED1, EINT11控制LED2
3)、代码
Led.c

#include "s3c2440_soc.h"int main(void)
{int val ;GPFCON &= ~((3<<8) | (3<<10) | (3<<12));GPFCON |=  ((1<<8) | (1<<10) | (1<<12));GPFCON &= ~((3<<0) | (3<<4));  /* gpf0,2 */GPGCON &= ~((3<<6));  /* gpg3 */while(1){if( GPFDAT &(1<<0) ) {GPFDAT |= (1<<6);}else{GPFDAT &= ~(1<<6);}if( GPFDAT &(1<<2) )  {GPFDAT |= (1<<5);}else{GPFDAT &= ~(1<<5);}if( GPGDAT &(1<<3) ) {val = 0;GPFDAT |= (1<<4);}else{val = 3;}if( val == 3 ) {GPFDAT &= ~(1<<4);}}return 0;

start.S

.text
.global _start
_start:/*关闭看门狗*/ldr r0,=0x53000000mov r1,#0;str r1,[r0]//设置nor或者nandmov r0,#0ldr r1,[r0]//立即数加取地址符str r0,[r0]ldr r2,[r0]//外人,邻居的角色cmp r0,r2ldr sp,=0x40000000+4096moveq sp,#4096streq r0,[r1]bl main
LOOP:b LOOP