求单片机大神,十万火急 电影!!!!

(赔钱货!)
(无奈的胖纸)
(失踪的暖暖爸爸)
(DDM你争点气吧)
第三方登录:求单片机大神。。有关PCF8563的编程。。汇编的。。先给100,事成之后翻倍给、、_百度知道
求单片机大神。。有关PCF8563的编程。。汇编的。。先给100,事成之后翻倍给、、
我有更好的答案
#include &I2C.H&#ifndef
_PCF8653_DRIVER#define
_pcf8653_DRIVER#define SCL_SETB
P1_1=1#define SCL_CLR
P1_1=0#define SDA_SETB
P1_0=1#define SDA_CLR
P1_0=0 #define PCF8563_SLA
0xA2unsigned char init_time[7]={0,0,10,11,3,4,7};//*名称: unsigned char bcd_convert_hex(unsigned char bcd_data)
//*功能: BCD码转16进制
//*参数: bcd_data
要转换的BCD码数据(0-100)
//*返回: 转换后的16进制数据
unsigned char bcd_convert_hex(unsigned char bcd_data) {
temp=((bcd_data&&4)*10)+(bcd_data&0x0F);
}//*名称:
unsigned char hex_convert_bcd(unsigned char hex_dataa)
16进制转BCD码
要转换的16进制数据(0-100)
转换后的BCD码数据
unsigned char hex_convert_bcd(unsigned char hex_data) {
unsigned char bcd_
temp=hex_data%100;
bcd_data=(temp/10&&4)|(temp%10);
return bcd_ }//*名称: void pcf8563_star(void)
//*功能: 启动PCF8563芯片运行
void pcf8563_star(void) {
i2c_write_byte(PCF8563_SLA,0x00,0x00);
}//*名称: void pcf8563_get_time(unsigned char *ptr)
//*功能: 从RTC芯片获取时钟数据 并存放到指定数组
void pcf8563_get_time(unsigned char *ptr) {
i2c_read_nbyte(PCF8563_SLA,0x02,ptr,7);
ptr[0]=bcd_convert_hex(ptr[0]&0x7F);
ptr[1]=bcd_convert_hex(ptr[1]&0x7F);
ptr[2]=bcd_convert_hex(ptr[2]&0x3F);
ptr[3]=bcd_convert_hex(ptr[3]&0x3F);
ptr[4]=ptr[4];
ptr[5]=bcd_convert_hex(ptr[5]&0x1F);
ptr[6]=bcd_convert_hex(ptr[6]);
// 年 }//**名称:
pcf8563_rewirte_time(unsigned char *ptr)
将时钟数据重写入PCF8563片
*ptr 时钟数据数组
void pcf8563_rewirte_time(unsigned char *ptr) {
for(i=0;i&7;i++)
ptr[i]=hex_convert_bcd(ptr[i]);
i2c_write_byte(PCF8563_SLA,0x00,0x20);
// PCF8563时钟芯停止运行
i2c_write_nbyte(PCF8563_SLA,0x02,ptr,7);
// 将设置时间写入PCF8563
i2c_write_byte(PCF8563_SLA,0x00,0x00);
// PCF8563时钟芯开始运行 }//***名称:
void pcf8563_init(void)
如果时钟数据不对则写入初始值void pcf8563_init(void) {
unsigned char time_temp[7];
pcf8563_get_time(time_temp);
if(time_temp[0]&=60||time_temp[1]&=60||time_temp[2]&=24||time_temp[3]&=32
||time_temp[5]&=13||time_temp[6]&=100)
pcf8563_rewirte_time(init_time);
} }#endif示例2sbit SDA=P3^4;sbit SCL=P3^5;sbit P10=P1^0;extern uchar g8563_Store[4];
/*时间交换区,全局变量声明*/uchar code c8563_Store[4]={0x00,0x59,0x07,0x01};
/*写入时间初值:星期一
07:59:00*//*内部函数,延时1void Delay(){
// {P10=1;_nop_();P10=0;}
/*根据晶振频率制定延时时间*/}/*内部函数,I2C开始void Start(){
SCL=0;}/*内部函数,I2C结束void Stop(){
EA=1;}/*内部函数,输出ACK=0void WriteACK(){
SCL=0;}/*内部函数,输出ACK=1void writenoack(){
SCL=0;}/*内部函数,等待ACKvoid WaitACK(){
uchar errtime=20;
while(SDA)
errtime--;
if(!errtime) Stop();
Delay();}/**内部函数.输出数据字节
入口:B=数据void writebyte(uchar wdata){
for(i=0;i&8;i++)
if(wdata&0x80) SDA=1;
else SDA=0;
wdata&&=1;
WaitACK();}/*内部函数.输入数据
出口:Buchar Readbyte(){
for(i=0;i&8;i++)
bytedata&&=1;
bytedata|=SDA;
return(bytedata);}/**输出数据-&pcf8563void writeData(uchar address,uchar mdata){
writebyte(0xa2);
/*写命令*/
writebyte(address);
/*写地址*/
writebyte(mdata);
/*写数据*/
Stop();}/*输入数据&-pcf8563uchar ReadData(uchar address)
/*单字节*/{
writebyte(0xa2);
/*写命令*/
writebyte(address);
/*写地址*/
writebyte(0xa3);
/*读命令*/
rdata=Readbyte();
writenoack();
return(rdata);}void ReadData1(uchar address,uchar count,uchar * buff)
/*多字节*/{
writebyte(0xa2);
/*写命令*/
writebyte(address);
/*写地址*/
writebyte(0xa3);
/*读命令*/
for(i=0;i&i++)
buff[i]=Readbyte();
if(i&count-1) WriteACK();
writenoack();
Stop();}/*内部函数,读入时间到内部缓冲区void P8563_Read(){
ReadData1(0x02,0x07,time);
g8563_Store[0]=time[0]&0x7f;
g8563_Store[1]=time[1]&0x7f;
g8563_Store[2]=time[2]&0x3f;
g8563_Store[3]=time[4]&0x07;
/*星期*/}/*读入时间到内部缓冲区----外部调用 void P8563_gettime(){
P8563_Read();
if(g8563_Store[0]==0)
P8563_Read();
/*如果为秒=0,为防止时间变化,再读一次*/}/**写时间修改值void P8563_settime(){
for(i=2;i&=4;i++) {
writeData(i,g8563_Store[i-2]); }
writeData(6,g8563_Store[3]);}/**P8563的初始化-----外部调用void P8563_init(){
if((ReadData(0xa)&0x3f)!=0x8)
/*检查是否第一次启动,是则初始化时间*/
for(i=0;i&=3;i++)
g8563_Store[i]=c8563_Store[i]; /*初始化时间*/
P8563_settime();
writeData(0x0,0x00);
writeData(0xa,0x8);
/*8:00报警*/
writeData(0x1,0x12);
/*报警有效*/
writeData(0xd,0xf0);
采纳率:60%
为您推荐:
其他类似问题
pcf8563的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。求单片机大神_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:150,142贴子:
求单片机大神收藏
加qq详聊 有报酬
超低功耗,256KB-512KB闪存,可扩展存储器,备有开发板
什么题目?我可以看看,楼主留个联系方式
刚刚才把这个程序调好,但是用的stm32。你觉得可以就加我
登录百度帐号如何评价单片机大神郭天祥? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。116被浏览<strong class="NumberBoard-itemValue" title="2,510分享邀请回答327 条评论分享收藏感谢收起跪求单片机大神【51单片机吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:59,669贴子:
跪求单片机大神收藏
暑假在家学单片机,,大神帮看看这块板子如何使只有一根usb线可以吗有两个电机还要些啥配件的
开发宝专注于单片机开发服务,行业精英工程师随您挑选!快来免费发布项目需求吧!单片机开发外包服务要选靠谱的电子研发众包平台-开发宝,10万+的电子研发人才.
看你干嘛用了
可以,先装驱动
难道没有视频教程
你的这块板子看似不错,应该会自带USB下载功能吧!如果你所用的usb口是供电口,那么那个方口也是供电的吗?亦或是下载!你可以用方口数据线(打印机线)试试,此板我感觉有最起码有两种下载方式。再说,板子在你那,你完全可以查一下板子上的芯片功能,max232是USB转串口下载的,单纯的USB下载芯片应该是PL2303芯片。你可以看看有没有。
一般买的开发板上面都写有相应的型号和名字,你找到后再百度啊,百度里面会有教程的。
我也今天才学。
用串口线吧
别的不说,给你个建议,自锁开关不要按多了,那个东西寿命很短
我有一块跟你一样的板子 新到手的
公司具有十多年单片机行业技术研发经验, 经营品牌 EN 系列产品线,包括 8位单片机兼容PIC单片机,不需要修改程序,PCB板脚位,可直接替换
你有没有资料的的光盘
看看板子上面有没有PL2303这个芯片,有就可以单线下载
其实没必要买这么花哨的开发板。买个简单点的,再照着网上买些外设模块最好;开发板上的外设太多了,很容易受干扰。而且以后学其他单片机的时候,又要重新买那些一样的外设模块了;
需要usb转串口线下载程序,这板我有一块一模一样的
新人求解。。。。你们都是自学的吗?????
大神怎么破
找找你的板子上有没有ch340t
或者pl2303 芯片有就可以仅仅用usb线连电脑下程序了。。。。如果没有就要买一根usb转串口线下载程序。
你还可以买一个ttl线,直接把连到单片机的gnd、vcc、txd、rxd上,下程序。。。。。。。其实上面的方法原理都是一样的。
登录百度帐号

我要回帖

更多关于 十万火急消防车 的文章

 

随机推荐