资源简介
PIc程序实例+HEX文件(共16个例子)。数码、1602液晶,12864液晶、温度传感器、电机、I2C等16个程序实例加HEX文件。
代码片段和文件信息
//实验目的:熟悉A/D转换
//软件思路:选择RAO做为模拟输入通道;
// 连续转换4次再求平均值做为转换结果
// 最后结构只取低8位
// 结果送数码管的低3位显示
//硬件要求:拨码开关S14第2位置ON,第1位置OFF
// 拨码开关S6全部置ON,S5第4-6位置ON,第1-3位置OFF
// 为不影响结果,其他拨码开关置OFF。
#include //包含单片机内部资源预定义
__CONFIG(0x1832);
//芯片配置字,看门狗关,上电延时开,掉电检测关,低压编程关,加密,4M晶体HS振荡
const char TABLE[]={0xc00xf90xa40xb00x990x920X820XF80X800X90};
//定义常数0-9的数据表格
void DELAY(); //delay函数申明
void init(); //I/O口初始化函数申明
void display(int x); //显示函数申明
//------------------------------------------------
//主程序开始
void main()
{
int result=0x00; //定义转换结果寄存器
while(1) //死循环
{
int i; //定义循环次数控制寄存器
result=0x00; //转换结果清0
for(i=5;i>0;i--) //求5次转换结果的平均值
{
init(); //调用初始化函数
ADGO=0X1; //开启转换过程
while(ADGO); //等待转换完成
result=result+ADRESL; //累计转换结果
}
result=result/5; //求5次结果的平均值
display(result); //调用显示函数
}
}
//-----------------------------------------------
//初始化函数
void init()
{
PORTA=0XFF;
PORTD=0XFF; //熄灭所有显示
TRISA=0X1; //设置RA0为输入,其他为输出
TRISD=0X00; //设置D口全为输出
ADCON1=0X8E; //转换结果左对齐,RA0做模拟输入口,其它做普通I/O
ADCON0=0X41; //系统时钟Fosc/8,选择RA0通道,允许ADC工作
DELAY(); //保证采样延时
}
//-----------------------------------------------
//显示函数
void display(int x)
{
int baishigetemp; //定义4个临时变量
temp=x; //暂存AD转换的结果
bai=temp/0x64; //求显示的百位
shi=(temp%0x64)/0xa; //求显示的十位
ge=(temp%0x64)%0xa; //求显示的个位
PORTD=TABLE[bai]; //查表得百位显示的代码
PORTA=0x37; //RA3输出低电平,点亮百位显示
DELAY(); //延时一定时间,保证显示亮度
PORTD=TABLE[shi]; //查表得十位显示的代码
PORTA=0x2F; //RA4输出低电平,点亮十位显示
DELAY(); //延时一定时间,保证亮度
PORTD=TABLE[ge]; //求个位显示的代码
PORTA=0x1F; //RA5输出低电平,点亮个位显示
DELAY(); //延时一定时间,保证亮度
}
//----------------------------------------------
//延时程序
void DELAY() //延时程序
{
int i; //定义整形变量
for(i=0x100;i--;); //延时
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-07-20 10:25 c\
目录 0 2010-07-20 10:25 c\adc\
文件 2936 2007-03-12 10:00 c\adc\adc.c
文件 1602 2007-03-12 10:00 c\adc\adc.hex
目录 0 2010-07-20 10:25 c\buz\
文件 1589 2007-03-12 11:54 c\buz\buz.c
文件 341 2007-03-12 11:54 c\buz\buz.hex
目录 0 2010-07-20 10:25 c\dac\
文件 1341 2007-03-12 10:01 c\dac\dac.c
文件 243 2007-03-12 10:01 c\dac\dac.hex
目录 0 2010-07-20 10:25 c\ds1302\
文件 7250 2007-10-07 14:54 c\ds1302\ds1302.c
文件 1835 2007-10-07 14:53 c\ds1302\ds1302.hex
目录 0 2010-07-20 10:25 c\ds18b20\
文件 6420 2007-03-15 14:26 c\ds18b20\ds18b20.c
文件 3205 2007-03-15 14:26 c\ds18b20\ds18b20.hex
目录 0 2010-07-20 10:25 c\ee24\
目录 0 2010-07-20 10:25 c\ee24\ee24_h\
文件 3175 2007-03-12 10:07 c\ee24\ee24_h\ee24_h.c
文件 1876 2007-03-12 10:07 c\ee24\ee24_h\ee24_h.hex
目录 0 2010-07-20 10:25 c\ee9346\
目录 0 2010-07-20 10:25 c\ee9346\ee9346_h\
文件 2976 2007-03-12 10:07 c\ee9346\ee9346_h\ee9346_h.c
文件 1544 2007-03-12 10:07 c\ee9346\ee9346_h\ee9346_h.hex
目录 0 2010-07-20 10:25 c\ee9346\ee9346_s\
文件 3131 2007-03-08 10:59 c\ee9346\ee9346_s\ee9346_s.c
文件 1764 2007-03-08 10:59 c\ee9346\ee9346_s\ee9346_s.hex
目录 0 2010-07-20 10:25 c\key\
目录 0 2010-07-20 10:25 c\KEY4x4\
文件 6353 2007-03-12 10:12 c\KEY4x4\key4x4.c
文件 2080 2007-03-12 10:12 c\KEY4x4\key4x4.hex
............此处省略58个文件信息
- 上一篇:director11.5汉化版
- 下一篇:lighttools6.3附带
评论
共有 条评论