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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机C语言基础编程源码八则# w% @+ N+ u" C* r& J& r1 `
# T# ]* s3 e& F2 B1 Q/ }( \7 ]
$ D0 E: S8 |) F/ S5 R# x

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

#include<absacc.h>              
1 ?5 o* x  h3 y  r, _#define DAC0832 XBYTE[0x7FFF]8 g5 |- }" k+ ?+ S- ~8 ?
void san(unsigned char max1,unsigned char zhou1)6 f1 O; g& Z6 I6 S( a* p" o( \
{' |$ q! T1 a8 e4 W9 p1 e. ]
    unsigned char i,j,max,zhou;% s) Y& J4 b8 s4 j3 R
    max=max1;( d5 T- A% U; @0 `7 w
    zhou=zhou1;
- b/ \* ?0 p* R' b! {while(1)
# T" e$ H; e: v/ a    {6 b) c* A  f' n. |4 B( U" K+ M
    for(i=0;i<=max,i++)
" K3 t1 ~: r$ e( Q! e6 @# v6 d    {$ ?) ?$ b$ t9 Y; [5 h& u
        DAC0832=i;
, R5 b) n6 x0 {9 O) ]        for(j=0;j<zhou/max;j++)
- ^3 F' ?; m& t* ~- J- V' ]            delay();
* @3 d% @  O" N# N2 P' ]' D}7 R& A0 j9 H# z) u
    for(i=max-1;i>0,i--)0 ?$ Z1 `, R9 ]4 e9 b
    {
* Z+ j+ @/ D1 H, o        DAC0832=i;7 A$ _) i9 y+ ~9 x0 Z
        for(j=0;j<zhou/max;j++)' x1 O! f8 w, O4 x5 q8 X# ^
            delay();" p& d/ |- V+ w7 L3 u, B
}$ Q' I9 L- s3 w! A
}. \4 i/ @% W1 o+ m3 F

$ a: S6 B: `  `1 V) T% |  @
游客,如果您要查看本帖隐藏内容请回复
4 i. s2 N( Y* d  l9 t5 U

$ R9 o" M: W" F0 P
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-28 04:41 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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