历史上的今天
今天是:2024年11月11日(星期一)
2019年11月11日 | 基于PICf16877的ADC源码
2019-11-11 来源:51hei
单片机源程序如下:
//从零到项目开发学PIC单片机与C语言技术视频教程配套实验源码
#include #define uchar unsigned char #define uint unsigned int __CONFIG(0x3B31); const uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; const uchar table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd, 0x87,0xff,0xef}; void delay(uint x); void init(); void disp(uchar num1,uchar num2,uchar num3,uchar num4,uchar num5); void disp1(uchar num1,uchar num2,uchar num3,uchar num4); uint get_ad(); void main() { uint lednum,u1,u2,r1,r2; float n; uchar a1,a2,a3,a4,a5; init(); while(1) {/* lednum=get_ad(); a1=lednum/1000; a2=lednum%1000/100; a3=lednum%100/10; a4=lednum%10; disp(a1,a2,a3,a4); */ lednum=get_ad(); // n=(lednum*10)/(10240-lednum); n=lednum; //u1=5120-lednum; //r1=u2/u1; // r2=r2*1000; // r2=lednum; //r1=u1/i; // r2=lednum*10/i*10 // r2=i; // i=i*10000 // r2=lednum; // r2=u2/i; //i=(5000-lednum)/10000; // r2=lednum/i; //lednum=(int)r2; // n=n*1000; r2=n; //r2=lednum; /* a1=r2/10000; a2=r2%10000/1000; a3=r2%1000/100; a4=r2%100/10; a5=r2%10; disp1(a1,a2,a3,a4,A5); */ a1=r2/1000; a2=r2%1000/100; a3=r2%100/10; a4=r2%10; disp1(a1,a2,a3,a4); } } void delay(uint x) { uint a,b; for(a=x;a>0;a--) for(b=110;b>0;b--); } void init() { TRISA=0x01;//0000 0001 TRISD=0; PORTA=0; PORTD=0; TRISB=0; PORTB=0; ADCON0=0x41; ADCON1=0x80; delay(10); } uint get_ad() { uint adval; float advalf; GO=1; while(GO); adval=ADRESH;//00000000 00000011 adval=adval<<8|ADRESL;//00000011 11111111 //advalf=adval/1023.0*5.0;//==2.3843 //advalf=adval/1023.0*5.0;//==2.3843 //adval=advalf*1000; // adval=adval*1024; adval=adval; return (adval); } void disp(uchar num1,uchar num2,uchar num3,uchar num4,uchar num5) { PORTD=table1[num1];//显示第一个数码管 PORTA=0x20;//0010 0000 delay(2); PORTD=table[num2];//显示第二个数码管 PORTA=0x10;//0001 0000 delay(2); PORTD=table[num3];//显示第三个数码管 PORTA=0x08;//0000 1000 delay(2); PORTD=table[num4];//显示第四个数码管 PORTA=0x04;//0000 0100 delay(2); PORTD=table[num5];//显示第四个数码管 PORTB=0x20;//0000 0100 delay(2); } void disp1(uchar num1,uchar num2,uchar num3,uchar num4) ……………………
史海拾趣
|
公司版STM32工作原理 晶振:老板,带两个秘书(电容),有时老板不在秘书说了算(内部时钟模式) 时钟PLL:老板娘,老板控制局面,但还是要听老板娘的话。 CPU:人力资源部,调动人员齐心合力 APB1,APB2时钟:部门经理,发布任务进度, ...… 查看全部问答> |
|
嵌入式系统的远程数据传输经常要使用公共通信线路这给数据安全带来隐患本文介绍的T E A 数据 加密算法高效可靠适用于资源有限的嵌入式系统同时文章还给出T E A 算法的一个应用实例… 查看全部问答> |
|
evc有没有打开文件夹对话框的api啊,SHBrowseForFolder()这个函数在evc里编译不过啊,还有没有其他的方法啊。 wince不会只能打开文件吧。 各位大虾帮帮忙啊!… 查看全部问答> |




