合泰单片机生成pwm.doc

合泰单片机生成pwm.doc

ID:59219509

大小:17.50 KB

页数:4页

时间:2020-09-09

合泰单片机生成pwm.doc_第1页
合泰单片机生成pwm.doc_第2页
合泰单片机生成pwm.doc_第3页
合泰单片机生成pwm.doc_第4页
资源描述:

《合泰单片机生成pwm.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include"HT66FU70A.h"#defineRS_pc0#defineRW_pc1#defineE_pd6floatad_shidu;//湿度变量floatad_wendu;//温度变量charSunshine;//光照变量chartimer0_cnt;longintm;unsignedinttemp=0;voidad_init(void)//A/D转换初始化{//8分频;内部1.25V电压除能;内部参考电源电压来源于VDD_adcr1=0x03;//启动A/D转换模块(ADCR0寄存器第5位)_adoff=0;}voidad_pa1(void

2、)//pa1端口ad配置{//定义PA1为A/D输入,即AN1_pas0=0x30;//选择模拟通道AN1;ADC数据高字节是ADRH的第7位,低字节是ADRL的第4位_adcr0=0x01;}voidad_pa3(void)//pa3端口ad配置{//定义PA1为A/D输入,即AN1_pas1=0x30;//选择模拟通道AN1;ADC数据高字节是ADRH的第7位,低字节是ADRL的第4位_adcr0=0x03;}//开始进行ad转换voidad_switch(void){//ADCR0寄存器第七位_start=1;//start位0->1->0,表示启动

3、A/D转换_start=0;}voidpwn_1(void){_pcc5=0;//输出_pcpu5=1;//上拉//_pc5=1;_pcs2

4、=(2<<4);//PC5功能选择为TM1输出//_tm1c1=0b;//_tm1c0=0b;_tm0c0

5、=(0<<4);//fsys/4_tm0c0

6、=(1<<0);//CCRP:001b_tm0al=0x3f;_tm0ah=0x00;_tm0c1

7、=(2<<6);//PWM模式_tm0c1

8、=(2<<4);//PWM输出_tm0c1

9、=(1<<3);//高有效_tm0c1&=~(1<<1);//CCRP-周期C

10、CRA-占空比_tm0c0&=~(1<<7);//运行定时器_tm0c0

11、=(1<<3);//计数器On/*_tm0c0

12、=(1<<3);//计数器On*/}voidpwn_2(void){_pcc6=0;//输出_pcpu6=1;//上拉//_pc5=1;_pcs3

13、=(1<<0);//PC5功能选择为TM1输出//_tm1c1=0b;//_tm1c0=0b;_tm0c0

14、=(0<<4);//fsys/4_tm0c0

15、=(1<<0);//CCRP:001b_tm0al=0x3f;_tm0ah=0x00;_tm0c1

16、=(2<<6);//PWM模式_tm0

17、c1

18、=(2<<4);//PWM输出_tm0c1

19、=(1<<3);//高有效_tm0c1&=~(1<<1);//CCRP-周期CCRA-占空比_tm0c0&=~(1<<7);//运行定时器_tm0c0

20、=(1<<3);//计数器On/*_tm0c0

21、=(1<<3);//计数器On*/}//定时器voidtime_init(void){//保持对应的I/O口的原来功能_pds2=0;_phs0=0;_tm0c0=0x00;//简易型TM(查找TMnC0寄存器),4分频/*_tm0c1=0xc1;//简易型TM(TMnC1寄存器)计数器模式;比较器A匹配*//

22、*计数值的上限是3FFH,这里取计数初值为356H,即每隔(3FFH-356H)=169x1/(fsys/4)的时间触发一次中断*//*_tm0al=0x56;//简易型TM(TM0CCRA低字节寄存器)先写低字节_tm0ah=0x03;//简易型TM(TM0CCRA高字节寄存器)先读高字节,再读低字节*/_tm0al=0x3f;_tm0ah=0x00;_t0on=1;//启动定时器0(TM0C0寄存器的bit3位)*/_t0pe=1;//定时器0比较器A匹配中断控制位(MFI0寄存器bit1位)_mf0e=1;//允许多功能中断0,多功能中断包括TM中断

23、(INTC1寄存器bit1位)}void__attribute((interrupt(0x14)))time_int(void)//每1s中断一次,灯亮/灭一次{_emi=0;////MFI0寄存器bit5位,中断标志请求//_t0af=0;////timer0_cnt--;//if(!timer0_cnt){//_pe=~_pe;//timer0_cnt=2000;//}m++;while(m==)_tm0c0=0x10;_t0pf=0;_emi=1;}voidmain(){//设置看门狗除能(使能应为:0b)_wdtc=0b;m=0;time_init

24、();_emi=1;//开总中断pwn_1();while(1){

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。