📄 c8051单片机技术群.htm
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>C8051单片机技术群</title>
<link rel="stylesheet" href="oBlogStyle/group/style.css" type="text/css" />
<script src="oBlogStyle/group/menu.js" type=text/javascript></script>
<script src="inc/main.js" type=text/javascript></script>
</head>
<body>
<!--=menu=start=-->
<div id="menu">
<ul>
<li><a href="index.asp">首页 </a></li>
<li><a href="login.asp">登录 </a></li>
<li><a href="reg.asp">注册 </a></li>
</ul>
</div>
<!--=menu=end=-->
<!--=main=start=-->
<div id="main">
<!--=header=start=-->
<div id="header">
<div id="logo"></div>
<div id="userinfo">
<div id="ad_teamtop"><script src='ad/ad_teamtopjs.htm'></script></div><div id="group_top"><img class="g_img" src="images/default_groupico.gif" border=0 width=80 height=80/><div class="g_name">C8051单片机技术群</div><div class="g_url"> <a href="group.asp?gid=1">http://www.mcublog.com/blog/group.asp?gid=1</a> <a href="javascript:window.clipboardData.setData('Text','http://www.mcublog.com/blog/group.asp?gid=1');void('0');">复制</a> / <a href="javascript:window.external.AddFavorite(document.location,'C8051单片机技术群')">收藏</a></div></div>
<div id="welcome"></div>
<div id="groupset"><a href="group.asp?gid=1">群组首页</a><a href="group.asp?cmd=good&gid=1">群组精华</a> <a href="group.asp?cmd=users&gid=1">成员列表</a><a href="group.asp?cmd=join&gid=1">申请加入</a><a href="group.asp?cmd=post&gid=1">发个新贴</a><a href="group.asp?cmd=info&gid=1">群组信息</a></div>
</div>
</div>
<!--=header=end=-->
<!--=c_main=start=-->
<div id="c_main">
<!--=c_body=start=-->
<div id="c_body">
<!--=c_sidebar=start=-->
<div id="c_sidebar">
<div id="mini_list_top">大家还在讨论...</div>
<div id="mini_list">
<li><a href="group.asp?gid=1&pid=81">在C51系统上实现YAFFS文件系统</a> (netfirst)</li><li><a href="group.asp?gid=1&pid=45">C8051F学习日记</a> (netfirst)</li><li><a href="group.asp?gid=1&pid=29">Orcad10.5软件下载(有点疯狂) ^_^</a> (mcublog)</li><li><a href="group.asp?gid=1&pid=25">推荐一个很不错的英文问答网站,可以查英语词汇的含义</a> (mcublog)</li><li><a href="group.asp?gid=1&pid=20">VI - 从入门到精通</a> (mcublog)</li><li><a href="group.asp?gid=1&pid=5">DENX U-Boot及Linux中文使用手册</a> (mcublog)</li>
</div>
<div id="mini_list_end"></div>
</div>
<!--=c_sidebar=end=-->
<!--=c_content=start=-->
<div id="c_content">
<!-- <div class="banner_top"><img src="oBlogStyle/group/banner_top.jpg" class="" /></div>-->
<div class="c_content_list">
<div class="c_content_up">
<div class="title"><a title="C8051F学习日记">C8051F学习日记</a></div>
<div class="addtime"> 发表于<span class="time" title="发表于:2006-11-21 9:03:00">2006-11-21 9:03:00 <a href="#add_comment">回复(0)</a> </span>
<!--<a onClick="menu(oblog_45)" href="#" title="展开关闭">^</a>--></div>
</div>
<div class="c_content_down1" id="oblog_45">
<div class="user"><a href="go.asp?user=netfirst"><img src="UploadFiles/2006-10/1028401255.gif" class="userface_img" onerr="javascript:this.src='images/ico_default.gif'" /></a>
<p title="访问该用户博客"><a href="go.asp?user=netfirst">netfirst</a></p></div>
<div class="cont">
<DIV>转自:本站<SPAN id=blogname>wwss的博客</SPAN></DIV>
<DIV>
<P class=postText>今天开始每天把学习C8051F的感受记下来 今天上传一个AD采集交流电的程序50HZ的交流电经过精密整流以后每个周期单通道采集800个点分两个通道采集电压和电流并计算S,P,Q,相位角g ; 感觉玩C8051F的AD好爽啊 还有DA 功能强啊 就是爽 </P>
<P class=postText>/*******************************************************************</P>
<P class=postText> C8051F020 AD采集 2006.09.26</P>
<P class=postText>*******************************************************************/</P>
<P class=postText>/************************预定义************************************/<BR>#i nclude <C8051F020.h><BR>#i nclude <intrins.h><BR>#i nclude <stdio.h><BR>#i nclude <math.h><BR>/*******************************************************************</P>
<P class=postText> 定义IO口和变量</P>
<P class=postText>*******************************************************************/<BR>sbit LCDBUSY = P3^0; //LCD忙信号位<BR>sbit REQ = P3^1; //LCD请求信号位<BR>sbit RES = P3^2; //LCD复位信号位<BR>sfr16 ADC0 = 0xbe; <BR>unsigned int xdata ADC0_data1[800]; //AD通道一采集数据存放数组<BR>unsigned int xdata ADC0_data2[800]; //AD通道二采集数据存放数组<BR>unsigned int data ADC0_data_n; //AD采集次数<BR>unsigned int data ADC0_data_n1; //通道一采集次数<BR>unsigned int data ADC0_data_n2; //通道二采集次数<BR>bit m;//AD采集完标志<BR>/*******************************************************************</P>
<P class=postText> 函数声明</P>
<P class=postText>*******************************************************************/</P>
<P class=postText>void Sjcl(void);//AD采集完100次数据处理函数</P>
<P class=postText>void ADC0_ISR(void);//ADC0中断函数声明</P>
<P class=postText>void write_data(unsigned char writedata);//写数据到LCD</P>
<P class=postText>void send_ascii8(unsigned char x,unsigned char y,unsigned char ascii);//显示8*8ASCII</P>
<P class=postText>/********************************************************************</P>
<P class=postText> 子函数定义</P>
<P class=postText>********************************************************************/</P>
<P class=postText>void delay_us(int timer)//us沿时<BR>{ <BR> timer*=20;//时钟周期调整<BR> for(;timer>0;timer--)<BR> _nop_();<BR>}</P>
<P class=postText>void delay_ms(int i)//ms沿时<BR>{ <BR> for(;i>0;i--)<BR> delay_us(1000);<BR>}</P>
<P class=postText>void lcd_init(void)//lcd初始化 <BR>{<BR> RES=0;<BR> delay_ms(20);<BR> RES=1;<BR> REQ=0;<BR> LCDBUSY=0;<BR>}<BR>/******************************************************************** </P>
<P class=postText> 系统初始化函数</P>
<P class=postText>********************************************************************/<BR>void UART_Init()<BR>{<BR> SCON0 = 0x50; //使能UART0并允许接收<BR>}</P>
<P class=postText><BR>void Timer_Init() <BR> <BR>{<BR> CKCON = 0x10;<BR> TCON = 0x40;<BR> TMOD = 0x20;<BR> TH1 = 0xB8; //用定时器3做为AD0的启动转换标志每100us启动一次采集, </P>
<P class=postText> <BR> TMR3CN = 0x04; //使用系统时钟12分频做为定时器3的时钟源(22.1184M)<BR> TMR3RLL = 0xd1; //T1使用系统时钟并产生9600的波特率用与UART0<BR> TMR3RLH = 0xFF;<BR> TMR3L = 0xd1;<BR> TMR3H = 0xFF;</P>
<P class=postText>}</P>
<P class=postText>void ADC_Init()<BR>{<BR> ADC0CF = 0x40; //ADC0为定时器3益处采集方式,时钟频率为2.5M,<BR> ADC0CN = 0x04; //增益为1,数据为右对齐方式 <BR> AMX0SL=0X00; <BR>}</P>
<P class=postText>void Voltage_Reference_Init()<BR>{<BR> REF0CN = 0x03; //ADC0的参考电压来自内部增益<BR>}</P>
<P class=postText>void Port_IO_Init() //IO口初始化<BR> <BR>{<BR> P0MDOUT = 0x01; //P0.0,P0.1做为UART0的通信引脚,其中TX0为推拉方式<BR> P3MDOUT = 0x06; //P3.0为BUSY读取引脚,设为开漏方式<BR> //P3.1为请求标志位设为推拉方式<BR> //P3.2为复位信号脚设置为推拉方式<BR> P74OUT = 0x03; //P4为液晶数据线设为推拉方式<BR> XBR0 = 0x04;<BR> XBR2 = 0x40;<BR>}</P>
<P class=postText>void Oscillator_Init()//使用外部晶振22.1184M<BR>{<BR> int i = 0;<BR> OSCXCN = 0x67;<BR> for (i = 0; i < 3000; i++); // Wait 1ms for initialization<BR> while ((OSCXCN & 0x80) == 0);<BR> OSCICN = 0x08;<BR>}</P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -