电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

C8051f020的AD转换在keil4仿真

C8051f020的AD转换在keil4仿真_第1页
1/6
C8051f020的AD转换在keil4仿真_第2页
2/6
C8051f020的AD转换在keil4仿真_第3页
3/6
此程序设置ADc0 的0 通道转换模拟量 具体程序如下: //////////////////////////////////// // Generated Initialization File // ///////////////////////////////////// #include "C8051F020.h" unsigned char temp_H,temp_L; //用来观察 ADC0H,及 ADC0L 的值 // Peripheral specific initialization functions, // Called from the Init_Device() function void Timer_Init() { TMR3RLL = 0xD2; //设置重装值 TMR3RLH = 0x04; TMR3L = 0xFF;//设置初值 TMR3H = 0xFF; } void ADC_Init() { ADC0CN = 0x84; //使能ADC0,定时器3 溢出转换 ADC0CF=0X50; //设定转换周期5,设定增益为1 //AMX0CF=0X00; //自己设置两个寄存器是自己设置初始化应该就是0x00 //AMX0SL=0X00; // 不用设置?? } void Voltage_Reference_Init() { REF0CN = 0x03; } void Oscillator_Init() { int i = 0; OSCXCN = 0x67; for (i = 0; i < 3000; i++); // Wait 1ms for initialization while ((OSCXCN & 0x80) == 0); OSCICN = 0x0C; } void Interrupts_Init() { IE = 0x80; //使能总中断 EIE2 = 0x02; //允许 ADC0 转换结束中断 } // Initialization function for device, // Call Init_Device() from your main program void Init_Device(void) { Timer_Init(); ADC_Init(); Voltage_Reference_Init(); Oscillator_Init(); Interrupts_Init(); } void delay_ms(unsigned int t) { unsigned char i=0; while(t--) for(i=0;i<150;i++); } // void main() { WDTCN=0XDE; WDTCN=0XAD; Init_Device(); TMR3CN|=0X04;//TR3=1; while(1) { delay_ms(5); } } void ADC_interr()interrupt 15 { AD0INT=0; TMR3CN&=0XFB;//关定时器3 temp_H=ADC0H; temp_L=ADC0L; TMR3CN|=0X04;//TR3=1; } //在KEIL 仿真时,定时器3 溢出第一次时溢出标志位 TF3=1;在程序中没有将其清零的语句,在以后执行程序时TF3 一直为 1 //但是不影响 AD 转换,在实验中只要定时器溢出一次就转换一次 在KEIL 仿真如下: 第一步:编写完程序后编译无错误按 Ctrl+F5 进入 KEIL 仿真 第二步:设置断点如图,在菜单栏的 Peripherils 点击 timer 中的 timer3 及 ADC0,操作后仿真界面如下: 然后在右下角选择WATCH1,按F2 设置观察变量temp_H,temp_L 第三步:在anolog/digital converter 设置0 通道的转换值 第四步:进行单步或全速仿真;观察timer3 和 anolog/digital converter 窗口的值的变化

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

C8051f020的AD转换在keil4仿真

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部