历史上的今天
今天是:2025年05月08日(星期四)
2018年05月08日 | 做个15路输出的彩灯
2018-05-08 来源:eefocus
//想做个15路输出的彩灯,使用P0.0~P0.7和P2.0~P2.6端口输出;预置数为15个1(10进制32767)。
//设置+1(P3.3)和-1(P3.4)两个按钮。
//可以减到十进制32047,到32047后如果继续按-1按钮,可以回到32767重新进行减法。
//加法也一样,加到32767后,再按+1按钮可以到32047重新+1.
//再设置一个按钮(P2.7),当P2.7接地时,在当前显示的数字上减去十进制数1712进行显示。
//求单片机彩灯程序。
最佳答案:
//============================
#include
sbit K_1 = P3^3; //+
sbit K_2 = P3^4; //-
sbit D_1 = P2^7; //显示方式选择
//----------------------------
void delay_ms(unsigned int n)
{
unsigned char j;
while(n--) for(j = 0; j < 230; j++); //230是实验测试所得!
}
void main()
{
unsigned int m;
m = 32767;
while(1) {
if (D_1 == 1) {
P2 = ~(m / 256);
P0 = ~(m % 256);
}
else {
P2 = ~((m - 1712) / 256);
P0 = ~((m - 1712) % 256);
}
if (K_1 == 0) {
delay_ms(10);
if (K_1 == 0) {
m++;
if (m > 32767) m = 32047;
while(K_1 == 0);
} }
if (K_2 == 0) {
delay_ms(10);
if (K_2 == 0) {
m--;
if (m < 32047) m = 32767;
while(K_2 == 0);
} } }
}
//============================
本程序用PROTEUS仿真画面如下: 
上一篇:关于单片机测量信号频率的精度问题
下一篇:单片机按键按下的先后顺序判断
史海拾趣
|
散分!同时寻找北京WINCE开发人员加入“嵌入式技术外包群” 帮朋友发布一下消息,请大家多多捧场哈! 如题!诚请在北京的WINCE技术高手加入“嵌入式技术外包群”,该群将不定期 发布一些外包信息! 群号:48348107… 查看全部问答> |
|
如题。 现在要做USB插入和拔除的探测,并得到其盘符。 我是直接解析系统广播的消息:DBT_DEVICEREMOVECOMPLETE 和 DBT_DEVICEARRIVAL 但是问题比较奇怪,拔插U盘,与拔插SD卡得到的消息与参数是一样的: DEV_BROADCAST_HDR 结构的dbcp_devicety ...… 查看全部问答> |
|
请问在USB HID minidriver中,如何断定应该采用直接方式读写还是采用缓冲方式? 读写方式是在创建设备对象的时候设定的,但是这个设备对象是由hidclass.sys创建的,minidriver怎么能知道是什么方式呢?… 查看全部问答> |
|
咱论坛 送的cortex-M3 开发板 LM3s 芯片 管脚连线图有没呀。。。提供的管脚比较乱 看不出来 gpio 连在哪了。。 请 版主 给提供下。。谢谢了… 查看全部问答> |
|
本人在用DSP做电机控制时,使用PID算法进行位置环,速度环双闭环控制,出现如下问题: 1、单独使用PID位置环算法无问题,能够精确控制电机到指定位置 2、单独使用PID速度环算法无问题,能够精确控制电机到指定速度 3、但是当我将PID位置环和速度 ...… 查看全部问答> |
|
replyreload += \',\' + 1476714;破解为别人的,本人只是低调转发,不对任何错误负责 file:///C:\\DOCUME~1\\ADMINI~1\\LOCALS~1\\Temp\\TempPic\\MCUYE7)_}E]ASP$Z2]D2OL4.tmp 下载后感觉有用就帮顶下!! Timson,如果您要查看本帖隐藏内容请回 ...… 查看全部问答> |




