#include "reg935.h"
#define uchar unsigned char
uchar buf[];
uchar result;
/* 74LS164控制管脚定义 */
const char table[18]={0x3f,0x0c,0xab,0xad,0x9c,0xb5,0xb7,0x2c,0xbf,0xbd,
0xbe,0x97,0x33,0x8f,0xb3,0xb2,0x80,0x8c}; //共阴极显示段码
sbit LS164_CLK = P1^0;
sbit LS164_DAT = P1^1; //LED管脚定义
void SendLS164(uchar dat);//显示子程序
void DelayNS(uchar no); //延时子程序
void display();
void chang();
main() //主程序
{
uchar result;
P0M1=0x80; //P1.1设置为仅为输入状态
P0M2=0x00;
P1M1=0x00; //P0端口设置为准双向
P1M2=0x00;
//------------------------
ADINS=0100; //0001 0000, 选择通道AD11
ADMODA=0100; //0001 0000, 选择转换工作模式:单次转换模式
ADMODB=0x00; //500Khz < ADC CLK < 3.3Mhz,,
//------------------------
while(1)
{
ADCON1=0x05; //0000 0101选择转换触发模式;并立即启动且使能A/D通道1
result=AD1DAT0; //将AD转换获得的数据存入result
SendLS164(result);
display(); //通过LED显示result的值
ADCON1&=0xF7; //清除中断完成标志
DelayNS(10); //延时
}
}
/**********************************************
* 名称:SendLS164()
* 功能:向74LS164发送数据,以驱动LED显示
*入口参数:data 要发送的数据
* 出口参数:无
***********************************************/
void SendLS164(uchar dat)
{
uchar i;
for(i=0; i<8; i++)
{
LS164_CLK=0;
if( (dat&0x80)!=0 )LS164_DAT=1; //设置数据线 ,说明dat是八位数
else LS164_DAT=0;
LS164_CLK=1;
dat=dat<<1; //移动数据
}
}
/**********************************************
* 名称:chang()
* 功能:数据调整
*入口参数:
* 出口参数:无
***********************************************/
void chang(void)
{int volt;
volt= result;
buf[1]=volt%1000/100;
buf[2]=volt%100/10 ;
buf[3]=volt%10;}
/**********************************************
* 名称:display(void)
* 功能:LED显示
*入口参数:无
* 出口参数:无
***********************************************/
void display(void)
{
LS164_CLK=0 ;
SendLS164(table[buf[1]]);//发送十位数据
SendLS164(table[buf[2]]);//发送个位数据
SendLS164(table[buf[3]]); //发送小数数据
LS164_CLK=1;
}
/*********************************************************
*名称:DelayNS()
*功能:延时一段时间
*入口参数:no
*出口参数:无
*********************************************************/
void DelayNS(uchar no)
{
uchar i;int j; 延时、、
for(;no>0;no--)
{
for(i=0; i<200; i++);
for(j=0; j<250; j++);
}
}
PWM.rar_lpc935_mosfet_pwm_单片机_控制mosfet
版权申诉
149 浏览量
2022-09-20
18:00:50
上传
评论
收藏 9KB RAR 举报
林当时
- 粉丝: 101
- 资源: 1万+
最新资源
- 基于Python实现二手车价格预测案例数据挖掘
- PCB参数计算神器-Saturn PCB Design ToolkitV7.00, PCB设计硬件工程师必备工具小软件.zip
- 头歌初识redis答案.docx
- 基于 C++ 采用激光雷达和毫米波两种雷达,采用扩展卡尔曼滤波实现汽车的定位
- Typecho自适应diaspora主题模板
- 基于thinkphp5/weui/layui的简易投票系统,适用于社团/班级投票选举
- 基于Spring +mybatis的投票系统 支持单选多选,统计信息等
- 基于pandas、Scikit-Learn、matplotlib、PyQt5的二手房价分析与预测系统
- 基于 yolov5 和 PyQt5 开发工具搭建了实时违法检测区域入侵软件,支持自定义检测区域、多种对象检测以及事件信息统计
- ZG202220101014胡雪梅.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈