DSP之Psoc学习小结.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP之Psoc学习小结

Psoc学习小结什么是Psoc:可编程+系统+芯片,ΣIP=PSoC此为Psoc的程序框图系统功能类型存储器系统存贮数据和地址数据FLASH、EEPROM、SRAM时钟系统产生、分配和分布时钟内部主振荡器IMO (Internal Main Oscillator)和相位锁相环PLL (Phase Locked Loop)电源系统给数字、模拟供电模拟VDDA、数字VDDD、I/OVddiox供电引脚数字Vccd和模拟电源Vcca活动(Active)、交替活动(Alternate Active)、休眠(Sleep)和冬眠(Hibernate)IO系统输入输出模块GPIO\SIO\USBIO模拟、数字的不同驱动模式常用模块特点数字模块定时器固定功能和UDB配置:后者能实现的模式多,捕获模式可配置计数器固定功能和UDB配置:后者能实现的计数模式多,可选比较输出,具有时能和复位输入PWM固定功能和UDB配置:后者调制模式多,精度高,可以实现死区控制DFB24*24乘法器 48*48累加器模拟模块模拟比较器输入偏置限制,模式可选,可以运用LUT运算放大器可编程SC/CT模块温度传感器模块通信模块总线同步两线接口(SDA,SCL)100kbps-3.4Mbps,有主从关系CAN1Mbps模数混合模块A/D单采样/快速滤波器/连续或快速平均D/A4个8位DAC基础实验:ledpwm实验A实验目的:顶层设计涉及到PWM,时钟以及LED的配置,通过配置以上模块实现LED1和LED2的闪烁。B实验过程:模块搭建:其中PWM采用8位UDB输出单路占空比为50%、周期为1.01s的PWM波,驱动LED1,LED2采用软件程序驱动主程序:#include device.h#define MS_DELAY 167u //定义延时void main(void){uint8 ledState = 0x00; //LED2 状态0灭1亮Clock_1_Enable(); //使能时钟PWM_1_Start(); //使能PWMwhile(1) {CyDelay(MS_DELAY); //延时ledState ^= 0x01u; //标志位取反,0,1变化LED2_Write(ledState);//控制IO输出 }}C实验结果LED1一秒钟闪烁一次,LED2一秒钟闪烁三次D讨论与总结debug查看:断点查看:每运行一次循环,ledstate标志位0x000与0x001切换,LED2常亮常暗切换,LED1保持闪烁。pwm控制和主程序c控制两种驱动Led的方式实质都与系统时钟有关pwm控制灯闪烁频率与pwm模块设置有关,而且通过修改占空比可以调节亮暗时常软件控制灯闪烁的频率与延时的设置有关ADC to LCD实验A实验目的:顶层设计涉及到ADC模块以及LCD驱动模块,配置以上模块实现AD采样,并在LCD上显示B实验过程:模块搭建:主程序:#include device.hvoid UpdateDisplay(uint16 voltageRawCount);//更新AD采样void main(){uint16voltageRawCount; ADC_DelSig_1_Start(); //启动ADC LCD_Char_1_Start(); //初始化ADC LCD_Char_1_Position(0,0); //光标移到0行0列 LCD_Char_1_PrintString(V Count: );//显示字符:V Count: ADC_DelSig_1_StartConvert(); //开始AD转换while(1) { ADC_DelSig_1_IsEndConversion(ADC_DelSig_1_WAIT_FOR_RESULT);//等待AD转换完成voltageRawCount = ADC_DelSig_1_GetResult16(); //存储采样数据if (voltageRawCount 256) //输出数据范围限制voltageRawCount = 0;UpdateDisplay(voltageRawCount); //显示AD值 }}voidUpdateDisplay (uint16 voltageRawCount){ LCD_Char_1_Position(0,9); //光标移动到0行9列 LCD_Char_1_PrintNumber(voltageRawCount); //显示AD结果if (voltageRawCount 10) { LCD_Char_1_Position(0,10); L

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档