开发工具:
文件大小: 11kb
下载次数: 0
上传时间: 2018-02-24
详细说明: 代码 ADC BEEP TIM2 TIM3 TIM4 EPPROM 直接寄存器操作 /**************************************************************************************** *开发环境:IAR for stm8 v6.5.3 *硬件平台:STM8S005K6T6 REX-C900温控 *功能说明:本例程,利用定时_TIM2中断定时。 *作 者:刘拥军 ****************************************************************************************/ #include #include unsigned char BCD_led[9]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00}; //显示缓存区。8_数码段。+1_LED状态输出指示段。 unsigned char lab[10]={0xc0,0xf9,0xa4,0xb0,0 x99,0x92,0x82,0xd8,0x80,0x90}; //0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F unsigned char *p=BCD_led,smm=0,s1=0; bool lii=0; void TIM3_Config(void) { CLK_PCKENR1 |= 0x40; //打开外设时钟源TIM2. asm("rim"); while(!(CLK_PCKENR1 & 0x01)); //这些具体数据,一定要看数据手册! TIM3_CR1 = 0x00; TIM3_PSCR = 0x08; //16/2^4 TIM3_ARRH = 0x00; TIM3_ARRL = 0x08; //重装值 TIM3_CNTRH = 0x00; TIM3_CNTRL = 0x00; //计数器 TIM3_IER = 0x01; //开更新中断 TIM3_CR1 = 0x01; //定时器使能 } void adc_int() //初始化A/D模块 { ADC_CR2 = 0x00; // A/D结果数据左对齐 ADC_CR1 = 0x00; // ADC时钟=主时钟/2=1MHZ,ADC转换模式=单次,禁止ADC转换 ADC_CSR = 0x0c; // 选择通道12 ADC_TDRL = 0x20; } void adc_data() { unsigned int a; ADC_CR1 = 0x01; // CR1寄存器的最低位置1,使能ADC转换 for(a=0;a<200;a++); // 延时一段时间,至少7uS,保证ADC模块的上电完成 ADC_CR1 = ADC_CR1 | 0x01; // 再次将CR1寄存器的最低位置1,使能ADC转换 while((ADC_CSR & 0x80) == 0); // 等待ADC结束 a= ADC_DRH*4; // 读出ADC结果的高8位 a = (a + (ADC_DRL&0x03;))*5; ............................................................... ................................................................ ................................................................ ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.