云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 最全单片机参考答案(姜志海)

最全单片机参考答案(姜志海)

  • 62 次阅读
  • 3 次下载
  • 2025/6/5 9:36:11

#include #include #define uint unsigned int #define COM8255 XBYTE[0xdfff] #define PA8255 XBYTE[0xdffc] #define PB8255 XBYTE[0xdffd] #define PC8255 XBYTE[0xdffe]

void DYLA(uint i); void main(void) { COM8255=0x80; while(1)

{ PA8255=0x3f; /*PA口的第1到第6位分别控制6S,8S,9S,10S,12S,15S这6道工具的启停*/

DYLA(6); PA8255=0x3e; DYLA(2); PA8255=0x3c; DYLA(1); PA8255=0x3a; DYLA(1); PA8255=0x30; DYLA(2); PA8255=0x20; DYLA(3); PA8255=0x00; } }

25

6.编程实现由DAC0832输出的幅度和频率都可以控制的三角波,即从0上升到最大值,再从最大值下降到0,并不断重复。

/*产生幅值为125,频率为2Hz的三角波*/ #include

#define uchar unsigned char

#define CYCLE 2000 //此波形的得到是通过定时2ms中断,在中断中当数据加到125个数时,再递减到0.如此循环。可得三角波。其T=125*2*2ms=500ms.所以f=2Hz.

uchar xdata DA_data; /*定义变量指向0832的数据输出地址*/

void main(void)

{ TMOD=0x10; /*定时器1工作于方式1*/ TH1=-CYCLE/256; TL1=-CYCLE%6; TR1=1; IE=0x88; while(1); }

void timer1(void) interrupt 2 using 1 { static uchar s_Counter;

static bit flag; //定义递减标志位 if(flag==0)

{ if(s_Counter++>=124) //当增到125时开始递减 { flag=1; } } else

26

{ if(s_Counter--<=0) //当减到0时开始递增 { flag=0; } }

DA_data=s_Counter; //输出需要转换的数据 TH1=-CYCLE/256; TL1=-CYCLE%6; }

27

搜索更多关于: 最全单片机参考答案(姜志海) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

#include #include #define uint unsigned int #define COM8255 XBYTE[0xdfff] #define PA8255 XBYTE[0xdffc] #define PB8255 XBYTE[0xdffd] #define PC8255 XBYTE[0xdffe] void DYLA(uint i); void main(void) { COM8255=0x80; while(1) { PA8255=0x3f; /*PA口的第1到第6位分别控制6S,8S,9S,10S,12S,15S这6道工具的启停*/ DYLA(6); PA8255=0x3e; DYLA(2); PA8255=0x3c; DY

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com