找回密码
 注册
关于网站域名变更的通知
查看: 911|回复: 1
打印 上一主题 下一主题

单片机C语言基础编程源码八则

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-3-6 13:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
单片机C语言基础编程源码八则
$ t% Z9 l/ ?' I9 G& b
2 `3 }2 Q# s8 X0 F% w" L
( ]4 G& L) k! A9 P2 d& |! `, ~& `

1.某单片机系统的P2口接一数模转换器DAC0832输出模拟量,现在要求从DAC0832输出连续的三角波,实现的方法是从P2口连续输出按照三角波变化的数值,从0开始逐渐增大,到某一最大值后逐渐减小,直到0,然后再从0逐渐增大,一直这样输出。试编写一函数,使从P2口输出的值产生三角波,并且使三角波的周期和最大值通过入口参数能够改变。

#include<absacc.h>              
2 Z7 t* @8 w# ~#define DAC0832 XBYTE[0x7FFF]
; ^$ s; r, U, z1 |2 G! W2 Pvoid san(unsigned char max1,unsigned char zhou1)& q; E: r. ~& Y* t8 R5 t8 H& O% a6 N
{4 c/ a& n; w6 d2 F, {) c7 H7 I
    unsigned char i,j,max,zhou;
  I3 Z* x: m9 d# \7 \* \1 i3 D    max=max1;
7 O/ J4 D$ C  K, U  i    zhou=zhou1;
* b, ~% A7 `: K: V& T, `while(1)6 X* s; E9 ]9 _# ^: d. }
    {" C" i, a4 s, w0 i1 ]
    for(i=0;i<=max,i++)
% J- m# B, O, V; o' s) J    {
  y$ Y6 D: d1 U: e  n        DAC0832=i;
4 V8 n- Y2 J; S2 ^: X% x        for(j=0;j<zhou/max;j++)
$ `! I  d) U4 d1 ?            delay();
- n% O7 R7 w  u" x}7 H+ N, U, ^4 S' @$ n9 n3 H
    for(i=max-1;i>0,i--)
  K6 N' }6 q4 }" p8 V    {" t6 l) @( ?" y( |& L) R
        DAC0832=i;$ ?. w( E# l- y& @3 ]
        for(j=0;j<zhou/max;j++)
2 O& @: J# h( l; Z8 M$ R# m            delay();
) h& b0 L# c/ G6 H( n}
2 N+ n- @9 z7 N" w# A; Z! \9 I}* t6 U( D/ V& B8 C, V# Z
& `- w/ @# B4 p2 U5 P
游客,如果您要查看本帖隐藏内容请回复

+ g" x+ X1 I% U& [
( t$ E2 G9 |! `% _1 ^* t% C
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-18 22:32 , Processed in 0.093750 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表