① 51單片機動態顯示學號後8位
uchar buff[8]={1,2,3,4,5,6,7,8};//假設12345678就是你的學號後8位
uchar table[10]={..............};//0-9的七段碼
while(1){for(i=0;i<8;i++){weila=1;
//打開位鎖存器P0=1<<i;
//送位碼weila=0;
delay_ms(2);
anla=1;//打開段鎖存器
P0=table[ 7-i];//送段碼
ana=0;
delay_ms(2);
這里還可以加其它語句,但不要佔用時間太長
(1)學號的動態圖片擴展閱讀:
區別:
同樣的一段程序,在各個單片機廠家的硬體上運行的結果都是一樣的,如ATMEL的89C51(已經停產)、89S51,PHILIPS,和WINBOND等。
常說的已經停產的89C51指的是ATMEL公司的AT89C51單片機,同時是在原基礎上增強了許多特性,如時鍾,更優秀的是由Flash存儲器取代了原來的ROM(一次性寫入),AT89C51的性能相對於8051已經算是非常優越的了。
不過在市場化方面,89C51受到了PIC單片機陣營的挑戰,89C51最致命的缺陷在於不支持ISP(在線更新程序)功能,必須加上ISP功能等新功能才能更好延續MCS-51的傳奇。
89S51就是在這樣的背景下取代89C51的,89S51已經成為了實際應用市場上新的寵兒,作為市場佔有率第一的Atmel公司已經停產AT89C51,將用AT89S51代替。89S51在工藝上進行了改進,89S51採用0.35新工藝,成本降低,而且將功能提升,增加了競爭力。
② 設計一個下拉列表,當下拉列表選擇「學號」時,動態分析表顯示該學生的姓名和各門課程以及總分成績,柱狀
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Course//課程類
{
private:
string m_CourseName;
int m_Grade;
public:
Course(string CourseName,int Grade):m_CourseName(CourseName),m_Grade(Grade)
{
}
void show()
{
cout << m_CourseName << "的成績為:" << m_Grade <<endl;
}
};
class Student//學生類
{
private:
string m_StudentName;//姓名
string m_Number;//學號
string m_Sex;//性別
vector<Course> m_Grade;//各科成績
public:
Student(string StudentName, string Number, string Sex, vector<Course> Grade):
m_StudentName(StudentName),m_Number(Number),m_Sex(Sex),m_Grade(Grade)
{
}
void show()//顯示詳細信息
{
cout <<"姓名: " << m_StudentName <<" 學號: " << m_Number << " 性別: " << m_Sex <<endl;
vector<Course>::iterator beg = m_Grade.begin();
while (beg!=m_Grade.end())
{
beg->show();
++beg;
}
}
string getNumber()//查詢學號
{
return m_Number;
}
};
class Document//檔案類
{
private:
vector<Student> m_vs;//學生檔案
public:
Document(vector<Student> vs):m_vs(vs)//構造函數
{
}
void find(string StuNumber)//根據學號查詢詳細信息
{
vector<Student>::iterator beg = m_vs.begin();
bool find=true;
while (beg!=m_vs.end())
{
if (StuNumber==beg->getNumber())
{
beg->show();
find=false;
}
++beg;
}
if (find)
{
cout << "沒有學號為" << StuNumber <<"的相關信息" << endl;
}
}
};
int main()
{
Course c11("語文",89);
Course c12("數學",90);
Course c13("英語",100);
Course c14("物理",100);
Course c15("政治",100);
//Course c21("語文",89);
//Course c22("數學",90);
//Course c23("英語",100);
//Course c24("物理",100);
//Course c25("政治",100);
vector<Course> vc;
vc.push_back(c11);
vc.push_back(c12);
vc.push_back(c13);
vc.push_back(c14);
vc.push_back(c15);
Student stu("張三","123","男",vc);
vector<Student> vs;
vs.push_back(stu);
Document doc(vs);
doc.find("12");
return 0;
}//我就添加了一個人的信息
③ 請問怎樣在課件中插入一個抽號數(學號)的Flash1——55號的,可以嗎謝謝!
就是隨機抽1-55個數字吧,當然是可以的。 下面這個,是每一遍不重復抽號:
xh_array = [];
m = 0;
for (var i = 1; i<56; i++) {
xh_array.push(i);
}
//trace(xh_array);
ran = rand(xh_array);
_btn.onRelease = function() {
//trace(m);
xh_txt.text = ran[m];
m++;
if (m>54) {
m = 0;
ran = rand(xh_array);
//trace(ran);
}
};
function rand(myArray:Array):Array {
//亂序一個數組
var ran:Array;
ran = myArray.sort(function () {
return Math.round(Math.random()) ? 1 : -1;
});
return ran;
}
有問題再聯系。
或者你要求不高,只要不連續出重復的隨機學號就行的話,那:
//FLASH]隨機出 [n,m]范圍的隨機數
function randRange(min:Number, max:Number):Number {
var randomNum:Number = Math.floor(Math.random()*(max-min+1))+min;
return randomNum;
}
_btn.onRelease = function() {
//相鄰的不出現重復
n = randRange(1, 55);
if (n == m) {
if (n == 55) {
n = n-1;
} else {
n = n+1;
}
}
trace(n); //
xh_txt.text=n
m = n;
};
再或者,你完全不在乎重復問題,那這個是最簡單的:
_btn.onRelease = function() {
n = Math.floor(Math.random()*55)+1;
xh_txt.text=n
};
④ 如何用51單片機顯示學號
用51單片機顯示學號,這很容易的,凡是動態數碼管顯示電路就可以實現,8位數碼管是完全可以顯示不同的8個數,動態顯示電路和顯示程序,是單片機最典型的,最基本的應用了,學習單片機後是必須掌握的技術。如下模擬圖,就是8位一體數碼管,顯示的8位學號。
⑤ 單片機數碼管靜態顯示學號1830508,用keil 最好有過程,在圖上的過程上修改
// 單片機數碼管動態顯示學號1830508(注多位數碼管用靜態顯示電路會很復雜,所以一般多用動態顯示),方法有多種,下面是一個模擬常式可以參考。
#include<reg51.h>
#define uchar unsigned char
// 此表為 LED 的字模 0 1 2 3 4 5 6 7 8 9 a b c d e f
unsigned char code LED7Code[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
void delay(uchar z)
{
uchar i,j;
for(i=0;i<120;i++)
for(j=0;j<z;j++);
}
void main()
{
while(1)
{
P0=0xff;
P2=LED7Code[0];
P0=0xfe;
delay(5);
P0=0xff;
P2=LED7Code[1];
P0=0xfd;
delay(5);
P0=0xff;
P2=LED7Code[8];
P0=0xfb;
delay(5);
P0=0xff;
P2=LED7Code[3];
P0=0xf7;
delay(5);
P0=0xff;
P2=LED7Code[0];
P0=0xef;
delay(5);
P0=0xff;
P2=LED7Code[5];
P0=0xdf;
delay(5);
P0=0xff;
P2=LED7Code[0];
P0=0xbf;
delay(5);
P0=0xff;
P2=LED7Code[8];
P0=0x7f;
delay(5);
}
}
⑥ 一、數碼管顯示 1、六位數碼管自己的姓名和學號(姓名為開頭的英文字母) 2、效果為滾屏顯示 二、單片機時
題中「二、單片機時 」好像還沒說完……
1、六位數碼管自己的姓名和學號(姓名為開頭的英文字母) 2、效果為滾屏顯示
這個簡單,就是數碼管的動態顯示:把姓名和學號的數碼管編碼放在數組a[ ]中,用數組b[6]表示段選編碼
第一次顯示:數組b[6]選數組a[0]到a[5];
第二次顯示:數組b[6]選數組a[1]到a[6];
……
以此類推
中間加個時間變化
如果數組b[6]沒填滿,比如b[6],那就是初始值b[6]=0;共陰數碼管段選為0,不亮的
還有數碼管動態顯示注意消影
如有不懂之處,歡迎和我交流
⑦ 單片機數碼管動態顯示學號80410001,用keil 最好有過程,有連接圖
#include<reg51.h>
#define uchar unsigned char
uchar temp;
int key1,key,disbuf;// 此表為 LED 的字模 0 1 2 3 4 5 6 7 8 9 a b c d e f
unsigned char code LED7Code[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
unsigned char ledx[8];
bit s0,s1;
void delay(uchar z)
{
uchar i,j;
for(i=0;i<120;i++)
for(j=0;j<z;j++);
}
void scan() //要是按鍵了,掃描鍵盤編碼值
{
P1=0xF0;
delay(1);
temp=P1;
switch(temp)
{
case 0xe0: key1=0;
break;
case 0xd0: key1=1;
break;
case 0xb0: key1=2;
break;
case 0x70: key1=3;
break;
}
P1=0x0f;
delay(1);
temp=P1;
switch(temp)
{
case 0x0E: key=key1+0;
break;
case 0x0D: key=key1+4;
break;
case 0x0B: key=key1+8;
break;
case 0x07: key=key1+12;
break;
default : key=-1;
}
if((key1+1)&&(key+1)) disbuf=key;
}
void ejjc() //判斷是否按鍵
{
P1=0xF0;
if(P1!=0xF0) { scan();s0=1;}
else { s0=0; s1=1;}
}
void main()
{
uchar i;
while(1)
{
ejjc();
if(s0==1 && s1==1)
{
s0=0;s1=0;
for(i=0;i<8;i++)
{ ledx[i]=ledx[i+1]; ledx[8]=disbuf; }
}
P0=0xff;
P2=LED7Code[ledx[0]];
P0=0xfe;
delay(5);
P0=0xff;
P2=LED7Code[ledx[1]];
P0=0xfd;
delay(5);
P0=0xff;
P2=LED7Code[ledx[2]];
P0=0xfb;
delay(5);
P0=0xff;
P2=LED7Code[ledx[3]];
P0=0xf7;
delay(5);
P0=0xff;
P2=LED7Code[ledx[4]];
P0=0xef;
delay(5);
P0=0xff;
P2=LED7Code[ledx[5]];
P0=0xdf;
delay(5);
P0=0xff;
P2=LED7Code[ledx[6]];
P0=0xbf;
delay(5);
P0=0xff;
P2=LED7Code[ledx[7]];
P0=0x7f;
delay(5);
}
}
⑧ 利用coffeecupgifanimator軟體製作一幅gif圖片,要求有動感,並以自已的班級、姓名、學號保存。
想製作GIF動態圖片,極力推薦用 彩影
PS比較專業,操作比較復雜,其他一些傻瓜的模板式閃圖軟體,效果都差不多,不是很個性,
所以如果你要做不一樣類型的閃圖,又要製作起來隨心所欲、個性靈活,品質還要好的話,用 彩影 比較好,操作也簡單、人性化,功能、創意發揮也都有!
步驟:先打開幾張圖片,然後點擊頂部菜單欄的 相片文件,在下拉菜單中選擇 GIF動態閃圖製作,最後在對話框中插入圖片,設置每張圖片的延時就可以組成動畫,確認就生成gif了!
網路搜索 彩影
參考資料:http://hi..com/dgle/blog/item/69955d1317b9b30d213f2ec8.html
⑨ 急~~~FLASH達人幫忙製作個flash作業唄
太難了
⑩ 用單片機AT89C51 加數碼管共陰極的來動態顯示學號,比如1234,求用keil寫出的程序。
#include<reg51.h>
#defineucharunsignedchar
uchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//0到9
ucharnum;
ucharled[]={1,2,3,4};
voidt0isr()interrupt1
{
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
switch(num)
{
case0:P2=0x01;break;
case1:P2=0x02;break;
case2:P2=0x04;break;
case3:P2=0x08;break;
default:break;
}
P0=~tab[led[num]];
num++;
num&=0x03;
}
main()
{
TMOD=0x11;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
TR0=1;
ET0=1;
EA=1;
while(1);
}