单片机C语言问题
我想把这个软件中的寄存器的值,用C语言编程编写到C8051F340的单片机程序中,使单片机开启后根据已编好的寄存器的值,进行初始化。应该怎样一个思路来写这个程序。求一个程...
我想把这个软件中的寄存器的值 ,用C语言编程 编写到 C8051F340的单片机程序中,使单片机开启后根据已编好的寄存器的值,进行初始化 。 应该怎样一个思路来写这个程序。 求一个程序开头。 谢谢啦,只有5分,全部献上。
展开
2个回答
展开全部
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcden=P3^4;
sbit lcdrs=P3^5;//因为现在只是读r/w可忽略,默认是高电平
sbit wr=P3^6;//读写选择端,高为读取低为写入
sbit dula=P2^6;//又因为D0~D7接有锁全器所以要关闭数码管显示
sbit wela=P2^7;
uchar code table[]="I LOVE MCU !";//如果要写比较多的数据显示时可以用数据表直接引用
uchar code table1[]="www.txmcu.com";//单字符用',多字符的要用"直接引用
uchar num;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com)//命令(指令)的子函数
#define uchar unsigned char
#define uint unsigned int
sbit lcden=P3^4;
sbit lcdrs=P3^5;//因为现在只是读r/w可忽略,默认是高电平
sbit wr=P3^6;//读写选择端,高为读取低为写入
sbit dula=P2^6;//又因为D0~D7接有锁全器所以要关闭数码管显示
sbit wela=P2^7;
uchar code table[]="I LOVE MCU !";//如果要写比较多的数据显示时可以用数据表直接引用
uchar code table1[]="www.txmcu.com";//单字符用',多字符的要用"直接引用
uchar num;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com)//命令(指令)的子函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样子需要绑定寄存器的地址*(volatile unsigned int *)(gpio)=0x3000000; //绑定物理寄存器的地址;
这样写后你操作寄存器就可以gpio=xxx;直接给寄存器赋值了
这样写后你操作寄存器就可以gpio=xxx;直接给寄存器赋值了
追问
问的问题比较小白。 *(volatile unsigned int *)(gpio)=0x3000000 ,图上寄存器的值已经大于16位,是不是应该用code unsigned long[ ]=0x3000000. 你上面的(gpio)是什么意思呢。 0x3000000又是什么意思呢。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询